Skip to content

Board hygiene: PR_ARC_INVENTORY entries for the D-MCAL arc (#1065–#1070) - #1071

Merged
AdaWorldAPI merged 2 commits into
mainfrom
claude/d-mcal-arc-hygiene
Aug 27, 2026
Merged

Board hygiene: PR_ARC_INVENTORY entries for the D-MCAL arc (#1065–#1070)#1071
AdaWorldAPI merged 2 commits into
mainfrom
claude/d-mcal-arc-hygiene

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Six PRs merged with no arc entries. That is precisely the gap the board-hygiene rule exists to prevent — the #881/#882/#883 chain named in CLAUDE.md — so this closes it.

One PR_ARC_INVENTORY entry per merged deliverable (Added / Locked / Deferred / Confidence, reverse chronological), plus a LATEST_STATE section carrying the arc's net contract delta and its open items.

Correction to this description as originally posted: it said "#1070 is still open and gets its entry after it merges." That was wrong when written — origin/main already carried #1070 at 32a130a9 when this branch was cut. Its entry is included here, and the arc is six of six merged.

Net contract delta of the arc

symbol change
PlannerContract::gate_check REMOVED (#1066) — 0 implementors org-wide, 0 callers
MulProvider::gate_check DEPRECATED (#1066), then given a DEFAULT (#1068)
GateDecision::from_axes NEW (#1068) — the canonical rule, one definition
KanbanColumn::{advance, veto} NEW (#1068) — named wrappers, not new capability
everything else unchanged — no enum minted anywhere in the arc

Each entry records what was locked, not just what was added

Including the two claims withdrawn mid-arc after review, both of which were mine:

  • D-MCAL-4: domain evidence routes the phase DAG without MUL ground #1068 — "F-MUL-1/2 shown red mechanically" was a naming artifact. next_phases() was already public and already exposed Prune, so the capability existed unnamed; the compile failure proved only that two convenience method names were absent. The retraction had to be chased to five separate surfaces, and that is recorded as the lesson rather than tidied away.
  • D-MCAL-5: no fourth gate enum, and no promotion either #1069 — "no promotion needed either" conflated arm payload with arm selection. Three of the planner gate's five branch conditions test planner-private trust variants, so the public-output gap is real and open — but it's a vocabulary gap (OQ-MCAL-1), not an enum gap.

#1066's entry records that deprecating a trait method does not make it optional, so the migration it documented produced E0046 until #1068 gave gate_check a default. Without that line the row reads as though the migration worked from #1066 onward. It didn't.

#1070's entry keeps a distinction the arc got wrong once: "veto is absent from main" is valid evidence for which source cargo bound, and invalid as evidence that ground-free routing was impossible. Both readings stay visible so the wrong one isn't re-derived.

Open items carried forward

  • F-MUL-6 is OPEN, not discharged — ada-rs built (3 errors, all pre-existing No strings in the i4 gate hot path; record the GateDecision ordinal collision #1045, zero from the arc); MedCare-rs not built. ISS-F-MUL-6-HALF-BUILT. The mul::GateDecision rename is blocked on it.
  • ISS-PLANNER-SANDBOX-STILL-CARRIES-FREE-TEXT — unfixable until the counterfactual scaffold's four blockers clear.
  • ISS-MUL-GATE-NAMED-FOR-THE-WRONG-LAYER — the rename itself.
  • The ada-rs stopgap stays unpushed.

Termination clause

This PR's content is entirely hygiene for prior PRs, so per CLAUDE.md it generates none of the merged-PR obligations — no arc entry of its own, no LATEST_STATE row for itself. The chain stops here.

-#1069)

Five PRs merged with no arc entries. That is the exact gap the board-hygiene
rule was written to prevent — the #881/#882/#883 chain — so this closes it.

Adds one PR_ARC_INVENTORY entry per merged deliverable (Added / Locked /
Deferred / Confidence, reverse chronological) plus a LATEST_STATE section
carrying the arc's net contract delta and its open items.

Each entry records what the PR locked as well as what it added, including the
two claims that were WITHDRAWN mid-arc after review, both of which were mine:

  #1068 - "F-MUL-1/2 shown red mechanically" was a naming artifact.
          `next_phases()` was already public and already exposed `Prune`, so
          the capability existed unnamed; the compile failure proved only that
          two convenience method names were absent. The retraction had to be
          chased to five separate surfaces, which is recorded as the lesson.
  #1069 - "no promotion needed either" conflated arm PAYLOAD with arm
          SELECTION. Three of the planner gate's five branch conditions test
          planner-private trust variants, so the public-output gap is real and
          open — but it is a vocabulary gap (OQ-MCAL-1), not an enum gap.

#1066's entry also records that deprecating a trait method does not make it
optional, so the migration it documented produced E0046 until #1068 gave
`gate_check` a default. Without that line the row reads as though the migration
worked from #1066 onward.

Per the termination clause this PR's content is ENTIRELY hygiene for prior PRs,
so it generates no further obligations — no arc entry of its own and no
LATEST_STATE row for itself. The chain stops here. #1070 is still open and gets
its entry after it merges.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HKHLL6NTnRr1XGvKFA1j2L
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a9ce6ad6-6a90-4bcc-9336-322f401e02ee


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Aug 27, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_f654ec0b-3f31-4337-abe8-1d9c95ab57bf)

#1070 merged before this branch was cut, not after — `origin/main` already
carried it at 32a130a when the branch was created. So the claim in this PR's
original description that "#1070 is still open and gets its entry after it
merges" was wrong when written, and the entry belongs here rather than in a
later pass.

Adds the D-MCAL-6 entry, flips its STATUS_BOARD row to Shipped, and retitles the
LATEST_STATE section to six-of-six.

The entry records what the gate actually established and, as prominently, what
it did not. F-MUL-6 stays OPEN: one of two known consumers was built. It also
keeps the distinction the arc got wrong once — "`veto` is absent from `main`" is
valid evidence for WHICH SOURCE cargo bound, and invalid as evidence that
ground-free routing was impossible. Both readings stay visible so the wrong one
is not re-derived.

Still hygiene-only, so the termination clause still applies: no arc entry for
this PR itself, no LATEST_STATE row for itself. The chain stops here.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HKHLL6NTnRr1XGvKFA1j2L
@AdaWorldAPI AdaWorldAPI changed the title Board hygiene: PR_ARC_INVENTORY entries for the merged D-MCAL arc (#1065–#1069) Board hygiene: PR_ARC_INVENTORY entries for the D-MCAL arc (#1065–#1070) Aug 27, 2026
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review August 27, 2026 18:26
@AdaWorldAPI
AdaWorldAPI merged commit 1d7bc1b into main Aug 27, 2026
1 check passed
@cursor

cursor Bot commented Aug 27, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_4583b3bd-28b0-4c2c-95f3-f42eef8be662)

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