feat(sidecar): protocol 10 — five reward forwards (phase 13b) #10

Merged
whitlocktech merged 1 commits from feat/phase-13b-rewards into edge 2026-09-24 13:01:39 +00:00
Member

What & why

Phase 13b of module-rust (PLAN.md §29, PROTOCOL.md §16). This adds five pass-through routes, which work like protocol 9's:

  • POST /tally/open
  • GET /tally/snapshot?runId=
  • POST /tally/close
  • GET /kits
  • POST /chat

The sidecar keeps no state for any of these: the tally, the kit catalogue and the chat memory all live in the plugin. The credits field on perm.sync passes through untouched. PROTOCOL_VERSION → 10.

How it was tested

  • cargo fmt, clippy -D warnings and cargo test all pass (54 tests, including a new one: a caller cannot set its own cmd on the new routes).
  • Built for musl and run inside both rig containers. Every route was exercised end to end against the real plugin and real core.

Checklist

  • I have read CONTRIBUTING.md.
  • The change builds and existing tests/checks pass locally.
  • I have added or updated tests/docs where it makes sense.
  • My commits are reasonably scoped with clear messages.

AI-assisted contributions (required)

  • AI tools were used. Tool(s): Claude Code (Claude Opus 5.5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a Co-Authored-By trailer.

License

  • I agree that my contribution is licensed under GPL-3.0-or-later.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What & why Phase 13b of module-rust (`PLAN.md` §29, `PROTOCOL.md` §16). This adds five pass-through routes, which work like protocol 9's: - `POST /tally/open` - `GET /tally/snapshot?runId=` - `POST /tally/close` - `GET /kits` - `POST /chat` The sidecar keeps no state for any of these: the tally, the kit catalogue and the chat memory all live in the plugin. The `credits` field on `perm.sync` passes through untouched. `PROTOCOL_VERSION` → 10. ## How it was tested - `cargo fmt`, `clippy -D warnings` and `cargo test` all pass (54 tests, including a new one: a caller cannot set its own `cmd` on the new routes). - Built for musl and run inside both rig containers. Every route was exercised end to end against the real plugin and real core. ## Checklist - [x] I have read CONTRIBUTING.md. - [x] The change builds and existing tests/checks pass locally. - [x] I have added or updated tests/docs where it makes sense. - [x] My commits are reasonably scoped with clear messages. ## AI-assisted contributions (required) - [x] AI tools were used. Tool(s): `Claude Code (Claude Opus 5.5)`. I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a `Co-Authored-By` trailer. ## License - [x] I agree that my contribution is licensed under GPL-3.0-or-later. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-09-24 12:50:20 +00:00
feat(sidecar): protocol 10 — five reward forwards (phase 13b)
All checks were successful
PR Checks / rust-gates (pull_request) Successful in 1m13s
c80994ce87
POST /tally/open, GET /tally/snapshot, POST /tally/close, GET /kits and
POST /chat: who took part in a run, the kits a reward can name, and one
line in the server's chat (the module's PLAN.md §29). Thin forwards like
protocol 9's; the tally, the kit catalogue and the chat memory all live
in the plugin. perm.sync's new `credits` field passes through untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 06c3ed79b4 into edge 2026-09-24 13:01:39 +00:00
whitlocktech deleted branch feat/phase-13b-rewards 2026-09-24 13:01:40 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RunicGateway/Rust-Link#10
No description provided.