22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
# Nucleic fork of brush
|
|
|
|
Vendored copy of [reubeno/brush](https://github.com/reubeno/brush), pinned at
|
|
tag **`brush-shell-v0.4.0`** (upstream commit `96a26d0`), consumed by the
|
|
`shell/` workspace to build **nash**, the Nucleic agent shell
|
|
([docs/NASH.md](../../docs/NASH.md)).
|
|
|
|
Every fork change is marked with a `// nash:` comment. Current patches:
|
|
|
|
| File | Change |
|
|
| --- | --- |
|
|
| `brush-shell/src/productinfo.rs` | `PRODUCT_NAME` → `nash`; display string identifies the fork |
|
|
| `brush-shell/src/args.rs` | usage/version strings rebranded |
|
|
| `brush-core/src/expansion.rs` | corpus divergence D1: added `ExpansionPiece::LiteralText` — literal unquoted text is never field-split (bash splits only expansion results) but keeps glob characters active. Upstream candidate. |
|
|
|
|
Planned (M1, per docs/NASH.md §4.2): `brush-core` `Gate` trait (verdict-shaped
|
|
observation hooks) — the only substantial divergence from upstream.
|
|
|
|
Updating: diff against the upstream tag, re-vendor, re-apply `// nash:` patches
|
|
(grep for the marker), then re-run `shell/corpus/replay.py` and the brush compat
|
|
suite (`cargo test -p brush-shell --test brush-compat-tests`).
|