Skip to content

feat(config): refuse HTTP on joined workers and migrate fixtures - #842

Merged
V3RON merged 13 commits into
feature/806-adrfrom
task/811
Oct 21, 2026
Merged

V3RON merged 13 commits into
feature/806-adrfrom
task/811

Conversation

@V3RON

@V3RON V3RON commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Closes #811

Status

Implement: done (4/4 green) Review: passed (round 2 + fix-check), 1 finding fixed Hardware: pass (lane run 3 of 3) Gate: running on the stack (#809 → #842)
Next: merge

Done when

  • Core config cases prove B1: src/core/config.test.ts "refuses a joined worker's own HTTP listener..." (audit broke the rule; review r1 tightened the URL-error cases to assert their own messages)
  • Real CLI cases prove B2/B3/B4: src/cli/index.test.ts "a joined worker's own HTTP listener (Refuse HTTP on joined workers and migrate affected test fixtures #811)" (audit: refusal cases fail with the rule off; start case fails on its launches assertion)
  • Agent-device topologies: src/agent-device/gateway-front.test.ts direct allocation uses a standalone worker; the forbidden-topology test is removed (audit probe on requiresOf)
  • Console: e2e/console/fixtures.ts (HTTP off for joined workers, socket readiness), activity.spec.ts (gateway-only join-token test), inbox.spec.ts (worker list CLI views); chromium console lane run on the three specs
  • Slow gateway suite (e2e/slow-agent-device-gateway.test.ts): HTTP off, timing test and helpers removed; full lane passed at f382f43 (iOS and Android)
  • Docs: website/src/content/docs/docs/gateway/joining-workers.mdx, reference/configuration.mdx, worker/configuration.mdx, worker/console.mdx, using-devices/*.mdx

Feature #806 completion: C1 by the config test, C2 and C3 by the CLI cases, C4 by the docs, C5 by gateway-front and the slow lane, C6 by the console specs.

Hardware loop fix: a heartbeat whose renewal meets a gateway lease list that has not caught up yet now relays agent-device's reply, and does not return COMMAND_FAILED.

Assumptions

  • Assumption: where the spec says docs/CONFIGURATION.md — that file does not exist; end-user configuration docs live on the website, so the migration text is there.

Review

Spec review: 0 blocking, 0 fixed, 0 notes. Code review: 1 blocking, 1 fixed, 0 notes. Claims review: 0 blocking, 0 fixed, 0 notes.
Rounds: 2. Tokens: 4.1M.
Runs: 17. Cost USD: 5.5307. Agent seconds: 6432.
Assessment: complete

Rejected:

  • code: an unlisted heartbeat carrying a new ttlMs skips setTtl and rearm — [nonblocking] the old failed path skipped them too; the next heartbeat or tick renews

Written by an agent.

@V3RON
V3RON added this pull request to stack #847 October 21, 2026 17:30
V3RON added 4 commits October 21, 2026 19:35
…has not caught up to relays agent-device's reply (#811)
…evice available (#811)

The worker line now ends in ' -- stream off'; the $ anchor made the test fail on a line that is correct.
@V3RON

V3RON commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor Author

Review ledger

Round 1: d494697
Round 2: 5eaf8d9
Round fix-check: f382f43
Round fix-check: 44f5a8e (stack merge, verified by coordinator)

Runs: 17. Cost USD: 5.5307. Agent seconds: 6432.
Tokens input 530, output 108851, cache read 12765796, cache write 785233.
- build implementer: claude-sonnet-5-5 939 s $0.7729
- audit implementer: claude-sonnet-5-5 553 s $0.3632
- review 1 reviewer: claude-sonnet-5-5 884 s $0.2805
- review 1 reviewer spec: claude-sonnet-5-5 46 s $0.1715
- review 1 reviewer code: claude-opus-5-5 765 s $1.9284
- review 1 reviewer claims: claude-sonnet-5-5 43 s $0.1187
- fix 1 implementer: claude-sonnet-5-5 108 s $0.0909
- review 2 reviewer: claude-sonnet-5-5 85 s $0.1025
- hardware hardware-verifier: claude-sonnet-5-5 374 s $0.1263
- hardware-fix implementer: claude-sonnet-5-5 665 s $0.3688
- hardware hardware-verifier: claude-sonnet-5-5 449 s $0.1278
- hardware-fix implementer: claude-sonnet-5-5 238 s $0.0934
- hardware hardware-verifier: claude-sonnet-5-5 801 s $0.1134
- review fix-check reviewer: claude-sonnet-5-5 54 s $0.11
- review fix-check reviewer: claude-sonnet-5-5 242 s $0.2057
- review fix-check code both: claude-opus-5-5 143 s $0.4744
- review fix-check claims: claude-sonnet-5-5 43 s $0.0823
Finding outcomes: {"fixed":1}. Classes: {"testing 10":1}.
{"findings":[{"id":"R1","role":"code","class":"testing 10","outcome":"fixed","path":"src/core/config.test.ts","round":"1","fix":"5eaf8d95e3c1ecbe8ed1b513b3096b20504fcaf7"}]}

Written by an agent.

@V3RON
V3RON marked this pull request as ready for review October 21, 2026 18:51
@V3RON
V3RON merged commit cffb4b7 into main Oct 21, 2026
36 of 37 checks passed
@V3RON
V3RON deleted the task/811 branch October 21, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refuse HTTP on joined workers and migrate affected test fixtures

1 participant