Commit graph

152 commits

Author SHA1 Message Date
fa7cd8a0e1 build: keep generated orientation brief local and untracked
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a15374-f59f-7a31-86d2-d23b5d2ed181
2026-10-19 13:44:13 +02:00
c7d47f877b build: adopt staged work-record index generation
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a15374-f59f-7a31-86d2-d23b5d2ed181
2026-10-19 13:15:23 +02:00
ab1a299674 docs(reuse): establish reviewed NetKingdom security capabilities
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a137ca-5c77-7a71-b9ae-23ad9b0b5684
2026-10-14 06:38:58 +02:00
bc890c4d05 Teach SEC-DSM as the secrets best-practice guide.
Keep ASM v0.3 for estate invariants, operating modes, and assurance tests. Secrets-practice sentences yield to the security-canon standard.

Assistant: grok
Assistant-Session: 01a12ce1-7ded-7e03-a845-2ece8a573af4
2026-10-11 23:41:30 +02:00
b589fcb061 Retain reviewed work-record index and synchronization metadata
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 18:45:53 +02:00
718591919e Record accepted Staff evidence disposition and publisher handoff
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 04:03:12 +02:00
052105d61c Prepare source-bound Staff doctrine human review handoff
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 03:39:45 +02:00
custodian-sync
0e7ac8bca8 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-11:
  - update .custodian-brief.md for gate-house

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 03:17:31 +02:00
f5e93656bb Prepare bounded Staff evidence doctrine disposition and catalog handoff
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 03:16:46 +02:00
8e7f012326 Close verified v0.8 source flip and eight-owner checker returns
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 02:21:40 +02:00
custodian-sync
320d254c35 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-11:
  - update .custodian-brief.md for gate-house

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 02:18:15 +02:00
custodian-sync
1b9f83f990 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-10:
  - update .custodian-brief.md for gate-house

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-10 20:29:50 +02:00
4bd50bfcac chore(consistency): record the hub id for GH-DEC-2026-024
Assistant: grok
Assistant-Session: 01a10938-ab49-7280-877a-c06f64c06ddd
2026-10-05 01:51:32 +02:00
custodian-sync
d7d4b4bc67 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-05:
  - update .custodian-brief.md for gate-house

Assistant: grok
Assistant-Session: 01a10938-ab49-7280-877a-c06f64c06ddd
2026-10-05 01:48:46 +02:00
0192273e1b GH-WP-0004-T12: rule the §11 findings and refuse the §9.6 release
GH-DEC-2026-024 accepts the completeness non-claim on load-bearing
emission where the guarantee is not completeness, accepts the
evidence-source values yes / no / unassessed with audit-core marked
no, and refuses a failure-path release exception. v0.8 is not flipped.

