check / check (push) Successful in 57s
internal/calc gets its own tokenizer and precedence-climbing parser in place of go/parser, which cannot express a power operator; go/constant still computes. ^ (also **) binds tighter than * / % and a sign on its left, and groups to the right. % takes the sign of the divisor and is exact on decimals. A whole exponent is computed exactly while the result's numerator and denominator stay within 4096 bits; otherwise, and for a fractional exponent, in float64. A remainder, or the sign of a negative base's power, that depends on a value go/constant holds rounded is refused as too large. The welcome text and the replies mention the new operators; a negative base with a fractional exponent gets its own reply. Model: opus-5-5
1.7 KiB
1.7 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-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