docs: refine stack overview to repo stack
This commit is contained in:
parent
d2806a5f33
commit
49fa2955cd
|
|
@ -3,8 +3,8 @@
|
|||
**Document ID:** `SUBSTRATE/STACK-OVERVIEW`
|
||||
**Layer:** Overview (Tier-1 orientation)
|
||||
**Status:** Approved (Tier-1 orientation; non-normative behaviour)
|
||||
**Version:** 0.4.1
|
||||
**Last updated:** 2025-11-30
|
||||
**Version:** 0.4.2
|
||||
**Last updated:** 2025-12-22
|
||||
|
||||
**Depends on (normative):**
|
||||
|
||||
|
|
@ -34,14 +34,8 @@
|
|||
|
||||
> **Scope note (v0.4.0)**
|
||||
> This revision relocates the stack map into `/amduat/tier1/` and locks it to the
|
||||
> Amduat 2.0 kernel scope required by PH06. Certification, receipt, fact, and
|
||||
> overlay profiles are explicitly deferred to later phases.
|
||||
|
||||
> **PH06 closure note (v0.4.1)**
|
||||
> TGK store/provenance surfaces now reference the PH06 TGK rebuild evidence:
|
||||
> `/amduat/vectors/ph06/tgk/manifest.json`,
|
||||
> `/amduat/logs/ph06/evidence/tgk/PH06-EV-TGK-REBUILD-001/`, and the governance
|
||||
> bundle `PH06-EV-GOV-REG-001` that records registry/ADR alignment for closure.
|
||||
> Amduat 2.0 kernel scope. Certification, receipt, fact, and overlay profiles
|
||||
> are explicitly deferred to later phases.
|
||||
|
||||
© 2025 Niklas Rydberg.
|
||||
|
||||
|
|
@ -63,13 +57,14 @@ public domain under CC0 1.0.
|
|||
|
||||
## 0. Purpose
|
||||
|
||||
This document gives a **short, shared map** of the Amduat 2.0 substrate:
|
||||
This document is a **short, shared map** of the Amduat 2.0 substrate:
|
||||
|
||||
* what the core layers are,
|
||||
* what each layer is responsible for (and not responsible for),
|
||||
* how they depend on one another.
|
||||
|
||||
It is the “you are here” page for kernel work and substrate profiles. All detailed behaviour is defined in the referenced specs.
|
||||
It is the “you are here” page for kernel work and substrate profiles; detailed
|
||||
behaviour is defined in the referenced specs.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -83,16 +78,19 @@ Key invariants:
|
|||
Everything that matters is an immutable `Artifact`; identity is `(hash_id, digest)` over a canonical encoding.
|
||||
|
||||
2. **Tiny kernel, rich profiles**
|
||||
The kernel only knows:
|
||||
The kernel covers:
|
||||
|
||||
* Artifacts (values) — `ASL/1-CORE`
|
||||
* pure execution — `PEL/1-CORE`
|
||||
* graph semantics — `TGK/1-CORE`
|
||||
|
||||
Meaning (facts, receipts, overlays, policy) lives in profiles on top.
|
||||
Meaning (facts, receipts, overlays, policy) lives in profiles above.
|
||||
|
||||
3. **Single logical provenance graph**
|
||||
All relationships (execution, certs, overlays, facts, annotations) appear as typed edges in one logical graph over artifact IDs (`Reference`s), via `TGK/1-CORE`. EdgeArtifacts are ordinary Artifacts; their identities are ordinary `Reference`s.
|
||||
All relationships (execution, certs, overlays, facts, annotations) appear as
|
||||
typed edges in one logical graph over artifact IDs (`Reference`s), via
|
||||
`TGK/1-CORE`. EdgeArtifacts are ordinary Artifacts; their identities are
|
||||
ordinary `Reference`s.
|
||||
|
||||
4. **Additive evolution, no history rewrites**
|
||||
|
||||
|
|
@ -103,7 +101,8 @@ Key invariants:
|
|||
5. **Storage-neutral, policy-neutral kernel**
|
||||
|
||||
* No special filesystem, database, or policy model is assumed.
|
||||
* Stores, transports, graph stores, and policies are layered around the substrate via adapters and profiles.
|
||||
* Stores, transports, and policies are layered around the substrate via
|
||||
adapters and profiles.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -137,10 +136,9 @@ At a high level:
|
|||
* `OPREG/PEL1-KERNEL` — kernel operation set
|
||||
* `OPREG/PEL1-KERNEL-PARAMS/1` — canonical param encodings for kernel ops
|
||||
|
||||
* **Profiles above kernel + near-core** — intentionally out-of-scope for this
|
||||
version to keep the focus on the Amduat 2.0 kernel contract. Certification,
|
||||
receipt, fact, overlay, and domain profiles will reattach once the kernel is
|
||||
proven inside future phases.
|
||||
* **Profiles above kernel + near-core** — out of scope for this version to keep
|
||||
the focus on the Amduat 2.0 kernel contract. Certification, receipt, fact,
|
||||
overlay, and domain profiles return in later phases.
|
||||
|
||||
Below is a more explicit breakdown.
|
||||
|
||||
|
|
@ -261,7 +259,7 @@ Responsibilities:
|
|||
* Defining a **ProvenanceGraph** as a pure projection over:
|
||||
|
||||
* a finite set of Artifacts, and
|
||||
* a configured set of edge encoding profiles and type catalogs.
|
||||
* a configured set of edge encodings and type catalogs.
|
||||
|
||||
Core kernel rules:
|
||||
|
||||
|
|
@ -277,14 +275,15 @@ Not responsible for:
|
|||
|
||||
Layering with PEL/1-CORE:
|
||||
|
||||
* PEL executions MAY be *described* via TGK edges (e.g., `EDGE_EXECUTION`, `EDGE_RECEIPT_SUPPORTS`).
|
||||
* PEL executions MAY be *described* via TGK edges (via future profiles).
|
||||
* TGK is **not** a runtime dependency for PEL; edges can be emitted by runtimes or reconstructed from Artifacts (programs, inputs, traces, receipts).
|
||||
|
||||
---
|
||||
|
||||
## 4. Near-core Substrate & Graph Store Profiles
|
||||
|
||||
These surfaces are not kernel primitives, but are canonical and expected in almost all deployments.
|
||||
These surfaces are not kernel primitives, but are canonical and expected in
|
||||
almost all deployments.
|
||||
|
||||
### 4.1 ENC/ASL1-CORE v1 — Core Canonical Encoding
|
||||
|
||||
|
|
@ -298,9 +297,9 @@ Defines the **canonical binary encoding** for `ASL/1-CORE` values:
|
|||
|
||||
Responsibilities:
|
||||
|
||||
* Provide injective, stable, deterministic, streaming-friendly encodings for `Artifact` and `Reference`.
|
||||
* Define the canonical byte sequences used as input to ASL1 hash functions and stores.
|
||||
* Satisfy all canonical encoding constraints from `ASL/1-CORE` (injective, stable, deterministic, explicit structure, type-sensitive, byte-transparent, streaming-friendly).
|
||||
* Provide stable, injective, streaming-friendly encodings for `Artifact` and
|
||||
`Reference`.
|
||||
* Define the canonical byte sequences used as input to ASL1 hashes and stores.
|
||||
|
||||
Not responsible for:
|
||||
|
||||
|
|
@ -394,7 +393,7 @@ These are standard, near-core profiles that give a concrete, store-backed execut
|
|||
* Wires `Exec_s` from `PEL/1-CORE` to `ASL/1-STORE`.
|
||||
* Takes `scheme_ref`, `program_ref`, `input_refs`, `params_ref` plus a StoreInstance.
|
||||
* Resolves Artifacts, invokes `Exec_s`, persists outputs and a surface-level `ExecutionResult` Artifact.
|
||||
* Does **not** depend on TGK, CIL, FER, FCT, or OI on the execution hot path.
|
||||
* Does **not** depend on TGK or higher profiles on the execution hot path.
|
||||
|
||||
**`PEL/PROGRAM-DAG/1` — DAG Program Scheme**
|
||||
|
||||
|
|
@ -405,8 +404,10 @@ These are standard, near-core profiles that give a concrete, store-backed execut
|
|||
**`PEL/PROGRAM-DAG-DESC/1` — DAG Scheme Descriptor**
|
||||
|
||||
* Defines the logical descriptor value for the DAG scheme (`DagSchemeDescriptor`) and its encoding as a dedicated scheme-descriptor Artifact.
|
||||
* Binds `PEL/PROGRAM-DAG/1` to a concrete `SchemeRef` (`SchemeRef_DAG_1`) by hashing that descriptor Artifact under `ASL_ENC_CORE_V1` and a chosen `HashId` (Amduat 2.0 baseline: `HASH-ASL1-256`, `HashId = 0x0001`).
|
||||
* Records, in a content-addressed way, which `TypeTag` and encoding profile (`TYPE_TAG_PEL_PROGRAM_DAG_1`, `PEL_ENC_PROGRAM_DAG_V1`) identify Program Artifacts for this scheme.
|
||||
* Binds `PEL/PROGRAM-DAG/1` to a concrete `SchemeRef` (`SchemeRef_DAG_1`) by
|
||||
hashing the descriptor Artifact under `ASL_ENC_CORE_V1` + a chosen `HashId`.
|
||||
* Records which Program `TypeTag` and encoding profile identify Program
|
||||
Artifacts for this scheme.
|
||||
* Remains store- and graph-neutral; engines MAY treat the descriptor as build-time or configuration metadata and are not required to read it on the execution hot path.
|
||||
|
||||
**`ENC/PEL-PROGRAM-DAG/1` — Program Encoding**
|
||||
|
|
@ -418,7 +419,8 @@ These are standard, near-core profiles that give a concrete, store-backed execut
|
|||
**`PEL/TRACE-DAG/1` — DAG Execution Trace Profile**
|
||||
|
||||
* Defines `TraceDAGValue`: per-node run status, output refs, and deterministic diagnostics, linked to `scheme_ref`, `program_ref`, `input_refs`, `params_ref`.
|
||||
* Optional but deterministic; enables TGK to reconstruct node-level execution edges (via profiles like `TGK/PEL/1`).
|
||||
* Optional but deterministic; enables higher layers to reconstruct node-level
|
||||
execution relationships.
|
||||
|
||||
**`ENC/PEL-TRACE-DAG/1` — Trace Encoding**
|
||||
|
||||
|
|
@ -498,7 +500,7 @@ Design note:
|
|||
|
||||
Defines the **graph store abstraction and basic query semantics** over the TGK provenance graph induced by Artifacts:
|
||||
|
||||
* Treats TGK’s `ProvenanceGraph` as the source of truth:
|
||||
* Treats the induced `ProvenanceGraph` as the source of truth:
|
||||
|
||||
```text
|
||||
ProvenanceGraph {
|
||||
|
|
@ -528,15 +530,16 @@ Responsibilities:
|
|||
Not responsible for:
|
||||
|
||||
* Provenance algorithms (backward/forward reachability, trace construction) — those belong to `TGK/PROV/1` and higher-level profiles.
|
||||
* Certificate, fact, or overlay semantics (`CIL/1`, `FER/1`, `FCT/1`, `OI/1`).
|
||||
* Certificate, fact, or overlay semantics (future profiles).
|
||||
* Transport or API shapes (HTTP/gRPC/etc.).
|
||||
* Store semantics themselves (`ASL/1-STORE` is the source of artifact resolution).
|
||||
|
||||
`TGK/STORE/1` is strictly:
|
||||
`TGK/STORE/1` is:
|
||||
|
||||
> “Given a graph defined by `TGK/1-CORE`, how do we expose its edges and adjacency in a way that is deterministic, identity-preserving, and policy-neutral?”
|
||||
|
||||
Kernel provenance semantics (`TGK/PROV/1`) and higher-level profiles (`FER/1`, `FCT/1`, `CIL/1`, `OI/1`, domain profiles) typically use `TGK/STORE/1` as their standard graph-access surface.
|
||||
Kernel provenance semantics (`TGK/PROV/1`) and higher-level profiles typically
|
||||
use `TGK/STORE/1` as their standard graph-access surface.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -546,11 +549,8 @@ Kernel provenance semantics (`TGK/PROV/1`) and higher-level profiles (`FER/1`, `
|
|||
|
||||
Defines the **kernel provenance operators** over a `ProvenanceGraph` snapshot:
|
||||
|
||||
* A small, store-neutral provenance parameter model:
|
||||
|
||||
* `ProvDirection` (BACKWARD, FORWARD, BOTH),
|
||||
* `EdgeTypeFilter` (edge-type selection),
|
||||
* `DepthLimit` (hop-count bound).
|
||||
* Parameters: `ProvDirection` (BACKWARD/FORWARD/BOTH), `EdgeTypeFilter`,
|
||||
`DepthLimit`.
|
||||
|
||||
* Pure, deterministic operators:
|
||||
|
||||
|
|
@ -561,10 +561,8 @@ Defines the **kernel provenance operators** over a `ProvenanceGraph` snapshot:
|
|||
|
||||
Responsibilities:
|
||||
|
||||
* Provide a **graph-only** provenance kernel over `TGK/1-CORE`:
|
||||
|
||||
* semantics are defined purely in terms of `ProvenanceGraph` snapshots and finite seed sets,
|
||||
* no dependence on any particular store, index, or query API.
|
||||
* Define semantics purely over `ProvenanceGraph` snapshots and finite seed sets
|
||||
(store/index/API neutral).
|
||||
|
||||
* Fix canonical behaviour for backward/forward/bidirectional reachability, depth assignment, and trace construction that higher profiles can rely on.
|
||||
|
||||
|
|
@ -573,52 +571,28 @@ Responsibilities:
|
|||
Not responsible for:
|
||||
|
||||
* Graph store or adjacency APIs (`TGK/STORE/1`); these are implementation choices.
|
||||
* Edge-type **meaning** or provenance policy (“which edges count as causal vs decorative”); that is decided by profiles (e.g. PEL/TRACE-DAG, `FER/1`, `FCT/1`, `OI/1`).
|
||||
* Edge-type **meaning** or provenance policy (“which edges count as causal vs decorative”); that is decided by profiles (e.g. PEL/TRACE-DAG and future profiles).
|
||||
* Encoding of provenance results into Artifacts (receipts, reports, overlays).
|
||||
|
||||
Layering:
|
||||
|
||||
* Depends **normatively** only on `TGK/1-CORE` (and, via TGK, `ASL/1-CORE`).
|
||||
* Typically implemented on top of `TGK/STORE/1` for adjacency and edge resolution, but any implementation that operates over a `ProvenanceGraph` snapshot and satisfies `TGK/PROV/1`’s semantics is valid.
|
||||
* Used by `FER/1`, `FCT/1`, `CIL/1`, `OI/1`, and domain profiles as the canonical way to ask provenance questions over the TGK graph.
|
||||
* Typically implemented on top of `TGK/STORE/1` for adjacency and edge
|
||||
resolution, but any implementation over a `ProvenanceGraph` snapshot that
|
||||
satisfies `TGK/PROV/1`’s semantics is valid.
|
||||
* Used by higher layers as the canonical way to ask provenance questions over the TGK graph.
|
||||
|
||||
---
|
||||
|
||||
## 5. Profiles on Top
|
||||
|
||||
These build on kernel + near-core and express semantics and policy.
|
||||
|
||||
* **CIL/1 — Certification & Integrity Layer**
|
||||
|
||||
* Certificates as Artifacts.
|
||||
* Generic signatures over `Reference`s and other Artifacts.
|
||||
* Separation between “is the signature cryptographically valid?” (CIL) and “what does it mean?” (profiles such as FCT/1).
|
||||
|
||||
* **FER/1 — Evidence / Receipts**
|
||||
|
||||
* Receipts bundling descriptors, inputs, outputs, traces, and certs as Artifacts.
|
||||
* Plays well with TGK via edges like “this receipt supports this fact” or “this receipt is attached to this execution”.
|
||||
* Typically uses `TGK/PROV/1` to construct provenance cones and trace projections when building or checking receipts.
|
||||
|
||||
* **FCT/1 — Facts / Transactions**
|
||||
|
||||
* Facts/transactions as semantics over receipts + certificates + TGK graph patterns.
|
||||
* Governs acceptance criteria for domain-level “truth”.
|
||||
* May rely on `TGK/PROV/1` to define which provenance patterns or trace shapes are acceptable evidence for particular fact schemas.
|
||||
|
||||
* **OI/1 — Overlays & Navigation**
|
||||
|
||||
* Overlays mapping human-friendly names, paths, or views to `Reference`s.
|
||||
* Graph-based navigation and UI surfaces, often driven by `TGK/PROV/1` queries over `TGK/STORE/1`.
|
||||
|
||||
All of these:
|
||||
Profiles above kernel + near-core are deferred in this repository. When those
|
||||
profiles are introduced, they will:
|
||||
|
||||
* encode their objects as Artifacts (own `TypeTag` ranges and encodings),
|
||||
* use `Reference`s as durable pointers into the substrate,
|
||||
* typically expose relationships as TGK edges, using edge types bound to `ENC/TGK1-EDGE/1` (or other edge encodings where appropriate),
|
||||
* and query the resulting graph via `TGK/STORE/1` / `TGK/PROV/1` or equivalent.
|
||||
|
||||
Higher-level domain profiles (AI evals, CI pipelines, governance processes, ledgers, etc.) sit above all of this.
|
||||
* typically expose relationships as TGK edges, and
|
||||
* query the resulting graph via `TGK/STORE/1` / `TGK/PROV/1` or equivalent.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -631,26 +605,24 @@ Higher-level domain profiles (AI evals, CI pipelines, governance processes, ledg
|
|||
* ↓ used by `ENC/ASL1-CORE`, `HASH/ASL1`, `ASL/1-STORE`,
|
||||
`PEL/1-CORE`, `TGK/1-CORE`, `PEL/PROGRAM-DAG/1`, `PEL/PROGRAM-DAG-DESC/1`, `PEL/TRACE-DAG/1`,
|
||||
`OPREG/PEL1-KERNEL`, `OPREG/PEL1-KERNEL-PARAMS/1`,
|
||||
`ENC/TGK1-EDGE/1`, `TGK/STORE/1`, `TGK/PROV/1`,
|
||||
`CIL/1`, `FER/1`, `FCT/1`, `OI/1`.
|
||||
`ENC/TGK1-EDGE/1`, `TGK/STORE/1`, `TGK/PROV/1`.
|
||||
|
||||
* `ENC/ASL1-CORE`
|
||||
|
||||
* ↓ used by `HASH/ASL1` (for `ArtifactBytes` / `ReferenceBytes`),
|
||||
`ASL/1-STORE`, `PEL/1-SURF`,
|
||||
`ENC/PEL-PROGRAM-DAG/1`, `ENC/PEL-TRACE-DAG/1`, `PEL/PROGRAM-DAG-DESC/1`,
|
||||
`ENC/TGK1-EDGE/1`, `TGK/STORE/1`, and higher profiles.
|
||||
`ENC/TGK1-EDGE/1`, `TGK/STORE/1`, and future profiles.
|
||||
|
||||
* `HASH/ASL1`
|
||||
|
||||
* ↓ used by `ASL/1-STORE`, `PEL/1-SURF`,
|
||||
`ENC/PEL-PROGRAM-DAG/1`, `ENC/PEL-TRACE-DAG/1`, `PEL/PROGRAM-DAG-DESC/1`,
|
||||
`ENC/TGK1-EDGE/1`, `TGK/STORE/1`, and higher profiles for identity.
|
||||
`ENC/TGK1-EDGE/1`, `TGK/STORE/1`, and future profiles for identity.
|
||||
|
||||
* `ASL/1-STORE`
|
||||
|
||||
* ↓ used by `PEL/1-SURF`, TGK storage/indexing profiles (`TGK/STORE/1`),
|
||||
`CIL/1`, `FER/1`, `FCT/1`, `OI/1`.
|
||||
* ↓ used by `PEL/1-SURF`, TGK storage/indexing profiles (`TGK/STORE/1`).
|
||||
|
||||
* `PEL/1-CORE`
|
||||
|
||||
|
|
@ -660,32 +632,27 @@ Higher-level domain profiles (AI evals, CI pipelines, governance processes, ledg
|
|||
* `PEL/1-SURF`, `PEL/PROGRAM-DAG/1`, `PEL/PROGRAM-DAG-DESC/1`, `PEL/TRACE-DAG/1`,
|
||||
`ENC/PEL-PROGRAM-DAG/1`, `ENC/PEL-TRACE-DAG/1`, `OPREG/PEL1-KERNEL`, `OPREG/PEL1-KERNEL-PARAMS/1`
|
||||
|
||||
* ↓ used by `FER/1`, `FCT/1`, `CIL/1`, `OI/1` and domain profiles to build reproducible executions, traces, and evidence.
|
||||
* ↓ used by future profiles and domain layers to build reproducible executions, traces, and evidence.
|
||||
|
||||
* `TGK/1-CORE`
|
||||
|
||||
* ↓ used by `ENC/TGK1-EDGE/1` (for the logical `EdgeBody` model),
|
||||
`TGK/STORE/1`, `TGK/PROV/1`,
|
||||
`FER/1`, `FCT/1`, `CIL/1`, `OI/1`, and domain profiles for provenance reconstruction.
|
||||
and future profiles for provenance reconstruction.
|
||||
|
||||
* `ENC/TGK1-EDGE/1`
|
||||
|
||||
* ↓ used by TGK-aware stores (`TGK/STORE/1`), provenance profiles (`TGK/PROV/1`),
|
||||
and by higher layers (e.g. `FER/1`, `FCT/1`, `CIL/1`, `OI/1`) that emit or interpret EdgeArtifacts.
|
||||
and by higher layers that emit or interpret EdgeArtifacts.
|
||||
|
||||
* `TGK/STORE/1`
|
||||
|
||||
* ↓ used by `TGK/PROV/1` (provenance operators),
|
||||
and by higher layers (`FER/1`, `FCT/1`, `CIL/1`, `OI/1` and domain profiles) as the standard way to query the provenance graph.
|
||||
* Evidence hooks: PH06 rebuild CLI and parity receipts live under
|
||||
`/amduat/vectors/ph06/tgk/manifest.json` and
|
||||
`/amduat/logs/ph06/evidence/tgk/PH06-EV-TGK-REBUILD-001/`.
|
||||
and by higher layers as the standard way to query the provenance graph.
|
||||
|
||||
* `TGK/PROV/1`
|
||||
|
||||
* ↓ used by `FER/1`, `FCT/1`, `CIL/1`, `OI/1`, and domain profiles as the canonical kernel for provenance closure, depth, and trace semantics over TGK graphs, typically implemented on top of `TGK/STORE/1`.
|
||||
|
||||
Higher-level domain profiles depend on all of the above as needed.
|
||||
* ↓ used by higher layers as the canonical kernel for provenance closure, depth, and trace semantics over TGK graphs, typically implemented on top of `TGK/STORE/1`.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -712,18 +679,22 @@ When editing:
|
|||
|
||||
* Keep `ASL/1-CORE` + this overview in view.
|
||||
* Kernel semantics are storage- and graph-neutral.
|
||||
* Must not require `TGK/1-CORE`, `ENC/TGK1-EDGE/1`, `TGK/STORE/1`, `CIL/1` or higher profiles on the execution hot path.
|
||||
* Must not require `TGK/1-CORE`, `ENC/TGK1-EDGE/1`, `TGK/STORE/1`, or higher profiles on the execution hot path.
|
||||
|
||||
* **PEL/1-SURF:**
|
||||
|
||||
* Keep `ASL/1-CORE`, `ENC/ASL1-CORE`, `HASH/ASL1`, `ASL/1-STORE`, `PEL/1-CORE` + this overview in view.
|
||||
* May wire `Exec_s` to stores, but must not depend on TGK, CIL, FER, FCT, or OI on the execution hot path.
|
||||
* May wire `Exec_s` to stores, but must not depend on TGK or higher profiles on the execution hot path.
|
||||
|
||||
* **PEL/PROGRAM-DAG/1, ENC/PEL-PROGRAM-DAG/1 & PEL/PROGRAM-DAG-DESC/1:**
|
||||
|
||||
* Keep `ASL/1-CORE`, `PEL/1-CORE` + this overview in view.
|
||||
* `PEL/PROGRAM-DAG/1` defines the scheme model and evaluation semantics; `ENC/PEL-PROGRAM-DAG/1` defines the canonical Program encoding; `PEL/PROGRAM-DAG-DESC/1` binds that scheme to a concrete `SchemeRef` and Program `TypeTag`/encoding via a descriptor Artifact.
|
||||
* Must not depend on store semantics or graph/cert layers; descriptor logic must remain store- and TGK-neutral (no provenance or policy semantics baked into the scheme binding).
|
||||
* `PEL/PROGRAM-DAG/1` defines the scheme and evaluation semantics;
|
||||
`ENC/PEL-PROGRAM-DAG/1` defines the canonical Program encoding;
|
||||
`PEL/PROGRAM-DAG-DESC/1` binds the scheme to a `SchemeRef` and Program
|
||||
identity (type tag + encoding profile) via a descriptor Artifact.
|
||||
* Must not depend on stores or TGK; keep descriptor logic store-/graph-neutral
|
||||
(no provenance/policy baked into scheme binding).
|
||||
|
||||
* **PEL/TRACE-DAG/1 & ENC/PEL-TRACE-DAG/1:**
|
||||
|
||||
|
|
@ -754,19 +725,15 @@ When editing:
|
|||
* Must not re-define `Node`, `EdgeBody`, `EdgeTypeId`, or `ProvenanceGraph`; it only exposes and queries the graph that TGK/1-CORE defines.
|
||||
* Must not introduce new identity schemes for nodes or edges; `Node := Reference`, `EdgeRef := Reference`.
|
||||
* Must remain policy- and semantics-neutral: no fact, certificate, or provenance *meaning* inside `TGK/STORE/1`, just projection and queries.
|
||||
* PH06 evidence discipline: implementations MUST cite `tools/tgk/rebuild.py`
|
||||
receipts (`/amduat/logs/ph06/evidence/tgk/PH06-EV-TGK-REBUILD-001/`) and the
|
||||
governance bundle `PH06-EV-GOV-REG-001` when wiring store adapters into CLI
|
||||
workflows.
|
||||
|
||||
* **TGK/PROV/1:**
|
||||
|
||||
* Keep `ASL/1-CORE`, `TGK/1-CORE`, `TGK/STORE/1` (as an implementation surface) + this overview in view.
|
||||
* Must define provenance operators purely in terms of `ProvenanceGraph` snapshots and finite seed sets; semantics are graph-only and store-neutral.
|
||||
* Must not depend on particular graph-store APIs (`TGK/STORE/1` is an optimisation/implementation choice, not a semantic dependency).
|
||||
* Must not bake in CIL/FER/FCT/OI semantics; it is a kernel layer that higher profiles specialise via edge-type selection and policies.
|
||||
* Must not bake in higher-profile semantics; it is a kernel layer that higher profiles specialise via edge-type selection and policies.
|
||||
|
||||
For any profile (`CIL/1`, `FER/1`, `FCT/1`, `OI/1`, domain-specific):
|
||||
For any future profile (certification, receipts, facts, overlays, or domain-specific):
|
||||
|
||||
* Treat this document as the “ground truth map” of what you’re allowed to assume from the substrate, and where your profile must stop.
|
||||
* If you find yourself needing new kernel behaviour, that likely means a new `*-CORE` surface, not a profile shortcut.
|
||||
|
|
@ -775,30 +742,12 @@ For any profile (`CIL/1`, `FER/1`, `FCT/1`, `OI/1`, domain-specific):
|
|||
|
||||
## 8. Document History (Informative)
|
||||
|
||||
* **0.4.2 (2025-12-22):** Trimmed the overview to the repo’s implemented stack,
|
||||
removed deferred profile details and PH06 evidence hooks, and kept the focus
|
||||
on kernel + near-core orientation.
|
||||
* **0.4.1 (2025-11-30):** Highlighted TGK/STORE evidence hooks + PH06 governance linkage.
|
||||
* **0.4.0 (2025-11-16):** Relocated the stack overview into `/amduat/tier1/`, trimmed the PH06 scope to the kernel-only surfaces, and documented that certification/receipt/fact/overlay profiles are deferred to future phases.
|
||||
* **0.3.3 (2025-11-16):** Added `PEL/PROGRAM-DAG-DESC/1` as the canonical DAG scheme descriptor across references, the PEL execution stack, dependency summary, and editing guidance.
|
||||
* **0.3.2 (2025-11-16):** Added `TGK/PROV/1` to the stack overview as the canonical provenance kernel over `TGK/1-CORE` and wired it through references, dependency summary, and editing guidance.
|
||||
* **0.3.1 (2025-11-16):** Added `TGK/STORE/1` into the overview as the standard graph store & query profile, clarified dependency summary/editing guidance, and introduced the history section.
|
||||
* **0.3.0 (2025-11-16):** Initial Tier-1 substrate stack orientation for Amduat 2.0 (kernel, near-core profiles, canonical PEL stack, and profile authoring guidance).
|
||||
|
||||
---
|
||||
|
||||
* **0.4.1 (2025-11-30):** Highlighted TGK/STORE evidence hooks + PH06 governance linkage.
|
||||
### Commit message
|
||||
|
||||
**Commit title:**
|
||||
|
||||
`PEL/PROGRAM-DAG-DESC/1 v0.1.6 + SUBSTRATE/STACK-OVERVIEW v0.3.3 — wire DAG scheme descriptor into stack map`
|
||||
|
||||
**Commit body:**
|
||||
|
||||
* `PEL/PROGRAM-DAG-DESC/1` → v0.1.6
|
||||
|
||||
* Finalised the DAG scheme descriptor value model and encoding, and fixed `SchemeRef_DAG_1` as the canonical `SchemeRef` for `PEL/PROGRAM-DAG/1` under `ASL_ENC_CORE_V1` + `HASH-ASL1-256`.
|
||||
* Clarified that the descriptor binds the scheme to a Program `TypeTag` and encoding profile and remains store- and graph-neutral.
|
||||
|
||||
* `SUBSTRATE/STACK-OVERVIEW` → v0.3.3
|
||||
|
||||
* Added `PEL/PROGRAM-DAG-DESC/1` to the references list and the canonical PEL execution stack.
|
||||
* Described the descriptor’s role in §4.4 and wired it into the dependency summary (§6) and editing guidance (§7) as the scheme binding between `PEL/1-CORE`, `PEL/PROGRAM-DAG/1`, and ASL/1 `SchemeRef`s.
|
||||
* Orientation-only change; no behavioural rules added.
|
||||
|
|
|
|||
Loading…
Reference in a new issue