Assistant: grok
Assistant-Session: 01a10946-16b2-7771-88ac-c6a2b3c91813
2026-10-05 01:44:38 +02:00
repo-manager
755c36ae19 repo.work.assign_missing_identifiers
source: repo-manager
reason: deterministic projection registration

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a10238-7ecc-78e2-903d-075f50e913cc
2026-10-03 17:35:00 +02:00
3f5925c4d0 Record scoped Emergent knowledge owner review
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a10238-7ecc-78e2-903d-075f50e913cc
2026-10-03 17:34:43 +02:00
custodian-sync
6f80ba8604 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 12:55:34 +02:00
aac350da0a CUST-WP-0075: gate-house doctrine answer for INFD-WP-0005
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 12:55:07 +02:00
custodian-sync
df116bfc7a chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:47:26 +02:00
cb25ed8986 chore(consistency): write back GH-WP-ADHOC-2026-10-03 hub ids and WORK-RECORDS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:36:19 +02:00
custodian-sync
7e96b32b54 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:36:14 +02:00
7d487d7337 CUST-WP-0075: gate-house review of railiance-clock requests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:35:29 +02:00
1f3a12366a chore(consistency): write back GH-WP-0004-T12 hub id and WORK-RECORDS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:30:37 +02:00
custodian-sync
f9a480faa5 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:28:57 +02:00
d9819c6919 CUST-WP-0075 inbox sweep: act on owner replies to GH-WP-0004
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:28:08 +02:00
8827af01da Minor update 2026-10-03 00:37:21 +02:00
afd898e9b1 Close flex-auth -> access-engine rename intake with evidence (FLEX-WP-0020)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 101414@bnt-lap001
Assistant-Session: 60b5a221-d435-42b9-b778-983c90c7eed6
2026-09-30 18:54:23 +02:00
019d2a42dc intake: record hub id for flex-auth rename handoff
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 101414@bnt-lap001
Assistant-Session: 60b5a221-d435-42b9-b778-983c90c7eed6
2026-09-30 15:08:45 +02:00
748e382571 intake: flex-auth → access-engine rename handoff (FLEX-WP-0020)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 101414@bnt-lap001
Assistant-Session: 60b5a221-d435-42b9-b778-983c90c7eed6
2026-09-30 15:07:39 +02:00
custodian-sync
a4e2fb53f4 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-29:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 237582@bnt-lap001
Assistant-Session: f2b3d9f1-8fb9-4b9c-bc2b-837ec5dfc826
2026-09-29 21:31:41 +02:00
ede470ff42 Qualify wait tasks per Task Wait Qualifiers v0.1 (CUST-WP-0074-T05, long tail)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 237582@bnt-lap001
Assistant-Session: f2b3d9f1-8fb9-4b9c-bc2b-837ec5dfc826
2026-09-29 21:24:58 +02:00
66252db9ce chore(consistency): regenerate WORK-RECORDS.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 270084@bnt-lap001
Assistant-Session: 350b785a-4dfd-4984-a852-dc6cc29bbc4f
2026-09-28 22:43:39 +02:00
custodian-sync
7dc9df9d62 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-28:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 270084@bnt-lap001
Assistant-Session: 350b785a-4dfd-4984-a852-dc6cc29bbc4f
2026-09-28 22:41:58 +02:00
93d406710a Move progress tasks with external gates to wait
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 270084@bnt-lap001
Assistant-Session: 350b785a-4dfd-4984-a852-dc6cc29bbc4f
2026-09-28 22:40:51 +02:00
1f94774849 Close T01-T05 (A9-A13 drafting complete) and mark GH-WP-0004 blocked
The normative text for all five amendments is finished at v0.3 in
docs/amendments/v0.8-section-11-declaration-amendments.md, with every
revision (A11 r2, A12 r3) ruled by GH-DEC-2026-017/018/020/021. That
was gate-house's authoring obligation for T01-T05; landing the text in
the accepted cut is net-kingdom's under T10, still open.

T06 moves to wait: informed-decision answered yes, but the catalog row
is coupled to its own open INFD-IN-0007. Every remaining task (T06-T11)
now depends on another repository's action, so the workplan moves from
active to blocked rather than staying open on work gate-house cannot
advance alone.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 294709@bnt-lap001
Assistant-Session: 8def05a9-e667-40bc-ad7c-0c32b2dbe2d2
2026-09-27 23:15:33 +02:00
54111db450 chore: sync hub identifiers and work record
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 14:37:52 +02:00
398b91ce38 Record the founder's Kubernetes change gate and ops-mason's §6.4 exception (GH-DEC-2026-022, GH-IN-0004).
No engine owns ops-mason's Kubernetes contact: the gate on ADMINISTER @
realm:kubernetes is quality, tiered by ADR-0006 readiness_state. Founder plan
approval is recorded as an accepted exception against §6.4 obligation 1 and
the §13.1 row, not a change to §6.4. No canon edited, no amendment drafted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 14:35:48 +02:00
8f035ee8be chore: sync hub identifiers and work record
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 12:40:50 +02:00
custodian-sync
3aae13b59d chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-21:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 12:40:44 +02:00
39d9287596 Rule what A12 leaves alone, which text a run names, and one detector for the estate
GH-DEC-2026-021 rules the five questions from the GH-DEC-2026-020 round, with
counts re-measured on disk.

