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

3.6 KiB

id type title domain repo status flavor owner topic_slug created updated depends_on
APPROVAL-WP-0005 workplan Approval fact contract and reusable Go data adapter infotech approval-engine active implementation codex netkingdom 2026-10-16 2026-10-16

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

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

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

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.