Skip to content

Research: WaveLock Curvature-Capacity Core — CC-Core-v0 (A) + CC-Core-v1 (B), formalize/implement/attack/falsify - #19

Merged
rickyjreyes merged 44 commits into
masterfrom
research/curvature-capacity-wavelock
Jun 18, 2026
Merged

rickyjreyes merged 44 commits into
masterfrom
research/curvature-capacity-wavelock

Conversation

@rickyjreyes

@rickyjreyes rickyjreyes commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

A research track making the "curvature-capacity" intuition precise, implementing
path-binding candidates, and adversarially falsifying them. Design A
(wavelock/pde_hash) is untouched
; Phase 8J/8K, CC-Core-v0-A, and CC-Core-v1-B
pinned vectors are all preserved. Files only added.

Verdict (CC-3): Merge research-only — Candidate B (CC-Core-v1-B) survives the
protocol-level singular audit; no security claim; unsafe for production
pending a Layer-3 hardness result. Do not merge to master as production.

Candidates

  • CC-Core-v0-A (wavelock/curvature_capacity/): j_A = u + γuv + ηu² + ζv. Frozen
    baseline (docs/CC_CORE_V0_BASELINE.md).
  • CC-Core-v1-B (wavelock/curvature_capacity_v1/): linear j_B = u(1+γv). Current
    primary experimental candidate. Distinct D_TAG/VERSION.

Phase CC-3 — singular reachability & merge readiness

The singular value is v_star = −γ⁻¹ mod p = 195225786 (where j_B(·, v_star) ≡ 0).

  • Normative protocol frozen (docs/CC_CORE_V1_NORMATIVE_PROTOCOL.md): byte
    messages, 192-byte blocks, rate-only injection (cells 0..63 + CAP), T=32 rounds/block.
  • Round-0 unreachability [theorem]: every coordinate of ψ_0(m) is ≤ 16,777,589
    or a fixed constant — all < v_star. So no valid message reaches v_star before the
    first wave round (z3 UNSAT corroboration). The constant preimage c·1 (c=357959172)
    is likewise not message-reachable as ψ_0.
  • Round-1 reachability [computer-assisted theorem]: z3 found a valid 191-byte
    message with ψ_1[20] = v_star (exactly one singular coordinate), replay-verified
    through reference == optimized. So coordinate reachability is YES at round 1.
  • The hit is harmless [theorem + bounded evidence]: it zeroes only the round-0
    wave-injection, but the same rate bytes already injected into C at absorption
    (C[c] += G·elem); round-1 injection is nonzero; 0/64 single-cell perturbations
    collide and the cell-20 cubic has only one in-window root (no same-neighbour pair).
    No valid-message structural collision found.
  • Multi-coordinate / full-lattice / persistent: unresolved (z3 multi-cell timeouts;
    annealing count 0; 0 incidental hits across all bounded/structured messages).

Details: docs/CC_CORE_V1_REACHABILITY_MODEL.md, docs/CC_CORE_V1_VSTAR_REACHABILITY.md.
Artifacts: vstar_one_round_preimages, vstar_message_solver, vstar_bounded_exhaustive,
vstar_guided_search, vstar_collision_consequence, cc3_ci_status (all in
curvature_audit/artifacts/).

CI (actual, not "green locally")

GitHub Actions audit-fast runs on PR #19 (push + pull_request events) and completes
with conclusion success on the CC-3 head (run ids 27788159667 / 27788158440;
cc3_ci_status.json). The legacy combined-status API is empty by design (Actions
reports via check-runs, not commit statuses) — that was the only "missing status", and
it is not a failure. 205 fast tests pass.

Research-only merge criteria — all met

Design A untouched ✔ · Candidate A frozen ✔ · explicit versioning ✔ · all fast tests
pass ✔ · actual CI checks pass ✔ · no valid-message structural collision ✔ · v_star
round-0 unreachable + round-1 reachable-but-harmless ✔ · code isolated, no production
import ✔ · "no security claim" stated ✔ · PR labeled experimental ✔.