1. A12 reaches a pin, not a citation. A prose revision citation is provenance.
   No declaration changes, gate-house's own included. The narrow reading
   benefits gate-house, so it is drafted as A12 r3 for assent, not
   self-approved.
2. VALIDATED_AGAINST names accepted v0.7 plus the decisions enforced.
   tenant-engine and flex-auth re-point now.
3. ops-warden's playbook detector is the estate reference, with one addition.
   Copies converge by the post-flip re-point commit.
4. The re-point is a post-flip closing condition of GH-WP-0004 (T11), not a
   GH-DEC-2026-019 precondition.
5. whitehat-security's conformance_state moves out of the declaration.
   A single-repository run is admitted as A11 r2.

INFD-IN-0007 and GH-WP-0004-T06 are left open, coupled.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 12:39:57 +02:00
d8c82a8bb4 chore: sync hub identifiers and work record
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 08:29:54 +02:00
104f3fc11d Rule what A12 reaches, and where the version goes when it leaves the declaration
Thirteen repositories applied GH-DEC-2026-017 and split on what section 5 reaches.
GH-DEC-2026-020 rules the four questions, with counts re-measured from files.

1. A version-bearing standard: path is a standard version. A12 reaches every key
   and value of the declaration, not a key name. audit-core, user-engine and
   whitehat-security change; the nine that de-versioned made a required change
   and nothing reverts. Comments and schema_version are not reached.
2. companion_version counts. approval-engine removes it; informed-decision's
   removal was required.
3. Stance maps, claims maps and evidence classifications are not reached. Nobody
   changes.
4. Section 11 requires no emitted conformance record, and 017 section 5 was wrong
   to say one exists. A re-runnable checker is sufficient if every run prints the
   version or commit checked against and its scope; kings-guard's constant is the
   reference pattern. Six checkers must print a version; all seven, and
   flex-auth's, must widen past the field name.

Citation: GH-DEC-2026-017 section 5 (body numbering) is canonical; the rationale
part numbers are a summary. whitehat-security was never sent 017 by gate-house,
and that omission is recorded as gate-house's.

A12 is revised as A12 r2 in the amendment set and re-circulated for assent under
GH-WP-0004-T09. No net-kingdom canon file is edited.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 08:29:03 +02:00
760288530d chore: sync hub identifiers and work record
fix-consistency registered GH-WP-0004 and its ten tasks, GH-IN-0003, and
GH-DEC-2026-017/018/019, and wrote the ids back.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 02:20:59 +02:00
custodian-sync
84cc6f18a8 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-21:
  - update .custodian-brief.md for gate-house

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 02:20:42 +02:00
def0af2ce7 Rule the six §11 declaration questions, and hold the v0.8 flip on them
access-engine's boundaries review (FLEX-WP-0030, B1 corrected 2026-09-21) and
the custodian's estate-wide sweep put six §11 interpretation questions here.
All six are questions about what §11 means, and gate-house authors §11.

GH-DEC-2026-017 — the layer declaration. INTENT.md governs and a sidecar is a
derived artifact that must agree; a disagreement between the two forms is a
finding in its own right and is reported rather than resolved away. The §3
vocabulary is case-insensitive for comparison and closed, and it has FOUR
tokens: access-engine's validator omits Taxonomy, so railiance-master is
conforming and the validator carries the defect. informed-decision's `surface`
is not a layer; its own file already reasons to Staff. Both off-vocabulary
repositories are outside §4 and §11 does not grade them. A declaration carries
no standard version — and that field is the reference form's, not one
repository's habit. gate-house declares Staff in INTENT.md frontmatter in this
commit; the prose line was never a declaration under the paragraph this
repository wrote.

GH-DEC-2026-018 — access-engine is a source of evidence for the decision
record, against its own interest and as it asked. Custody is never source:
collapse them and §9.6 is incoherent. It owes a declaration, has none, and is
non-conforming on §11 today; the right register is a declared gap with a date.
The class inventory stays access-engine's to publish — §11's prohibition on
inferring class binds a ruling as hard as a runner. Under it, §11 names a §4
property §4 does not carry, which is the finding under the finding, and the
clause is gate-house's own A2 from twelve days ago.

