check / check (push) Successful in 1m13s
The bot now serves an HTTP API on `PORT` (default 8080) beside the chat client, whose WebSocket stays on 127.0.0.1 inside the container. Every request needs `Authorization: Bearer` with the credential from the file named by `API_TOKEN_FILE`, compared in constant time; with no credential configured every request is refused, `OPTIONS *` included. `GET /api/v1/chats` lists the bot's chats. Responses carry the security headers from the repository policies; bodies, requests and the server are time- and size-bounded. The chat client stops only after the API has finished its requests. Disclosures: `contact_deleted` is an extra field; 404 and 405 answer in JSON; requests net/http cannot parse are refused by net/http without the security headers; three gosec findings are suppressed as false positives. Model: opus-5-5
1.9 KiB
1.9 KiB
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.mdchanges in the same commit as the work) - merge to
mainif 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 onPORT, the bearer credential fromAPI_TOKEN_FILE, security headers and limits, andGET /api/v1/chats - 2026-09-28 Powers (
^, also written**) and remainders (%) ininternal/calc, which now reads expressions with a parser of its own in place ofgo/parser - 2026-09-28 Moved the command tree and the
runandversioncommands fromcmd/simplexcalc/intointernal/cli;cmd/simplexcalc/main.gois now a single call tocli.Main - 2026-09-26 Seeded from
go-template-repo(renamed, its HTTP service removed) and built the bot:internal/calcfor the arithmetic,internal/simplexfor the chat client process and its WebSocket API,internal/botfor address setup and replies, and a runtime image on Ubuntu 22.04 carrying the checksum-verifiedsimplex-chatbinary
Future Steps
none