Close final Cory direct-claim evidence gaps

This commit is contained in:
twentyOne2x 2026-07-12 11:20:09 +02:00
parent f35835c871
commit 03d1fe3b28
5 changed files with 12 additions and 3 deletions

View file

@ -110,7 +110,9 @@ proof language below. These are behavioral examples, not feature changes.
rows exist. If proposal `a64df080` is approved with empty `applied_at`, call rows exist. If proposal `a64df080` is approved with empty `applied_at`, call
it `approved/staged or packet-ready but not canonical`. it `approved/staged or packet-ready but not canonical`.
- "Did the decision matrix approve this?": start with current/fresh schema - "Did the decision matrix approve this?": start with current/fresh schema
readback. If `matrix_voters`, `proposal_votes`, or `proposal_decisions` are readback. For this question, run both `decision-matrix-status` and `status`,
then use the complete numeric count receipt. If `matrix_voters`,
`proposal_votes`, or `proposal_decisions` are
absent, say the decision-matrix path is not shipped; reviewer approval in absent, say the decision-matrix path is not shipped; reviewer approval in
`kb_stage.kb_proposals` is not a matrix vote. Include this compact sentence: `kb_stage.kb_proposals` is not a matrix vote. Include this compact sentence:
`Fresh readback: the decision-matrix schema is absent; reviewer status is `Fresh readback: the decision-matrix schema is absent; reviewer status is

View file

@ -103,7 +103,9 @@ proof language below. These are behavioral examples, not feature changes.
rows exist. If proposal `a64df080` is approved with empty `applied_at`, call rows exist. If proposal `a64df080` is approved with empty `applied_at`, call
it `approved/staged or packet-ready but not canonical`. it `approved/staged or packet-ready but not canonical`.
- "Did the decision matrix approve this?": start with current/fresh schema - "Did the decision matrix approve this?": start with current/fresh schema
readback. If `matrix_voters`, `proposal_votes`, or `proposal_decisions` are readback. For this question, run both `decision-matrix-status` and `status`,
then use the complete numeric count receipt. If `matrix_voters`,
`proposal_votes`, or `proposal_decisions` are
absent, say the decision-matrix path is not shipped; reviewer approval in absent, say the decision-matrix path is not shipped; reviewer approval in
`kb_stage.kb_proposals` is not a matrix vote. Include this compact sentence: `kb_stage.kb_proposals` is not a matrix vote. Include this compact sentence:
`Fresh readback: the decision-matrix schema is absent; reviewer status is `Fresh readback: the decision-matrix schema is absent; reviewer status is

View file

@ -555,7 +555,7 @@ SIGNAL_PATTERNS: dict[str, list[re.Pattern[str]]] = {
re.compile(r"\bauthori[sz]ation|approval|explicit|permission|allowed|not allowed|admin|operator\b", re.I), re.compile(r"\bauthori[sz]ation|approval|explicit|permission|allowed|not allowed|admin|operator\b", re.I),
re.compile( re.compile(
r"\bpublic update|post|capital|funds|sign|broadcast|admin review|operator pass|operator action|apply tool|" r"\bpublic update|post|capital|funds|sign|broadcast|admin review|operator pass|operator action|apply tool|"
r"operator authorization|operator-approved apply path|reviewer/apply workflow\b", r"admin apply path|operator authorization|operator-approved apply path|reviewer/apply workflow\b",
re.I, re.I,
), ),
], ],

View file

@ -86,6 +86,7 @@ def test_vps_kb_skill_keeps_vps_scope_explicit() -> None:
assert "Approved is not the same as applied." in text assert "Approved is not the same as applied." in text
assert "Fresh readback:" in text assert "Fresh readback:" in text
assert "not a decision-matrix vote" in text assert "not a decision-matrix vote" in text
assert "run both `decision-matrix-status` and `status`" in squashed
assert "DB readback:" in text assert "DB readback:" in text
assert "full UUID plus observed `status` and `applied_at`" in squashed assert "full UUID plus observed `status` and `applied_at`" in squashed
assert "Short eight-character IDs" in text assert "Short eight-character IDs" in text

View file

@ -221,6 +221,10 @@ def test_gcp_readback_phrasings_count_as_semantic_proof() -> None:
"Explicit operator authorization is required before the operator-approved apply path.", "Explicit operator authorization is required before the operator-approved apply path.",
"authorization", "authorization",
) )
assert bench.matched_signal(
"Authorize the admin apply path for this exact proposal and retain before/after public.* readback as proof.",
"authorization",
)
assert bench.matched_signal( assert bench.matched_signal(
"For the current situation, I see one relevant proposal:\n" "For the current situation, I see one relevant proposal:\n"
"`f004bbb2-ac9a-481f-b7b8-74319373ba6a`\nStatus: `applied`", "`f004bbb2-ac9a-481f-b7b8-74319373ba6a`\nStatus: `applied`",