4.8 KiB
4.8 KiB
Decision Checklist (Gating Artifact)
This file records decisions that must be resolved before moving forward with backend integration. It is the gating artifact for Phase 0/1.
Phase 0 — Conformance Harness + Determinism
Conformance Scope
- Tier 0 MUST-pass specs (backend/store focus):
ASL/1-COREASL/1-STOREENC/ASL1-COREHASH/ASL1TGK/1-COREENC/TGK1-EDGE/1TGK/STORE/1- Tier 1 MUST-pass specs (index/log + optional provenance):
ASL/LOG/1ENC/ASL-LOG/1ASL/1-CORE-INDEXENC/ASL-CORE-INDEX/1ASL/STORE-INDEX/1ASL/INDEX-ACCEL/1ASL/FEDERATION/1andASL/FEDERATION-REPLAY/1(if federation is in scope)TGK/PROV/1(if provenance operators are surfaced)
Notes:
- The legacy filesystem store (
asl_store_fs) is not a Tier 1 conformance target once index/log is used. - PEL specs are implemented and tested in this repo, but they are not required for the Phase 0/1 backend gate unless the surface is shipped as part of the backend.
TGK/STORE Equivalence Definition
- Exact definition of “same result” across backends:
- For a fixed
GraphStoreConfigand snapshot where(Artifacts, config.tgk_profiles)are equal, allTGK/STORE/1operations must return identical results perTGK/STORE-DET/1. resolve_edge(ref)returns the sameEdgeBodyor the same error code.edges_from,edges_to,edges_incidentreturn identicalGraphEdgeViewlists (same elements in the same order).- If implemented,
neighborsreturns identicalNodelists (same elements in the same order). - If implemented,
scan_edgesenumerates the same edges with identical per-page ordering;PageTokenbytes may differ but must represent the same position in the canonical ordering. - Ordering requirements (explicitly enumerated):
- Edge ordering is canonical and global: ascending lexicographic order of
order_key(edge_ref) = hash_id_bytes || digest_bytes, withhash_idas big-endianu16(TGK/STORE-EDGE-ORDER/1). - Neighbor ordering is canonical: ascending lexicographic order of
(hash_id, digest)with the sameu16big-endian encoding (TGK/STORE-NEIGHBORS/1). - Pagination/scan stability rules:
scan_edgesmust enumerate each matching edge exactly once and preserve the canonical per-page ordering.- Snapshot stability across pages is optional; if not stable, the implementation must still preserve per-call ordering and enumeration semantics for the snapshot used by that call.
Error Model Mapping Policy
- Canonical internal error taxonomy:
- ASL store errors:
AMDUAT_ASL_STORE_ERR_INTEGRITY,AMDUAT_ASL_STORE_ERR_UNSUPPORTED,AMDUAT_ASL_STORE_ERR_NOT_FOUND,AMDUAT_ASL_STORE_ERR_IO. - TGK store errors:
GS_ERR_NOT_EDGE,GS_ERR_ARTIFACT_ERROR,GS_ERR_UNSUPPORTED,GS_ERR_INTEGRITY. - Adapter-specific error mapping rules:
ASL/1-STOREspecifiesERR_NOT_FOUND,ERR_INTEGRITY,ERR_UNSUPPORTED. I/O/auth failures are out of scope for the spec; in this repo they map toAMDUAT_ASL_STORE_ERR_IO.TGK/STORE/1requires artifact-layer conflicts duringresolve_edgeto surface asGS_ERR_ARTIFACT_ERROR(notGS_ERR_INTEGRITY).GS_ERR_NOT_EDGEis returned when a reference resolves to an Artifact that is not a TGK edge under the active profile set.- Required error tests:
- ASL:
geton missing ref →ERR_NOT_FOUND. - ASL:
putcollision (same ref, different artifact) →ERR_INTEGRITY. - ASL: unsupported config or hash/profile mismatch →
ERR_UNSUPPORTED. - ASL: adapter I/O faults →
ERR_IO(non-normative but required for harness). - TGK:
resolve_edgenon-edge artifact →GS_ERR_NOT_EDGE. - TGK:
resolve_edgeartifact-layer integrity failure →GS_ERR_ARTIFACT_ERROR. - TGK: unsupported profile/encoding →
GS_ERR_UNSUPPORTED.
Phase 1 — ASL MinIO Adapter
Object Key Layout
- Reference → bucket/key mapping: TBD (not specified by current specs/tests).
- Prefix sharding / directory fanout: TBD (not specified by current specs/tests).
Metadata Policy
- Encoding/profile version tracking: TBD (not specified by current specs/tests).
- Metadata location (object metadata/tags/in-band): TBD (not specified by current specs/tests).
Multipart Policy
- Multipart threshold: TBD (not specified by current specs/tests).
- Fidelity guarantees and validation: TBD (not specified by current specs/tests).
Consistency Assumptions
- Read-after-write expectations: TBD (not specified by current specs/tests).
- Deployment modes covered by tests: TBD (not specified by current specs/tests).
Security / Credentials
- Credential source and rotation policy: TBD (not specified by current specs/tests).
- Permission boundaries: TBD (not specified by current specs/tests).
Status
- Phase 0 decisions: DRAFTED (spec-derived; requires owner confirmation)
- Phase 1 decisions: NOT STARTED