You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
M2 defines ReferenceSnapshot, ExternalRegistryVerificationTrace, AgronomicIdentityBinding, and PartialExtent, but several production-capable creation paths stop at helpers or write directly to storage:
reference imports can insert snapshots/cache rows and gate logs without one authenticated command result, complete idempotency receipt, or RuntimeBundle pin;
SI binding helpers return payloads while tests and demos complete the path with raw inserts;
PartialExtent is principally exercised through direct fixtures;
the runtime cannot yet demonstrate one governed traversal from preserved source artifact to snapshot, verification, binding, local identity, accepted operation, and immutable result.
This makes the schema look more complete than the executable command surface.
Goal
Add the smallest closed, public command set needed to create and revise M2 reference state through the Kernel control plane. Adapters/providers translate source material; they do not own storage semantics.
Command inventory
Implement and document exact request/result contracts for:
import a ReferenceSnapshot from a preserved source artifact;
verify an external record and create or revise its AgronomicIdentityBinding atomically;
create or revise a PartialExtent against an accepted parent scope.
EvidenceRecord ingestion must use #179. If observations or measurements have no governed command in the accepted M2 capability, report them as unsupported rather than adding speculative APIs.
persists immutable request/result identity, provenance edges, invalidation intent, and a complete deterministic outcome atomically;
refuses cross-tenant, stale, ambiguous, duplicate-current, malformed, unauthorized, or partial state;
has no production path that asks an adapter/helper to call a raw store insert.
ReferenceSnapshot acceptance criteria
The request binds preserved source artifact bytes or an immutable artifact digest, source identity, resource/vintage identity, acquisition time, claimed effective interval, parser identity/version/digest, and RuntimeBundle.
Successful import persists the immutable snapshot, exact source/parser provenance, record count, diagnostics, and any derived lookup accelerator in one atomic result.
Accelerators are disposable and reconstructable from the immutable snapshot; they are never the sole proof.
A changed artifact, parser, source vintage, tenant, or RuntimeBundle cannot collide with an earlier idempotency result.
Partial parse, timeout, malformed source, duplicate vintage conflict, and storage failure leave no accepted partial snapshot/cache.
Currentness is evaluated by explicit policy at use time; import success alone never claims current or authoritative truth.
Verification and binding acceptance criteria
Verification trace and binding revision commit atomically and bind the exact local subject, external record, source snapshot/artifact, verifier identity/version, evidence set, decision, validity interval, knowledge time, profile, and RuntimeBundle.
Revision/supersession yields at most one accepted current binding for the exact tenant/local-subject/scheme/role key, with deterministic concurrent behavior and complete lineage.
A failed or insufficient verification creates the governed refusal/trace required by policy but no accepted binding.
Real resolver-produced data can traverse this command and the public operation path without fixture-only inserts.
No direct production-store escape hatch “temporarily” retained for adapters.
Codex stop conditions
Stop and report if a command requires inventing a legal/currentness rule, weakening #175/#179 evidence or authority, changing a frozen contract, allowing provider-owned storage mutation, or claiming a surface merely because its schema/helper exists.
Parent: #167
Depends on: #171, #172, #173, #174, #175, #176, #178, #179, #180, #184
Serbia consumer: #162
Problem
M2 defines ReferenceSnapshot, ExternalRegistryVerificationTrace, AgronomicIdentityBinding, and PartialExtent, but several production-capable creation paths stop at helpers or write directly to storage:
This makes the schema look more complete than the executable command surface.
Goal
Add the smallest closed, public command set needed to create and revise M2 reference state through the Kernel control plane. Adapters/providers translate source material; they do not own storage semantics.
Command inventory
Implement and document exact request/result contracts for:
EvidenceRecord ingestion must use #179. If observations or measurements have no governed command in the accepted M2 capability, report them as unsupported rather than adding speculative APIs.
Common command invariants
Every command:
ReferenceSnapshot acceptance criteria
Verification and binding acceptance criteria
PartialExtent acceptance criteria
Provider boundary
Tests
Cover success, replay, conflict, rollback, parser failure, insufficient evidence, revocation race, stale/superseded binding, two-current-binding race, cross-farm, cross-tenant, extent escape, invalidation, deleted accelerator/rebuild, and end-to-end resolver-to-operation traversal.
Direct-insert fixtures may remain only where clearly marked as storage-level fixtures; they do not satisfy command-capability acceptance.
Validation
Run and report:
Use the repository-supported equivalent if the documented virtualenv is unavailable and report the exact command.
Boundaries
Codex stop conditions
Stop and report if a command requires inventing a legal/currentness rule, weakening #175/#179 evidence or authority, changing a frozen contract, allowing provider-owned storage mutation, or claiming a surface merely because its schema/helper exists.