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

38 lines
1.3 KiB
Markdown

# 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`](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.