refactor(seed): remove legacy semantics and sharpen formal boundaries - #31
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
refactor(seed): remove legacy semantics and sharpen formal boundaries
Summary
This PR performs a deep semantic cleanup of ASET Seed.
It removes accumulated RC11/RC12-era concepts from the active Seed surface, separates Seed-owned state from environment observations, makes evaluation an observer rather than a state transition, simplifies the authority boundary, strengthens the canon-to-TLA refinement architecture, and aligns assurance claims with what is actually proved.
The goal is not to add new Seed behavior. The goal is to make the active specification reflect the minimal semantics that Seed currently implements and proves.
Main changes
1. Separate Seed state from environment state
Seed-owned mutable state is now explicitly:
requestMetaterminalMetaConflict observation is modeled separately as environment state:
conflictsThis removes the previous ambiguity where an environment observation could mutate something described as canonical Seed state.
The formal model now distinguishes:
The corresponding formal guarantees include:
SpecImpliesSeedStateChangesOnlyByRecognizedTransitionSpecImpliesConflictObservationPreservesSeedState2. Make evaluation an observer
EVALUATE_RESOLUTIONis no longer modeled as an artificial stuttering state transition.Resolution evaluation is treated as an observer over current state:
ResolutionOfEffectPermittedThis better reflects the actual semantics: evaluation reads authoritative state but does not mutate it.
3. Clarify invalid-material semantics
Invalid, malformed, unverifiable, or otherwise non-authoritative material does not mutate canonical Seed state and does not override an otherwise unique valid terminal resolution.
A unique valid terminal
ALLOWtherefore remainsALLOWin the presence of additional invalid material.UNKNOWNis reserved for cases where an authoritative unique terminal result cannot be established, including conflicting valid terminal material.An adversarial conformance case was added for:
This avoids making invalid material a trivial denial-of-service mechanism.
4. Simplify the Authority boundary
The active Seed no longer claims to model or prove a concrete delegation/grant-chain mechanism.
The formal boundary is now expressed in terms of recognized exact-binding authorization:
RequestAuthorityBindingsTerminalAuthorityBindingsConcrete mechanisms such as:
remain outside the Seed semantic kernel.
Seed consumes their recognized result rather than defining their implementation.
5. Remove inactive RC11/RC12 protocol legacy
The active protocol surface was reduced substantially.
Before:
After:
Legacy schemas related to older permit, outcome, membership, context, reconciliation, execution-intent, authority-grant, and related RC11/RC12 designs were removed from the active Seed surface.
Historical frozen artifacts remain preserved separately.
The frozen RC11 bundle continues to validate successfully.
6. Remove obsolete formal modules
Legacy formal modules that no longer define the active Seed semantics were removed from the active formal surface, including the old bootstrap/RC12 model artifacts.
The active formal specification is now centered on the current Seed resolution kernel and its proofs.
7. Strengthen canon-to-TLA refinement
The generated
SeedCanonProjection.tlais now a standalone projection of the machine-readable canon.Previously, the generated projection depended directly on
SeedResolution, weakening the independence of the refinement check.The V4 structure is now:
The projection does not
EXTENDor importSeedResolution.The refinement proof explicitly instantiates the standalone canon model onto the handwritten formal state.
This makes the canon-to-TLA relationship materially stronger and removes the previous projection-to-target coupling.
8. Make bounded exploration saturating
The executable bounded model checker no longer stops at an arbitrary fixed depth.
It explores the finite model until a fixpoint is reached.
Current saturated model:
This makes the reported state count an exhaustive result for the selected finite instance rather than a depth-limited prefix.
9. Align assurance claims with proof boundaries
The assurance layer now distinguishes between:
Current assurance taxonomy:
Proof traceability covers all 14 TLA properties without claiming that external cryptographic or authority-recognition mechanisms are proved inside Seed.
10. Preserve semantic mutation and conformance closure
The conformance corpus now contains 25 cases, including the new invalid-material adversarial case.
Semantic mutation closure remains complete:
Resulting architecture
The active Seed semantic model is now approximately:
The distinction between decision state, environment observations, provenance, and external trust recognition is now explicit.
Formal assurance
Validated against the pinned formal toolchain:
TLC
TLAPS
Final theorems include:
SpecImpliesAlwaysSeedStateSafetySpecImpliesRequestsAppendOnlySpecImpliesTerminalRecordsImmutableSpecImpliesSeedStateChangesOnlyByRecognizedTransitionSpecImpliesConflictObservationPreservesSeedStateCanon-to-TLA refinement
Final theorem:
Unlike the previous projection profile, the canon projection used by this proof is standalone and does not depend on the target
SeedResolutionmodule.Executable assurance
Current saturated bounded model:
Mutation testing:
Traceability:
Scope
This PR intentionally does not introduce:
Those mechanisms remain outside the minimal Seed semantic kernel.
Compatibility and history
Historical frozen artifacts are preserved.
This PR removes legacy material from the active semantic surface rather than rewriting project history.
The purpose is to make the current normative Seed specification smaller, clearer, and more auditable while retaining historical evidence independently.
Why this refactor
Over several iterations, Seed accumulated terminology and protocol artifacts from earlier architectural stages.
Some of those concepts were no longer part of the actual resolution kernel but remained present in schemas, documentation, assurance metadata, or formal interfaces.
That created unnecessary ambiguity about:
This refactor removes that ambiguity.
The resulting Seed is closer to a minimal specification in which each retained concept has an explicit semantic role and each formal claim corresponds to an actual proof boundary.