Files
aish/CLAUDE.md
T
claude-noether 4310207738 Phase 0: scaffold tree + manifest
- README, .gitignore, CLAUDE.md (project conventions)
- docs/PHASE0.md — full Phase 0 manifest (locked substrate)
- 10 root .lua modules + 4 ffi/ bindings, all stubs raising NotImplemented
  with module-scoped responsibilities matching the manifest
- config.lua wired to current dirac/hossenfelder endpoints (qwen-coder-7b
  snappy/32k + cloud via OpenRouter through hossenfelder)

File names match docs/PHASE0.md §4 exactly. Module bodies fill in across
later phases; the tree shape is locked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 23:16:07 +00:00

1.3 KiB

CLAUDE.md — aish project conventions

This file is auto-loaded when any Claude session opens a clone of this repo.

Source of truth

docs/PHASE0.md is the locked substrate. Read it before making non-trivial changes. If a change touches §3 (technology decisions), §4 (directory layout), or §6 (broker contract), the change needs to be reflected in PHASE0.md and called out in the commit message.

Phase loop

This project follows the 8(+1) phase loop documented in mfritsche's home canon (feedback_dev_process.md in claude-noether memory). Each phase has its own document under docs/. Don't skip phases.

Loopbacks per the canon: 3→1, 7→4, any→0.

Module structure invariant

The file names listed in docs/PHASE0.md §4 are stable across phases. Later phases fill in module bodies; they do not rename files or restructure the tree. If you find yourself wanting to rename or split a module, that's a PHASE0.md amendment first.

No C extensions

LuaJIT FFI only. If you reach for a C extension to "make this easier", stop. The FFI bindings under ffi/ are extended in place.

Commit style

Short imperative subject, file-scoped. Example: executor: add cd interception via libc chdir. Body explains the why if non-obvious.

Co-Authored-By trailers on Claude commits per project canon.