Architecture Blueprint and rewritten SCOPE; close T05 and T06

T05 written after the ruling rather than before it, which was the point of
gating it. GH-DEC-2026-012 limit 3 did most of the shaping: the evidence copy
must reach audit-core independently of this component, because here the actor
being audited and the evidence source are the same. Booked as four binding
implementation consequences plus O-02, which must be resolved before T08 ships —
"we will add the independent path later" is how limit 3 becomes
limit-3-in-principle.

Other constraints fixed in the blueprint: presentation/ is the only writer of
view_hash; the approval-engine client exposes no validity cache; a fail-closed
outcome is never recorded as an approver's decline, since the human made none;
the assurance shape is cited from key-cape's contract rather than restated so it
cannot drift; and no polling loop may synthesise the inbox approval-engine
refuses to provide.

T06 closed with the SCOPE.md rewrite the ruling unblocked. It carries a "What
this repository does not claim" section, because a scope file listing only
capabilities overstates them: the decision path is not validated while
GH-DEC-2026-010 is open, the residual is not closed, view_hash is not inside the
approval entry, and nothing is deployed.

Two open items block the remainder. O-01, the human token tenant, blocks T07 and
is not ours alone to decide. O-02, the independent evidence path, blocks T08.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1565372@bnt-lap001
Assistant-Session: 16bb2f25-b34c-49ef-8e94-5fec3567a568
This commit is contained in:
tegwick 2026-09-09 22:29:06 +02:00
parent be74a6bc35
commit b8e57e8404
4 changed files with 365 additions and 41 deletions

View file

@ -206,7 +206,7 @@ scale-invariance claim is checkable rather than asserted.
```task
id: INFD-WP-0001-T05
status: todo
status: done
priority: high
state_hub_task_id: "20ea118e-0657-5054-8aa2-b316444f4000"
```
@ -233,11 +233,27 @@ token audiences, scopes and principal types match `approval-engine`'s
stated unavailable-stance; the blueprint names which parts are Stage 1 and which
are placeholders.
Completed 2026-09-09: `docs/specs/ArchitectureBlueprint.md`. Written after the
ruling, as intended — the layer answer shaped it rather than being retrofitted.
The constraint that did most of the work is `GH-DEC-2026-012` limit 3: the
evidence copy must reach `audit-core` independently of this component, because
here the actor being audited and the evidence source are the same. That is
booked as four binding implementation consequences plus an open item (`O-02`)
that must be resolved before T08 ships, rather than as a principle — "we will
add the independent path later" is how limit 3 becomes limit-3-in-principle.
Also fixed: `presentation/` is the only writer of `view_hash`; the
`approval-engine` client must expose no validity cache; a fail-closed outcome is
never recorded as an approver's decline, because the human did not make one; and
the `assurance` shape is cited from `key-cape`'s contract rather than restated,
so it cannot drift.
## Evidence model, schema promotion and canonicalization under test
```task
id: INFD-WP-0001-T06
status: progress
status: done
priority: high
state_hub_task_id: "47cb3f7a-e349-5c81-a304-86275e058a85"
```
@ -299,6 +315,13 @@ Two things worth recording rather than burying:
Remaining for `done`: rewrite `SCOPE.md` after the T02 ruling.
2026-09-09 — **done.** `SCOPE.md` rewritten now the ruling and the specs have
fixed the real boundary. It carries a "What this repository does not claim"
section, because a scope file listing only capabilities overstates them: the
decision path is not validated while `GH-DEC-2026-010` is open, the residual is
not closed, `view_hash` is not inside the approval entry, and nothing is
deployed.
## Publish the OIDC browser-client contract to key-cape
```task