test(objectql): control-plane leg of ADR-0029 D9's pin asserts the full ADR-0112 envelope (#7470) - #7478
Merged
Conversation
…ll ADR-0112 envelope (#7470) The control-plane leg of protocol-object-overlay-layer.test.ts asserted only a message substring, because deleteMetaItem's catch re-wrap used to drop `code` (a repository refusal reached the caller as 403 with `code: undefined`). PR #7466 (2c28df9) fixed the producer, so the constraint is gone: the leg now asserts `code` + `status`, exactly like its project-kernel sibling, and the message-substring check is dropped (the sibling carries none). Reverse-verified: with packages/metadata-protocol/src/protocol.ts reverted to 2c28df9^ and rebuilt, exactly this one test goes red (expected undefined to be 'NOT_OVERRIDABLE'); restored, 16/16 green. Refs #7470, #7426, #7466. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MwoubC3jL271FYt9rGXwxb
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Contributor
📓 Docs Drift CheckNo hand-written docs reference the 0 changed package(s). ✅ |
os-zhuang
marked this pull request as ready for review
August 10, 2026 17:00
This was referenced Aug 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #7470
What moved
One file:
packages/objectql/src/protocol-object-overlay-layer.test.ts— ADR-0029 D9's pin. The control-plane leg of the D9.7 suite ("a control-plane kernel refuses at the repository, and subtracts under the hatch") is tightened to assert the full ADR-0112 envelope, matching its project-kernel siblings exactly. No non-assertion code changed; the sibling legs are untouched.Before / after
Before (the only thing that leg could assert while
deleteMetaItem's catch re-wrap droppedcode— refusals arrived as 403 withcode: undefined):After (PR #7466 /
2c28df96efixed the producer, so the leg asserts refusal identity —codeANDstatus— like the project-kernel siblings; the message-substring check is dropped because the siblings carry none):Scope item 2 of the card (remove or correct any comment explaining the asymmetry): checked — this file contains no comment explaining the substring choice. The doc block above the case describes where the refusal comes from (the repository's
assertAllowed, with the two-tier gate skipped on a control-plane kernel), which remains true after the change, so there is nothing to edit.Verification
pnpm --filter @objectstack/objectql exec vitest run src/protocol-object-overlay-layer.test.ts— 16/16 passed on currentmain(c6a4eeb10).packages/metadata-protocol/src/protocol.tsreverted to2c28df96e^and rebuilt, exactly one test goes red — this control-plane leg, failingexpected undefined to be 'NOT_OVERRIDABLE'(the pre-fix(metadata-protocol):deleteMetaItem's catch re-wrap carries the errorcode(#7426) #7466code: undefineddefect the old substring assertion could not see; 15 others stayed green). Producer restored: 16/16 green again.pnpm --filter @objectstack/objectql typecheck— clean.node scripts/check-nul-bytes.mjs— OK.Changeset
Tests-only — releases nothing. Route per
scripts/check-empty-changeset.mjs: theskip-changesetlabel (applied by this session), never an empty changeset file (#4898).Not folded in: the issue records a prose divergence between the two producers' message brackets (
[not_overridable]vs[NOT_OVERRIDABLE]) as optional to fold in "if already in the area". That code lives inpackages/metadata-protocol, outside this card's one-file dispatch scope, and the issue itself grades it "not worth a card of its own" — left as recorded on #7470.Refs: #7470, #7426 / PR #7466 (the cause and its fix), #6960 / PR #7429, #7277 / PR #7306 (ADR-0029 D9), ADR-0112.
🤖 Generated with Claude Code
https://claude.ai/code/session_01MwoubC3jL271FYt9rGXwxb
Generated by Claude Code