You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When adv_contract_mint parses an agreement containing an ## Out of Scope section, it creates contract items with kind: out_of_scope, verificationRequired: false, evidencePolicy: not_applicable. The acceptance-gate readiness validator then makes the gate unsatisfiable: it demands row coverage for those items while classifying every row that references them as unknown.
Reproduction (observed on change fixDockSafeAreaStacking, pokeedge-web project, 2026-07-20)
Agreement with SC/AC/constraints + ## Out of Scope (2 bullets) → adv_contract_mint → 8 items incl. OOS1, OOS2 (verificationRequired: false).
ACCEPTANCE_REVIEW_MATRIX_INVALID: Acceptance review matrix has invalid row coverage: unknown: OOS1, OOS2.
remediation: Provide exactly one passing review row for each required contract item before retrying acceptance.
Every matrix shape fails identically (each adv_contract_review_matrix_set returned success: true, failingRows: 0):
The persisted acceptance.md renders the OOS rows as missing even when rows were submitted — suggesting rows with kind: out_of_scope are dropped or unmapped by the coverage classifier.
Notes:
adv_temporal_diagnose: fully healthy (server/worker/STSL/workflow all reachable) — not an infra issue.
adv_contract_review_matrix_set schema explicitly allows kind: out_of_scope and statuses not_applicable/pass/etc., so the write path accepts what the readiness validator cannot classify.
Workaround that unblocked the change
adv_change_update — rewrite agreement without the ## Out of Scope section (boundaries moved to proposal.md/design.md; one constraint bullet documents the workaround).
A (preferred):verificationRequired: false items (incl. out_of_scope) are excluded from matrix coverage validation entirely — matrix over SC/AC/constraints/avoidances only.
B: OOS rows are accepted with a designated status (e.g. not_applicable) and count as covered.
Either way, the validator must never simultaneously require and reject the same contract ID, and the remediation text should name the accepted row shape.
Summary
When
adv_contract_mintparses an agreement containing an## Out of Scopesection, it creates contract items withkind: out_of_scope,verificationRequired: false,evidencePolicy: not_applicable. The acceptance-gate readiness validator then makes the gate unsatisfiable: it demands row coverage for those items while classifying every row that references them asunknown.Reproduction (observed on change
fixDockSafeAreaStacking, pokeedge-web project, 2026-07-20)## Out of Scope(2 bullets) →adv_contract_mint→ 8 items incl.OOS1,OOS2(verificationRequired: false).adv_contract_review_matrix_set+adv_gate_complete gateId: acceptancefails with:Every matrix shape fails identically (each
adv_contract_review_matrix_setreturnedsuccess: true, failingRows: 0):status: respected,evidencePolicy: reviewstatus: not_applicable,evidencePolicy: not_applicablestatus: pass,evidencePolicy: reviewThe persisted acceptance.md renders the OOS rows as
missingeven when rows were submitted — suggesting rows withkind: out_of_scopeare dropped or unmapped by the coverage classifier.Notes:
adv_temporal_diagnose: fully healthy (server/worker/STSL/workflow all reachable) — not an infra issue.adv_contract_review_matrix_setschema explicitly allowskind: out_of_scopeand statusesnot_applicable/pass/etc., so the write path accepts what the readiness validator cannot classify.Workaround that unblocked the change
adv_change_update— rewrite agreement without the## Out of Scopesection (boundaries moved to proposal.md/design.md; one constraint bullet documents the workaround).adv_contract_mint force: true→ 7 items, no OOS.adv_gate_completeretry still failed with the stale OOS blocker (one-behind readiness — same signature as closed Stale readiness projection: gate_complete returns identical blockers one cycle after disposition/artifact writes clear them #243), second retry succeeded.Expected behavior (pick one)
verificationRequired: falseitems (incl.out_of_scope) are excluded from matrix coverage validation entirely — matrix over SC/AC/constraints/avoidances only.not_applicable) and count as covered.Either way, the validator must never simultaneously require and reject the same contract ID, and the remediation text should name the accepted row shape.
Related