From fda16741ea924facd29433276d041414b5f24581 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 22 Aug 2026 02:20:24 +0000 Subject: [PATCH] docs: TODOS.md v1.69 wave close-out MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the slate P4 entry and the ZeroEntropy P1's gstack-side half to Completed (v1.69.0.0); reframe the ZeroEntropy NEXT PRIORITY entry around the remaining gbrain-side work; file the wave's four residuals with rationale — the prefixed-cleanup symmetric conversion, the #2163 legacy-slug checkpoint heal, the invited #2657 --reconcile contribution, and the table-driven setup host dispatch behind the new cross-check ratchet. --- TODOS.md | 71 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 13 deletions(-) diff --git a/TODOS.md b/TODOS.md index 742ecf796..8a0488d56 100644 --- a/TODOS.md +++ b/TODOS.md @@ -5,13 +5,17 @@ ### P1: ZeroEntropy sunset — gbrain's default embedding provider dies Sept 4, 2026 (#2365) **What:** ZeroEntropy (acquired by Notion) shuts down September 4, 2026. gbrain's -default embedding provider needs a migration path before then; gstack's -setup-gbrain flow should stop recommending it and detect/warn existing installs. +zeroentropyai recipe needs a migration path before then (the recipe + gateway +shim are gbrain-internal — nothing in gstack ever recommended the provider). -**Why:** Hard external deadline. After Sept 4, fresh setup-gbrain runs against the -default provider fail, and existing brains stop embedding new pages silently. +**Why:** Hard external deadline. After Sept 4, brains on the recipe stop +embedding new pages silently. -**Effort:** M (human ~2d, CC ~1h — mostly gbrain-side; gstack side is detect+warn). +**Done (gstack side, v1.69.0.0):** wireup warns when ~/.gbrain/config.json names +the recipe (fail-open grep), setup-gbrain provider comments say never to select +it, USING_GBRAIN_WITH_GSTACK.md gained a troubleshooting entry (#2365). + +**Effort:** M (remaining work is gbrain-side provider support). **Priority:** P1 (calendar-driven). **Depends on:** gbrain upstream provider support. ### P2: v1.67 fix-wave deferrals — next-wave queue @@ -45,6 +49,30 @@ wave"). Each was explicitly deferred with rationale, not dropped: #2576 (fast-ship rework — re-evaluate against v1.66's CI speedup), #2580 (land-and-deploy CI tiers — human-gate UX needs maintainer call). +### P2: v1.69 fix-wave residuals (filed at wave time, each deferred with rationale) + +- **`cleanup_prefixed_claude_symlinks` symmetric conversion** — PR #2634 fixed + `cleanup_old_claude_symlinks` (destination scan, dangling-symlink aware, + path-segment provenance); the prefixed-mode sibling still iterates the + payload dir (same structural hole: can't reap orphans once the payload is + gone) and still uses a bare `*gstack*` substring match the sibling's own + tests forbid. Kept out of the contributor's absorbed commit for scope + discipline. Effort S→S with CC. **Priority:** P2. +- **#2163 legacy-slug checkpoint heal** — the gstack-slug refactor unified + save/restore slugs, but checkpoints written under a pre-fix degraded slug + are still invisible; `bin/gstack-slug`'s own MIGRATION NOTE defers data + moves. Cheap heal: restore-side probe of the alternate slug dir before + printing NO_CHECKPOINTS. Effort S. **Priority:** P3. +- **#2657 developer-profile `--reconcile`** — office-hours tenure undercounts + ~3x (Phase-4.5-only logging; no timeline.jsonl reconciliation). The + arithmetic reproduces; the reporter offered the PR — invited on the issue. + Track and review when it lands. Effort S (review). **Priority:** P3. +- **Table-driven setup host dispatch from `hosts/index.ts`** — root-cause fix + for the accept-list/dispatch drift class behind #2361; v1.69.0.0 ships the + interim ratchet (accept-list ⊆ dispatch-arms cross-check test + a loud + zero-dispatch guard). The refactor needs its own PR with bake time (setup is + the riskiest file in the repo). Effort M. **Priority:** P3. + ### P2: v1.67 adversarial-review residuals (verified, deferred with rationale) Filed at v1.67 ship time from the Codex + Claude adversarial passes. Six of @@ -849,14 +877,6 @@ TOML lookup. will not (the hint covers the second half today). **Priority:** P3. **Effort:** S. -### P4: `./setup --host slate` accepted but installs nothing - -**What:** `slate` passes the host-arg validation case but sets no INSTALL_* flag, -so the run configures nothing and exits successfully. Either wire a slate branch -or reject the value with guidance like openclaw/hermes/gbrain get. -**Why:** Silent success with zero effect is the worst failure shape. -**Priority:** P4. **Effort:** S. - --- ## browse server: terminal-agent teardown follow-ups (filed v1.41 via /plan-eng-review) @@ -2786,6 +2806,31 @@ needs one paid run to validate, so it didn't ride the ship. ## Completed +### ✅ DONE (v1.69.0.0): `./setup --host slate` accepted but installs nothing + +**Priority:** P4 (was filed as slate-only — shipped with the whole drift class gated) + +**What:** `slate` passed host-arg validation but set no INSTALL_* flag, so the +run configured nothing and exited 0. Now an informational arm (points at +`--host claude`; per docs/designs/SLATE_HOST.md Slate reads `.claude/skills` +as a compatibility fallback), plus a zero-dispatch guard that errors loudly if +any future host is accepted without an install arm, plus a cross-check test +pinning accept-list ⊆ dispatch-arms against the hosts/index.ts registry. + +**Completed:** v1.69.0.0 (2026-08-22) + +### ✅ DONE (v1.69.0.0, gstack side): ZeroEntropy sunset detect + advisory + +**Priority:** P1 (calendar-driven; gbrain-side migration remains open — see +NEXT PRIORITY) + +**What:** Wireup warns when ~/.gbrain/config.json names the zeroentropyai +recipe (fail-open grep — never blocks a working setup); setup-gbrain provider +comments say never to select the legacy recipe; USING_GBRAIN_WITH_GSTACK.md +troubleshooting entry names the Sept 4, 2026 deadline and #2365. + +**Completed:** v1.69.0.0 (2026-08-22) + ### ✅ DONE (v1.68.1.0): Stop-hook registration pins the setup-time absolute path **Priority:** P1 (was filed Effort S, scoped to the Stop hook — shipped as the full defect class)