From d93957de3542d498bce897396387c4c152dd64bd Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Thu, 23 Apr 2026 20:01:55 +0900 Subject: [PATCH] =?UTF-8?q?roadmap:=20#195=20filed=20=E2=80=94=20worktree-?= =?UTF-8?q?age=20opacity,=20no=20timestamp=20or=20doctor=20signal=20(Jobdo?= =?UTF-8?q?ri=20cycle=20#130)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ROADMAP.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index 830196e..a39c12e 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -12007,3 +12007,35 @@ Pattern: Each doctrine #29-#33 operationalizes a previously-implicit rule after **Doctrine #33 promoted from provisional to formal status. Cross-claw coherence verified at cycle #129. Merge-wait steady-state reporting now standardized.** 🪨 + +--- + +## Pinpoint #195 — Worktree-age opacity: no timestamp, no `doctor` signal (Jobdori, cycle #130) + +**Filed:** 2026-04-23 20:00 KST +**Cluster:** diagnostic-strictness / worktree hygiene +**Branch:** `feat/jobdori-195-worktree-age-opacity` (not yet created) + +### Observation + +`git worktree list` returns 109 prunable worktrees with no creation timestamp, no last-access time, and no staleness threshold signal. `claw doctor` does not surface prunable worktree count or flag aged-out worktrees. A claw auditing its own workspace has no machine-readable way to distinguish a worktree that was active 5 minutes ago from one dead for 3 days. + +### Gap + +- No structured output includes worktree age or creation time +- `claw doctor` has no prunable-count check or age-threshold warning +- Claws must fall back to filesystem `stat` heuristics or manual `git worktree prune --dry-run` to infer staleness +- Pinpoint #194 (filed prior cycle) identified accumulation; #195 isolates the root cause: missing age metadata in structured output + +### Proposed Fix + +1. `claw doctor` to report: prunable worktree count + oldest worktree age (if computable) +2. `git worktree list --porcelain` already exposes `HEAD` sha — consider pairing with `git log -1 --format=%ci ` to derive last-commit age as a proxy +3. Structured output (`--output-format json`) for any worktree-listing command should include `created_at` or `last_commit_at` field + +### Relation to #194 + +#194: prunable worktrees accumulate with no lifecycle enforcement +#195: root cause — no timestamp/age metadata available to doctor or structured output, making enforcement impossible without external heuristics + +**Status:** Open. Merge-wait mode. No code changed.