A Layer-3 hardness proof is not required to merge research-only, but is required
before any security/production claim. Next Layer-3 problem: a genuine lower bound on
second-preimage/collision cost (untouched for both candidates).

🤖 Generated with Claude Code

https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22

rickyjreyes and others added 30 commits June 18, 2026 10:45
Audit and classify the existing P-vs-NP / curvature / inevitability claims into
exact definition / proved theorem / observation / conjecture. Establish that no
exponential attack-cost or heat lower bound is proved. Define measurable
curvature/signature functionals on lifted integers and show curvature magnitude
is lifting-convention dependent (diagnostic, not a cryptographic invariant).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Three explicit resource models (R_comp, R_phys, R_machine) with concrete
numbers. Forward cost is polynomial O(blocks*T*N^2). Landauer/Margolus-Levitin/
Bremermann/Bekenstein bounds constrain an implementation, not the problem; the
heat argument is interpretive, not a hardness proof.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
CC-Core-v0: co-evolve the unmodified Design A wave field with a path-binding
accumulator field C (Candidate A) so the digest commits to the ordered
trajectory, not only the terminal state. Reference + optimized (byte-parity),
hash-free. Design A is reused verbatim and untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Wave round byte-identical to frozen Design A; reference/optimized parity; pinned
CC-Core-v0 vectors; Design A digests and the eigenmode-collision theorem pinned
so any regression in the frozen primitive fails here too.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Central result: Design A eigenmode states all collapse to terminal wave 0 yet
yield 9/9 distinct trajectory digests (min Hamming 116). No accumulator
zero-preimage (530k checked), no symmetry preserves the digest, zero-wave digest
is non-degenerate. Pebble property holds (100% distinct over 1200 pairs);
truncated collisions generic; avalanche 127.7; low bias. All budgeted, no proof.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Curvature saturates in T (no exponential growth) and is ~constant in message
length; exponential-fit R^2 ~ 5e-5. The 256-bit description size is fixed. No
measured quantity grows exponentially -- 'exponential curvature' is unsupported.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Toy coupled cores (N=2; p=5,7,11). The accumulator reduces wave-round collisions
by a large factor but does NOT eliminate them (residual dominated by N=2
neighbour degeneracy, per Design A Phase 8B); coupled-round injectivity at N=16
is unresolved and not extrapolated. z3/Groebner unavailable (limitation).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Full audit runner + INDEX.json. Results report with the 20-point final report and
decision-criteria checklist. Verdict: Experimental -- mechanism partially
supported (Design A collisions separated, no bypass within budget) but no
lower-bound theorem, curvature is a diagnostic only, heat argument interpretive.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
Isolated workflow: forbidden-import guard, parity + pinned vectors + exact trace,
Design A preservation, eigenmode regression, full fast tests. No large searches
in ordinary CI (heavy suite lives behind run_audit.py).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqTM7VZ2gMtmTmwLH6vx22
…h binding

Enumerates all 47 zero-preimage states (r=1: 8, r=2: 36, r=4: 2, zero: 1)
from periodic-tile Laplacian eigenvectors up to 4x4 tiles. Every state is
verified to map to zero under the Design A wave round. All 47 trajectory
digests are distinct (min pairwise Hamming 98), superseding the 9-state
representative result from Phase 1.

Artifacts:
  curvature_audit/artifacts/phase8j_full_collision_family.json
  curvature_audit/artifacts/full_family_path_binding.json
