approval-engine/workplans/APPROVAL-WP-0005-access-claim-fact-contract.md
tegwick 3485415b82 Add producer-owned Go approval fact validation and canonical vectors
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a140c4-354a-7823-8f0d-8f717397f786
2026-10-16 16:25:54 +02:00

83 lines
3.6 KiB
Markdown

---
id: APPROVAL-WP-0005
type: workplan
title: "Approval fact contract and reusable Go data adapter"
domain: infotech
repo: approval-engine
status: active
flavor: implementation
owner: codex
topic_slug: netkingdom
created: "2026-10-16"
updated: "2026-10-16"
depends_on: []
---
CUST-WP-0080 explicitly selects the necessary Approval-WP-0002-T01/T05 source
contract subset for the Access service HTTP B2 join. Initial scope is owner
review and producer fixtures; subsequent explicit CUST-WP-0080 demand selects
T03's pure reusable data adapter, agreed with Access before implementation.
No broad residual activation, credential transport runtime, trust admission,
policy eligibility or live action is included.
## Review authoritative claim guarantees and publish thin consumer vectors
```task
id: APPROVAL-WP-0005-T01
status: done
priority: high
```
INTENT basis: factual exact-bound approval claims supplied to Access, never a
second PDP. Source contract documents verified human-control semantics and their
issuer admission limit, both original/subsequent observation bounds, exact
native/PDP correspondence and immutable original submitted context. Producer
vectors cover current lifecycle and canonical types. The superseded proposal's
request-refresh design requires change; fresh facts are verified out-of-band.
## Independently integrate owner contract and coordinate Access reader conformance
```task
id: APPROVAL-WP-0005-T02
status: todo
priority: high
```
Coordinator reviews/integrates these source records. Access owns the thin Go
reader/normalization and conformance implementation under FLEX-WP-0024-T06;
Secrets owns strict immutable handoff and Platform owns provider origin/custody
and final client pin. Native issuer/profile and served-PEP obligations remain
live under APPROVAL-WP-0002-T01/T05, with audit under T04. No new native residual
is created, promoted or marked complete by these source-only fixtures.
## Supply producer-owned reusable Go claim and native binding data adapter
```task
id: APPROVAL-WP-0005-T03
status: done
priority: high
```
Explicit bounded implementation demand after Access confirmed the exact module
and raw-JSON API: adapters/go/approvalfact contains the existing Python-native
five-field canonicalization port and strict human/PDP-path typed claim validation
plus original/fresh fact matching. It is pure data code, not a source transport,
credential runtime, policy evaluator or consume service. Fact means validated
shape/correspondence, never authenticated provider origin.
Fourteen pinned native vectors and 24 claim cases pass in Go, with strict
duplicate/Unicode/type/expiry defenses and detached original bytes. A 14,114-case
deterministic differential corpus matches actual Python producer canonical bytes
and digests; Go race tests pass. This is source sample evidence, not exhaustive
proof or native acceptance. An initial module toolchain selection failure and
shared cache sandbox refusal are retained in preparation evidence; final module
uses Access's existing Go1.26.7 and completed tests.
Access explicitly retains the expected-native-raw-source correspondence gate:
its current decoded float64 maps cannot recover Python float/int identity.
The current pilot's raw resource may be used only with proof of no active target
registry override plus exact existing tenant normalization. Other enrichment
needs authoritative raw source/compiler representation. No numeric restriction,
digest substitution, foreign review, runtime enable or live proof is invented.
T02 still owns independent source integration/handoff; existing T01/T05 native
residual obligations and actual Access conformance/integration remain unchanged.