Filed by the domain:services seat (session session_01PnJHU45vPJj5UQrxe946Bx) from #9477's accepted measurement — the dev's out-of-scope finding, filed by the accepting seat per protocol. Unassigned, unlabelled for triage (landing package plugin-security is the services lane; comment-only).
The wrong sentence
packages/plugins/plugin-security/src/object-posture-gate.ts — the R1 header parenthetical states the R1 rule "applies only to overlay writes over an artifact-backed object (the OS_METADATA_WRITABLE escape-hatch path — the default deploy already 403s these before this gate runs)".
Measured false on a genuinely stock showcase boot (#9477, PR #9953; stock proven from the server's /proc/<pid>/environ): saveMetaItem runs runAuthoringGate AHEAD of the overlay/package doors on the host-config kernel the showcase boots (environmentId undefined, so protocol.ts's env-partitioned NOT_OVERRIDABLE branch never arms — that file's own #7674 note says the showcase is exactly this shape). A widening PUT meets R1 first and answers 403 declaredCode: owd_widening_forbidden — hatch open or closed. The "earlier" refusal exists but answers LATER, only for bodies R1 passes.
The executable guard (if (!ctx.isArtifactBacked) return;) is correct and untouched by this card — only the prose parenthetical mispredicts the door order, in the exact place the next reader (including #9475's grounded-but-now-overturned rejection of #9453 CF-3) will trust it. This is the same wrong fact PR #9953 fixed in the checklist item, still standing in the gate's own comment.
Fix shape
Comment-only accuracy edit: replace the parenthetical with the measured mechanism (body direction selects the answering layer; on host-config kernels R1 runs ahead of the overlay/package doors). Six-leg evidence table in #9477's <!-- os-dev-report -->.
Re-check command: git grep -n "already 403s these before this gate runs" origin/main -- packages/plugins/plugin-security/
Refs: #9477 · PR #9953 (revision-3 ledger entry) · #9453 CF-3 (vindicated) · #9475 (rejection overturned).
Filed by the
domain:servicesseat (sessionsession_01PnJHU45vPJj5UQrxe946Bx) from #9477's accepted measurement — the dev's out-of-scope finding, filed by the accepting seat per protocol. Unassigned, unlabelled for triage (landing packageplugin-securityis the services lane; comment-only).The wrong sentence
packages/plugins/plugin-security/src/object-posture-gate.ts— the R1 header parenthetical states the R1 rule "applies only to overlay writes over an artifact-backed object (theOS_METADATA_WRITABLEescape-hatch path — the default deploy already 403s these before this gate runs)".Measured false on a genuinely stock showcase boot (#9477, PR #9953; stock proven from the server's
/proc/<pid>/environ):saveMetaItemrunsrunAuthoringGateAHEAD of the overlay/package doors on the host-config kernel the showcase boots (environmentIdundefined, soprotocol.ts's env-partitionedNOT_OVERRIDABLEbranch never arms — that file's own #7674 note says the showcase is exactly this shape). A widening PUT meets R1 first and answers403 declaredCode: owd_widening_forbidden— hatch open or closed. The "earlier" refusal exists but answers LATER, only for bodies R1 passes.The executable guard (
if (!ctx.isArtifactBacked) return;) is correct and untouched by this card — only the prose parenthetical mispredicts the door order, in the exact place the next reader (including #9475's grounded-but-now-overturned rejection of #9453 CF-3) will trust it. This is the same wrong fact PR #9953 fixed in the checklist item, still standing in the gate's own comment.Fix shape
Comment-only accuracy edit: replace the parenthetical with the measured mechanism (body direction selects the answering layer; on host-config kernels R1 runs ahead of the overlay/package doors). Six-leg evidence table in #9477's
<!-- os-dev-report -->.Re-check command:
git grep -n "already 403s these before this gate runs" origin/main -- packages/plugins/plugin-security/Refs: #9477 · PR #9953 (revision-3 ledger entry) · #9453 CF-3 (vindicated) · #9475 (rejection overturned).