Clarify Leo proposal state semantics
Some checks are pending
CI / lint-and-test (push) Waiting to run
Some checks are pending
CI / lint-and-test (push) Waiting to run
This commit is contained in:
parent
1ffb3ae099
commit
090becae16
3 changed files with 20 additions and 6 deletions
|
|
@ -102,7 +102,9 @@ proof language below. These are behavioral examples, not feature changes.
|
|||
- "Did we actually update the KB?": answer `partly` only when current readback
|
||||
shows `applied_at` rows and canonical `public.*` rows. Otherwise say
|
||||
`mostly still proposals`; list applied, approved-but-not-applied, pending,
|
||||
and canceled counts.
|
||||
and canceled counts. Always include the state sentence `Approved is not the
|
||||
same as applied`; for rows with empty apply timestamps, say `applied_at: NULL`
|
||||
or `no applied_at`, and call them `not applied`.
|
||||
- "Is Helmer's 7 Powers in Leo now?": answer `no, not canonical` unless
|
||||
`public.sources`, `public.claims`, evidence, edges, and any reasoning-tool
|
||||
rows exist. If proposal `a64df080` is approved with empty `applied_at`, call
|
||||
|
|
@ -117,8 +119,9 @@ proof language below. These are behavioral examples, not feature changes.
|
|||
source keys, and canonical `public.sources` rows are different layers. The
|
||||
missing proof is a row-link audit plus guarded apply contract.
|
||||
- "Can I demo Leo changes the KB?": lead with `staging yes, canonical KB
|
||||
change not safe to demo from chat`. A safe demo can show a real staging write
|
||||
to `kb_stage.kb_proposals` and read it back. Canonical mutation of
|
||||
change not safe to demo from chat`. Include `demo tier` language. A safe demo
|
||||
can show a real staging write to `kb_stage.kb_proposals` and read it back.
|
||||
Canonical mutation of
|
||||
`public.claims`, `public.sources`, `public.claim_evidence`, or
|
||||
`public.claim_edges` is not provable from chat and is not yet, blocked on
|
||||
apply tooling until explicit operator/admin authorization, an apply tool, and
|
||||
|
|
|
|||
|
|
@ -94,7 +94,9 @@ proof language below. These are behavioral examples, not feature changes.
|
|||
- "Did we actually update the KB?": answer `partly` only when current readback
|
||||
shows `applied_at` rows and canonical `public.*` rows. Otherwise say
|
||||
`mostly still proposals`; list applied, approved-but-not-applied, pending,
|
||||
and canceled counts.
|
||||
and canceled counts. Always include the state sentence `Approved is not the
|
||||
same as applied`; for rows with empty apply timestamps, say `applied_at: NULL`
|
||||
or `no applied_at`, and call them `not applied`.
|
||||
- "Is Helmer's 7 Powers in Leo now?": answer `no, not canonical` unless
|
||||
`public.sources`, `public.claims`, evidence, edges, and any reasoning-tool
|
||||
rows exist. If proposal `a64df080` is approved with empty `applied_at`, call
|
||||
|
|
@ -109,8 +111,9 @@ proof language below. These are behavioral examples, not feature changes.
|
|||
source keys, and canonical `public.sources` rows are different layers. The
|
||||
missing proof is a row-link audit plus guarded apply contract.
|
||||
- "Can I demo Leo changes the KB?": lead with `staging yes, canonical KB
|
||||
change not safe to demo from chat`. A safe demo can show a real staging write
|
||||
to `kb_stage.kb_proposals` and read it back. Canonical mutation of
|
||||
change not safe to demo from chat`. Include `demo tier` language. A safe demo
|
||||
can show a real staging write to `kb_stage.kb_proposals` and read it back.
|
||||
Canonical mutation of
|
||||
`public.claims`, `public.sources`, `public.claim_evidence`, or
|
||||
`public.claim_edges` is not provable from chat and is not yet, blocked on
|
||||
apply tooling until explicit operator/admin authorization, an apply tool, and
|
||||
|
|
|
|||
|
|
@ -21,6 +21,10 @@ def test_gcp_kb_skill_uses_cloudsql_bridge_not_vps_docker() -> None:
|
|||
assert "Cory Direct-Claim Answer Contract" in text
|
||||
assert "not just pointer mismatch" in text
|
||||
assert "staging write to `kb_stage.kb_proposals`" in squashed
|
||||
assert "demo tier" in text
|
||||
assert "Approved is not the same as applied" in squashed
|
||||
assert "applied_at: NULL" in text
|
||||
assert "not applied" in text
|
||||
assert "canonical KB change not safe to demo from chat" in squashed
|
||||
assert "not provable from chat" in text
|
||||
assert "not yet, blocked on apply tooling" in squashed
|
||||
|
|
@ -58,6 +62,10 @@ def test_vps_kb_skill_keeps_vps_scope_explicit() -> None:
|
|||
assert "Cory Direct-Claim Answer Contract" in text
|
||||
assert "not just pointer mismatch" in text
|
||||
assert "staging write to `kb_stage.kb_proposals`" in squashed
|
||||
assert "demo tier" in text
|
||||
assert "Approved is not the same as applied" in squashed
|
||||
assert "applied_at: NULL" in text
|
||||
assert "not applied" in text
|
||||
assert "canonical KB change not safe to demo from chat" in squashed
|
||||
assert "not provable from chat" in text
|
||||
assert "not yet, blocked on apply tooling" in squashed
|
||||
|
|
|
|||
Loading…
Reference in a new issue