30c905dcb0f8b272123ac85fbac8eb82fe2cd169
The manifest-stamping RUN's multi-line jq filter lacked Dockerfile line continuations (newlines inside shell quotes do not continue an instruction), so the first real docker build died with 'unknown instruction: |'. Join the filter with backslash continuations — the parser strips them, jq receives one line. shell/corpus/overhead.py is the M3 <3% wall-clock gate harness: alternating bash/nash corpus rounds (observation spooling on for nash), median totals. Co-Authored-By: Claude Fable 5 <[email protected]>
shell/ — nash, the Nucleic agent shell
Design doc: docs/NASH.md. Vendored fork base:
third_party/brush/ (brush, pinned at
brush-shell-v0.4.0; fork patches are marked with // nash: comments).
nash/— the shell binary (M0: transparent embedding of the brush CLI).nash-observe/— event model, taps, and transport (lands in M1).corpus/— transcript-replay compat harness:replay.pyruns every command incorpus.jsonlunder bash and nash in identical fresh workspaces and diffs exit/stdout/filesystem (stderr reported separately). Divergences are tracked incorpus/DIVERGENCES.md.
Build & test:
cargo build --release # binary: target/release/nash
python3 corpus/replay.py --nash <path> # M0/M3 gate: >= 99% parity
Languages
Rust
79.6%
Python
20.4%