Merge nucleic/nimble-umber-toad-20h7 into dev
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# nucleic-brush
|
||||
|
||||
A fork of [**brush**](https://github.com/reubeno/brush) — the Bo(u)rn(e) RUsty SHell by
|
||||
reuben olinsky — carrying the patches Nucleic needs to build **nash**, its agent shell.
|
||||
reuben olinsky — carrying the patches Nucleic needs to build **hash**, its agent shell.
|
||||
|
||||
Pinned at upstream tag **`brush-shell-v0.4.0`** (commit `96a26d0`).
|
||||
|
||||
@@ -18,11 +18,11 @@ commands, their exits, and the data crossing pipes and redirections — from ins
|
||||
shell rather than by wrapping it. That is what these patches provide. Everything else
|
||||
is upstream brush, unmodified.
|
||||
|
||||
Every divergence carries a `// nash:` comment, so the complete diff against upstream is
|
||||
Every divergence carries a `// hydrashell:` comment, so the complete diff against upstream is
|
||||
one grep away:
|
||||
|
||||
```console
|
||||
$ grep -rn "nash:" --include="*.rs" --include="*.yaml" .
|
||||
$ grep -rn "hydrashell:" --include="*.rs" --include="*.yaml" .
|
||||
```
|
||||
|
||||
### 1. The observation gate
|
||||
@@ -65,12 +65,12 @@ and belong upstream:
|
||||
|
||||
### 3. Branding
|
||||
|
||||
The binary this workspace builds is still named `brush`, but identifies itself as nash
|
||||
The binary this workspace builds is still named `brush`, but identifies itself as hash
|
||||
so an agent-facing shell doesn't misrepresent what it is:
|
||||
|
||||
| File | Change |
|
||||
| --- | --- |
|
||||
| `brush-shell/src/productinfo.rs` | `PRODUCT_NAME` → `nash`; display string reads `nash (Nucleic agent shell, brush fork) …` |
|
||||
| `brush-shell/src/productinfo.rs` | `PRODUCT_NAME` → `hydrashell`; display string reads `hydrashell (hash — Hydrangea agent shell, brush fork) …` |
|
||||
| `brush-shell/src/args.rs` | usage and version strings rebranded |
|
||||
| `brush-core/src/prompt.rs` | `\$` renders the atom sign `⚛` (U+269B) for non-root; root still shows `#` |
|
||||
|
||||
@@ -80,8 +80,8 @@ current verification status.
|
||||
## How it's consumed
|
||||
|
||||
Nucleic's `shell/` workspace depends on `brush-shell` and `brush-parser` by path. The
|
||||
`nash` binary is a thin wrapper that loads a root-owned operator policy, installs its
|
||||
`Gate` implementation (`nash-observe`), flushes events at exit, and otherwise defers
|
||||
`hydrashell` binary is a thin wrapper that loads a root-owned operator policy, installs its
|
||||
`Gate` implementation (`hydrashell-observe`), flushes events at exit, and otherwise defers
|
||||
entirely to brush's bash-compatible CLI. None of the fork's crates are published; the
|
||||
`brush` binary built from here is a development artifact.
|
||||
|
||||
@@ -105,7 +105,7 @@ ones a baseline run reproduces, plus the 3 IFS tests the expansion fix repairs.
|
||||
|
||||
1. Diff this tree against the pinned upstream tag.
|
||||
2. Re-vendor the new tag.
|
||||
3. Re-apply the fork patches — `grep -rn "nash:"` on the old tree enumerates all of
|
||||
3. Re-apply the fork patches — `grep -rn "hydrashell:"` on the old tree enumerates all of
|
||||
them.
|
||||
4. Re-run the brush compat suite and Nucleic's transcript-replay corpus.
|
||||
5. Update the pin and the patch table in [`NUCLEIC_FORK.md`](NUCLEIC_FORK.md).
|
||||
|
||||
Reference in New Issue
Block a user