From ffa216d6ad6ede2bcf71f95203d907d6bbc3def3 Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Wed, 29 Apr 2026 15:46:32 +0200 Subject: [PATCH] docs: log caveman input-compression follow-ups in BUILD_PLAN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Caveman skill (output compression) installed at ~/.claude/skills/caveman/ and activated for dr-repo. Two follow-ups for INPUT-side compression remain — sf's own prompts are verbose (execute-task alone has 10-step instructions, runtime context, multiple inlined plans), and that's paid on every dispatch: - Tier 2 (1-2 days): Manually rewrite heaviest prompt sections in caveman style. Preserve intent + nuance, drop fluff. Compare against current to confirm no quality regression. - Tier 3 (3-4 days): Runtime input preprocessor — pipe rendered prompt through caveman-compress (sub-skill, ~46% reduction) before dispatch. Behind a terse_prompts: true flag. Adds drift risk vs authored intent; needs comparison harness. Co-Authored-By: Claude Opus 4.7 --- BUILD_PLAN.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BUILD_PLAN.md b/BUILD_PLAN.md index 9e04d5495..b35d0dae7 100644 --- a/BUILD_PLAN.md +++ b/BUILD_PLAN.md @@ -96,6 +96,8 @@ These came up during recent ports and refactor passes — tracked here so they d | **Headless assistant-text preview** | Headless UX commit (`dff0df5fd`) covered notification spam, categorization, and phase/status tag distinction. The fourth bunker improvement — separating `assistantTextBuffer` from `thinkingBuffer` and flushing both as concise previews on tool-execution-start / message-end — was deferred because it's a meatier change in `headless.ts`. | 2 | 0.5 day | | **Search provider registry refactor** | Adding minimax took 9 files because the provider list is duplicated across `provider.ts` (type + VALID_PREFERENCES), `native-search.ts`, `command-search-provider.ts` (CLI), `tool-search.ts` + `tool-llm-context.ts` (two separate execute paths!), `preferences-types.ts`, `preferences-validation.ts`, manifest, docs. A single `SearchProviderRegistry` array would let everything iterate. | 2 | 3-5 days | | **Pi-mono SDK sync** | We pull from pi-mono directly (separate from gsd-2 sync stance). Periodically check `pi-mono/main` for SDK improvements worth taking. The remote is set up; cadence is not. | 3 | recurring | +| **Caveman input-side compression** (manual) | Caveman skill installed (output compression, ~75% fewer agent tokens). Input side — sf's own prompts (`execute-task.md`, `discuss.md`, `plan-*.md`, etc.) — is verbose: 10-step instruction lists, `runtimeContext`, `memoriesSection`, `taskPlanInline`, `slicePlanExcerpt`. Manually rewrite the heaviest sections in caveman style (preserve intent + nuance, drop fluff). Test against current to confirm no quality regression. | 2 | 1-2 days | +| **Runtime input preprocessor** (caveman-compress) | Add a transformation step in dispatch that pipes sf's rendered prompt through `caveman-compress` (sub-skill in juliusbrussee/caveman repo, ~46% input-token reduction) before LLM call. Only enable when a `terse_prompts: true` preference is set. Adds a layer that can drift from authored intent — needs a comparison harness. | 3 | 3-4 days | It is opinionated. Each item has a tier and a one-line rationale. Reorder freely.