check / check (push) Successful in 1m1s
The bot now serves an HTTP API on PORT (default 8080) beside the chat client. Every request needs the credential read at startup from the file named by API_TOKEN_FILE, sent as a bearer token; without one, every request is refused. Responses carry the security headers, bodies are capped at 64 KiB and each request's work at 10 seconds. GET /api/v1/chats lists the bot's contacts from the chat client's /_contacts command, ordered by id, and marks the contacts who deleted their chat with the bot, which the chat client keeps listing. bot.Run starts the API after set-up and stops it within 5 seconds; a listener failure ends the bot as a chat client failure does. Model: opus-5-5
45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# Workflow
|
|
|
|
- branch (from `main`)
|
|
- do the work in Next Step
|
|
- move Next Step to the top of Completed Steps
|
|
- move the top item of Future Steps into Next Step
|
|
- commit (`docs/TODO.md` changes in the same commit as the work)
|
|
- merge to `main` if the branch is not protected, otherwise open a PR
|
|
- push
|
|
|
|
# Status
|
|
|
|
pre-1.0. No git tags exist. `main` is a working bot: one container image
|
|
holding the bot and the SimpleX Chat command-line client v7.0.2, a bot
|
|
profile named `calc` with a long-term address that accepts every contact
|
|
request, and exact arithmetic replies (`+ - * /`, parentheses,
|
|
decimals). The Gitea issue tracker is the authoritative list of work;
|
|
this file mirrors it.
|
|
|
|
# Next Step
|
|
|
|
Adopt the canonical `.golangci.yml` from the `prompts` repository once
|
|
it replaces `gomodguard` with `gomodguard_v2`. golangci-lint v2.12.2
|
|
warns on every run that `gomodguard` is deprecated. The file is
|
|
maintained upstream and is not edited here; done when `make lint` runs
|
|
with no deprecation warning.
|
|
|
|
# Completed Steps
|
|
|
|
- 2026-09-29 Added the HTTP API in `internal/api`: the server on `PORT`,
|
|
the bearer credential from `API_TOKEN_FILE`, security headers and
|
|
limits, and `GET /api/v1/chats`
|
|
- 2026-09-28 Moved the command tree and the `run` and `version` commands
|
|
from `cmd/simplexcalc/` into `internal/cli`; `cmd/simplexcalc/main.go`
|
|
is now a single call to `cli.Main`
|
|
- 2026-09-26 Seeded from `go-template-repo` (renamed, its HTTP service
|
|
removed) and built the bot: `internal/calc` for the arithmetic,
|
|
`internal/simplex` for the chat client process and its WebSocket API,
|
|
`internal/bot` for address setup and replies, and a runtime image on
|
|
Ubuntu 22.04 carrying the checksum-verified `simplex-chat` binary
|
|
|
|
# Future Steps
|
|
|
|
none
|