Commit graph

356 commits

Author SHA1 Message Date
Shay
91bb0a1b8c feat(logos): bulk live morph authority on turn + teaching seams
Wire observed-HE morph constraint into CognitiveTurn answer path and
unify teaching store with the same pure decision function used by the
four-arm ablation. Typed LogosConstraint IR carries rule/morph/pack/span
provenance without free meaning dicts. Executable mode abstains on
plural-vs-singular exclusivity; metadata remains bit-identical to
canonical; adversarial OOV/missing fails closed. Residual dual-system
debt documented honestly (cue-table linguistic_pipeline still parallel).
2026-07-20 16:35:04 -07:00
Shay
e0d1b4754a feat(cognition): fail-closed linguistic governance + trilingual constraint pipeline
Close residual answer-authority debt: typed CoherenceRefusal/ContractViolation/
FieldFailure, structured ProofTrace (atoms→operators→closure), and Shadow Gate
paths that refuse certified answers when contract_assessment is None or geometry
is open. Add shared semantic primitives and Layers A/B/C (English/Hebrew/Koine)
as constraint producers only, with Cl(4,1) structure-sensitive embedding (no
unitize in generate/), three field outcomes, and an articulation firewall that
blocks payload-value citation bypass and uncertified content.
2026-07-20 16:16:56 -07:00
Shay
8c4221d496 fix(stage3): gate inductive expansion on geometric admissibility
Non-admissible candidates no longer enter work/derived. Only admissible
base and derived edges seed fixed-point steps, so multi-step paths close
only under geometric conditions (Stage 3 exit). Updates tests that
previously locked in admissible=False-but-still-promoted behavior.

[Verification]: tests/test_stage3_epistemic_inductive.py 10 passed
2026-07-20 15:07:12 -07:00
Shay
9f85832baa fix: full-suite gates — suite SoT + multi-root depth pin
- Re-export core.cli._TEST_SUITES from cli_test.TEST_SUITES so argparse
  and tests cannot drift from the runtime packs/smoke/algebra pins
  (Stage dual-pack draft boundary was only on cli_test).
- Align relational ablation multi-root metadata test with Stage 3
  fail-closed policy: ≥2 unique roots do not emit [root:] notes.

[Verification]: Smoke suite passed locally (~133s, 180 passed);
postfix targeted 5/5; full pre-fix was 4 failed / 13281 passed
(2 env dirt/flake classified separately).
2026-07-20 14:58:21 -07:00
Shay
c71c00cca6 fix: skeptic remediations for Stage 3–4 exit gates
- Metadata arm returns baseline decision payload (bit-identical digests).
- TeachingStore auto-applies HE morph rule from compiled pack (live path).
- Inductive derived edges stamp geometric admissibility via pipeline versor
  grounding; refuse ungrounded promotions.
- VaultPromotionPolicy default residual_threshold=1e-6 for COHERENT.

[Verification]: skeptic_fixes 26 passed; stage4 ablation digests equal
2026-07-20 14:08:37 -07:00
Shay
f9f94d8df8 feat(cognition): Stage 3 geometric coherence, inductive closure, OOV pins
Complete Stage 3 residual gates on live pipeline authority:

- GeometricCoherenceVerdict distinguishes field-closed vs unverified
  without inventing EpistemicState.COHERENT (dual taxonomy ownership doc).
- Bounded expand_relation_closure over teaching-store triples with budget,
  cycle safety, base multi-tail contradictions, replayable provenance in
  operator_invocation / trace_hash.
- OOV/egress authority tests: conformal neighbors context, cga_inner nearest,
  vault_hits not surface gate.

[Verification]: Stage 3 unit 18 passed; pipeline regression 27 passed; smoke 180 passed
2026-07-20 13:54:51 -07:00
Shay
b1dc57ff22 test(physics): Stage 2 hardening pins for scale domain, L2 excision, parity
Executable Stage 2 exit evidence: shared fraction-decrease scale domain,
identity L2 helper absence, GoldTether geometric residual path, RATIFIED|
DEMOTED-only ratifier, active Cl(4,1) product/conformal/Gram/GT/sandwich
smoke, dual-backend vs Python-authoritative parity boundary (no false
rotor_power Rust claims), and LE f64 SHA-256 digests.

[Verification]: algebra suite green (includes Stage 2 pins); stage2 9 passed 1 skipped
2026-07-20 13:45:05 -07:00
Shay
8494a239e4 docs(governance): Stage 1 ADR collision freeze + dual-pack serve boundary
Reconcile Master Blueprint ADR-0240–0253 titles with the live Accepted
registry without renumbering history. Claim ADR-0253 for the freeze policy
itself; reserve 0254–0261 for Blueprint gaps. Document packs/data vs
packs/he|grc dual boundary and pin serve isolation in smoke/packs suites.

[Verification]: Smoke 180 passed (includes 4 dual-pack boundary pins)
2026-07-20 13:43:25 -07:00
Shay
6ffea249ec fix(cognition): break ContractAssessment import cycle in pipeline
Lazy-import ContractAssessment inside geometry contract assessment so
problem_frame_contracts → chat → cognition → problem_frame_contracts
cannot form a partial-init cycle. Unblocks GSM8K rat1/wave_a runners.

[Verification]: rat1+wave_a+pipeline+surface 38 passed; import path ok
2026-07-20 13:36:53 -07:00
Shay
120e9554ab fix(cognition): pre-stage land repairs after L2/PASSTHROUGH excision
Close residual failures from geometric sovereignty hardening without
restoring scalar-L2 or PASSTHROUGH authority:

- Ratify CORRECTION/COMPARISON via vocab-grounded tag and multi-token
  subject anchors so teaching capture and cognition intent accuracy hold.
- Keep observational wave leakage from vetoing teaching while
  identity_wave_gate is off; syntactic override still rejects.
- Surface GoldTetherViolationError as fail-closed tether residual rather
  than aborting lifecycle observation.
- Replace excised legacy identity-eval path with a geometry-blind baseline.
- Align sensorium corridor and lift instrument assertions with sandwich
  unitary close and honest PARITY when baseline already solves.

[Verification]: smoke 176 passed; cognition 122 passed 1 skipped;
teaching 109 passed; claim batch 34 passed
2026-07-20 13:34:59 -07:00
Shay
e7d116c924 feat(physics,cognition): Cl(4,1) geometric sovereignty convergence
Excise identity L2 dual-mode and pipeline PASSTHROUGH cold-starts; enforce
wave-only IdentityCheck with MissingWaveStateError; hard-fail GoldTether
transitions via GoldTetherViolationError; dual-competing Shadow Coherence
Gate with populated contract_assessment; auto-compile field packets before
intent ratify; conformal argmax ratification and content-addressed proof
atoms; sandwich multi-modality ingress with GoldTether digests.

Amend ADR-0243/0244 (docs/adr + research) for wave-only / SUPERSEDED sketches.
Pin binary gates in tests/test_geometric_convergence_checklist.py.

[Verification]: Smoke suite passed locally (~136–142s, 176 passed);
cognition suite passed (122 passed, 1 skipped); lifecycle suite 51 passed.
2026-07-20 12:20:05 -07:00
Shay
3098971fd2 feat(adr-0249): P2 affine relation compiler
Compiles output = scale*input + offset (Tier-1: scale > 0) into a quadratic-well
constraint Hamiltonian, reusing the ratified compile_quadratic_well +
HamiltonianCompileError contracts.

Anti-hollow (spike §4.1): the compiler never evaluates scale*input+offset in
Python — it embeds the input (P1) and applies the relation's structure as
versor operators (dilator for scale, translator for offset), so the substrate's
geometric product performs the arithmetic. The returned well is a bare
projector carrying no answer and no coefficients (metadata = {curvature,
target_digest} only); relaxation + projective readback recover the output.
Verified end-to-end: multiply/add/subtract/divide/negative-input all decode
exactly; ablation confirms the start decodes to the input and only the relaxed
state to the answer.

Fail-closed on non-positive scale (outside positive-dilation Tier-1) and
non-finite coefficients. Golden-bytes canary pins the compiled matrix.
Serve-quarantined (A-04). Single-relation primitive; state-chaining is P4.

21/21 pins green.

