Add CLAUDE.md with project architecture and dev workflow - #1
Merged
tacio merged 2 commits intoJun 26, 2026
Merged
Conversation
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
merged commit Jun 26, 2026
4ca2f0e
into
hope-architecture-phase2-14694939341504182922
2 checks passed
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the Mojo-only, zero-ML-library, SIMD/ES constraints and maps
the core HOPE/Esper modules for future Claude Code sessions.