GH-DEC-2026-019 — the v0.8 acceptance flip stays held and these join the
existing hold rather than a follow-on amendment. The round closed by finding
that every substantive finding against v0.8 was a correct rule satisfiable
without doing what it requires; §11 is now that failure pointed at §11.
Bounded by three stated closing conditions. v0.7 stays accepted and in force,
so the hold costs documentation currency and nothing else — stated as the
reason it is affordable, not as an argument that holds are free.

A candidate property is recorded and deliberately not numbered A-18: a
conformance check each repository runs only against its own files cannot
establish an estate property. One instance, and no repository bearing a cost
under it has argued it yet.

Amendments A9–A13 drafted; GH-IN-0003 and GH-WP-0004 carry the round.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 02:14:48 +02:00
b7dfb84c0b chore: sync hub identifiers and work record
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012viPor8WJNCbV64ipwewrm

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1754332@bnt-lap001
Assistant-Session: 9c8ac536-ff5e-46a3-8ab1-a548bde25fc0
2026-09-10 15:28:51 +02:00
b9d1dd1e2f Correct GH-DEC-2026-014 section 4 and A-16 on audit-core's return
audit-core met the condition and then corrected its wording, and the
correction matters enough that leaving it implicit would have made the
section wrong.

The archive CARRIES the declaration; it does not DETECT non-production.
It performs no retrieval, holds no client for the emitting repository,
and its egress policy permits nothing that would let it try — asserted
by a test, because the claim silently stops being true the day someone
adds one. Detection sits with the REVIEWER at retrieval, and the stored
declaration is what makes that discovery a finding rather than a blank.
Section 4 now says so, and says explicitly that an archive must not be
read as required to chase content: an archive that fetched from the
parties it audits would acquire exactly the dependency that makes it
corruptible by them.

The residual they raised against their own delivered work is now in the
text. A custodian that never held content can emit a false
content_exists; they validate the declaration's shape, never its truth.
So what section 4 buys is narrower than it reads — it converts an
unattributable absence into an attributable false statement. Strictly
better, not proof. Better stated here than in a conformance argument
later, which was their reason for raising it.

A-16 gains two notes, both from their return.

The obligation attaches to the party that OBSERVED the route. A-16 does
not require every downstream holder to restate a route it never saw;
that is manufacturing a marker, which is the rider's failure in its
most direct form. audit-core established this by DECLINING an
obligation offered to it — its tenant is not an identity claim it
resolves but a value a credential is permitted to write, so recording a
route in an audit event would restate something it did not see. The
refusal is A-16 applied properly, not an exception to it, and it lands
the obligation on the party that resolved the value.

And applying A-16 relocates ambiguity rather than terminating it. Their
declaration disambiguates erased from never-held and creates a fourth
pair, false-declaration versus honest-declaration-then-loss. Not a
defect and not a reason to stop: the ambiguity ends up somewhere
attributable. Judge each application by whether the new residual has an
owner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012viPor8WJNCbV64ipwewrm

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1754332@bnt-lap001
Assistant-Session: 9c8ac536-ff5e-46a3-8ab1-a548bde25fc0
2026-09-10 15:23:57 +02:00
5ec2fe9649 Amend GH-DEC-2026-013: three facts in one field, and key-cape's third value
approval-engine answered section 6 by naming the fact it actually uses,
and it was neither of the two the record identified. Store isolation —
did this caller arrive through a channel this store serves — is a
property of the channel, and it is what a registration-supplied tenant
is genuinely adequate for. Act scope is a property of the act.
Principal membership is a property of the person. Three facts, one
field named tenant.

That explains why every party's intuition was locally correct and the
disagreement was real anyway: approval-engine reading store isolation
was right that the registration suffices, informed-decision reading act
scope was right that the fact is act-scoped, and the identity layer
reading membership was right that a registration cannot supply it.
Nobody was wrong about their own fact. The field was wrong to hold all
three. It is a stronger case for the provenance requirement than two
facts were.

approval-engine committed unasked to the consequence — registration
-supplied is admissible for isolation and never for doctrine turning on
membership — and asked to be held to it as the point where a sound
check silently becomes unsound. Held, and GH-DEC-2026-016 section 5 is
where it first bites.

