Skip to content

Add CLAUDE.md with project architecture and dev workflow - #1

Merged
tacio merged 2 commits into
hope-architecture-phase2-14694939341504182922from
claude/init-xdzkil
Jun 26, 2026
Merged

Add CLAUDE.md with project architecture and dev workflow#1
tacio merged 2 commits into
hope-architecture-phase2-14694939341504182922from
claude/init-xdzkil

Conversation

@tacio

@tacio tacio commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Documents the Mojo-only, zero-ML-library, SIMD/ES constraints and maps
the core HOPE/Esper modules for future Claude Code sessions.

claude added 2 commits June 26, 2026 20:57
Documents the Mojo-only, zero-ML-library, SIMD/ES constraints and maps
the core HOPE/Esper modules for future Claude Code sessions.
Toolchain: migrate all core/runtime code to Mojo 1.0.0b2 (def, comptime,
std.-qualified imports, new UnsafePointer/alloc API, derived Movable). The
stdlib Tensor type is gone, so grids/weights are now raw arena/pointer-backed
buffers — which also fixes the arena design below.

Correctness:
- esper_evolution: replace the constant epsilon=0.1 mock with real Gaussian
  noise + antithetic (mirrored) sampling; W_fast += alpha/(2*N*sigma)*grad.
  Mirroring centres the fitness; guard degenerate N<=0 / sigma==0. The ES now
  measurably converges (test_es: MSE 5.875 -> 2.3e-4).
- hope: HopeNode is now POD (raw weight slices into the arena + inline child
  indices), so HopeArena can host nodes via init_pointee_move with no per-node
  heap alloc or leaks (previously it bump-allocated non-POD Tensor-owning nodes
  — uninitialised/leaking). Add prim_shift + op-code dispatch and a real
  primitive forward pass in forward_with_learning (was an identity copy).
- hope: update_fast_weights now uses the slow weights as an L2 anchor
  (previously dead loads); forward_with_learning reuses one gradient buffer
  instead of alloc/free per demonstration.
- arc_io: validate the .bin header against the file length (was an unchecked
  out-of-bounds memcpy on malformed input).
- arc_compiler: use splitext so dotted task ids aren't truncated.

Infra:
- Add src/main.mojo end-to-end driver.
- Tests import the real src modules via `-I src` (test_arena no longer
  duplicates HopeArena); add test_fitness, test_es, test_io.
- run_tests.sh globs tests + runs the driver; add CI workflow (format + tests);
  add .gitignore; pin flake.nix to mojo 1.0.0b2 from PyPI.
- Update CLAUDE.md / README.md for the 1.0 toolchain and new architecture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011P4hdhSoWdosTy2n5qQwb6
@tacio
tacio merged commit 4ca2f0e into hope-architecture-phase2-14694939341504182922 Jun 26, 2026
2 checks passed
@tacio
tacio deleted the claude/init-xdzkil branch June 26, 2026 22:23
tacio added a commit that referenced this pull request Jul 3, 2026
…e roadmap

The single jointly-fit geometry+colour memory hit an irreconcilable
soft/sharp coupling (geometry ES needs a soft gather, recolor needs sharp
bins; a free colour table absorbs geometry error). Recorded as a negative
result per the stone-soup discipline; development paused for a literature
pass. New docs/RESEARCH-NOTES.md maps the findings onto Esper (energy-based
compositional inference; Schug identifiability conditions for an emergent
pipeline; learned decoupling; latent program spaces); ROADMAP Next #1
rerouted to energy composition, Beyond-ARC horizon fleshed out, two new
working principles; JOURNAL tells the full story.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tacio added a commit that referenced this pull request Jul 26, 2026
All three pre-registered STOP conditions trip independently at the 3-seed
median: MK_room(32)=0.0, CK_room(32)=0.0 and CK_room(128)=-0.114, SK_room(32)=
-0.026 and SK_room(128)=-0.044 (all <= their bars). GO fails 0/5. The
compute-matched IDSEED control shows warm on par with or worse than a bare
near-identity init on the identical rollout schedule; SCRAMBLED sometimes
clearly beats warm (seed 2 room B=32, by ~0.13) -- the refuting controls
worked in the failing direction.

Combined with Gate 001's clean ~0 margin under the one-step objective, the
W1-prior-as-warm-start lever is now closed under BOTH registered objectives
for Phase-D Increment 2. The insurance secondary (carried over from Gate
001's surviving conditional) is NOT TESTABLE here: 0/15 degenerate reps in
every arm at room B=32, traced to a floor in the RA64 metric on room rather
than Stage 0 rescuing the fit (seed 2's one-step diagnostic learned nothing
either, yet RA64 still read ~0.09 for every arm including the untouched raw
prior).

Harness discipline-reviewed clean pre-run; the Result section was
independently re-audited post-run against the raw scratch data (medians,
bar logic, insurance spot-check all CONFIRMED), with one honest-narrative
hedge applied before commit. docs/gates/002-wm-prior-rollout.md,
docs/JOURNAL.md, docs/ROADMAP.md (re-open levers #1/#2 marked SPENT; next
rung unscheduled).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013PCPDmZqxgmyrs5q6CefE8
tacio added a commit that referenced this pull request Jul 26, 2026
…how, don't tell" value added

The MVV's vision had decayed into a changelog: every Phase D outcome since
2026-07-14 was appended into the "Direction clarification" bullet, and the
horizon it described (ARC as north star) predated the evidence — five gated
rungs plus the 2026-07-20 four-literature study round converged on "the
repertoire's index transfers; flat weight priors don't; transfer exists only
between worlds built to share recombinable structure."

User decisions this session resolved the study round's "back to the user"
fork: the modularly-varying-goal world family (candidate #5) becomes the
mid-term centerpiece — the Gauntlet — preceded by the two cheap gates
(#1 transferability-proxy retrofit, #3 CBR retain); a communication value
joins the six (value 7, "Show, don't tell": every booked result ships a
visible, reproducible artifact); family shape = sub-goal variants on the
sandbox substrate (clear-a-path / stack-N / seal-a-region) plus one marquee
sokoban-like world.

ROADMAP: Vision v2 (Vision T transfer curve; Vision A background scoreboard;
Vision B one-liner), ledger moved (not deleted) into Phase D — Gate 002 and
the study round now have their own Phase D entries; new "Objectives — short /
mid / long horizon" section (S1–S3, M1–M5, L1–L4); "Next" retitled "Vision A
rung ledger (background)"; "Beyond ARC-AGI 2" → "Beyond the Gauntlet";
mission gains the carries-forward sentence. README status de-staled to defer
to ROADMAP. CLAUDE.md Python sanction widened to the offline viz toolchain
(tools/viz/, objective S3). JOURNAL entry 2026-07-21 00:15. No src/ touched;
S1/S2 gates register via /gate when they start.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

2 participants