Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
79d7e0d
fix(epac): bind UCNS identity and validate complete structure
erinepshovel-code Sep 6, 2026
2bef7bb
test(epac): cover dependency pin and full structure validation
erinepshovel-code Sep 6, 2026
8526525
fix(epac): stamp current UCNS pin and freeze element state
erinepshovel-code Sep 6, 2026
9540f02
test(epac): cover current provenance and immutable candidate state
erinepshovel-code Sep 6, 2026
b329ef5
docs(epac): keep extraction verification unresolved
erinepshovel-code Sep 6, 2026
59fbd64
fix(epac): reject duplicate couplings and total-order quaternion read…
erinepshovel-code Sep 6, 2026
1befb60
fix(epac): repair quaternion readout syntax
erinepshovel-code Sep 6, 2026
cfb24e2
fix(epac): close seal and provenance review gaps
codex Sep 7, 2026
86e6174
fix(epac): seal canonical coupling provenance
codex Sep 7, 2026
45397a2
fix(epac): close remaining receipt sealing P2s
codex Sep 7, 2026
e270a37
fix(epac): bind UCNS pin to loaded code
erinepshovel-code Sep 9, 2026
683e4a5
fix(epac): retain exact UCNS receipt identity
erinepshovel-code Sep 9, 2026
424ce67
fix(epac): bind transitive UCNS runtime state
erinepshovel-code Sep 9, 2026
003d113
fix(epac): version and validate retained receipts
erinepshovel-code Sep 9, 2026
2e62e49
fix(replay): validate participant geometry trees
erinepshovel-code Sep 9, 2026
bdef246
fix(replay): validate complete participant envelopes
erinepshovel-code Sep 9, 2026
e6ac76e
fix: close exact-head provenance review findings
erinepshovel-code Sep 9, 2026
f937e29
fix: validate and freeze retained gonol trees
erinepshovel-code Sep 9, 2026
7a5371d
test: cover retained carrier and mutation boundaries
erinepshovel-code Sep 9, 2026
a552404
fix: validate retained gonols against constructor normal form
erinepshovel-code Sep 9, 2026
a799e47
test: reject consistently resealed retained forgeries
erinepshovel-code Sep 9, 2026
d439647
fix: compare retained geometry with type-sensitive bytes
erinepshovel-code Sep 9, 2026
07595ba
test: reject boolean geometry impostors
erinepshovel-code Sep 9, 2026
bd25bf0
make retained replay equality type-sensitive
erinepshovel-code Sep 10, 2026
2660e96
bind UCNS provenance to index and effective builtins
erinepshovel-code Sep 10, 2026
f3c9a44
test boolean integer replay forgeries
erinepshovel-code Sep 10, 2026
fa63853
expose provenance checks and adversarial witnesses
erinepshovel-code Sep 10, 2026
ce8ed85
update repository regression count
erinepshovel-code Sep 10, 2026
91a287d
Validate retained UCNS commit type
erinepshovel-code Sep 10, 2026
2bf4c22
Bind provenance witness to effective Git index
erinepshovel-code Sep 10, 2026
09316b0
Test malformed retained UCNS commit
erinepshovel-code Sep 10, 2026
1a20561
Test alternate index and declare check mutations
erinepshovel-code Sep 10, 2026
e535c50
Correct repository test count
erinepshovel-code Sep 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ EPAC is the independent repository for The Interdependency's elementary/particle

## Standing

- Physical repository state: extracted from the stack incubator and independently verified.
- Physical repository state: extracted from the stack incubator; exact candidate/forge verification remains unresolved until a dedicated immutable verification receipt exists.
- Authority transition: incomplete until the release/reconsumption graduation gates are satisfied.
- Research status: provisional / cross-domain hypothesis unless a narrower artifact says otherwise.
- Empirical status: no transfer. Repository independence does not make a physics or chemistry claim true.
Expand Down Expand Up @@ -35,14 +35,14 @@ The extraction preserves the stack research artifacts and their epistemic status

## Verification

The extraction gate executes:
The current extraction gate executes:

- 41 repository regression tests;
- 26 subatomic executable witnesses;
- 60 repository regression tests;
- 30 subatomic executable witnesses;
- the preregistered molecular comparison, requiring all four current standings to remain `FALSIFIED`;
- deterministic work-graph digest verification.

CI independently resolves the pinned UCNS source before running the same gates.
CI resolves the pinned UCNS source before running those gates. Passing those checks establishes reproducibility of the extracted research tree; it does **not** satisfy `exact_candidate_forge_verification`, stable release, or reconsumption by itself.

## Usage guidance

Expand All @@ -52,6 +52,7 @@ Do not treat successful execution as empirical validation. Constructors establis

## hmmm

- exact candidate/forge verification receipt
- distribution surface and first immutable release artifact
- license/distribution-rights selection for this independent repository
- clean package/install dependency contract for UCNS
Expand Down
18 changes: 13 additions & 5 deletions epac_dimensional_arity.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,14 +163,19 @@ def __post_init__(self) -> None:
ambient_ids = [dimension.id for dimension in self.ambient_dimensions]
if len(ambient_ids) != len(set(ambient_ids)):
raise DimensionalArityError("ambient dimensions must be unique")
coupling_ids = [item.declared_ids for item in self.couplings]
if len(coupling_ids) != len(set(coupling_ids)):
raise DimensionalArityError(
"coupling declarations must be unique; repeated physical occurrences require unique dimension ids"
)
ambient = set(ambient_ids)
for item in self.couplings:
missing = [name for name in item.declared_ids if name not in ambient]
if missing:
raise DimensionalArityError(
f"coupling {item.declared_ids} uses undeclared dimensions {tuple(missing)}"
)
declared = {item.declared_ids for item in self.couplings}
declared = set(coupling_ids)
for proof in self.proofs:
conclusion_missing = [
name for name in proof.conclusion.declared_ids if name not in ambient
Expand Down Expand Up @@ -537,10 +542,13 @@ def quaternion_structure_readout(structure: Mapping[str, object]) -> tuple[objec
return tuple(
sorted(
(
_tuple_tree(item["components"]),
_tuple_tree(item["represented_ids"]),
)
for item in structure.get("quaternions", ())
(
_tuple_tree(item["components"]),
_tuple_tree(item["represented_ids"]),
)
for item in structure.get("quaternions", ())
),
key=_sortable_tree,
)
)

Expand Down
Loading