key-cape emitted three provenance values where the record named two,
and asked to be corrected rather than assume. There was nothing to
correct: default is a real third route, and folding it into directory
would have reproduced the finding one level down by letting a consumer
read an assertion the identity layer never made. It applied A-16 to a
route this record did not examine. Its agreement-case judgement is
endorsed too — agreement resolves to directory, because the directory
did assert it and the weaker label would understate what is known,
which also means the value strengthens on its own when the adapter
lands.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012viPor8WJNCbV64ipwewrm

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1754332@bnt-lap001
Assistant-Session: 9c8ac536-ff5e-46a3-8ab1-a548bde25fc0
2026-09-10 15:22:04 +02:00
62c6399ddd Revise R3, rule the human-approver question, and correct A-16 and A-17
Four returns arrived overnight, two of them corrections to rules
written yesterday. Both corrections are right.

A-16 GAINS A RIDER. informed-decision pointed out the rule is silent on
who writes the route marker, and the guarantee is only as good as that
party's independence from what the marker asserts. Its own instance is
the weak one: erased versus never-held is written by the party the
evidence is about, so A-16 there reduces to a self-attestation and
GH-DEC-2026-014 section 4 narrows it without removing it. Without the
rider A-16 becomes the thing it exists to prevent — a sound check read
as establishing a property it does not carry. The four instances are
now graded by marker independence rather than listed as equals.

A-17 GAINS A PRECONDITION. It asks which way a case fails, which is
unanswerable where the case cannot be seen. Their commitment-only path
had no failure direction at all as proposed: a reviewer got a blank,
indistinguishable from erased, withheld, lost and never held.
GH-DEC-2026-014 section 4 did not test the direction of failure, it
manufactured one — the right outcome reached without noticing it was a
different operation. So making the distinguishing case observable is a
precondition of applying A-17, not an outcome of it, and A-17 therefore
depends on A-16. Neither dependency was noticed when both were written
a day apart.

GH-DEC-2026-015 revises GH-DEC-2026-012 R3. approval-engine recommended
exactly the option we refused, informed-decision could not comply with
both, changed nothing, and raised it as a finding rather than choosing
— having previously offered to let approval-engine settle R3 and
declined to take that route twice.

Nesting is permitted for this pair. The cycle objection needed mutual
containment and approval-engine's digest structurally excludes
presentation material for an independent reason. But the decisive
ground is that the original ruling worked against its own rule: R3
forbade recomputing the other layer's digest from one's own vocabulary,
and co-reference by identifier left informed-decision canonicalizing
principal and target, two of the five fields in that digest. Nesting
removes the duplication; co-reference manages it. We reached for the
management option while stating the rule that recommends removal.

Conditioned on approval-engine making the exclusion normative and
tested rather than intentional, because the cycle cannot arise here is
a belief and the cycle may not arise here is a rule with an owner —
A-17's precondition applied to our own permission. The ordering
objection is withdrawn as mistaken and the withdrawal is recorded: a
cost accepted from the requester and never checked is how a wrong
reason survives into a ruling.

GH-DEC-2026-016 rules NC-03, which both repositories referred up and
neither benefits from. Where an approval is declared as discharging a
human-in-the-loop control, the approver must be a human principal and
approval-engine must refuse at bind time rather than record it.
Recording the principal type is the auditable half and stops nothing;
an approval control satisfiable by the same class of actor it exists to
check is theatre. Scoped to declared approvals, declared at issue and
never inferred, on approval-engine's own pdp_path shape. One surface
enforcing it is not the property being held — the guarantee would read
as human-approved unless someone used a different client.

Section 5 leaves what makes a principal human to the identity layer and
notes it inherits A-16: refusing a service principal while accepting an
unverified assertion of humanity moves the defect rather than closing
it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012viPor8WJNCbV64ipwewrm

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1754332@bnt-lap001
Assistant-Session: 9c8ac536-ff5e-46a3-8ab1-a548bde25fc0
2026-09-10 15:21:29 +02:00