Documents the complete algebraic structure of Phi_t:
- j(u,v) degree: 2 in u (ETA*u^2), 1 in v
- Proved 2-to-1: j(u,v) = j(u',v) for u+u' = -(1+gamma*v)/ETA mod p
- Degree growth upper bound: heuristically exceeds p-1 by round 4
- Candidate A vs B trade-off table (degree vs injectivity in u)
- Known structural weaknesses table
Six attack categories:
1. One-round collision search (no collision in 6000 random + structured)
2. Cancellation family: 500/500 u-pairing partners confirmed (provable 2-to-1)
3. Fixed-point search: none found in 5000 candidates
4. Two-cycle search: none found in 3000 candidates
5. Degree-growth trace: heuristic upper bound saturates Fermat cap by round 4
6. ETA pairing attack: 0 digest collisions in 200 trials

All negative results carry stated budgets; none is a proof of absence.
Documents six candidate shortcuts (skip wave, backward inversion, MITM,
cycle detection, low-degree solve, 2-to-1 exploit); none demonstrated.
Per-cell backward inversion is algebraically solvable but the full
coupled 256-variable degree-2 system was not invoked. No cycle in 1000
steps. Shortcut computation artifact records bounded negative results.
Defines four protocol variants (A: plain digest, B: trajectory-state,
C: prefix-binding, D: interactive sketch) with explicit soundness and
zero-knowledge status (all unproved).

Formally separates three distinct claims:
  - Path binding for eigenmode family: CONFIRMED (47/47 distinct, min HD 98)
  - Trajectory uniqueness: UNRESOLVED (toy-scale collisions found)
  - Hardness of inversion: UNPROVED (no lower bound)

These must not be conflated in any security assertion.
Extends Phase 1 reduced_models (which fixed C) to enumerate the full
joint (psi, C) state space:
  p=3, N=2 (6561 joint states): 5562 coupled collisions -- NOT injective
  p=5, N=2 (390625 joint states): 375073 coupled collisions -- NOT injective
  p=7, N=2: too large (5.76M) for full enumeration

This is a stronger negative finding than Phase 1's C-fixed-slice analysis.
N=2 degeneracy (up==down, left==right on 2x2 torus) is acknowledged and
results are NOT extrapolated to N=16.
Candidate A (CC-Core-v0): j_A = u + GAMMA*u*v + ETA*u^2 + ZETA*v
  - Separation: 47/47 (min HD 98)
  - Structural flaw: provable 2-to-1 in u (j_A(u,v) = j_A(u',v))
  - Avalanche mean HD: 127.2

Candidate B (ETA=0, linear injection): j_B = u + GAMMA*u*v + ZETA*v
  - Separation: 47/47 (min HD 105)
  - Injective in u for all v with (1+GAMMA*v) != 0 (prob ~1/p)
  - Avalanche mean HD: 128.0

Trade-off documented: Candidate B avoids the 2-to-1 weakness but has lower
algebraic degree. Adopting Candidate B requires a spec revision.
test_phase_cc1.py covers:
  - Complete family: count (47), per-r counts, all verified, all distinct
  - Known amplitudes presence (r=4, r=2, r=1)
  - Design A preservation guard
  - Full-family trajectory binding: all distinct, min HD >= 64
  - Accumulator algebra: 2-to-1 proved, rho_t varies, weights distinct
  - Prover/verifier: determinism, consistency, claim separation
  - Candidate B: eigenmode separation, ETA=0 documented
  - Reduced exhaustive: artifact exists, wave non-injective at toy scale

CI: added Phase CC-1 step before the full fast-test step.
…ndation

run_audit.py: adds five Phase CC-1 modules to the full suite runner.

WAVELOCK_CURVATURE_CAPACITY_RESULTS.md extended to 25 points:
  - Points 19-25 cover Phase CC-1 findings
  - Full decision-criteria checklist updated
  - PR #19 merge recommendation added

Merge recommendation: DO NOT merge as-is. Retain as draft until at least one:
  1. Coupled-round injectivity resolved at N=16 (prove or find explicit collision)
  2. ETA 2-to-1 weakness resolved (adopt Candidate B, or prove no bypass)
  3. A restricted-model lower bound established

Verdict remains: Experimental
docs/CC_CORE_V0_BASELINE.md records the immutable Candidate A reference:
exact equations, constants, the proved generic 2-to-1 injection relation,
the 47-state separation (min HD 98), reduced-model collisions, shortcut
audit, allowed/forbidden claims, and pinned digests.

test_candidate_a_frozen.py fails if any Candidate A equation, constant, or
pinned output changes. Candidate A stays reproducible for A/B comparison.
docs/CC_CORE_V1_SPEC.md and wavelock/curvature_capacity_v1/spec.py define the
linear-injection candidate j_B(u,v) = u + GAMMA*u*v = u*(1+GAMMA*v) (ETA=ZETA=0).

All field/lattice/wave/weight/round-constant/IV/squeeze parameters are identical
to Candidate A to isolate the single injection change for A/B comparison.
Message-level domain separation via distinct D_TAG (WCC2) and VERSION (v1).

Records the new singular hyperplane v_star = -GAMMA^-1 mod p = 195225786 where
j_B(u, v_star) = 0 for all u, to be audited in Part IV before any claim.
wavelock/curvature_capacity_v1/: state, commit (j_B linear injection), evolve
(frozen Design A wave round + coupled round), reference (pure Python) and
optimized (NumPy) cores, package init.

Wave round verified byte-identical to Design A (20 random states). Reference and
optimized agree byte-for-byte. Does not touch Candidate A or the frozen primitive.
docs/CC_CORE_V1_ALGEBRA.md answers the eight mandatory structural questions:
j_B is linear in u with slope (1+GAMMA*v); injective in u for every v except the
unique singular value v_star = 195225786 where the slope is 0 and j_B collapses
to 0 for all u. Zero set is exactly {u=0} U {v=v_star} (2p-1 pairs, measure ~2/p).

Replaces Candidate A's generic everywhere-present 2-to-1 fold with a single
measure-1/p singular hyperplane. No algebraic-superiority claim made yet.
curvature_audit/candidate_b_singular_hyperplane.py + artifact. Findings:
- j_B(u, v_star)=0 for all u confirmed (collapse).
- v_star reachability: 0 hits in 1.28M random coordinates; 0 of 47 family states;
  0 transits over T rounds from 400 states (no attractor); v_star not a fixed point.
- Constructible: unique constant state c=357959172 maps full lattice to v_star
  for ONE round (cubic F(c)=v_star has a single GF(p) root).
- Path erasure: NONE. Perturbing the full-collapse state changed the digest in
  256/256 trials; the singular round zeroes only one round's injection.
- Singular set measure ~1/p, same order as Candidate A's injection-zero set.

Candidate B does not fail the singular-hyperplane decision criterion.
All 47 zero-collapse states produce distinct Candidate B trajectory digests
(47/47, min HD 105, max 157, mean 128.06) -- acceptance condition met. Records
clustering by eigenvalue (r) class and amplitude label, plus cross-candidate
check (zero state matches A; all nonzero states differ). Min HD 105 > A's 98.

Described as separation of the known collision family, NOT collision resistance.
Identical messages/trajectories/seeds/budgets. Findings:
- Structural: A is generic 2-to-1 in u; B is injective in u off the single
  v_star hyperplane. B zero set {u=0}U{v=v_star}; A zero set is a parabola.
- Avalanche: A mean 128.6, B mean 127.6 (both ~128). Bias: both max|z|~3.3.
- Truncated 24-bit: neither collides in 4000 (generic). Order sensitivity: 80/80.
- Runtime: A 42.2ms, B 40.3ms per 1-block digest. Memory identical.
- Reduced joint (p=3 full): A img 999 maxmult 33; B img 1054 maxmult 48 (comparable).
  p=5 identical; p=7 slice comparable. Neither injective on N=2 toy.

Decision deferred to Part XV (not made on Hamming distance alone).
Coupled map (psi,C)->(psi',C') over p in {3,5,7,11,13} (full joint at p=3,
psi-slice at larger). Findings:
- B image size and max preimage multiplicity comparable to A at every prime;
  at p=11 B is injective on the slice (maxmult 1 vs A's 2).
- Singular-coordinate occupancy (v==v_star) tracks the uniform rate 1/p exactly
  at every prime; collisions do NOT concentrate on the 1+gamma*v=0 line.
- Neither candidate injective on N=2 toy (degeneracy, not extrapolated).

B does not show substantially worse multiplicity than A.
sympy 1.14.0 and z3 4.16.0 now available. Results:
- SymPy: j_B factors as u*(1+GAMMA*v); injection degree 1 in u (vs A's 2).
- z3 collision variety j_B(u,v)=j_B(u',v'): SAT (codimension-1, expected).
- z3 computer-assisted result: for fixed v != v_star, j_B(.,v)=j_B(.,v) with
  u != u' is UNSAT -> injective in u off the singular hyperplane.
- z3 collapse at v_star: SAT (all u give 0).
- z3 one-round coupled 2x2 collision over the REAL prime: UNKNOWN (timeout).
- z3 one-round 2x2 preimage over the real prime: UNKNOWN (timeout).

Timeouts are explicitly NOT security results; full N=16/T=32 is beyond solvers.
docs/CC_CORE_V1_SHORTCUT_AUDIT.md + module + artifact. Decisive finding: the
scalar accumulator degree in u0 is IDENTICAL for A and B ([4,12,36,108,...]),
because the shared cross-term gamma*u*v (degree 4 in u0, since v=F(psi) is degree
3) dominates A's removed eta*u^2 (degree 2) and zeta*v (degree 3) terms. The
shared self-square A_C*cd^2 then triples the degree each round.

So B's lower INJECTION degree does NOT lower the TRAJECTORY degree or the
backward-inversion (MITM) degree. Linear predictor ~50% (no shortcut); not affine
at 2 rounds; no blockwise factorization. Shortcut resistance no worse than A.
docs/CC_CORE_V1_RESTRICTED_BINDING.md proves, with explicit rigor labels:
- [theorem] j_B(.,v) is a bijection in u for every v != v_star (field nonzero
  multiplier), corroborated by z3 UNSAT.
- [theorem] the Design A wave round F is odd; hence for every Phase 8J sign pair
  (+s*sigma, -s*sigma) the first-round Candidate B injection differs at EVERY
  cell by exactly 2*s*sigma[x] != 0, INDEPENDENT of the wave output (cannot be
  cancelled). Candidate A's analogous separation 2s*sigma+2*zeta*F could vanish.
- [exhaustive finite verification] all 47 family digests distinct (min HD 105).

test_candidate_b.py (32 tests): parity, pinned vectors, j_B equation, v_star,
collapse, injectivity off-hyperplane, oddness, sign-pair 2u separation, 47-state
separation, order/symmetry, domain separation from A, no path erasure.
Forbidden-primitive guard now also scans wavelock/curvature_capacity_v1.
Appends a Phase CC-2 section (CC-1 content preserved). Adds mandatory version
identifiers CC-Core-v0-A and CC-Core-v1-B with distinct D_TAGs guaranteeing
cc_hash domain separation; verifiers MUST reject mismatched-version transcripts.

Candidate B becomes the provisional experimental candidate (survived the
singular-hyperplane audit and full-family regression), with no security claim.
Specifies normative protocol, prover/verifier roles, verifier complexity
(~6.55e5 field ops/block), transcript sizes, and failure conditions. Curvature
metrics are diagnostic, never consensus-critical.
CI adds separate steps: Candidate A frozen regression; Candidate B parity +
pinned vectors + j_B equation + v_star + collapse + injectivity; singular-
hyperplane no-erasure + restricted-binding theorems; full 47-state binding;
domain separation + frozen Design A guard. Heavy solver/exhaustive runs stay
out of CI (they live in run_audit.py). Path triggers include curvature_capacity_v1.

run_audit.py now also runs the six CC-2 modules. Full fast suite: 181 tests pass.
Appends Phase CC-2 section to the results report (CC-1 content preserved).
Three-layer separation (path preservation / algebraic binding / hardness) kept
strict: no conclusion crosses a layer. 23-point final report answers candidate
equation, v_star (195225786), reachability (bounded: unreachable; one constant
construction), no path erasure, 47/47 separation (min HD 105), structural and
degree comparison (trajectory degree identical [4,12,36,108]), reduced-model and
shortcut parity, fixed points/cycles (none), solver results (z3 injectivity
UNSAT; coupled timeout), restricted theorems, protocol version, 181 tests, CI.

FINAL VERDICT: Candidate B preferred experimentally -- removes Candidate A's
generic 2-to-1 weakness; general hardness unresolved (Layer 3 untouched). PR #19
stays draft (research-only); both candidates retained. Residual open item: prove
or refute global unreachability of v_star under the message protocol.
@rickyjreyes rickyjreyes changed the title Research: WaveLock Curvature-Capacity Core (CC-Core-v0) — formalize, implement, attack, falsify Research: WaveLock Curvature-Capacity Core — CC-Core-v0 (A) + CC-Core-v1 (B), formalize/implement/attack/falsify Jun 18, 2026
docs/CC_CORE_V1_NORMATIVE_PROTOCOL.md fixes the deterministic map
m -> psi_0(m) -> ... -> psi_T(m): byte domain, length bounds, 192-byte block
padding, byte->element packing (each packed elem in [0, 2^24)), IVs, the exact
absorption rule (only rate cells 0..63 + CAP cells written; cells 67..255 never
injected), per-block T=32 rounds with a non-resetting global round index,
finalization/squeeze, validity (byte strings only; arbitrary lattice states are
NOT valid inputs), and the four-level reachability stratification.

Records the exact structural fact: every coordinate of psi_0(m) lies in
[0, 16777397] U {fixed CAP/IV constants}, all < v_star = 195225786.
…e model

docs/CC_CORE_V1_REACHABILITY_MODEL.md defines four separate reachability
questions (coordinate / structured-subset / full-lattice / persistent) and
characterizes the post-absorption image R_0:
- exact: psi_0(m) is an affine byte-bounded image; rate cells 0..63 each range
  over 2^24 residues; cells 67..255 fixed at IV; CAP1=1464026030 fixed; not
  surjective; multi-block additively enlarges R.
- exact corollary: no coordinate of psi_0(m) equals v_star at round 0.
- approximate: F mixes R_0 toward per-coordinate uniform within a few rounds;
  per-coordinate v_star incidence ~1/p at rounds >=1; no attractor (empirical).
Every claim labeled exact / approximate / conjecture.
…ilies

Solves F(psi)[x]=v_star via GF(p) cubics (SymPy). For each sign-eigenvector
family F(s*sigma)[x]=sigma[x]*g(s), g(s)=s(1+D*lambda+A*B)-A*s^3; solving
g(s)=+/-v_star yields amplitudes placing v_star on a structured half-lattice
subset (e.g. checkerboard s=1200021354 -> v_star on exactly 128 cells, verified).
The constant family root is the unique c=357959172 (full-lattice F(c)=v_star).

Crucially SEPARATES algebraically-constructible math states from valid-message
reachable states: NONE of these structured/constant states is reachable as
psi_0(m), since absorption fixes cells 67..255 at IV (in [123,374]) and bounds
rate cells below 2^24 << v_star. Forward t>=1 reachability deferred to Parts V-VII.
Encodes actual message bytes as variables under the normative absorption map.
Results:
- Round-0 rate cell == v_star: UNSAT (confirms the exact theorem).
- Round-0 rate cell == c=357959172: UNSAT (above the 2^24 byte window).
- Round-0 fixed cell == v_star: UNSAT (cell holds the IV constant).
- Round-1 single rate coordinate == v_star: SAT. z3 found a 191-byte message;
  REPLAY through the real protocol confirms psi_1[20] == v_star exactly (1 cell).
  => v_star IS coordinate-reachable at round 1 by a valid message (witness pinned).
- Round-1 full constant c*1: UNSAT in one round (rate-controlled slab probe).

Coordinate reachability (question A) is therefore YES at round 1; structured/
full-lattice/persistent reachability remain open (Parts VI-VIII). Timeouts (none
here) would be UNKNOWN, not unreachability.
Batched wave trajectories over: all 1-byte messages; 1024 two-byte (reduced
alphabet); all binary-alphabet {0,255} messages of length 3-8 (504); and
structured families (all-zero, all-0xFF, alternating, repeated, counters,
periodic, mirrored, low-Hamming). Across the full multi-block wave trajectory:
0 incidental v_star hits; closest centered distance 46. Confirms incidental hits
occur at the ~1/p rate (essentially never for typical messages), consistent with
the Part V witness being solver-constructed. Bounded absence != global proof.
Simulated annealing over the 64 rate-cell injections (maximize round-1 v_star
count) reached count=0 (exact modular target is needle-in-haystack for continuous
search; best min centered distance ~4539). Direct z3 multi-cell attempts for 2,
3, 4 simultaneous round-1 v_star coordinates returned UNKNOWN (timeout) -- neither
SAT nor UNSAT, hence unresolved (NOT a reachability/unreachability result).

Only the single-coordinate Part V witness is confirmed. No multi-coordinate or
full-lattice singular state found. Full-lattice requires controlling the 192
never-injected cells (impossible at round 0).
For the confirmed witness (psi_1[20]=v_star): the round-0 wave-injection at the
hit cell is exactly 0 (erased), but the SAME rate bytes injected G*elem into C at
absorption -- so message information is NOT erased from the commitment. Next-round
injection at the hit cell is nonzero (sensitivity restored).

Collision attempts: 0/64 single-cell perturbations collide; the cell-20 cubic
F(u)[20]=v_star has only ONE message-reachable in-window root, so no same-neighbour
singular pair exists -> no collision constructible this way.

Classification: REACHABLE BUT HARMLESS IN TESTED CASES. No structural collision.
docs/CC_CORE_V1_VSTAR_REACHABILITY.md:
- [theorem] round-0 coordinate unreachability for EVERY valid message (every
  psi_0 coordinate <= 16777589 or a fixed constant, all != v_star=195225786);
  corollary: constant c*1 not reachable as psi_0. z3 UNSAT corroboration.
- [computer-assisted theorem] round-1 single-coordinate reachability: explicit
  replay-verified 191-byte witness with psi_1[20]=v_star.
- [theorem + bounded evidence] the singular hit is harmless: erases only the
  round-0 wave-injection while the bytes already entered C at absorption;
  sensitivity restored next round; no collision found.
- [exhaustive bounded verification] 0 incidental hits across bounded message sets.
- [unresolved] multi-coordinate / full-lattice / persistent reachability (z3
  timeouts; no witness).
…iteria + report

Reorganizes WAVELOCK_CURVATURE_CAPACITY_RESULTS.md to open with "Current Verdict
- Phase CC-3" (verdict, test count, CI status, reachability, merge recommendation,
allowed/forbidden claims). Phase 1 / CC-1 / CC-2 conclusions moved under a labeled
"Historical results" section; the stale "z3 not installed" note is confined to the
Phase-1 historical heading (z3/sympy are installed and used in CC-2/CC-3). History
is preserved, not deleted.

Appends the CC-3 research-only merge criteria (all met) and the 23-point final
report. FINAL VERDICT: Merge research-only -- Candidate B survives the protocol-
level singular audit; no security claim; unsafe for production pending Layer-3.
…tests

test_cc3_reachability.py (12 tests): exact v_star and constant preimage c;
round-0 unreachability bound; pinned 191-byte witness replays to psi_1[20]=v_star
(exactly one singular cell); round-0 injection zeroed at the hit; singular-hit
commitment sensitivity (digest changes); reference==optimized on the witness;
normative-protocol constants and padding; all byte strings valid; version/domain
separation; results-doc leads with Current Verdict - Phase CC-3 (stale-headline
guard). CI workflow gains an explicit CC-3 reachability step. 205 fast tests pass.
run_audit.py now also runs vstar_one_round_preimages, vstar_message_solver,
vstar_bounded_exhaustive, vstar_guided_search, vstar_collision_consequence
(heavy/solver runs stay out of ordinary CI).
…cess)

curvature_audit/artifacts/cc3_ci_status.json records the real CI result for
PR #19 at the CC-3 head: the audit-fast job ran on both push and pull_request
events and completed with conclusion SUCCESS (run ids 27788159667, 27788158440).

Resolves blocker #2: the legacy combined-status API is empty BY DESIGN (Actions
reports via check-runs, not commit statuses) -- so "no combined status" was not a
CI failure; the check-runs pass. All ten required check categories are covered by
CI steps. Fast suite: 205 passed. No workflow repair was needed (it triggers and
passes); the workflow already filters paths to the curvature packages and audit.
@rickyjreyes
rickyjreyes marked this pull request as ready for review June 18, 2026 21:00
@rickyjreyes
rickyjreyes merged commit a57c841 into master Jun 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant