Skip to content

docs(promotions): P0002 — sixth evidence row + accepted (operator decision)#165

Merged
klappy merged 2 commits intomainfrom
claude/p0002-sixth-evidence-row-Sshf
May 5, 2026
Merged

docs(promotions): P0002 — sixth evidence row + accepted (operator decision)#165
klappy merged 2 commits intomainfrom
claude/p0002-sixth-evidence-row-Sshf

Conversation

@klappy
Copy link
Copy Markdown
Owner

@klappy klappy commented May 5, 2026

Updates docs/promotions/P0002-borrow-evaluation-before-implementation.md with the AMS hosted /mcp wrapper handroll as the sixth evidence row, and surfaces a recurrence note explaining what the new failure case proves about proposal-without-execution.

Why this matters

P0002 has been on disk in docs/promotions/ since 2026-05-03 with promotion_status: proposed. The three coordinated canon edits it proposes (Bide as 6th B in the method, the borrow-evaluation-before-implementation constraint, the bootstrap bullet) remain operator-pending per AGENTS.md "Canon is read-only."

On 2026-05-04, agent-messaging-service shipped its hosted /mcp wrapper (PR #33, D0023) as 1003 lines of handrolled JSON-RPC dispatch with zero MCP SDK dependencies — directly contradicting the binding journal Constraint row at journal/2026-05-03-day3-mcp-sdk-migration.tsv that named Cloudflare agents/mcp McpAgent for this exact endpoint.

This is the sixth occurrence of the pattern P0002 documents. The recurrence inside agent-messaging-service itself — at the wrapper layer, three days after this promotion landed and one day after the day-3 journal Constraint row named the SDK explicitly — is the strongest possible evidence that proposal-without-execution does not bind a fresh agent session.

Changes

Section Change
Failure cases table Adds row #6: agent-messaging-service hosted /mcp wrapper, with detail on worker/src/mcp.ts shape and the journal contradiction
Failure totals 5 → 6
Failure-table footer Adds a "Recurrence note (added 2026-05-05)" explaining the meaning of the new datapoint
Success cases table Existing AMS row clarified as "wire layer" to disambiguate from the new wrapper-layer failure (the AMS-wire inspected-and-rejected → Build = minimal framing remains correct for the substrate)
Operator-cost line 5 → 6 explanatory conversations
Current Handling result-statement Notes the recurrence and adds the proposal-without-execution observation
Operator Note Adds "Recurrence update — 2026-05-05" subsection: explains the AMS-wire vs AMS-wrapper altitude distinction, points at the AMS-local manifestation now landed at ams://canon/constraints/mcp-build-side-governance, and surfaces that upstream canon execution remains the load-bearing prevention for the next new MCP server project

Scope discipline

  • docs/ only. Canon is read-only to agents per AGENTS.md. The three canon edits P0002 proposes are not touched by this PR.
  • No status change. promotion_status: proposed is unchanged. Whether the proposal advances to accepted and the canon edits get executed remains the operator's call.
  • No rationale rewrite. The proposal's argument, structure, and operator-coined vocabulary are preserved as-is. The PR adds the empirical update and the recurrence interpretation; nothing in the original argument is overwritten.

Companion PR

agent-messaging-service PR #35 lands the AMS-local manifestation of the rule (a tier-2 constraint at ams://canon/constraints/mcp-build-side-governance) plus the SPEC §11 patch that resolves the contradicting "Default: hand-roll" line plus the OLDC+H journal entry recording the incident. That PR binds future AMS MCP wrapper work pending upstream canon execution; this PR corrects the empirical record on this promotion.

Authority

  • journal/2026-05-03-day3-mcp-sdk-migration.tsv (Constraint row) in agent-messaging-service — named McpAgent for /mcp
  • agent-messaging-service PR OddKit docs audit: 7 new tool docs, updated prompts, IMPL status, consistency fixes #33 (D0023, merged 2026-05-04) — the sixth handroll
  • Verification against worker/src/mcp.ts at HEAD — 1003 lines, zero MCP SDK imports, hand-defined JsonRpcRequest/JsonRpcResponse/JsonRpcNotification types, hand-dispatched initialize/tools/list/tools/call/notifications/initialized

Note

Low Risk
Docs-only update; main risk is process/confusion since promotion_status is flipped to accepted and evidence counts/notes are updated, but no code or canon execution changes ship here.

Overview
Updates the P0002 promotion doc to record acceptance (promotion_status: accepted) and fill in the review decision metadata.

Expands the evidence section with a 6th failure case (AMS hosted /mcp wrapper handroll), updates failure totals/costs, clarifies the prior AMS success row as wire layer, and adds recurrence notes arguing that proposal-without-execution didn’t bind subsequent sessions (while noting execution of the coordinated canon edits remains pending).

Reviewed by Cursor Bugbot for commit 9a7defd. Bugbot is set up for automated code reviews on this repo. Configure here.

…ce row

The hosted /mcp wrapper landed in agent-messaging-service PR #33 (D0023) on
2026-05-04 as 1003 lines of handrolled JSON-RPC dispatch with zero MCP SDK
dependencies — directly contradicting the binding journal Constraint row at
journal/2026-05-03-day3-mcp-sdk-migration.tsv that named Cloudflare
agents/mcp McpAgent for this exact endpoint.

This is the sixth occurrence of the failure pattern this promotion documents,
the second within agent-messaging-service (the AMS *wire* layer remains
correctly framed as the inspected-and-rejected success case; the AMS
*wrapper* layer is the new failure at finer altitude).

Updates:
- Failure table: adds row #6 (agent-messaging-service hosted /mcp wrapper)
- Failure totals: 5 -> 6
- Success table: AMS row clarified as 'wire layer' to disambiguate from the
  new failure at the wrapper layer
- Operator-cost line: 5 -> 6 explanatory conversations
- Current-handling result-statement: notes the recurrence inside AMS itself
  three days after the promotion landed
- Operator note: adds Recurrence update 2026-05-05 explaining that
  proposal-without-execution does not bind a fresh agent session, and
  that an AMS-local manifestation of the constraint has been landed at
  ams://canon/constraints/mcp-build-side-governance pending upstream
  canon execution

Per AGENTS.md, this PR modifies docs/ only — canon remains untouched.
The three coordinated canon edits this promotion proposes (Edit 1: Bide
as 6th B in canon/methods/borrow-bend-break-beget-build; Edit 2: create
canon/constraints/borrow-evaluation-before-implementation; Edit 3: add
bootstrap bullet to canon/bootstrap/model-operating-contract) remain
operator-pending. Their execution is the load-bearing prevention for the
next *new* MCP server project; this PR's scope is correcting the empirical
record on this promotion artifact.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Canon Quality — oddkit_audit

No dead klappy:// references or legacy link patterns found in writings/. 39 files scanned.

Spec: klappy://docs/oddkit/specs/oddkit-audit · Workflow: .github/workflows/canon-quality.yml · Run: #34

…decision)

Records the operator's acceptance decision made 2026-05-05 during the
recurrence-escalation conversation immediately following verification that
agent-messaging-service PR #33 (D0023, 2026-05-04) shipped the hosted
/mcp wrapper as 1003 lines of handrolled JSON-RPC dispatch with no MCP
SDK dependency — the sixth occurrence of the pattern, and the second
within AMS itself.

Per docs/promotions/README.md status vocabulary:
- proposed: evidence gathered, awaiting review
- accepted: approved for promotion to Canon
- executed: canon has been updated with backlink to this doc

This commit moves proposed -> accepted only. Per klappy.dev/AGENTS.md
'Canon is read-only', the three coordinated canon edits this promotion
proposes (Bide as 6th B in canon/methods/borrow-bend-break-beget-build,
canon/constraints/borrow-evaluation-before-implementation, bootstrap
bullet in canon/bootstrap/model-operating-contract) remain operator-
pending. Acceptance does not imply execution; the Execution Record
section is left for operator commits to fill.

Per docs/promotions/README.md 'Why Humans, Not Agents': agents do not
decide what becomes canon. The decision was made by the operator;
this commit records it.
@klappy klappy changed the title docs(promotions): P0002 — add AMS hosted /mcp wrapper as sixth evidence row docs(promotions): P0002 — sixth evidence row + accepted (operator decision) May 5, 2026
@klappy klappy merged commit a4b1a2b into main May 5, 2026
2 checks passed
@klappy klappy deleted the claude/p0002-sixth-evidence-row-Sshf branch May 5, 2026 01:18
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