[Verification]: uv run python -m pytest tests/test_adr_0249_relation_compiler.py -q
2026-07-18 12:25:38 -07:00
Shay
0926a78ccb feat(adr-0249): P1 conformal quantity kernel
Numbers as null points on the Cl(4,1) conformal line; add/scale by known
constants as translator/dilator versor sandwiches (affine Tier-1 scope).
Projective scale-invariant decode absorbs the dilator's conformal weight.

Reproducibility (spike §4.6 Tier 2): all construction explicit f64 (guards the
cl41 silent-f32 fallback); golden-bytes canary pins embed_quantity(3.0) SHA-256
for cross-hardware drift detection. Fail-closed QuantityKernelError on
non-finite input and degenerate conformal weight.

Spike doc: §8 rulings recorded RESOLVED (all four approved); §4.6 three-tier
byte-identity analysis added (LAPACK degenerate-eigenspace bound made explicit).

35/35 pins green.

[Verification]: uv run python -m pytest tests/test_adr_0249_quantity_kernel.py -q
2026-07-18 12:04:28 -07:00
Shay
d672c71211 feat(adr-0243): seam S3 — unified autonomy floor wired into the lifecycle
CognitiveLifecycleEngine gains an optional GoldTetherMonitor; solve() feeds
one tether_reading per turn. Control law composed with pin SD-A: closed
certified turns update the monitor (may elevate autonomy), non-admitted /
drifted turns fail-close it (autonomy hard 0), admitted OPEN superpositions
are measured WITHOUT a state update — punishing legitimate interference
states would encode the exact defect egress refuses. Chiral orientation
observed on every reading (material flip raises, fail-closed). Reading is
disclosed on LifecycleOutcome.tether, deliberately outside outcome_id
(observer state is not cognitive content). Residual kernel was already
unified (goldtether delegates to WaveManifold.measure_unitary_residual) —
the audit's 'integrate Monitor into WaveManifold' stays rejected (layering).
49 passed (tether + lifecycle + corridor).
2026-07-18 10:18:00 -07:00
Shay
f16b4a6054 feat(adr-0240/0243): seam S2 — chiral-composed, harness-driven biography write-path
1) chiral_conservation_precondition composed into integrate_validated_biography
   (ADR-0241 §2.4C): sgn(Q_top) latch over the RAW trajectory before versor
   validation + blade post-check; provenance schema v2 carries the chiral
   proof. Honesty theorem pinned: I5 is central in odd Cl(4,1) so closed
   versors have Q = 0 exactly — vacuous by theorem on admissible
   trajectories (same disclosed-inertness contract as the GoldTether chiral
   wiring), while LIVE against raw non-versor mirror flips (refusal pinned).
2) First real caller: evals/analogical_transfer/biography_session.py — runs
   the ADR-0240 harness, recomputes the lived trajectory (recovered transfer
   versors of CORRECT cases; reconstruction-over-storage), integrates on
   PASS. I-01 reboot-invariance pinned BIT-IDENTICAL across runs.
3) biography.py trajectory digest now explicit '<f8' LE bytes (ADR-0245
   §2.3); byte-identical on LE targets, platform-independent everywhere.
31 passed across wiring/session/holonomy/readback suites.
2026-07-18 10:15:38 -07:00
Shay
19d5731a23 feat(adr-0243): §2.3 linguistic wave readback — seam S1 closed (off-serving)
Egress route readback_eligible now flows into geometric token selection
(resonance = <psi psi~_T>_0 via the I-04 phase correlation; cga_inner is
the un-reversed grade-0 product and is wrong for versor states — pinned in
tests) plus the hearing-ourselves-think round-trip: articulated tokens are
re-ingested through the same sensorium boundary and phase-locked agreement
is measured with the same metric. Fail-closed typed ReadbackRefusal when no
token resonates (decoding, not generating — no fallback strings). Vocab
access is structural (VocabLike) to avoid a core.physics->vocab cycle; the
real VocabManifold satisfies it (proven in tests). 10 new pins, lifecycle
suite untouched (48 passed).
2026-07-18 08:59:16 -07:00
Shay
05ae8cb1b4 feat(ring2-ring3): multi-port residual protocol + integrity-coordinated handoff
Rings 2 and 3 of the ADR-0246 preflight §9, built exactly as the brief bounds
them. ADR-0247 + ADR-0248 both **Proposed** — no self-Accept.

