Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .seeds/issues.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -761,3 +761,6 @@
{"id":"warren-59db","title":"Decompose src/server/handlers/plot-plan-runs.test.ts (640 lines, furthest-over grandfathered file not under an open seed) below the 500-line global limit. Extract the file-local helper/fixture group into a new sibling src/server/handlers/plot-plan-runs.test-helpers.ts and export each symbol: silentLogger, stubFetch, jsonRes, poolFor, makeSdSpawn, planShowResult, seedShowResult, makeAttachment, makePlotReader, makePlotResolver, makeSynthesizer, depsFor, tcpUrl, plus their helper-local types (SdCall, SynthesizeCall, BuildDepsInput). Carry the imports those helpers need into the helpers file (Attachment from @os-eco/plot-cli, BurrowClient/BurrowClientPool, openDatabase/WarrenDb, createRepos/Repos, ProjectRow, the plan-run/plot/synthesizer types, SpawnFn/SpawnOptions/SpawnResult, RunEventBroker, NO_AUTH, createBridgeRegistry, startServer, server types). Keep ONE copy of every helper and import it β€” do NOT duplicate, or jscpd check:dups will flag it. Split the 9 tests in the single describe(\"POST /plot-plan-runs\") block along theme seams into two sibling test files, each importing from ./plot-plan-runs.test-helpers.ts: keep plot-plan-runs.test.ts for the happy-path + filter tests ('happy path: synthesizes plan + persists plan-run + emits Plot dispatch event' and 'filters closed seeds + sd_plan attachments before synthesis'); create plot-plan-runs.validation.test.ts for the 7 validation/error tests (malformed plot_id 400, no .plot/ 400, no .seeds/ 400, plot_id not in project 400, zero dispatchable attachments 400, 404 project missing, synthesizer error 500). Do not alter any test body, assertion, stub, or fixture. Mirror the precedent of src/diagnostics/checks.test-helpers.ts (warren-7a15) and src/server/handlers/projects.test-helpers.ts (warren-a715). Verify: each of `wc -l src/server/handlers/plot-plan-runs.test.ts src/server/handlers/plot-plan-runs.validation.test.ts src/server/handlers/plot-plan-runs.test-helpers.ts` shows < 500 AND `bun test src/server/handlers/plot-plan-runs.test.ts src/server/handlers/plot-plan-runs.validation.test.ts` reports 9 pass / 0 fail (same total as before) AND `bun run typecheck` is clean AND `bun run check:dups` exits 0.","status":"closed","type":"task","priority":2,"plan_step_index":0,"description":"<!-- seeds:plan-backref:start -->\nStep 1 of plan pl-7c4f.\n\nParent seed: warren-1c0d β€” ratchetwatch tightening: 2026-06-17\nPlan template: refactor\nPlan approach: Extract the file-local helper/fixture block (the ~16 helpers spanning silentLogger, stubFetch, jsonRes, poolFor, makeSdSpawn, planShowResult, seedShowResult, makeAttachment, makePlotReader, makePlotResolver, makeSynthesizer, depsFor,…\n\nRun `sd plan show pl-7c4f` for the full plan (context, alternatives, sibling steps, acceptance criteria).\n<!-- seeds:plan-backref:end -->","createdAt":"2026-06-17T10:46:21.709Z","updatedAt":"2026-06-17T10:54:35.710Z","labels":["ratchetwatch"],"plan_id":"pl-7c4f","blocks":["warren-e304","warren-1c0d"],"extensions":{"role":"pi","lastRunId":"run_gwekz26ek6vm","lastRunAt":"2026-06-17T10:49:16.505Z"},"closedAt":"2026-06-17T10:54:35.710Z"}
{"id":"warren-e304","title":"Remove the \"src/server/handlers/plot-plan-runs.test.ts\": 640 entry from scripts/file-size-budgets.json (delete that single line). Do NOT add budget entries for the new sibling files (plot-plan-runs.validation.test.ts, plot-plan-runs.test-helpers.ts) β€” they must default-pass under the 500-line threshold (confirm `wc -l` for each shows < 500). Per docs/CONSTITUTION.md Article VI, before declaring done run a repo-wide search for the old path across ALL file types β€” `rg -n \"plot-plan-runs.test\" --hidden -g '!node_modules' .` (or `git grep -n \"plot-plan-runs.test\"`) PLUS an explicit sweep of Dockerfile, docker-compose.yml, .github/workflows/*.yml, src/supervisor/ spawn/config strings, scripts/acceptance/, and docs/ β€” and fix any stale reference (file moves have broken production here before; encode the check, do not assume it). Verify: `bun run check:size` exits 0 AND `bun run check:all` is fully green (every gate stays green; the removed entry leaves all resulting files default-passing under the 500-line threshold).","status":"closed","type":"task","priority":2,"plan_step_index":1,"description":"<!-- seeds:plan-backref:start -->\nStep 2 of plan pl-7c4f.\n\nParent seed: warren-1c0d β€” ratchetwatch tightening: 2026-06-17\nPlan template: refactor\nPlan approach: Extract the file-local helper/fixture block (the ~16 helpers spanning silentLogger, stubFetch, jsonRes, poolFor, makeSdSpawn, planShowResult, seedShowResult, makeAttachment, makePlotReader, makePlotResolver, makeSynthesizer, depsFor,…\n\nRun `sd plan show pl-7c4f` for the full plan (context, alternatives, sibling steps, acceptance criteria).\n<!-- seeds:plan-backref:end -->","createdAt":"2026-06-17T10:46:21.709Z","updatedAt":"2026-06-17T10:59:24.445Z","labels":["ratchetwatch"],"plan_id":"pl-7c4f","blocks":["warren-1c0d"],"closedAt":"2026-06-17T10:59:24.445Z"}
{"id":"warren-f248","title":"Auditor sandboxes lack WARREN_API_TOKEN β€” warden-conversation delivery (POST /conversations/:id/messages) returns 401 for gatewatch/ratchetwatch/tastewatch","status":"open","type":"bug","priority":2,"createdAt":"2026-06-17T10:47:09.663Z","updatedAt":"2026-06-17T10:47:09.663Z","description":"Evidence (ratchetwatch patrol 2026-06-17):\n- The warren API is reachable from the auditor burrow at http://localhost:8080 (e.g. GET/POST /conversations responds), but every request returns: {\"error\":{\"code\":\"unauthorized\",\"message\":\"missing Authorization header\"}}.\n- src/server/auth.ts requires a bearer token from WARREN_API_TOKEN; that env var is NOT present in the auditor sandbox (env shows only ANTHROPIC_API_KEY and WARREN_QUALITY_GATE). No token file is mounted (~/.warren absent; /data unreadable; no *.token anywhere outside node_modules).\n- Result: the operating contract added by warren-7f62 (post each finding to the standing 'Audit Warden' conversation over POST /conversations/:id/messages, 202 steering channel) cannot be fulfilled by ANY auditor β€” gatewatch, ratchetwatch, tastewatch β€” because they cannot authenticate or even resolve the conversation id (GET /conversations is also 401-gated).\n- This is a runtime/provisioning gap, not a prompt gap: warren-7f62 wired the prompts but the auditor runs are not given a credential (or a loopback no-auth exemption, or a pre-resolved conversation id) to reach the channel.\nSuggested fix directions (for a human/operator to choose): inject a scoped WARREN_API_TOKEN into auditor burrow env via composeRunEnv, OR expose a loopback no-auth path for the conversation-message endpoint, OR pass the resolved warden conversation id + token through the rendered agent context. Until then, auditors file seeds/plans correctly (this patrol filed warren-1c0d + plan pl-7c4f) but the warden transcript stays empty.","labels":["audit","warden"]}
{"id":"warren-bf70","title":"ratchetwatch tightening: 2026-06-18","status":"open","type":"task","priority":3,"createdAt":"2026-06-18T10:44:04.665Z","updatedAt":"2026-06-18T10:44:37.866Z","description":"Constitution Article II ratchet-slack patrol, 2026-06-18.\n\nMEASUREMENTS (ratchet | floor/limit | actual | slack | action):\n- Coverage functions | floor 88.60% | actual 88.95% | slack 0.35pt | none (<0.75pt). Note: a clean measurement required `bun install` first β€” the sandbox shipped with zod + @os-eco/burrow-cli uninstalled, which crashed several suites and depressed the reading to a false 88.07%. After install: 88.95%.\n- Coverage lines | floor 91.54% | actual 91.76% | slack 0.22pt | none (<0.75pt).\n- File-size grandfather list | global limit 500 | 0 entries now under 500 | none to remove.\n- Bundle creep (gzip js) | ~20KB/wk threshold | summed +2062 B of raises over trailing 7d (2978ba7 +569, f9194ad +525, ad6ceeca +635, fb6adfb +333), net ~flat after -2045/-137 decreases | none (well under threshold).\n- Debt-marker allowlist | must be empty | [] | none.\n- Grandfather-at-birth (24h) | none added | only file-size-budgets.json change in 24h was 7de08992 REMOVING plot-plan-runs.test.ts:640 | none.\n\nACTION: one decomposition (the single per-patrol slot) β€” see plan. src/runs/pr.ts (659, furthest over) is already covered by open plan pl-88bb (warren-db9a/warren-70d7); the furthest-over grandfathered file NOT covered by an open seed is a tie at 616 between src/diagnostics/checks.ts (production source) and src/runs/pause.test.ts (test). Tie broken toward the test file: lower Article VI runtime-path risk and a clean single-describe seam (tickPauseDetector is ~373 of the 616 lines).","labels":["audit","ratchetwatch"],"plan_id":"pl-1a01","blockedBy":["warren-0e98","warren-b7fa"]}
{"id":"warren-0e98","title":"Decompose src/runs/pause.test.ts (616 lines) below the 500-line global limit. First extract the shared file-local helper group into a new sibling src/runs/pause.test-helpers.ts and export each symbol: PROJECT_ID, PLOT_ID, makeAgentJson, poseEvent, answerEvent, stubReader, multiPlotReader. Carry the imports those helpers need into the helpers file (type PlotEvent from @os-eco/plot-cli, type PlotEventReader from ./pause.ts) and import every helper back into each resulting test file β€” keep ONE copy, do NOT duplicate, or jscpd check:dups will flag it. Then split the four top-level describe blocks along their existing seams into two sibling test files, each importing the helpers from ./pause.test-helpers.ts and the units under test from ./pause.ts: keep describe(\"pickUnansweredQuestion\"), describe(\"findAnswerFor\"), and describe(\"bootPauseDetector\") in src/runs/pause.test.ts; move describe(\"tickPauseDetector\") into a new src/runs/pause.tick.test.ts. Do not alter any test body, assertion, stub, or fixture. Mirror the precedent src/diagnostics/checks.test-helpers.ts (warren-7a15) and src/server/handlers/projects.test-helpers.ts (warren-a715). Verify: each of `wc -l src/runs/pause.test.ts src/runs/pause.tick.test.ts src/runs/pause.test-helpers.ts` shows < 500 AND `bun test src/runs/pause.test.ts src/runs/pause.tick.test.ts` reports 23 pass / 0 fail (same total as before) AND `bun run typecheck` is clean AND `bun run check:dups` exits 0.","status":"open","type":"task","priority":2,"plan_step_index":0,"description":"<!-- seeds:plan-backref:start -->\nStep 1 of plan pl-1a01.\n\nParent seed: warren-bf70 β€” ratchetwatch tightening: 2026-06-18\nPlan template: refactor\nPlan approach: Mirror the established precedent src/diagnostics/checks.test-helpers.ts (warren-7a15) and src/server/handlers/projects.test-helpers.ts (warren-a715): extract the file-local test-helper group into a sibling src/runs/pause.test-helpers.ts…\n\nRun `sd plan show pl-1a01` for the full plan (context, alternatives, sibling steps, acceptance criteria).\n<!-- seeds:plan-backref:end -->","createdAt":"2026-06-18T10:44:37.866Z","updatedAt":"2026-06-18T10:44:37.866Z","labels":["ratchetwatch"],"plan_id":"pl-1a01","blocks":["warren-bf70"]}
{"id":"warren-b7fa","title":"Remove the \"src/runs/pause.test.ts\": 616 entry from scripts/file-size-budgets.json (delete that single line). Do NOT add budget entries for the new sibling files (pause.tick.test.ts, pause.test-helpers.ts) β€” they must default-pass under the 500-line threshold (confirm `wc -l` for each shows < 500). Per docs/CONSTITUTION.md Article VI, before declaring done run a repo-wide search for the old path across ALL file types β€” `grep -rn \"runs/pause.test\" --include='*' . | grep -v node_modules` (or `git grep -n \"runs/pause.test\"`) PLUS an explicit sweep of Dockerfile, docker-compose.yml, .github/workflows/*.yml, src/supervisor/ spawn/config strings, scripts/acceptance/, and docs/ β€” and fix any stale reference (file moves have broken production here before; encode the check, do not assume it). Verify: `bun run check:size` exits 0 AND `bun run check:dups` exits 0 AND `bun run check:all` is fully green (every gate stays green; the removed entry leaves all resulting files default-passing under the 500-line threshold).","status":"open","type":"task","priority":2,"plan_step_index":1,"description":"<!-- seeds:plan-backref:start -->\nStep 2 of plan pl-1a01.\n\nParent seed: warren-bf70 β€” ratchetwatch tightening: 2026-06-18\nPlan template: refactor\nPlan approach: Mirror the established precedent src/diagnostics/checks.test-helpers.ts (warren-7a15) and src/server/handlers/projects.test-helpers.ts (warren-a715): extract the file-local test-helper group into a sibling src/runs/pause.test-helpers.ts…\n\nRun `sd plan show pl-1a01` for the full plan (context, alternatives, sibling steps, acceptance criteria).\n<!-- seeds:plan-backref:end -->","createdAt":"2026-06-18T10:44:37.866Z","updatedAt":"2026-06-18T10:44:37.866Z","labels":["ratchetwatch"],"plan_id":"pl-1a01","blocks":["warren-bf70"]}
Loading