Skip to content

Commit 7bdfa3c

Browse files
authored
docs(tau): reconcile the Tau alignment and parity plans with the code (#311)
Mark the already-merged items done (tau palette + chrome, frontend contract guard, --cwd, /login, transcript, .agents instructions) and record why the remaining items are not rho-only changes: the user catalog is flux-owned, and footer flattening changes behavior asserted by TestRenderStatusBar_TwoLineAtWidth120.
1 parent e77db14 commit 7bdfa3c

2 files changed

Lines changed: 26 additions & 23 deletions

File tree

‎docs/plans/rho-tau-alignment.md‎

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,39 @@ does the achievable parts:
3333
Tau's palette is a restrained dark theme: near-black panel, single muted
3434
accent, generous dim text, no heavy borders.
3535

36-
- [ ] Add a `tau` palette to `internal/theme/theme_palettes.go`
36+
- [x] Add a `tau` palette to `internal/theme/theme_palettes.go`
3737
(panel `#0d1117`, ink `#e6edf3`, muted `#8b949e`, accent `#7aa2f7`,
3838
subtle line `#21262d`).
39-
- [ ] Register it in `themeRegistry`; make it selectable via `/theme tau`.
40-
- [ ] Reduce chrome: prefer single-line separators over box borders where the
39+
- [x] Register it in `themeRegistry`; make it selectable via `/theme tau`.
40+
- [x] Reduce chrome: prefer single-line separators over box borders where the
4141
theme is `tau`.
42-
- [ ] Keep every existing palette intact (no regressions).
42+
- [x] Keep every existing palette intact (no regressions).
4343

4444
## Phase 2 — Tau-style layout (visual)
4545

4646
- [ ] Flatten the footer: one status line + one input line (Tau shows a
4747
minimal bottom bar, not a multi-row panel).
48+
NOTE: `renderStatusBar` intentionally renders two rows at width >= 100
49+
and `TestRenderStatusBar_TwoLineAtWidth120` asserts it. Flattening is a
50+
product/visual decision that needs sign-off before changing that test.
4851
- [ ] Dim the input border; show the mode as a short prefix rather than a
4952
separate row.
5053
- [ ] Tighten the welcome block: wordmark + one hint line.
5154
- [ ] Preserve all existing information (model, ctx, cost) in the compact row.
5255

5356
## Phase 3 — Architecture tightening (contract)
5457

55-
- [ ] Document the frontend contract in `docs/architecture/frontend-contract.md`:
58+
- [x] Document the frontend contract in `docs/architecture/frontend-contract.md`:
5659
`engine.StreamEvent` is the only channel; TUI/daemon/ACP/print are
5760
consumers and must not reach into engine internals.
58-
- [ ] Add a testaudit guard asserting `cmd/` TUI files do not import
61+
- [x] Add a testaudit guard asserting `cmd/` TUI files do not import
5962
`internal/engine/*` subpackages beyond the public facade types.
6063

6164
## Phase 4 — Verification (twice)
6265

63-
- [ ] Pass 1: `gofumpt v0.10.0`, `goimports`, `go build ./...`, `go vet ./...`,
66+
- [x] Pass 1: `gofumpt v0.10.0`, `goimports`, `go build ./...`, `go vet ./...`,
6467
`golangci-lint`, targeted tests for touched packages, boundary guards.
65-
- [ ] Pass 2: independent re-run of the same, plus a fresh-eyes grep for
68+
- [x] Pass 2: independent re-run of the same, plus a fresh-eyes grep for
6669
stale references and a manual TUI render check.
6770

6871
## Out of scope (explicitly)

‎docs/plans/tau-feature-parity.md‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,32 @@ Tau offers a documented feature Rho does not.
1515
|---|---|---|
1616
| Interactive TUI | ✅ Bubble Tea TUI | none |
1717
| `-p` print mode | ✅ `-p` | none |
18-
| `--cwd <path>` run against another project | ❌ missing | **add** |
18+
| `--cwd <path>` run against another project | ✅ `--cwd` | none |
1919
| Built-in tools (read/write/edit/bash) | ✅ 138 tools (superset) | none |
2020
| Durable JSONL sessions + resume + branching | ✅ JSONL + DAG branching | none |
21-
| Slash commands (login, model, sessions, compaction, export, theme) | ⚠️ `/model`, `/compact`, `/export`, `/theme` yes; `/login` no | **add `/login`** |
21+
| Slash commands (login, model, sessions, compaction, export, theme) | ✅ `/login` added | none |
2222
| `AGENTS.md` project instructions | ✅ | none |
2323
| `.tau/` project resources | ✅ `.rho/` | none |
24-
| `.agents/` shared resources | ⚠️ partial (skills/providers/recipes) | **extend to instructions** |
24+
| `.agents/` shared resources | ✅ skills/providers/recipes/hooks/rules/workflows + `.agents/AGENTS.md` instructions | none |
2525
| User skills, prompt templates, themes | ✅ | none |
2626
| Context accounting + manual/auto compaction | ✅ | none |
27-
| Provider-neutral output: text, JSON, transcript | ⚠️ text + json + stream-json; no transcript | **add transcript** |
28-
| `~/.tau/catalog.toml` custom providers/models, no code changes | ❌ missing | **add `~/.rho/catalog.toml`** |
27+
| Provider-neutral output: text, JSON, transcript | ✅ text + json + stream-json + transcript | none |
28+
| `~/.tau/catalog.toml` custom providers/models, no code changes | ❌ missing | **flux-side** (see below) |
2929
| `tau update` | ✅ `rho update` | none |
3030
| Installers | ✅ `install.sh` | none |
3131

3232
## Work items
3333

34-
1. **`--cwd` global flag** — change directory before session start; applies to
35-
interactive, `-p`, and `exec`.
36-
2. **`/login` slash command** — Tau's auth entry point; route to Rho's existing
37-
credential/config flow (no new secret handling).
38-
3. **`transcript` output format** — add to `--output-format`; render the turn
39-
as a plain, timestamped transcript.
40-
4. **User catalog `~/.rho/catalog.toml`** — let users add providers/models
41-
without code changes, merged over the flux catalog.
42-
5. **`.agents/` instruction resources** — load `AGENTS.md`-style instructions
43-
from `.agents/` in addition to the existing skill/provider/recipe dirs.
34+
1. ~~**`--cwd` global flag**~~ — done (`cmd/root.go`, applied to interactive, `-p`, and `exec`).
35+
2. ~~**`/login` slash command**~~ — done (`cmd/chat_subcommand_login.go`).
36+
3. ~~**`transcript` output format**~~ — done (`--output-format transcript`).
37+
4. **User catalog `~/.rho/catalog.toml`** — NOT implemented. The model catalog
38+
is owned by the flux engine (`github.com/GrayCodeAI/flux/catalog`), whose
39+
`LoadCatalogOptions` has no user-catalog override. Per `AGENTS.md`
40+
(provider/catalog ownership lives in flux), this must be added in flux and
41+
surfaced through the engine facade before rho can consume it.
42+
5. ~~**`.agents/` instruction resources**~~ — done (`.agents/AGENTS.md` is in
43+
the instruction search path in `internal/config/config.go`).
4444

4545
## Verification (twice)
4646

0 commit comments

Comments
 (0)