Commit graph

1968 commits

Author SHA1 Message Date
8ca5d438f0 Merge pull request 'feat(adr-0241): holographic vault — durable standing-wave spectrum' (#36) from feat/adr-0241-holographic-vault-store into main
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 3h6m23s
lane-shas / verify pinned lane SHAs (push) Failing after 1h34m25s
ADR-0241 durable holographic vault: VaultStore-backed standing-wave spectrum, SPECULATIVE default, restart lock-in, INV-21 allowlist.
2026-07-14 05:17:21 +00:00
Shay
7952026a5d feat(adr-0241): GREEN holographic vault — VaultStore-backed standing-wave spectrum
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 1h42m2s
smoke / smoke (-m "not quarantine") (pull_request) Successful in 29m15s
Implement HolographicVaultStore seal/load/resonant_recall on VaultStore.store
(INV-21 allowlist). SPECULATIVE default; COHERENT only via authorized review
seal. Restart reconstruction-over-storage; empty spectrum refuses confabulation;
closure/drift gate on seal. WaveManifold energy for lock-in. Ledger W5 green.
2026-07-13 22:05:26 -07:00
Shay
afae8a870a test(adr-0241): RED holographic vault — durable standing-wave spectrum, speculative writes, exact-recall reconstruction, restart lock-in
Stub HolographicVaultStore (NotImplemented) + behavioral contract for SPECULATIVE
seal, authorized COHERENT seal, empty-spectrum refuse, restart load/recall,
min_status filter, INV-21 allowlist discipline, no approx-neighbor imports.
2026-07-13 21:58:44 -07:00
0b8e46ce5a Merge pull request 'feat(third-door): #21 trajectory invariants + ADR-DAG embedding' (#35) from feat/third-door-trajectory-invariants-adr-dag into main
Some checks are pending
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Waiting to run
lane-shas / verify pinned lane SHAs (push) Waiting to run
Third-Door #21: trajectory invariants + ADR-DAG Ψ(M) embedding; Python geometry authority.
2026-07-14 04:53:52 +00:00
Shay
db924550fc feat(third-door): #21 trajectory invariants + ADR-DAG embedding (Python)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Successful in 5m54s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 44m23s
Geometry-first Python authorities for the last Third-Door blueprint gaps:
- trajectory_invariants: relative holonomy, divergence integral, energy
  boundary, zero-fabrication refusals (R&D §2.2)
- core/adr/validator: SHA-256→bivector Ψ(M), simple project, master blade,
  proposal drift (R&D §2.4); not a parallel GeometricDelta ABI validator
Ledger rows 7–8 green; optional Rust Ring-1 port deferred.
2026-07-13 21:51:42 -07:00
9f5c8c222f Merge pull request 'feat(goldtether): #18 bootstrap gates + principal-axis prune' (#34) from feat/third-door-goldtether-bootstrap-prune into main
Some checks are pending
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Waiting to run
lane-shas / verify pinned lane SHAs (push) Waiting to run
GoldTether #18: promotion_eligible, promote residual/closure gates, principal-axis prune; ledger green.
2026-07-14 04:44:40 +00:00
Shay
f6fd50d9b9 feat(goldtether): GREEN #18 bootstrap gates + principal-axis prune
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Successful in 5m50s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 32m56s
Implement promotion_eligible (closed ∧ drift≤ε), promote live
closure/drift refuse even when authorized, require_proof, and
prune(mode=principal_axes) keeping primals + highest principal-energy
non-primals (differs from FIFO). Proof fields never trusted as truth.
Ledger #18 flipped green; ADR-0092 reviewer service remains external.
2026-07-13 21:42:05 -07:00
Shay
11e7b71d57 test(goldtether): RED #18 bootstrap/prune (proof gate + principal-axis mode)
Add GoldPromotionProof, expand promote/prune signatures, promotion_eligible
stub, and behavioral suite for residual/closure gates, require_proof,
principal_axes prune, and SERVE containment. Intentionally incomplete:
principal_axes and eligibility raise NotImplementedError; dirty promote
still admitted — RED until GREEN.
2026-07-13 21:38:25 -07:00
9ab4cca821 Merge pull request 'fix(algebra): rotor_power smoke — α≈0 identity + simple B² float-dust tol' (#33) from feat/fix-rotor-power-smoke-simple-dispatch into main
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Has been cancelled
lane-shas / verify pinned lane SHAs (push) Has been cancelled
Unblock smoke: early R^0/R^1 exits; simple B² higher-grade float-dust tol 1e-3 after invariant split.
2026-07-14 04:32:43 +00:00
Shay
e124d83bfa fix(algebra): rotor_power smoke — α≈0 identity + simple B² float-dust tol
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Successful in 5m55s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 1h43m35s
Smoke reds came from (1) denormal stream weights powering non-simple splits
and (2) invariant-split factors with B² higher residual in 1e-6..1e-3 dust
band raising fail-closed. Early R^0→I / R^1→R; raise simple B² higher tol
to 1e-3 with named constant. Pins multiplane transition + near-zero alpha.
2026-07-13 21:29:33 -07:00
e2c375e407 Merge pull request 'feat(third-door): ADR-0241 wave-field substrate + operator subsumption' (#32) from feat/third-door-wave-field-substrate into main 2026-07-14 04:19:40 +00:00
Shay
932b5d481f feat(third-door): Slice-3 wave ledger close + multi-pair conjugacy + resonant recall
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 5m35s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 20m8s
Finalize ADR-0241 branch contract: multi-pair Procrustes thin-wraps
wave_field_conjugacy; standing-wave registry + resonant_recall; biography
registers trajectory modes; ledger W1–W6 green with explicit deferred items
(durable holographic vault, #18 bootstrap/prune, Rust/MLX). Hygiene pin for
absent core_ha package.
2026-07-13 21:12:17 -07:00
Shay
541257f81d feat(third-door): Slice-2 wave subsumption (surprise/Procrustes/GoldTether/biography)
Collapse parallel residual/projection paths into WaveManifold:
- surprise 32-vec residual → compute_spectral_leakage
- single non-null Procrustes pair → wave_analogical_polar
- coherence_residual / GoldTether drift → measure_unitary_residual
- biography integrate → unitary lock-in + holonomy_encode
Null-point Kabsch retained. Discovery wiring unchanged (no teaching import).
2026-07-13 21:08:22 -07:00
Shay
231b4c664c feat(physics): ADR-0241 WaveManifold substrate (GREEN unitary/leakage/polar/chiral)
Algebra-native continuous ψ layer: sandwich + left-spinor transport,
bivector exp Schrödinger step, metric spectral leakage, conjugacy polar,
dual-checked unitary residual, honest chiral charge (structurally 0 in
real Cl(4,1)). No teaching/vault imports. Ledger W1–W4 flipped; subsumption
(Slice 2) still pending.
2026-07-13 21:05:10 -07:00
Shay
51f674d154 test(adr-0241): RED wave_manifold tests (unitary step, spectral leakage, polar, chiral)
Hard-import contract for core.physics.wave_manifold — collection fails until
Slice 1 GREEN. Pins sandwich vs left-spinor transport, metric leakage,
polar recovery, chiral conservation, determinism, no teaching import.
2026-07-13 20:56:56 -07:00
Shay
3c0b7e891f docs(third-door): ADR-0241 wave-field substrate + core_ha deprecation plan + ledger wave section (Proposed)
Land the wave-field authority docs and refresh the fidelity ledger:
- ADR-0241 (ψ substrate, transport pin, Third-Door reformulation, validation)
- core_ha unification/deprecation plan (no live tree; absorption map)
- Scorecard rows W1–W6; §4 GoldTether prose aligned with landed residual+α
- §12 wave-field contract; #18 bootstrap/prune remains deferred
2026-07-13 20:56:54 -07:00
Shay
07e4f71bd9 docs(third-door): flip ledger #20 to green after Surprise→DiscoveryCandidate merge
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 10m39s
lane-shas / verify pinned lane SHAs (push) Failing after 39m16s
PR #31 landed high-surprise DiscoveryCandidate wiring. Scorecard §6 and
tracked follow-ups now record #20 fully closed (math #26 + wiring #31).
2026-07-13 17:39:56 -07:00
c23071e5d9 Merge pull request 'feat(third-door): wire high surprise to DiscoveryCandidate (#20 follow-up)' (#31) from feat/third-door-surprise-discovery-wiring into main
Some checks are pending
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Waiting to run
lane-shas / verify pinned lane SHAs (push) Waiting to run
2026-07-14 00:38:21 +00:00
Shay
995f4fc3b8 feat(third-door): wire high surprise to DiscoveryCandidate (#20 follow-up)
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 15m37s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 22m54s
- Physics dual operators set discovery_eligible (γ=0.35); is_discovery_eligible
  pure predicate; no teaching/vault imports in core.physics.surprise.
- teaching.discovery: trigger high_surprise; candidate_from_surprise_dual +
  emit_surprise_discovery (opt-in sink, proposal-only unreviewed, domain=math).
- Boundary tests: threshold gates, determinism, no VaultStore, no teaching import
  in physics. Ledger §6 notes wiring surface (issue #30).

Does not self-install; contemplation consumes via existing DiscoveryCandidateSink.
2026-07-13 17:25:17 -07:00
25f8c14e27 Merge pull request 'feat(third-door): real Cartan–Iwasawa null-point peel + full Kabsch-conformal Procrustes (#16 #17)' (#29) from feat/third-door-cartan-procrustes-fidelity into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 20m11s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Has been cancelled
2026-07-14 00:14:13 +00:00
Shay
2050b77ab2 feat(third-door): real Cartan–Iwasawa null-point peel + full Kabsch-conformal Procrustes (#16 #17)
- Cartan: recover_dilation → peel D → recover_translation → peel T;
  Spin remainder for non-similarities; strict close (no seed-to-rotor);
  recon residual fallback. Flips fidelity xfail.
- Procrustes: full 5-D Kabsch on null-point clouds; field conjugacy via
  raw sandwich + Spin GN; delete word_transition_rotor averaging path.
  Non-vacuous harness fixture.
- rotor_power: null-bivector power (a+B)^α = a^α + α a^{α-1} B so
  translators no longer silently zero under dual-slerp.
- Ledger scorecard: #2 and #3🟢; #4 remains 🟡 (bootstrap deferred).

549 passed (fidelity + ADR-0239 + null_point + 0240 + rotor_power).
2026-07-13 17:07:42 -07:00
4eb54a68ce Merge pull request 'feat(algebra): null-point recovery primitives + frozen CGA null constants (#17)' (#27) from feat/null-point-primitives into main
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Has been cancelled
lane-shas / verify pinned lane SHAs (push) Has been cancelled
2026-07-13 23:33:03 +00:00
866ed9bee7 Merge pull request 'fix(ci): arm64 runner toolchain — pyrage aarch64 wheel + lane-shas via uv' (#28) from fix/ci-arm64-runner-toolchain into main
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Has been cancelled
lane-shas / verify pinned lane SHAs (push) Has been cancelled
2026-07-13 23:32:32 +00:00
Shay
1e74313b04 docs: rewrite README opening to establish category-defensive framing
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 35s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 3h11m24s
2026-07-13 06:15:19 -07:00
Shay
dcf1b59586 fix(ci): arm64 runner toolchain — pyrage aarch64 wheel + lane-shas via uv
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 33m18s
The self-hosted Actions runner is aarch64 (Apple M1 Linux); the CI toolchain
assumed x86_64, so every workflow has been failing at environment setup — on
main and every PR, not a code regression.

Two root causes, both arm64:

  * pyrage==1.2.3 publishes no linux-aarch64 wheel, so uv fell back to an sdist
    build and modern uv rejects pyrage's own pyproject.toml ("[project] without
    project.version") — "TOML parse error at line 5". Bump to pyrage==1.2.4, the
    first release shipping a cp39-abi3 manylinux_2_17_aarch64 wheel (x86_64 and
    macOS wheels retained). No source build -> no parse error. Fixes smoke,
    full-pytest, contemplation, ratify-proposal.
    Verified: age/X25519 encrypt+decrypt round-trips on 1.2.4, and the committed
    sealed-holdout artifacts (sealed under 1.2.3) still decrypt
    (tests/test_holdout_encryption.py, tests/test_adr_0119_7_sealed_gsm8k.py —
    7 passed). No ADR pins the patch version; only a size-tally doc referenced
    it (updated).

  * lane-shas used actions/setup-python@v5, which has no arm64 build for the
    pinned 3.12.13 ("version '3.12.13' with architecture 'arm64' was not found"
    -> "python: command not found"). Switch to astral-sh/setup-uv@v5 + uv (uv
    provisions arm64 Python reliably), matching the other four workflows.

Files: pyproject.toml (pyrage 1.2.3->1.2.4), docs/model_dependency_size_tally.md,
.github/workflows/lane-shas.yml. uv.lock is gitignored (uv re-resolves per run).

Separate pre-existing issue (NOT addressed here): with setup fixed, lane-shas
now reaches its SHA check, where 2 demo lanes (demo_composition, public_demo)
drift from their pins. This is content drift on main, unrelated to the toolchain
(public_demo is a known wall-clock/env flake). Left for an explicit re-pin vs
degate decision rather than silently re-pinning.
2026-07-12 17:12:22 -07:00
Shay
26270ed846 feat(algebra): null-point recovery primitives + frozen CGA null constants
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 59s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 32s
Shared CGA substrate for the #17 conformal-Procrustes/Kabsch and #16
Cartan-Iwasawa decompositions. Adds algebra/null_point.py and hoists the two
conformal null directions to frozen module constants.

algebra/cga.py
  - Add frozen read-only f64 N_O / N_INF constants: the same vectors
    embed_point builds inline (origin embeds to N_O; N_INF is fixed by every
    Euclidean isometry), so the null-point primitives share one exact sign
    definition instead of re-deriving it per call site.
  - Fix header-docstring sign typo: n_o = 0.5*(e5 - e4), not 0.5*(e4 - e5).
    embed_point was already correct; only the module header disagreed.

algebra/null_point.py (new)
  - dilator(scale), translator(a): CGA similarity constructors; both
    round-trip through the recoverers.
  - recover_dilation(V) -> (scale, D): reads V n_inf rev(V), weight-normalised
    so recovery is invariant to a non-unit versor weight (verified vs V -> kV).
  - recover_translation(V) -> (a, T): reads V n_o rev(V), projective
    dehomogenisation.
  - NullPointRecoveryError carries machine-readable reason codes.
  - Fail-closed symmetric similarity gate (_require_similarity): BOTH recoverers
    now reject non-versors (not_a_versor) and non-similarities (not_similarity,
    e.g. transversions). Closes an asymmetry where recover_translation silently
    accepted a transversion / non-versor and returned a plausible translation,
    violating the module's own wrong=0 contract.
  - Orientation-reversing (reflection / det=-1) versors are refused by
    recover_dilation with a distinct reason improper_versor, kept separate from
    degenerate_scale; recover_translation still accepts them (the origin image is
    well defined). conformal_procrustes strips reflections upstream, so this is a
    documented boundary, not a silent one.
  - Default tol=1e-9 documented: matches f64-exact recovery of a cleanly
    assembled versor (~1e-14 round-trip); noisy/SVD callers must pass a wider tol.

tests/test_null_point_primitives.py (new): 33 tests - null-cone/pairing
invariants, constant immutability, constructor round-trips, composed T.D.R peel,
versor-weight invariance, and the full fail-closed matrix (transversion,
non-versor, inversion, reflection asymmetry, non-positive scale, bad vector).

Invariant protected: wrong=0 - no recovery returns a silently wrong value on a
degenerate / non-versor / non-similarity input. Validation: 33/33 new pass;
88 passed / 1 xfailed across the CGA substrate + physics Procrustes consumers
(dynamic_manifold, surprise, versor closure, rotor, holonomy).

Hardened via a 3-lens adversarial verification (soundness / sign-convention /
consumer-contract, each executing counterexample versors, every finding
skeptic-verified): 2 CONFIRMED findings fixed (asymmetric validation gap;
reflection reason conflation); tol-tightness resolved by documentation rather
than a guard-weakening default change.
2026-07-12 16:28:19 -07:00
d376339049 Merge pull request 'feat(third-door): exact metric-orthogonal surprise projection + reconciled polarity (#20)' (#26) from feat/surprise-metric-projection into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 26s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 58s
2026-07-12 22:28:41 +00:00
Shay
30348af942 docs(third-door): clarify sur_norm is the definite Euclidean threshold magnitude (#20 review)
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 46s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 1m8s
2026-07-12 15:27:20 -07:00
Shay
efa84002cd feat(third-door): exact metric-orthogonal surprise projection + reconciled polarity (#20)
Finding #20 (Super-Blueprint §3.2). surprise_residual was Euclidean Gram-Schmidt
on flat 32-coefficient vectors — metric-blind (it ignored the (+,+,+,+,-)
signature and the blade grade structure), so "inside the admissible span" was
judged by the wrong geometry.

Operator math (core/physics/surprise.py):
- Exact metric-orthogonal projection: solve the normal equations G c = r
  (G_ij = cga_inner(b_i,b_j), r_i = cga_inner(b_i,x)) via lstsq, under cga_inner
  (32-vec) / eta (5-vec).
- Fail-closed (typed SurpriseResidualError) on a metric-degenerate span, keyed on
  rank(G) < rank(B) — a null direction with no reciprocal (lone n_o). Refines the
  literal "rank(G) < k": mere linear dependence among non-null columns is admitted
  (lstsq projects onto the span), so a redundant live basis [1, source] and the
  non-degenerate pair {n_o, n_inf} are admitted; only a lone n_o is refused. The
  disclosure names the Gram null-space direction (not just zero-diagonal columns).
- Reconciled productivity polarity: productive_transfer = low Procrustes AND low
  surprise (was `sur_norm >= 0.0`, always true). High surprise routes to discovery
  (split follow-up). Corrects the ledger's transfer/discovery conflation.

Adversarial verification (3 independent lenses) found, and this fixes:
- HIGH soundness hole: sur_norm was the reversion pseudo-norm, which VANISHES on
  a nonzero metric-null residual (the n_o/n_inf light cone) -> false-zero surprise
  -> an out-of-span light-cone probe was wrongly admitted as in-span. Now the
  DEFINITE (Euclidean) norm of the residual: the projection stays metric-exact,
  the magnitude is 0 iff nothing is unexplained.
- HIGH regression: the analogical-transfer harness called surprise_residual
  OUTSIDE its try/except, so a degenerate source crashed the whole run. Now
  guarded: records a refused case and continues.
- grade-support `allowed` -> exact-nonzero (removes a spurious-leak edge under
  coefficient amplification of sub-tolerance grade dust).

DiscoveryCandidate wiring into the contemplation loop is split to its own
follow-up (a distinct cross-cutting surface). Off-serving (nothing in
serving/runtime imports core.physics.*). Tests: 15 behavioral tests
(metric-vs-Euclidean divergence, null-cone regression, null refusal +
combination-degenerate disclosure, 5-vector branch, polarity); 139-test physics
sweep green; ruff clean.
2026-07-12 15:27:20 -07:00
19b2c3a5a9 Merge pull request 'refactor(third-door): retire vacuous §3.3 grade-5 pseudoscalar gate (#19)' (#25) from feat/retire-pseudoscalar-gate into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 25s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 59s
2026-07-12 22:20:52 +00:00
Shay
b652a627ba refactor(third-door): retire vacuous §3.3 grade-5 pseudoscalar gate (#19)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 58s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 4m23s
The Super-Blueprint §3.3 "grade-5 pseudoscalar alignment anchor" is
mathematically vacuous in odd-dimensional Cl(4,1) and cannot be built as
specified (3-agent R&D convergence — Opus/Grok/Terra — ratified):

- I₅ is central in odd dim → V·I₅·Ṽ = ±I₅ for every versor; orientation is
  invariant by construction (nothing to block).
- Field-state versors are even → F[31] ≡ 0; the gated ⟨F·F̃⟩₅ = 0 for the
  source and target of every transition. The gate compares 0 == 0.
- The "even-versor parity gate" repair is equally vacuous (even subalgebra is
  closed under the sandwich; odd-grade mass ≡ 0 on the sanctioned path).

Removes the namesake rather than leaving it masking an absence:
- Delete _PSEUDOSCALAR_IDX + all F[31] reads (dead `ps` history element and
  CoherenceResidual.pseudoscalar — both structural zeros).
- Rename telemetry channel pseudoscalar_floor → autonomy_floor (it was always
  self.floor, the earned-autonomy ceiling).
- Bump telemetry schema goldtether_coherence_v1 → v2 (shape changed).

The integrity-anchor role is subsumed by versor closure + GoldTether harmonized
residual (#24) + biography/identity holonomy. Ledger §5 rewritten with the
vacuity proof, subsumption, and the reusable "would this gate ever fire on the
sanctioned construction path?" meta-criterion.

No serving/runtime path touched (core.physics.* is off-serving). Tests: 33 pass
/ 1 xfail (Cartan #2) across goldtether + fidelity + miner + transfer suites;
ruff clean.
2026-07-12 13:07:17 -07:00
2118726dfe Merge pull request 'feat(third-door): GoldTether harmonized residual + α=Φ(R) constraint control (ADR-0238 §2.3, #18)' (#24) from feat/goldtether-alpha-control-gold-set into main
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 5s
lane-shas / verify pinned lane SHAs (push) Failing after 22s
2026-07-12 18:19:25 +00:00
Shay
fe278a4b26 feat(third-door): GoldTether harmonized residual + α=Φ(R) constraint control (ADR-0238 §2.3)
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 2s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 45s
Implements the ADR-0238 §2.3 / R&D-Revised §2.3 machinery the skeleton omitted
(fidelity finding #4, issue #18):

- Gold-invariant set 𝓘_gold seeded with the primal {identity, n_o, n_inf}
  (R&D §5 bootstrapping seeds), so the geometric term never degenerates at
  cold start.
- goldtether_residual: scale-harmonized R = w·(drift/ε) + (1−w)·(min‖F−I‖/‖F‖),
  both terms scaled to [0, O(1)] so neither masks the other — the exact defect
  §2.3 exists to fix. The raw coherence_residual stays the fail-closed closure
  gate; this is the alignment signal that drives α.
- alpha_constraint = Φ(R_gt; r_floor, r_critical): the smooth-step constraint
  weight, composed with the earned-autonomy ceiling (α_floor = 1 − autonomy)
  and serve-pinned-to-1. supervised_transition rides the exact geodesic (#23).
- promote/prune gold-set hooks (caller-gated; the ADR-0092 replay-verified
  promotion pipeline + principal-axis decay are deferred, per issue #18).

Reconciliation (design): the earned-autonomy ramp (lifetime trust ceiling) and
α=Φ(R) (per-transition blend) compose at two timescales rather than compete —
earned autonomy floors α, Φ(R) modulates within it, serve is never autonomous.
All existing GoldTether behavior/tests preserved; fail-closed + serve-never-
autonomous intact.
2026-07-12 10:59:48 -07:00
fbfac414dd Merge pull request 'feat(algebra): exact fractional powers of non-simple rotors (invariant split)' (#23) from feat/rotor-power-nonsimple-bivector into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 24s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 53s
2026-07-12 17:48:12 +00:00
Shay
1646250b69 chore: drop xfail from test_supervised_blend on PR 15
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 4s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 18s
2026-07-12 10:47:55 -07:00
Shay
4fc29eb6ff Merge remote-tracking branch 'forgejo/main' into my_temp_branch 2026-07-12 10:47:20 -07:00
38f443fd38 Merge pull request 'feat(third-door): ADR-0238/0239/0240 skeleton — honest re-land of #14 (rename + fidelity ledger)' (#15) from feat/third-door-adr-0238-0240 into main
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 4s
lane-shas / verify pinned lane SHAs (push) Failing after 1s
2026-07-12 17:46:11 +00:00
9daa1185a9 Merge pull request 'docs: remove dangling reference to deprecated docs/dev/git-forgejo.md' (#22) from chore/fix-dangling-git-forgejo-doc-ref into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 3s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Has been cancelled
2026-07-12 17:45:18 +00:00
Shay
57512c22c0 feat(algebra): exact fractional powers of non-simple rotors (invariant split)
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 33s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 54s
rotor_power previously returned the IDENTITY for any non-simple rotor — an
approximation where exactness was available (Pillar II, Semantic Rigor) that
silently collapsed geodesic interpolation (slerp / supervised blend) to a
no-op while closure stayed green. Replace the identity-fallback with the
invariant (bivector) decomposition: a general Cl(4,1) rotor factors into two
commuting simple rotors R = R1 R2, so R^a = R1^a R2^a exactly, each via the
existing simple closed form, with a dedicated closed form for the isoclinic
(coincident-plane) case. Built from the geometric product alone — no scipy,
no GA library (Pillar III, Third Door); exact f64 on the existing product
table (Pillar I, Mechanical Sympathy).

- Simple path is byte-identical (0.0 delta); 66 existing algebra tests pass.
- tests/test_rotor_power_general.py pins R^1=R, (R^.5)^2=R, R^a R^b=R^(a+b),
  R^0=1, closure, isoclinic, and replay determinism across every plane type
  incl e5 boosts (441 pass), to machine precision (<= 6.5e-10).

This is the substrate cause of the Third-Door blend degeneration (fidelity
finding #1, issues #16/#18): with a real rotor_power, supervised_blend and
dual_correction_slerp now interpolate monotonically and land on target. Once
merged, the ADR-0239 blend xfail on #15 flips green.
2026-07-12 09:52:07 -07:00
Shay
3cd056b476 docs: remove dangling reference to deprecated docs/dev/git-forgejo.md
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 3s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 54s
core-bootstrap.md linked docs/dev/git-forgejo.md, which was removed as
deprecated (c0cbd13d) — the git+Forgejo setup lives in AGENTS.md. Drop the
dead link. Surfaced by the main-lineage reconciliation audit.
2026-07-11 23:18:31 -07:00
Shay
65196337d3 docs(third-door): blueprint fidelity ledger — full spec-vs-impl gap analysis
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 23s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 1m22s
Master honest ledger for the ADR-0238/0239/0240 skeleton: per-operator
blueprint spec, actual landed code, precise gap, reproducible evidence, and
what 'done right' requires. Tracks follow-ups #16-#21. Replaces the Mastery
Report framing with a verifiable spec-vs-impl record.
2026-07-11 23:04:02 -07:00
Shay
f176956630 test(third-door): blueprint-fidelity ledger for findings #1-2 (xfail)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 1s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 10s
Composed-versor tests the ADR-0239 suite never exercises. Two spec-property
tests xfail (strict) citing Super-Blueprint §2.2 / R&D-Revised §2.3; two
characterization tests lock the current degenerate behaviour so a future fix
is forced to update them.

- supervised_blend: no-op for interior alpha on composed (non-simple) versors
- cartan_iwasawa_factorize: raises 'factor R not closed' on composed versors
2026-07-11 22:55:15 -07:00
Shay
896e90a92b fix(third-door): align with perfected package contracts from Downloads artifacts (refs #10 #11 #12 #13)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 1m1s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 47s
Source artifacts from the multi-model landing package (README + Super-Blueprint
+ ADR-0238/0239/0240 + goldtether/dynamic_manifold/surprise) are now the
contractual surface, implemented on the live algebra/* kernel:

- GoldTetherMonitor.residual/update/may_relax_hitl/force_reset/autonomy
- signature_aware_pca (5×K, null-safe), conformal_procrustes, cartan_iwasawa_extract
- surprise_residual (Minkowski) + dual_procrustes_surprise audit dict

Package stubs (core.algebra.backend placeholders, scipy, identity-only
Procrustes) are replaced with dual-corrected Cl(4,1) operators. ADRs match
package decision language; docs/adr remains canonical with decisions redirects.

34/34 Third-Door tests + 7/7 ADR-0199 arena regression green.
2026-07-11 22:05:02 -07:00
Shay
e6b635c6aa test: Third-Door replay, closure, analogical transfer harness (refs #10 #13)
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 1m13s
smoke / smoke (-m "not quarantine") (pull_request) Failing after 1m43s
40 tests covering ADR-0238/0239/0240: practice vs serve bands, floor decay,
signature PCA null classification, Procrustes residual, surprise dual,
biography holonomy order-sensitivity, temporal NOT_YET, miner SPECULATIVE-
only, fixture transfer wrong=0.
2026-07-11 22:01:13 -07:00
Shay
a8e9977cbc feat(physics): GoldTether, dynamic manifold, surprise dual, biography holonomy (refs #11 #12 #13)
Implement Third-Door operators:
- goldtether: coherence residual, dynamic floor, practice/serve autonomy
- dynamic_manifold: signature-aware PCA, Procrustes, Cartan-Iwasawa
- surprise: residual + dual with Procrustes
- biography / temporal_gate / self_authorship: lifelong + proposal-only

All versor outputs enforce versor_condition < 1e-6. Spin left-composition
geodesic for supervised blend. Arena GoldTether (ADR-0199) untouched.
2026-07-11 22:01:13 -07:00
Shay
bad9b87bff docs(adr): land Third-Door Super-Blueprint + ADR-0238/0239/0240 (refs #10 #11 #12 #13)
Canonical ADRs under docs/adr/; thin redirects under docs/decisions/ for
Issue #10 path compatibility. Documents dual GoldTether ontology, residual
namespaces, HITL curve, and Spin left-composition blend geodesic.

Base: forgejo/main @ dbd44a2a
2026-07-11 22:01:08 -07:00
dbd44a2a03 Merge pull request 'feat: GeometricDelta ABI + MetaRHEvidence integration (surgical, ADR-0026/0026.1)' (#7) from feat/geometricdelta-abi into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 1m28s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 3h7m27s
2026-07-11 09:29:10 +00:00
Shay
629bc16382 fix(vault): isolate DeltaStore frontier from caller aliasing (ADR-0026.1)
Some checks failed
lane-shas / verify pinned lane SHAs (pull_request) Failing after 1m26s
smoke / smoke (-m "not quarantine") (pull_request) Successful in 49m39s
DeltaStore.frontier returned the live internal set. A delta built with
parents=store.frontier aliased it, so insert's frontier maintenance
(add + difference_update) emptied the frontier on every insert and
rewrote every stored delta's parents to {} — the CRDT causal chain
degenerated into all-roots. Sopher's bridge now copies on its side
(sopher ADR-0026.1 §2.1); this is the recommended CORE-side defense in
depth: frontier hands out snapshots, and insert copies delta.parents
into the event envelope.

Regression-tested with the exact aliasing pattern (3-delta chain keeps
one head and stable per-delta parents).
2026-07-11 02:16:57 -07:00
Shay
84eb4f8ecf fix: add meta_rh_evidence to evidence bundle and replay fields 2026-07-11 02:16:57 -07:00
Shay
c3a318573e feat: integrate MetaRHEvidence into workbench schemas and journal 2026-07-11 02:16:57 -07:00