Skip to content

docs(plan): reconcile Gateway v1 plan with shipped reality#733

Merged
marcusrbrown merged 1 commit into
mainfrom
docs/gateway-v1-plan-reconcile
Jun 2, 2026
Merged

docs(plan): reconcile Gateway v1 plan with shipped reality#733
marcusrbrown merged 1 commit into
mainfrom
docs/gateway-v1-plan-reconcile

Conversation

@marcusrbrown
Copy link
Copy Markdown
Collaborator

Reconciles the Gateway v1 plan with what actually shipped, so the unit checkboxes don't overstate completion.

  • Mark Units 5 and 6 complete with shipped-PR references.
  • Reframe Unit 6 as the mention-loop MVP using remote-attach topology (OpenCode runs in the workspace container behind a bearer-token proxy; gateway connects over HTTP/SSE), and add a reconciliation block listing what shipped vs. what remains deferred from the original Unit 6 scope (tool-approval buttons, reactions/progress editor, serial per-channel queue, additional slash commands, block role, startup self-test wiring).
  • Correct the R4 description to "workspace-local execution via remote attach"; cloud dispatch remains Unit 7.
  • Mark the workspace executor image deferral resolved (shipped in v0.50.0).
  • Note the announce webhook (POST /v1/announce) as adjacent gateway functionality, not part of Unit 7 cloud-dispatch scope.

Units 7 (cloud dispatch + summaries bridge) and 8 (documentation) remain the genuine outstanding work.

Copy link
Copy Markdown
Owner

@fro-bot fro-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: CONDITIONAL

CONDITIONAL = can merge after addressing the listed blocking issue.

This is a docs-only reconciliation of the Gateway v1 plan. I spot-checked the factual claims against the codebase and they hold up:

  • validateProviderSemantics exists in packages/runtime/src/coordination/self-test.ts, is tested (self-test.test.ts), and is not referenced in packages/gateway/src/program.ts — matching the "exists + tested but not called in boot" claim.
  • Only ping and add-project subcommands are registered (packages/gateway/src/discord/commands/fro-bot.ts:32,35), matching the deferred-commands list.
  • The new "Remaining open work" callout correctly cross-references the Unit 6 deferral block, so the Unit 6 [x] checkbox is not misread as full completion.

The reconciliation content is accurate and internally consistent. One mechanical defect blocks merge.

Blocking issues

  • Duplicate revised key in YAML frontmatter. The PR adds revised: 2026-06-01 (line 8) while the existing revised: 2026-05-20 (...) (line 10) remains. YAML mapping keys must be unique; duplicate keys are invalid per the YAML spec. Strict parsers error, and lenient ones (the common case) silently keep only the last occurrence — which here would discard the new 2026-06-01 date this PR intends to record, defeating the change. No runtime parser consumes these plan docs today (I found none), so this is documentation hygiene rather than a runtime break, but it should still be fixed. Recommend consolidating into a single key, e.g. revised: 2026-06-01 (Units 5-6 reconciled; remote-attach MVP) / 2026-05-20 (Units 1-4 shipped), or appending the new note to the existing line.

Non-blocking concerns

  • The Unit 6 heading was renamed from the original scope ("Local execution path + Discord UX (reactions, working message, queue, approval buttons)") to "Mention execution loop MVP", yet the immediately following Goal paragraph (line ~748) still describes the full original scope ("full Discord UX: reactions, working-message heartbeat, tool-approval embeds, per-thread queue, within-surface session resume"). The reconciliation block resolves the ambiguity, but a reader hitting the unchanged Goal text first may be briefly misled. Consider a one-line "(see reconciliation below for shipped vs. deferred)" pointer on the Goal.

Missing tests

None. Documentation-only change with no executable behavior; no test coverage applicable.

Risk assessment (LOW)

Single markdown plan document, +14/-4. No code, public API, schema, or build surface touched. Blast radius is limited to plan-doc readers. The only regression vector is the duplicate frontmatter key potentially dropping the new revision date in YAML-aware tooling — low likelihood of operational impact, zero security exposure.


Run Summary
Field Value
Event pull_request
Repository fro-bot/agent
Run ID 26799464308
Cache hit
Session ses_17949fc55ffelmaqFGXIX1bz43

@marcusrbrown marcusrbrown force-pushed the docs/gateway-v1-plan-reconcile branch from 70158dc to 258110c Compare June 2, 2026 05:06
Copy link
Copy Markdown
Owner

@fro-bot fro-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: PASS

Both items from my prior review (run 26799464308) are resolved in 258110c:

  • Blocking — duplicate revised frontmatter key: Fixed. Consolidated into a single valid key: revised: 2026-06-01 (Units 5-6 reconciled; remote-attach MVP) / 2026-05-20 (...). No duplicate mapping key remains.
  • Non-blocking — stale Unit 6 Goal text: Addressed. The Goal is now prefixed **Goal** (original full scope — see the Unit 6 reconciliation block below for shipped vs. deferred):, so a reader is pointed to the reconciliation before reading the full-scope description.

The reconciliation claims remain accurate against the codebase (verified previously): validateProviderSemantics is tested but not wired into program.ts; only ping + add-project subcommands are registered; the "Remaining open work" callout correctly prevents the Unit 6 [x] from being read as full completion.

Blocking issues

None.

Non-blocking concerns

None.

Missing tests

None. Documentation-only change with no executable behavior.

Risk assessment (LOW)

Single markdown plan document (+15/-6). No code, public API, schema, or build surface touched. Blast radius limited to plan-doc readers; zero security exposure. The prior frontmatter regression vector is eliminated.


Run Summary
Field Value
Event pull_request
Repository fro-bot/agent
Run ID 26799648445
Cache hit
Session ses_17949fc55ffelmaqFGXIX1bz43

@marcusrbrown marcusrbrown merged commit fe98761 into main Jun 2, 2026
12 checks passed
@marcusrbrown marcusrbrown deleted the docs/gateway-v1-plan-reconcile branch June 2, 2026 05:10
@fro-bot fro-bot mentioned this pull request Jun 2, 2026
49 tasks
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.

2 participants