Register and seal AXM Aperture package extensions - #38
Merged
Conversation
BigBirdReturns
marked this pull request as ready for review
August 5, 2026 05:56
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.
Classification
Closes #37. This is the Genesis authority transaction for AXM Aperture AP-311. It registers the complete Aperture story-package extension family and adds a domain wrapper that validates one whole package before delegating the only write, Merkle, manifest, signature, and self-verification transaction to the existing generic compiler.
Nothing in
spec/v1, the gold shard, identity derivation, hybrid signature suite, Merkle construction, verifier logic, or verifier error codes changes. The frozen verifier remains opaque to story, edition, provider, playback, exposure, knowledge, and actuation semantics.RFC 0009 extension family
All fields are canonical JSONL strings. Integers and intervals use canonical decimal strings. Rates are reduced rational strings. Confidence is a canonical decimal string in
[0,1]. Arrays are compact JSON-array strings. Optional identifiers and absent interval coordinates use the empty string. Every table has a unique composite sort key.One-pass compiler law
compile_aperture_shardreceives the seven tables separately fromCompilerConfig, requirescfg.extra_extto be empty, validates and normalizes the complete bundle, and callscompile_generic_shardexactly once with the normalizedextra_extmapping. It contains no file writer, Merkle implementation, manifest implementation, signature implementation, or reseal path.Extension registration is idempotent and runs before
compiler_genericimports its registry. A conflicting definition for the same published@1identifier refuses package import rather than mutating the schema silently.Semantic refusal before custody
The package validator refuses missing or extra tables, empty registered tables, unknown or missing fields, non-string values, duplicate primary keys, malformed package, TimeMap, and digest identities, invalid integer, rational, confidence, and interval forms, unknown package revisions, broken position parents, facts without their declared first reveal, unknown causal endpoints, self-causal edges, unknown provenance sources, incompatible TimeMaps, map identity drift between segments, and overlapping provider or canonical ranges.
Semantically unordered arrays, rational fractions, and confidence values are normalized before Genesis writes canonical JSONL, giving byte-stable extension tables under input reordering such as
2/2versus1/1,1.000versus1, and reversed subject lists.Qualification
The source candidate passes Python syntax compilation and a standalone domain qualification covering idempotent registration, complete bundle acceptance, array, rate, and confidence normalization, and refusal of missing tables, unknown first reveals, self-causal edges, and unknown source custody.
The repository test adds the complete hosted authority lane:
extra_extcompilation under the existing hybrid compiler;CompilerConfig.extra_extsource.Repository CI remains the authority for the ML-DSA-backed compile and verify cases, the complete Genesis suite, frozen-gold checks, compatibility contract, and all existing extension regressions.
Cross-repository candidates
All remain candidate evidence. This PR does not accept G2, create the dedicated Aperture repository, decide narrative truth, verify a provider edition, infer viewer state, mount Core tables, or control playback.
Lineage
The branch starts directly from current Genesis main
411ef40e6cfc3ecb97ac3e256c8151be678347c8. It does not modify an open donor branch or require a consumer to depend on one.Control question
Can Genesis seal the complete story package as ordinary extension bytes in one pass while remaining unable to decide what the story means, what edition is playing, or what the viewer knows?