Ring 2 (core/ports/residual_protocol.py — ADR-0247):
  the 7-stage shared control grammar: witness -> typed residual decomposition
  -> permitted operator selection -> bounded operation or abstention ->
  re-certification -> action decision -> append-only replay record.
  Port-agnostic (no registry, no unified scheduler — §7 non-goal #2 honored);
  v1 operators are ZERO-BOUND only (nonzero fails closed — no-silent-correction
  doctrine); unaccounted residual fails closed; re-certification RAISES on
  witness drift during a zero-bound pass; replay chain is append-only,
  full-SHA-256 content-addressed, tamper-evident (verify_replay_chain).
  NOTE: named core/ports/ because core/protocol/ is the existing CTP v0 wire
  format (collision checked before naming).

Ring 2 adapters (core/ports/adapters.py): IdentityPort (ADR-0246 grade-1
  geometry; typed channels travel IN the witness so decompose is a pure
  re-shaping, no hidden state; admit = evaluate_admission, single source of
  truth) + PrecisionPort (ADR-0244 §2.5 cast transport; ServingState subjects)
  — two genuinely non-identical native geometries + a synthetic third port
  proving grammar agnosticism.

Ring 3 (core/ports/integrity_handoff.py — ADR-0248):
  the coordination seam ('Integrity coordinates handoffs; it does not replace
  content-bearing cognition'): fuses Ring-2 port decisions + existing
  EpistemicState/NormativeClearance into content-free proceed/hedge/abstain
  (conjunctive, strongest-restriction-wins; fail-closed on missing/invalid
  evidence; binds replay-chain tip digest; handoff itself content-addressed).
  Weak epistemic standing hedges (mirrors hedge doctrine) — only integrity
  violations silence a turn. OBSERVE-ONLY: no serve consumer yet; that is a
  future flag-gated unit. Remaining Ring-3 programme honestly listed open
  (world-model, governed-learning consumption, discourse widening).

Both pure/deterministic/off-serving (A-04 pinned); brief §0a/§9 updated.

[Verification]: uv run core test --suite smoke -q => 176 passed; Ring 2/3 +
ADR-0246 suites + D4 gate surfaces => 125 passed (28 new Ring-2/3 pins);
run log docs/audit/artifacts/ring2-ring3-runlog.txt
2026-07-17 23:56:01 -07:00
Shay
45539e62d5 feat(adr-0246): completion — §4.1 records, path serve integration, §11 feasibility (honest NULL), ADR body Proposed
Final Ring-1 unit (Sonnet 5 handoff scope, completed by Fable 5). Stacked on
feat/adr-0246-slice1-hardened. ADR stays Proposed — no self-Accept; packet §8
RULING PENDING for Shay.

§4.1/§4.2 telemetry:
  + IdentityActionRecord (schema identity_action_v1): full-SHA-256 field/record/
    pack-content digests (LE f64, canonical JSON, no default=str),
    policy_version=AdmissionPolicy.version_id(), A_raw + all measures, admitted,
    multi-condition refusal_reason (';'-joined — documented widening),
    lawful_action in {I,none}, path_break
  + manifold_content_digest + GEOMETRY_VERSION/GATE_VERSION (§3.5 scope keys)
  + IdentityScore.action_record; JSONL serializer emits identity_action_*/
    identity_path_* keys ONLY when the paths ran (flag-off wire byte-identical)
§3.4 step-2 compliance (F1-adjacent):
  + advance_identity_path(admitted=) — a policy-refused turn breaks even with
    small d_stab (was a real gap: leakage-refused turns could compose); pinned
Path serve integration (OBSERVE-ONLY):
  + advance_session_identity_path: scope from manifold digest + version ids;
    runtime advances the session ledger only when identity_wave_gate AND
    identity_action_surface are on; instance lifetime = session boundary;
    session_admit is telemetry, never egress (epsilon_session uncertified)
§11 grounding-feasibility study (evals/adr_0246_grounding_feasibility):
  fixed TRAIN(13)/HELD-OUT(12)/ADVERSARIAL(8); bivector generator proxy
  (numpy-only); SAMPLE-SIZE-CALIBRATED null (200 noise-pair trials at real n)
  + shared-basis positive control (a real bug caught RED: per-call fresh bases
  made the positive pair meaningless at 0.53). RESULT: honest NULL with the
  method validated — positive control 0.9995 (100th pctile, null p95 0.60) but
  real cross-cohort cosine 0.52 = 87th pctile of chance; AUC 0.49 [0.21,0.77];
  generator energy spread across all 10 planes; precision immaterial (6.9e-7).
  No stable generator subspace at this n; threshold tuning cannot discriminate.
ADR + packet:
  + docs/adr/ADR-0246-induced-identity-action-and-path-integrity.md (Proposed;
    F1 semantics + ||.||_G convention + turn-ownership + refusal_reason rulings
    requested; binding claims language 'lawfulness relative to the declared
    frozen frame'; honest §6.3 + §11 numbers; machine-readable operational
    status: live_activation not_authorized, both flags default-off)
  + docs/audit/adr-0246-acceptance-packet-2026-07-17.md (§10 checklist, §8 PENDING)
  + spatial_foreign uncertainty RESOLVED + pinned (tautologically zero for the
    full-span default pack; fires for reduced-support packs)

[Verification]: uv run core test --suite smoke -q => 176 passed; full battery
(all 9 ADR-0246 suites + D4 identity surfaces + gamma calibration +
identity_gate + telemetry) => 228 passed; §6.1/6.2 eval 14/14; §11 artifact +
run log under docs/audit/artifacts/.
2026-07-17 23:36:41 -07:00
Shay
47e7eb4e65 feat(adr-0246): Opus audit + §3.7 admit surface + serve wiring + §6.3 discrimination
Opus 4.8 audit of Fable's slice-1 scaffold + authorized hardening (Step 2).
Stacked on feat/adr-0246-slice1-scaffold. Not a PR, not merged, no status flip.

AUDIT (Step 1) — VERDICT PASS. Re-derived A(F)/d_orth/d_stab/typed channels from
§3.1/3.2/3.6 independently: BIT-EXACT vs impl (0.00e+00). Confirmed in code (not
just comments): H_id={I} locked (singleton hardcoded, no enlargement path); path
composes lawful only, refused=break marker, never raw, never soft-I; no §7 scope
creep; serve byte-identity. Finding F1 (doc, not bug): composition uses the raw
CERTIFIED action (required for §6.2 accumulation, else A_path≡I detects nothing) —
now documented for ADR ratification.

HARDENING (Step 2):
  §3.7 pure surface (identity_action.py): AdmissionPolicy (calibrated flag),
    evaluate_admission (admit-or-abstain, no corrector); CERTIFIED_GAMMA_ID pinned
    == identity._WAVE_LEAKAGE_BOUND; all other bounds UNCERTIFIED placeholders.
  §3.7 SERVE WIRING (Steps 2.1/2.2): new default-off flag identity_action_surface
    (config); threaded chat/runtime -> check -> _wave_field_score; refusal folds
    into flagged -> existing would_violate/conjugate_correct abstains; IdentityScore
    gains action_surface_active/d_orth/d_stab (legacy defaults). Flag-off is
    byte-identical (D4 gate surfaces green unchanged; smoke 176 post-wiring).
  §6.3 DISCRIMINATION REPORT (evals/adr_0246_discrimination) — HONEST numbers:
    benign pass 0.00, false refusal 1.00, adversarial detect 1.00, control pass
    1.00; d_stab AUC 0.375 (95% CI [0.15,0.62]) — BELOW chance. Benign cognition
    sits ~18x farther from the frame (mean d_stab 27.8) than the attacks (1.55).
    The gate refuses everything and does NOT discriminate; must stay off; usable
    separation needs the §11 grounding work, not threshold tuning. Claims language
    enforced: 'lawfulness relative to the declared frozen frame', NOT 'semantic
    inalienability'.
  Ledger raw-sneak hardening test (Step 2.3): mixed lawful/refused sequence must
    equal the lawful sub-product, fails if raw sneaks into A_path_lawful.

Handoff to Sonnet: §4.1 per-turn record, path-ledger serve integration, ADR-0246
body + acceptance packet (Proposed, no self-Accept), §11 grounding-feasibility.

[Verification]: uv run core test --suite smoke -q => 176 passed (post-wiring);
ADR-0246 suites 80 passed; egress wiring + D4 gate surfaces 47 passed
(byte-identity); §6.1/6.2 eval 14/14; discrimination report numbers above.
See docs/audit/adr-0246-slice1-opus-audit-and-hardening.md + run log.
2026-07-17 22:51:46 -07:00
Shay
ed54dddacb draft(adr-0246): slice-1 scaffold — §6.1/§6.2 eval suite + malformed-F guard
BOUNDED AUTONOMOUS SCAFFOLD DRAFT (Fable 5) — not a PR, not merged, no status
flip, no main push. For Opus 4.8 + Shay audit before anything proceeds toward main.
Stacked on the verified §3-primitives + §3.4/3.5-ledger stack (reuse, not re-derive;
all descend from main @ 04d67ca5).

Adds (directive steps 3-4):
  + evals/adr_0246_geometric_suite/  runnable §6.1 synthetic geometric suite
    (identity, pi-inversion, 90deg-permutation, mild drift, alien tilt e14,
    boost e15, near-singular Gram, malformed F) + §6.2 path/holonomy suite
    (lawful sequence, small-rotation session accumulation, interleaved refuse,
    pack-change hard break, raw!=lawful forensic). 14/14 cases pass.
  + tests/test_adr_0246_geometric_suite.py  pins every case + explicit §6.1 pins
    (pi-inversion s=-1, 90deg s=0, near-singular Gram error, malformed-F error)
  + identity_manifold.py: MalformedVersorError + _validate_versor guard on
    induced_action / typed_residual_energy (§6.1 fail-closed on malformed F)
  + docs/handoff/adr-0246-slice1-scaffold-notes.md  placeholder list, §5-§7
    uncertainties, constraint-compliance record, explicit Opus/human TODOs
  + docs/audit/artifacts/adr-0246-slice1-scaffold-runlog.txt  actual run output

Constraints honored: H_id={I} only; no soft-projection of unlawful A; path
composes lawful actions only (never raw product); no C_id corrector; chat/runtime,
flags, D4 gate wiring untouched (A-04 quarantine pinned); no discrimination report,
no ADR body, no claims language (deferred TODO: Opus/human); D4 plan not modified.
epsilon_turn/epsilon_session are UNCERTIFIED PLACEHOLDERS, never baked into a
module default (PathBudget is caller-supplied) — flagged in notes + run log.

[Verification]: uv run core test --suite smoke -q => 176 passed;
python -m evals.adr_0246_geometric_suite => 14/14 all_passed;
ADR-0246 suites + adjacent D4 identity surfaces => 114 passed (see run log).
2026-07-17 22:09:32 -07:00
Shay
6efe4ad80c feat(adr-0246): §3.4/§3.5 lawful-only identity-path ledger (pure, off-serving)
Second Ring-1 unit per the brief. Stacked on feat/adr-0246-induced-action-primitives.

core/physics/identity_action.py:
  + PathBudget            two-level budget (epsilon_turn, epsilon_session)  (§3.4)
  + IdentityChainScope    pack/geometry/policy/session/biography scope key   (§3.5)
  + IdentityPathLedger    immutable path snapshot; full-SHA-256 chain_id +
                          ledger_digest (LE f64 bytes, no default=str)       (§4.2/§4.3)
  + advance_identity_path fold one turn: lawful iff d_stab<=epsilon_turn;
                          only lawful turns compose; refused turns are break
                          markers (path_break), never soft-projected I;
                          scope change = hard break onto a fresh chain
  + raw_path_product      forensic-only (proves lawful product != raw product)

Enforces the §3.4 doctrine: lawful-only composition; no soft-projection of an
unlawful action onto I (non-goal #11); raw and lawful kept separate. Hard breaks
on every scope dimension (§3.5). Pure numpy+identity_manifold; off-serving; no
gate/threshold/axis/H_id/flag change (identity_wave_gate stays default-off).
Gate admit-surface wiring + eval matrix are subsequent units (brief §0a).

[Verification]: uv run core test --suite smoke -q => 176 passed;
tests/test_adr_0246_path_ledger.py 16 passed (RED-first, incl. small-rotation
session-accumulation, hard-break on each scope dim, raw!=lawful forensic pin,
immutability); identity surfaces (induced_action, mismatch-diagnostic,
identity_manifold, identity_gate_wave) 85 passed together.
2026-07-17 21:55:24 -07:00
Shay
4941cf188e feat(adr-0246): §3 induced-action primitives (pure, off-serving)
First implementation unit of ADR-0246 Ring-1 per the preflight brief §3/§13.
Promotes the induced-action apparatus from the slice-0 eval prototype into pure,
tested geometry — the single source of truth both the future gate surface and the
§11 grounding-feasibility study will consume.

core/physics/identity_manifold.py:
  + induced_action(versor)        A(F) = G^-1 · <a_k, F a_j F~>_0   (§3.1)
  + orthogonality_defect(versor)  d_orth = ||A^T G A - G||_F        (§3.2)
  + typed_residual_energy(versor) e4/e5/spatial_foreign/unclassified (§3.6)
  + orthogonality_defect_of_action / SPATIAL_GRADE1_INDICES / E4,E5 index pins
core/physics/identity_action.py (new, pure):
  + IdentityStabilizer (locked singleton H_id={I}, §3.3)
  + stabilizer_defect  d_stab = min_H ||A - H||_G                   (§3.2)
    G-weighted norm reduces to Frobenius at G=I (default pack)
evals/adr_0246_mismatch_diagnostic: rewired to delegate to the canonical
  primitives (removes the duplicate prototype copies; drops unused import).

Scope: off-serving (algebra-only, A-04 quarantine, pinned by test); no gate,
threshold, axis, H_id, corrector, or flag change. identity_wave_gate stays
default-off. Path ledger (§3.4/3.5), gate admit surface (§3.7), and the eval
matrix + §11 feasibility study are subsequent units (brief §0a records the
sequencing). No self-Accept.

[Verification]: uv run core test --suite smoke -q => 176 passed;
tests/test_adr_0246_induced_action.py 12 passed (RED-first);
identity surfaces (mismatch-diagnostic rewired, identity_manifold, identity_gate
wave/runtime/eval, gamma_calibration) 87 passed.
2026-07-17 21:36:57 -07:00
Shay
5c69b74138 feat(adr-0244): Phase 5a — §2.7 content-id semantic rigor (4 sites)
Widen the residual contemplation/vault content-ids to full 256-bit digests and
remove the last default=str / bare-tobytes byte-order gaps (ADR-0244 §2.7 /
ADR-0245 §2.3). Content-addresses must not floor collision resistance or silently
collapse distinct payloads:

- core/contemplation/schema.py: _sha256_16 → _content_digest (full 64-hex);
  finding_id + run_id no longer 16-hex truncated (was 2^32 birthday floor).
- core/contemplation/plan_preflight.py: _plan_substrate_hash full digest.
- core/contemplation/miners/articulation_quality.py: drop default=str (as_dict is
  JSON-native — ints/str/python-float ratios/None — so a non-serializable field
  now fails closed instead of str()-collapsing) + full digest.
- core/physics/holographic_vault.py: _default_mode_id full digest AND explicit
  little-endian float64 coercion (was bare .tobytes() — implicit host endianness).

Content-addresses only; no persisted-id migration (old ids stay valid, new ones
widen). Tests assert determinism + content, not id length, so no cascade.

Verified: 334 contemplation/vault/miner tests pass (determinism + content intact).
Full smoke + fast lane run at Phase 5 close.
2026-07-17 19:48:11 -07:00
Shay
918aa843b1 feat(adr-0244): Phase 4 — governed f64→f32 serving-boundary cast (§2.5 / 0245 §2.2)
The single explicit, fail-closed f64→f32 down-cast at the certified lifecycle
egress. serving_cast(psi_steady, certificate, verdict) -> ServingState in
core/physics/cognitive_lifecycle.py:

- Casts ONLY a state that validates as a finite 32-vector, matches its
  certificate psi_digest, and was verdict.admitted — an uncertified, refused, or
  digest-mismatched state is never served.
- Precision-checks the f32 result (cast_error = max|f64-f32|, unit norm) and
  fails closed on an f32 precision cliff (f32_precision_insufficient) rather than
  serving a silently-degraded state.
- Keeps f64 as the source of truth: psi_steady and the psi_digest content-address
  chain are untouched; ServingState carries provenance back (source_psi_digest,
  certificate_id, measured cast_error) for audit. f64 stays inside
  relaxation/eigendecomp — this is the one place f32 appears (ADR-0245 §2.2
  mechanical sympathy).

Satisfies both ADR-0244 §2.5 and ADR-0245 §2.2 (one contract, two ADRs). Measured
on a real certified outcome: cast_error ~1.2e-8, unit_norm_f32 ~0.99999998.
Off-serving (A-04 guard: chat.runtime never imports it). ADR-0245 status map +
plan doc updated.

[Verification]: smoke 176 passed; fast lane 11907 passed / 109 skipped (-n auto,
not quarantine/slow); 10 targeted serving-cast tests passed.
2026-07-17 19:43:37 -07:00
Shay
f3702ad437 feat(adr-0244): Phase 3 — γ_id calibration (certified; live flag flip BLOCKED)
D4 Phase 3 (§2.4). Calibrates the wave-gate leakage bound γ_id via the
bracketed-local Fibonacci section search and emits a content-addressed tuning
certificate (evals/adr_0244_gamma_calibration/). Two results, kept separate:

1. The search certifies γ* = 0.2126624458513829 (cert 0079b5f2…) separating
   the geometric attack signal — in-subspace rotors admitted, axis→e4/e5
   tilt/boost attacks flagged (inversions excluded: ~0-leakage, handled by the
   orientation floor). Pinned as identity._WAVE_LEAKAGE_BOUND; the wave path is
   decoupled from alignment_threshold (legacy path + hedge bands keep it).

2. The same bound does NOT separate real live traffic. Measured on the engine,
   benign final_state.F versors do not preserve span(e1,e2,e3): leakage
   0.14–0.81 (mean 0.55), self-align to −0.52, 12/13 benign false-refused at
   γ*, best balanced error 0.346. The calibration certifies
   flag_flip_authorized=False → identity_wave_gate stays OFF.

Root cause: the shipped value axes (truthfulness=e1, coherence=e2,
reverence=e3) are nominal basis vectors, not dynamically-preserved eigenmodes;
the field evolution gives the identity subspace no dynamical anchoring. The fix
is the ADR-0246 induced-identity-action programme (preflight brief merged). The
wave gate is validated, correctly-off scaffolding — not a live gate. A slow
drift-guard test canaries any future engine change that starts preserving
identity.

Off-serving (evals/ + tests); flag-off byte-identity preserved. ADR §4a +
plan doc + memory updated with the finding.

[Verification]: smoke 176 passed; fast lane 11897 passed / 109 skipped (-n
auto, not quarantine/slow); 59 targeted gate/calibration tests passed.
2026-07-17 19:24:47 -07:00
Shay
c7e2b3b68f feat(adr-0244): Phase 2b — wire the operator-preservation gate into serve (flag-gated)
Wires the ADR-0244 §2.2 wave gate into the live turn loop behind a new
opt-in flag, byte-identical when off, plus a normalization fix found in
integration.

core/config.py: RuntimeConfig.identity_wave_gate (bool = False). OFF by
default — the leakage threshold is provisional (reuses alignment_threshold)
until calibrated to gamma_id in Phase 3, and flag-off is byte-identical to
the pre-ADR-0244 advisory path.

chat/runtime.py (main chat() path, two flag-gated touches):
  - at the identity check, pass wave_field=result.final_state.F when the
    flag is on (so hedging + telemetry both use the wave score); None when
    off -> legacy scalar-L2 path.
  - after the safety/ethics verdicts exist, intersect their violated
    boundaries with the manifold's committed boundary_ids (supplement via
    dataclasses.replace) and fold a fail-closed geometric IdentityGateRefusal
    into the typed refusal surface (TYPED_REFUSAL_PREFIX). refusal_emitted is
    derived once, after the block, preserving the (surface is not None) <=>
    emitted invariant.

chat/telemetry.py: serialize_turn_event emits the wave-gate keys
(identity_wave_mode / _leakage_norm / _min_self_alignment /
_boundary_violations) only when identity_score.wave_mode_active — so the
wire format is byte-identical when the gate is off.

core/physics/identity_manifold.py — NORMALIZATION FIX (found in
integration): the live versor carries boost (e5) components, and a boost is
a unit versor (R R~ = 1) that does NOT preserve the Euclidean coefficient
norm, so ‖R a_i R~‖ > 1 and the un-normalized leakage/self-alignment ran
past their ranges (measured leakage 5.16, self_align -4.75 on a real turn).
axis_response now normalizes each measure by the rotated-axis magnitude:
leakage is a fraction in [0,1], self_align a signed cosine in [-1,1]. For a
norm-preserving spatial rotor the rotated axis is unit and normalization is
a no-op (Phase 1 results unchanged). §4a updated to match; new boost test
pins bounded measures.

tests/test_adr_0244_identity_gate_runtime.py (new): flag OFF -> legacy
score + no wave telemetry (byte-identical wire); flag ON -> wave gate active
on the live versor + wave telemetry present + bounded measures; flag-off
determinism. Seeds a short sequence to reach main-path (identity-checked)
turns (a fresh empty-vault runtime routes ungrounded inputs to disclosure).

[Verification]: 74 targeted (manifold+gate+runtime+legacy identity+
telemetry) passed; in-worktree smoke 176 passed; fast lane
(-m 'not quarantine and not slow' -n auto) 11883 passed, 109 skipped —
flag-off byte-identity confirmed across the whole suite.
2026-07-17 17:06:22 -07:00
Shay
1c7ea26ea2 feat(adr-0244): Phase 2a — operator-preservation identity gate capability
Extends core/physics/identity.py with the ADR-0244 §2.2/§4a wave-field gate
as a pure, dual-mode capability (no runtime behavior change — the legacy
path stays byte-identical when no wave field is supplied).

  - check(trajectory, manifold, *, wave_field=None, violated_boundary_ids=
    frozenset()): dual-mode. wave_field present -> operator-preservation
    gate; absent -> legacy scalar-L2 (ADR-0010). A MALFORMED wave field
    (non-finite / wrong shape / wrong byte-order) raises a typed ValueError
    via _validate_wave_field — it never silently falls back to legacy (the
    dual-mode fallback is for an ABSENT wave field only).
  - _wave_field_score: operator-preservation via IdentityManifoldGeometry
    (Phase 1). The trajectory is a versor (operator), so we measure whether
    it PRESERVES the value subspace: RMS subspace leakage (tilt toward alien
    dimensions) + signed self-alignment (in-subspace inversion). score =
    1 - leakage_rms; flagged on score<threshold OR inversion OR boundary.
  - IdentityScore extended (wave_mode_active, leakage_norm,
    min_self_alignment, boundary_violations) — all defaulted, legacy shape
    and construction preserved.
  - boundary_ids predicate: violated_boundary_ids & manifold.boundary_ids;
    a non-empty intersection is a hard identity-boundary breach (activates
    the previously-dormant boundary_ids; item 7).
  - IdentityGateRefusal + conjugate_correct (C_id): v1 admit-or-abstain, NO
    silent correction of the versor (honors the safety-pack
    no_silent_correction boundary); abstains (raises) on violation.
  - would_violate extended for boundary + inversion (legacy defaults never
    trigger the new branches).

identity_manifold is now imported by identity.py (serve-safe pure algebra);
serve-quarantine transitive test stays green.

tests/test_adr_0244_identity_gate_wave.py (16 tests): dual-mode dispatch,
identity-versor alignment, alien-dimension tilt leakage, in-subspace
inversion caught via orientation, fail-closed malformed validation, the
boundary intersection predicate (in/out of manifold, legacy path too),
C_id admit-or-abstain, would_violate extensions, legacy back-compat,
determinism.

[Verification]: 16 new tests passed; legacy identity + quarantine +
telemetry-fanout suite 54 passed (legacy behavior + serve-quarantine
preserved); in-worktree smoke 176 passed; fast lane (-m 'not quarantine
and not slow' -n auto) 11879 passed, 109 skipped.
2026-07-17 16:39:34 -07:00
Shay
3c3d2c296e feat(adr-0244): Phase 1 — operator-preservation identity manifold primitive
Implements ADR-0244 §2.1/§4a: the metric-exact operator-preservation
geometry, pure and off-serve (wired into the runtime gate in Phase 2).

core/physics/identity_manifold.py:
  - lift_axis: R^3 pack direction -> grade-1 Cl(4,1) at e1/e2/e3 slots
    (basis_vector, not embed_point) so the value subspace lives in the
    spatial grade-1 block where <.,.>_0 = Euclidean and the Gram matrix
    is positive-definite.
  - gram_matrix + ManifoldConditioningError (fail closed when cond(G)>1e5).
  - subspace_project: metric-orthogonal P_I(x) with SIGNED coefficients.
  - sandwich: versor action R x R~.
  - euclidean_norm: positive-definite leakage magnitude (NOT the indefinite
    Cl(4,1) norm, which can vanish/negate an e5-boost leakage).
  - IdentityManifoldGeometry (frozen): axes_psi + Gram + Gram^-1; .project,
    .axis_response -> (leakage, self_align), .leakage_rms.

Operator-preservation, per the ratified core-mechanism correction: the
live trajectory final_state.F is a VERSOR (even-grade operator, zero
grade-1 content), so we measure whether it PRESERVES the value subspace
via F a_i F~, not whether it lives in it. Two per-axis measures, both
required and non-redundant:
  - subspace leakage euclidean_norm(rot_i - P_I(rot_i)) catches tilt of a
    value axis toward an alien dimension (e4/e5);
  - signed self-alignment <a_i, rot_i>_0 catches in-subspace inversion
    (e1 -> -e1: leakage 0 but self-align -1).

tests/test_adr_0244_identity_manifold.py (24 tests) pins every falsifiable
claim: G=I for the default pack, idempotent projection, identity versor ->
0 leakage/+1 align, within-plane rotation -> no leak, e4/e5 tilt -> leak,
pi-inversion -> 0 leak but -1 self-align, near-degenerate axes ->
ManifoldConditioningError, determinism.

[Verification]: 24 new tests passed; in-worktree smoke 176 passed; fast
lane (-m 'not quarantine and not slow' -n auto) 11863 passed, 109 skipped;
serve-quarantine transitive test 2 passed (new module is NOT dragged onto
the serve path — off-serve until Phase 2).
2026-07-17 16:12:54 -07:00
Shay
3a0cd0b455 refactor(adr-0244): D3 search honesty — sampled-unimodality naming + kappa legibility
Cohesion directive Mandate 6 (ADR-0244 §2.4). The Fibonacci search was already
~85% compliant (typed OptimizationFailure, fail-closed, bracketed contract,
never a bare float); this closes the two residuals honestly:

- Rename the failure reason unimodality_violation_multiple_extrema_detected ->
  sampled_unimodality_violation_observed. A finite sample cannot prove global
  unimodality; the check only *observes* a violation on the evaluated points.
  Docstrings now state the Bracketed-Local contract explicitly.
- propose_kappa_from_search: kappa=1.0-on-failure IS the required "parameters
  unchanged" no-op (thr = productive_threshold / 1.0), and the typed
  OptimizationFailure is already returned as the second element — so the fix is
  legibility, not a behavior change (the working seam is preserved, not broken):
  the docstring names baseline as an explicit caller-side policy, and a new test
  pins that a failed search surfaces the typed failure rather than a bare float.

tests: test_adr_0244_search_honesty pins the renamed reason end-to-end (a
cos(8*pi*x) objective whose golden-section samples are non-monotone triggers it;
a smooth bimodal instead converges to a local-min certificate — the honest
Bracketed-Local distinction), _unimodality_ok as a finite-sample check, kappa
failure legibility + no-op baseline, and that no stale reason string remains.

[Verification]: search-honesty 6 + adr_0242_fibonacci + third_door_cohesion +
carry_seams green; smoke + fast lane below.
2026-07-17 13:58:17 -07:00
Shay
82b031d158 perf(adr-0244): D2 mechanical sympathy — Rust f64 GP fast-path + eigh memoization
Cohesion directive Mandates 1+2 (ADR-0244 §2.6 / §2.8).

Mandate 1 — Rust f64 geometric_product fast-path:
- core-rs/src/lib.rs: export a geometric_product_f64 PyO3 wrapper (mirrors the
  f32 one; delegates to cl41::geometric_product_f64, itself a term-for-term
  mirror of the pure-Python f64 kernel — same i-major scatter order, no FMA).
- algebra/backend.py: f64 branch in geometric_product, gated on CORE_BACKEND=rust
  + core_rs present (default stays pure-Python; older builds fall through on
  AttributeError). The directive's f32 gate was already built; the real gap was f64.
- Contract is BIT-IDENTICAL, not tol-matched: a 1-ULP divergence would move the
  f64 wave-field residual bytes and break I-02 replay under CORE_BACKEND=rust.
  Verified: test_geometric_product_f64_parity N=10000 Rust-vs-Python bit-for-bit
  + CORE_BACKEND=rust subprocess hex match (core_rs built).
- Measured M1 speedup (sixth acceptance criterion): dense f64 GP ~120x
  (Rust 4.3 us/call vs Python 520 us/call) with parity holding.

Mandate 2 — eigh memoization:
- cognitive_lifecycle.py: relax_to_ground's dense-branch np.linalg.eigh routed
  through _cached_eigh (functools.lru_cache, keyed on the frozen hamiltonian_id +
  matrix bytes), returning frozen read-only (evals, evecs) so a cache hit can
  never be mutated — every hit is bit-identical. The diagonal (propositional)
  fast path is untouched.

tests: test_adr_0244_mechanical_sympathy pins cached-eigh == fresh eigh,
read-only arrays, hit-returns-identical-objects, and relaxation determinism
through the cache; D9 extended with the N=10000 bit-identity gate and its
now-stale "f64 is Python-only" pins updated.

[Verification]: D9 22 passed (incl. bit-identity N=10000, core_rs built) +
mechanical-sympathy + cognitive_lifecycle green; smoke + fast lane below.
2026-07-17 13:58:17 -07:00
Shay
4ec2c8b9dc refactor(adr-0244): D1 semantic rigor — full 256-bit digests + LE byte-order
Cohesion directive Mandates 4+5. The ADR-0243 lifecycle modules were the only
content-address sites still truncating SHA-256 to 96 bits (24 hex) and passing
default=str to json.dumps — the rest of the codebase already uses full 64-hex
digests (claim_digest, cert_id, decision_id, pressure_id, ...). The default=str
+ [:24] drift had also just replicated into Lane C (biography_wiring.py).

- cognitive_lifecycle.py: _content_id drops default=str (non-serializable payload
  now fails closed with TypeError) + full 64-hex; _psi_digest full 64-hex over
  canonical little-endian f64 bytes via a new _le_f64_bytes helper (coercion, not
  the assert form the ADR-0244 draft used — assert is stripped under -O);
  matrix_sha routed through _le_f64_bytes too.
- biography_wiring.py, self_authorship.py: same _content_id hardening. Verified
  every payload is JSON-safe after the existing float()/str() wrapping, so
  removing default=str changes no current digest value — only future
  non-serializable inputs fail closed.
- On little-endian targets the widening is an un-truncation: the new 64-hex
  digest's 24-char prefix equals the old value (pinned).

tests: test_adr_0243_cognitive_lifecycle psi_digest gold updated to full+LE; new
test_adr_0244_semantic_rigor pins full-64 length, fail-closed TypeError, LE
byte-order canonicality (native vs >f8 hash-equal), and determinism.

[Verification]: D1-affected suites 66 + miner suites 23 green; smoke + fast lane below.
2026-07-17 13:58:17 -07:00
Shay
ec2b9ae794 feat(adr-0243): Lane A — discovery wiring + live kappa-search caller
Wire the ADR-0242 §5 pinned primitives into the contemplation runner
(ADR-0243 §2.4): contemplate_surprise_history() gates the newest
caller-timed ADR-0239 dual-operator observation through
is_discovery_eligible, the measured history through
cross_band_discovery_gate (F5/F6/F7 persistence), and only then emits a
DiscoveryCandidate via the existing emit_surprise_discovery ->
DiscoveryCandidateSink. Proposal-plumbing only: the sole side effect is
sink.emit().

Surprise-signal sourcing (the Lane A open question): ContemplationFinding
carries no surprise measurement and the report-mining paths have no
geometry, so nothing is fabricated for them — the canonical carrier is
the ADR-0239 dual audit dict (SelfAuthorshipMiner / ADR-0240 harness),
consumed as explicit SurpriseObservations with caller-supplied logical
time (deterministic, no wall clock).

Give propose_kappa_line_search its live caller (ADR-0242 §5-P1):
evals/analogical_transfer/kappa_calibration.py calibrate_transfer_kappa,
confined to the ADR-0240 calibration pipeline per R-04; kappa_search_event
fires exactly once when a sink is passed. Proposal-only — no
GoldTetherMonitor mutation.

A-04 hardening found during review: chat/runtime.py idle_tick lazily
imports core.contemplation.runner inside the serve process, and the
package __init__ eagerly pulled wave_seam -> holographic_vault (a
serve-banned module) — a PRE-EXISTING process-level quarantine breach.
Closed by making the wave-seam re-exports lazy (PEP 562) and keeping the
multi_scale_energy gate import function-local; pinned by a new dynamic
idle-tick-edge test in test_serve_quarantine_transitive.py.

Pinned primitives untouched: is_discovery_eligible,
cross_band_discovery_gate, candidate_from_surprise_dual signatures
unchanged; no changes to cognitive_lifecycle.py or chat/runtime.py.
2026-07-17 11:36:41 -07:00
Shay
5e0f0e5f0b feat(adr-0243): wire ADR-0240 PASS into integrate_biography (Phase 3 Lane C)
First live caller of integrate_biography (previously zero production call
sites). New core/physics/biography_wiring.py: report-level PASS gate
(report.wrong == 0 AND >=1 correct transfer; refusals don't block but
all-refused validates nothing), I-01 closure asserts re-checked at the
wiring seam (fail-closed typed BiographyIntegrationError), and a net-new
append-only BiographyProvenanceRecord binding report evidence to the
integrated trajectory hash (AuthorshipProposal-style closure proof in a
TurnEvent-style audit role).

Design ruling (Shay, 2026-07-17, brief open question): direct integration,
structurally pinned — integrate_biography is a pure recompute
(reconstruction-over-storage), so D-5/I-03 proposal gating does not attach;
the ruling is enforced by a test pinning that the wiring imports no vault
store and no evals package (report typed structurally, no core->evals
import). Module registered in the never-serve lazy tier + _BANNED +
third-door banned lists. cognitive_lifecycle.py untouched (Lane C touches
zero Phase-2 code).
2026-07-17 10:49:44 -07:00
Shay
c3b4d045f1 feat(adr-0243): flagship cognitive_lifecycle.py — ingress/relax/egress, Tier-2 off-serving
Implements ADR-0243 §2 honestly per the plan's deviations ledger, correcting
the §3 sketch's three pinned defects (SD-A/B/C):

- Ingress delegates superposition to sensorium_wave_feed, normalizes once at
  the owned construction boundary (D-3).
- Relaxation is the imaginary-time semigroup psi <- normalize(exp(-(H-lam0)*dt)*psi)
  (D-1) with a certified, never-assumed convergence certificate (D-2): exact
  ground energy, achieved Rayleigh energy, eigen-residual, spectral gap, and a
  psi_digest binding the certificate to the exact state it certifies.
- Two checkable problem domains: quadratic_well (convex target-decoding) and
  propositional (Cl(4,1) blade lattice = assignment lattice of <=5 atoms;
  diagonal penalty Hamiltonian; entailment via UNSAT(premises & !conclusion)
  scored against independent truth-table gold).
- Egress composes unit-amplitude-density + certificate-binding + versor
  closure (routes, does not admit, per the dual of SD-A) + ADR-0006 energy
  classes + E0/E1 crystallization policy. Cold states emit a
  CrystallizationProposal (epistemic_status pinned SPECULATIVE by the type;
  D-5/I-03) — never a vault write.
- Quarantined off-serving (A-04): lazy barrel export, banned in the
  transitive subprocess probe and the cohesion AST suite.

Adversarial verification (finder/verifier workflow; most verify agents lost
to a session limit, every surviving finding reproduced in-tree before acting)
surfaced and this closes two real defects beyond the plan text:

- egress_gate admitted any unit state paired with any converged certificate
  from an unrelated run, so CrystallizationProposal could package a foreign
  psi_digest next to an unrelated certificate_id as false provenance. Fixed
  by binding the certificate to its state (psi_digest) and refusing mismatches
  (certificate_state_mismatch).
- A state with a spectral gap below the requested tolerance could certify
  with ZERO ground-space overlap (energy window alone can't resolve it).
  Certification now also requires the excited weight (E-lam0)/gap <= tol
  (refusal spectral_gap_below_tolerance), and the degeneracy cluster is
  capped at the acceptance window so certificates report the honest
  rate-limiting gap instead of absorbing a hairline split.

38 tests (31 original + 7 hardening: certificate-binding must-reject,
gap-refusal + true-ground pair, dense-branch (eigh) refusals, iterate-collapse,
Hamiltonian/egress shape must-rejects, E2 hold route, hardcoded canonical
entailment verdicts independent of the gold function's code shape).

[Verification]: lifecycle+pins+cohesion+transitive 58 passed; in-worktree
smoke 176 passed (131s); fast lane 11750 passed, 108 skipped (574s, exit 0).
2026-07-17 06:19:33 -07:00
Shay
d388fc9e2c feat: close ADR-0241/0242 post-Accept backlog (local-first mastery)
Complete remaining W5/post-pivot backlog without Docker CI: INV-21 allowlist
dedup, -n auto fast/full defaults, frozen f64 GP Python SOT suite, real
sensorium compiler → ψ → algebraic ρ feed, V2 fib/dyadic/log fixed-replay
evidence without production energy promotion, and project doctrine restored to
local-first + ubuntu-latest:host (no Docker CI for merge).

[Verification]: Smoke suite passed locally (145s, 176 passed); make test-fast
(-n auto) passed twice (11709 passed, 108 skipped each ~11–12 min).
2026-07-16 15:25:43 -07:00
Shay
ecc7e8ab52 feat(physics): ADR-0242 §5 carry seams — κ-cert telemetry event + F5–F7 cross-band gate
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Failing after 1m1s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 17m1s
Closes the two staged items recorded in the acceptance packet §7 (ruled
non-blocking at ratification, tracked work):

P1 — kappa_search_event(): JSONL-ready execution-telemetry envelope for
the Fibonacci κ search (kind=fibonacci_kappa_search; certificate payload
with content-addressed cert_id, or failure payload with baseline κ=1.0).
propose_kappa_line_search gains an optional sink (any emit(line) object,
e.g. chat.telemetry sinks) that writes one deterministic JSONL line.
Pure serialization — no state, no COHERENT standing (§6 sovereignty).

P2 — cross_band_discovery_gate(): persistence verdict over a surprise-
event history across the F5/F6/F7 Fibonacci bands (τ = {5,8,13}·τ0).
Eligible ⇔ history spans ≥ F5·τ0 (a single fresh spike has zero temporal
persistence) AND every band's decay-weighted accumulation ≥ γ. Typed
CrossBandVerdict; pure; PROPOSAL-side only. Lives in multi_scale_energy
(Tier-2, serve-quarantined) so the gate can never touch serving —
re-pinned by the module-level sys.modules probe in the new test file.

TDD RED→GREEN. [Verification]: carry-seam suite 10 passed; regression
(goldtether consumers + multi_scale + fibonacci + chiral + quarantine +
cohesion) 85 passed; smoke suite passed locally (133s, 175 passed).
2026-07-16 06:23:50 -07:00
Shay
b25a55f3f5 docs: close ADR-0242 memo fidelity slice + living-summary update + sanctioned-seam note (follow-up batch)
- docs/research/ADR-0242-…md: committed authority copy of the R&D memo
  (retrieved via Drive connector from the .gdoc pointer's doc_id), with an
  audit note marking the reference code as memo-sketch (non-executable;
  landed impl deliberately stronger).
- acceptance packet §7 addendum: memo slice CLOSED — no new defects; impl >
  spec code on 4 counts; carry items (cert-telemetry seam, F5–F7 cross-band
  gate, budget floor 2 vs 3) recorded for the ruling.
- integration plan: ADR-0242 authority-doc row BLOCKED → CLOSED.
- living summary §12: supersedes stale §11 (#38/#40/#41 merged, #42 open,
  T1/T2 ruling, local-first CI, billing lock, memo closure).
- holographic_vault.py: comment documenting the sanctioned physics→teaching
  EpistemicStatus seam (W1 Finding #4); extraction deferred behind a
  second-consumer trigger; core/epistemic_state.py is a different concept.

[Verification]: pre-push smoke gate queued behind current machine load
(W2/W3 lanes saturating CPU, load ~195); push held until it reports green.
2026-07-15 15:10:31 -07:00
Shay
301742a38a feat(physics): chiral orientation sign-gate — sgn(Q)=const fail-closed (ADR-0241 §2.4C)
All checks were successful
lane-shas / verify pinned lane SHAs (pull_request) Successful in 17m17s
smoke / smoke (-m "not quarantine") (pull_request) Successful in 5m8s
Builds the one missing safeguard from the 4-blueprint integration audit:
the mirror-inversion protection (core_ha §5.2: sgn(∫⟨ψ I₅ ψ̃⟩₀) = const).
The chiral charge was a verified non-vacuous READOUT, but goldtether took
abs(), discarding the sign — orientation was measured, never enforced.

- core/physics/chiral_gate.py: ChiralOrientationGate latches sgn(Q) on the
  first non-vacuous reading (|Q| >= 0.1 floor); a materially re-emerging
  flip raises ChiralOrientationError (fail-closed; a sign flip is
  unreachable under rotor transport, so it evidences corruption).
  Even field-states stay vacuous — no orientation fabricated, no #19
  revival; the gate is behaviorally inert on today's serve path.
- goldtether_residual now feeds the SIGNED charge to the gate; the
  residual term keeps magnitude-only semantics byte-identical (pinned).
- Docs: integration-plan missing-piece row -> BUILT; fidelity ledger §12
  gains the failable pin row.

TDD RED->GREEN. [Verification]: smoke suite passed locally (141s, 175
passed); gate suite 7 passed; goldtether-consumer regression 99 passed.
2026-07-15 13:35:08 -07:00
Shay
25772154ff fix(cli): smoke suite parity with the CI smoke gate (audio sensorium lane)
All checks were successful
lane-shas / verify pinned lane SHAs (pull_request) Successful in 17m7s
smoke / smoke (-m "not quarantine") (pull_request) Successful in 23m40s
The CLI 'smoke' suite omitted tests/test_audio_*.py (6 files) that the
.github/workflows/smoke.yml PR gate runs — so the new AGENTS.md local-first
pre-push gate ('core test --suite smoke') was silently narrower than CI
(108 vs 175 tests). Adds the audio lane explicitly and pins parity:
test_cli_smoke_suite_covers_ci_smoke_gate parses the workflow's tests/
paths (globs expanded) and fails if the CLI tuple ever lags the CI gate.

[Verification]: CI-identical smoke file set passed locally (134s, 175
passed); tests/test_cli_test_suites.py 10 passed incl. the new pin.
2026-07-15 13:14:06 -07:00
Shay
c8160cacba fix(physics): close A-04 transitive serve breach — lazy Tier-2 barrel exports + process-level guard
Importing chat.runtime transitively loaded 5 off-serving modules
(wave_manifold, holographic_vault, fibonacci_search, multi_scale_energy,
wave_energy_boundary) through the core/physics package barrel — falsifying
the 'serve path not wired' acceptance row while the direct-AST A-04 pin
stayed green.

Reconciliation (ruled 2026-07-15): one substrate, two tiers.
- T1 sanctioned serve substrate: wave_manifold (goldtether/surprise/
  biography delegate to it) — stays eager, removed from the A-04 ban list.
- T2 off-serving (holographic_vault, fibonacci_search, wave_energy_boundary,
  multi_scale_energy): converted to PEP 562 lazy __getattr__ exports so the
  serve process never loads them; 'from core.physics import X' still works
  for off-serving callers. TYPE_CHECKING block keeps static analysis intact.
- New tests/test_serve_quarantine_transitive.py enforces the process-level
  invariant via a clean-interpreter sys.modules probe (RED against the old
  barrel, GREEN now).

Evidence: docs/research/adr-0241-0242-adversarial-and-fidelity-findings.md
(Finding #2). 179 affected tests green.
2026-07-15 12:48:45 -07:00
Shay
44f7258b16 fix(algebra): P11a physics hot paths via algebra.backend (Rust-ready)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Successful in 5m57s
lane-shas / verify pinned lane SHAs (pull_request) Failing after 1h43m22s
Stop wave/Third-Door physics from bypassing native dispatch:

- Route geometric_product / versor_apply / versor_condition / cga_inner
  through algebra.backend in wave_manifold, goldtether, trajectory,
  dynamic_manifold, surprise, holographic_vault, atlas_packing,
  biography, self_authorship.
- Backend: dtype-aware Rust use — f32 workloads use core_rs; f64 wave
  residual pins keep Python SOT until f64 GP parity exists. Coerce
  arrays for PyO3 bindings; fail soft to Python.
- AST hygiene pin: tests/test_physics_backend_dispatch_hygiene.py
- Docs: RUST.md, runtime_contracts, fidelity (ADR-0235 / UMA hygiene).

Verified: wave + cohesion suites green default and CORE_BACKEND=rust
(with core_rs built). MLX still exploratory off-serve.
2026-07-14 21:08:02 -07:00
Shay
db6430ed4e feat(adr-0242): macro-phase V2–V5 + sensorium feed (Drive gap close)
Parallel implementation of remaining Drive ADR-0242 vectors on PR #38:

D3 V2 — multi_scale_energy: E_n(t)=E0·exp(-age/(F_n·τ0)), dyadic baseline,
        comparative helpers; not production FieldEnergyOperator default.
D5 V4 — fibonacci_word_schedule: W0=B,W1=A,W_{n+1}=W_n W_{n-1}; telemetry only.
D6 V5 — algebra/topological_reasoning quarantine + production AST pin.
D7    — sensorium_wave_feed: packet→ψ, superpose, ρ via WaveManifold only.

Serve quarantine extended for all new modules. Fidelity + ADR-0242 +
runtime_contracts honesty pass. Suite: 118 related tests green.

Single macro-phase commit per plan policy (no micro-PRs).
2026-07-14 21:08:02 -07:00
Shay
bbd3b6678f feat(adr-0242): Drive V1 cert discipline + doc align five vectors
Close the gap between cohesion packing/search and Drive ADR-0242:

D0 — Expand ADR-0242 to five-vector + sovereignty thesis (title matches Drive).
D8 — Land docs/analysis/fibonacci_applications_in_core_substrate.md.
D1 — FibonacciSearchCertificate | OptimizationFailure (never bare float);
     content-addressed cert_id; dual-run stable digest.
D2 — propose_kappa_from_search / goldtether.propose_kappa_line_search;
     failure → baseline κ=1.0 (no state mutation).
D4 — ALLOCATOR_VERSION golden_angle_v1 + layout descriptor.

Fidelity §12 honest: V1/V3 green; V2 table-only; V4/V5 staged.
2026-07-14 21:08:02 -07:00
Shay
f123e0ea75 feat(wave): P10 Trace B energy boundary + multi-scale Fibonacci τ
Land ADR-0241 cohesion package P10:
- core/physics/wave_energy_boundary.py wires WaveManifold unitary residual
  into energy profiles and trajectory energy gates (no free-floating residual).
- fibonacci_tau_schedule: τ_n = F_n · τ_0 constants table + recency bands.
- crystallization_for_holographic_seal: E0–E1 + closed residual may
  SPECULATIVE-seal; dirty residual or hot classes refuse.
- Public fibonacci_number; serve quarantine includes wave_energy_boundary.
- Fidelity + ADR-0241 status updated.

Lane: pytest tests/test_adr_0241_wave_energy_boundary.py
      tests/test_adr_0242_fibonacci.py tests/test_energy.py
      tests/test_third_door_cohesion.py → green.
2026-07-14 21:08:02 -07:00
Shay
aa86f1ae35 feat(wave): P9 Trace A contemplation → SPECULATIVE holographic seal
Land ADR-0241 cohesion package P9:
- core/contemplation/wave_seam.py seals standing-wave modes only via
  HolographicVaultStore.seal_mode (SPECULATIVE); no seal_mode_reviewed,
  no direct VaultStore.store (INV-21).
- FindingKind.RESONANT_MODE_CANDIDATE + ContemplationFinding for teaching
  review corridor.
- reconstruct_as_hypothesis (full spectrum) vs reconstruct_as_evidence
  (min_status=COHERENT only; SPECULATIVE cannot masquerade).
- HolographicVaultStore.resonant_reconstruct with status filter.
- Serve quarantine extended to wave_seam; fidelity + ADR-0241 status.

Lane: pytest tests/test_adr_0241_wave_contemplation_seam.py
      tests/test_adr_0241_holographic_vault.py
      tests/test_third_door_cohesion.py → 38 passed.
2026-07-14 21:08:02 -07:00
Shay
7f6c497a21 fix(ci): path-stable env deltas so lane SHA pins stop thrashing
All checks were successful
smoke / smoke (-m "not quarantine") (pull_request) Successful in 14m5s
lane-shas / verify pinned lane SHAs (pull_request) Successful in 25m23s
Root cause of demo_composition pin thrash was not cancelled CI runs:
verify_no_global_state_mutation dumped full env_subset before/after
tuples into the lane report, embedding CORE_ENGINE_STATE_DIR temp
paths (and any ambient CORE_* host values). Each hermetic run then
produced a different report SHA.

Fix for good:
- Report key-level env deltas only (+/- / changed), with path-like
  CORE_* values redacted to <path> in the message text.
- Detection still uses raw snapshots (mutations are not ignored).
- Hermetic CORE_ENGINE_STATE_DIR for demo_composition and all
  verify_lane_shas invocations.
- Dual-run-stable re-pin: demo_composition e2ba2314…,
  public_demo 7d8ba0db… (matches CI-observed soft-budget SHA).
- Drop dead CORE_SHOWCASE_SKIP_BUDGET workflow env (soft is default).
- Tests pin the delta format and hermetic-path stability.

Lane: python scripts/verify_lane_shas.py → 9/9 match.
2026-07-14 17:41:04 -07:00
Shay
ed54f8d7a3 feat(wave): non-vacuous chiral spinor charge path (ADR-0241 P8)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Has been cancelled
lane-shas / verify pinned lane SHAs (pull_request) Has been cancelled
- Implemented design (A) for P8: odd-capable mixed-parity spinor packets
  produce a strictly non-vacuous and informative chiral charge
  Q = <ψ I_5 ~ψ>_0 that measures correlation between the even and odd-dual parts.
- Proved via TDD that Q is non-vacuous on mixed-parity spinors and strictly
  conserved under left unitary rotor multiplication.
- Updated wave_manifold.py docstrings to clarify that while Q is structurally
  vacuous for even field-states (retiring #19), it is fully functional for
  general spinors.
- Flipped W4 in the fidelity scorecard to GREEN and updated ADR-0241.
2026-07-14 14:42:54 -07:00
Shay
8a5b0fb392 fix(wave): clean polar docstring escapes (P7 polish)
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Has been cancelled
lane-shas / verify pinned lane SHAs (pull_request) Has been cancelled
2026-07-14 14:35:18 -07:00
Shay
d138521c2d docs(adr-0241): polish P7 polar demotion — stale deferred cleanup
Clarify grade-1 polar remains theoretically valid; multi-grade analytic
polar retired; conjugacy is authority. Drop stale packing deferred line.
2026-07-14 14:34:58 -07:00
Shay
3086e9a4d9 feat(adr-0242): Golden-Angle atlas packing + Fibonacci section search
Some checks failed
smoke / smoke (-m "not quarantine") (pull_request) Has been cancelled
lane-shas / verify pinned lane SHAs (pull_request) Has been cancelled
Integrate Gemini ADR-0242 implementation with adversarial hardening:
CGA null-point separation pin (d_min=0.12), fail-closed Fibonacci search
with fixed budget and unimodality checks, serve quarantine still held,
ADR-0242 Proposed (not pre-accepted), fidelity ledger flip to green.
2026-07-14 14:24:53 -07:00