roadmap: #271 filed

This commit is contained in:
Yeachan-Heo 2026-04-26 06:01:44 +00:00
parent 61be8263bd
commit 29c262c171

View File

@ -17016,3 +17016,15 @@ Gap. This is a **help-contract drift / fully-wired-but-undocumented-flag** diver
Required fix shape: (a) extend the `Flags:` block in `print_help_to` to list `--reasoning-effort {low|medium|high}` with the validated value set inline (matching the error message at `main.rs:921-924`), `--base-commit COMMIT` with a one-line description tying it to `/diff` and merge-status workflows, `--allow-broad-cwd` with the security-scope semantics (when broad-cwd traversal is allowed and what it overrides), and `-p PROMPT` as the documented Claw Code compat one-shot alias with a pointer to the canonical `prompt TEXT` subcommand and to #267's greedy-slurp caveat; (b) add an `Examples:` line for at least `--reasoning-effort` and `--base-commit` matching their actual usage shape; (c) add a parser/help-parity regression test that asserts every `match`-arm string literal in `parse_args` for top-level flags appears at least once in the captured `print_help_to` output (mechanically forces help-vs-dispatch sync for future flags); (d) extend that test to also cover `=`-form variants so the next `--foo=` flag added cannot drift; (e) emit a typed `cli_parse` warning when help is generated but a registered flag has no help line (compile-time/test-time enforcement). Acceptance: `claw --help` lists every dispatch-accepted top-level flag; the parity test fails when a new flag is added to `parse_args` without a help line; #263 and #270 together close the help-contract-drift cluster on both the stale-mode and fully-omitted sub-axes.
**Status:** Open. No source code changed. Filed 2026-04-26 14:34 KST. Branch: feat/jobdori-168c-emission-routing. HEAD: `364566c` before filing (post-rebase fast-forward onto gaebal-gajae's #269 dogfood-transport-payload-budget pinpoint). Cluster delta: help-contract-drift cluster 1→2 (#263 founder + #270 second-member, closes the documented-but-stale ↔ fully-wired-but-undocumented sub-axis pair); complementary-pinpoint-pair-bundle discovery-pattern extended to 5 bundles total (#245+#250 WebSearch, #262+#264 turn-budget, #264+#266 typed-error-axis, #254+#268 MCP-resources/tools-lifecycle, now #263+#270 help-contract-drift-stale-mode-vs-omitted). Smaller-scope by design (matches #253/#254/#257/#258/#260/#261/#262/#263/#264/#265/#266/#267/#268/#269 context-budget discipline). Sister: #263 (help-contract-drift founder; #263 stale-mode-matrix on a listed flag, #270 whole-flag absence on dispatch-accepted flags). Distinct from #262 (flag missing from BOTH help and dispatch). Distinct from #265 (`stream-json` output mode absent from BOTH help and dispatch). Distinct from #267 (parse-asymmetry, not help-listing). Concurrent-dogfood-rebase parity will be confirmed local==origin==fork at HEAD `364566c+#270` after push.
## Pinpoint #271 — Dogfood status generation lacks a repo-identity/source-of-truth guard, so the same claw-code nudge can drift from `ultraworkers/claw-code` to `code-yeongyu/claw-code` and publish an authoritative-looking report for the wrong project
Dogfooded 2026-04-26 15:00 KST from the live `#clawcode-building-in-public` loop after #270. The nudge explicitly targeted the active `claw-code` dogfood branch (`feat/jobdori-168c-emission-routing`, canonical remotes `origin=https://github.com/ultraworkers/claw-code`, `fork=https://github.com/Yeachan-Heo/claw-code`), and the branch had just advanced through #269/#270. Minutes later a Jobdori status report switched context to `code-yeongyu/claw-code` (private Rust port), described `main` as dormant since 2026-04-02, reported no `ROADMAP.md`, and filed a new pinpoint about `dev/rust` branch drift. That report was structurally plausible but belonged to a different repository/project, not the live dogfood branch that Clawhip was nudging.
Concrete failure mode: a dogfood cycle can satisfy the shape of the requested report while silently changing the repo identity underneath it. Operators then see an authoritative status block with `Repo: code-yeongyu/claw-code`, `Active sessions: 0`, and stale branch analysis, interleaved with the actual `ultraworkers/claw-code` ROADMAP cycle. This creates stale-branch confusion and queue pollution: the wrong repo gets analyzed, the active ROADMAP branch is skipped for that cycle, and subsequent status summaries may mix pinpoints from two unrelated claw-code lineages.
Gap. There is no mandatory repo-identity assertion in dogfood status generation. Reports include freeform `repo` text, but they are not checked against a canonical tuple such as `{remote_url, branch, worktree_path, roadmap_path, expected_head_prefix}` before publishing. This is distinct from #259 (freshness/provenance against git+ROADMAP for the chosen repo) and #269 (transport delivery receipts): #271 validates that the chosen repo is the **intended** repo before any freshness or delivery checks run. A report can be fresh, internally consistent, and delivered successfully while still being for the wrong repository.
Required fix shape: (a) define a canonical dogfood target identity for each Clawhip nudge (`repo_owner/name`, `remote_url`, `branch`, `worktree_path`, required backlog file such as `ROADMAP.md`, and optional fork remote); (b) before generating status or filing a pinpoint, assert the current cwd/remotes/branch/backlog-file match that identity; (c) emit `DOGFOOD_REPO_MISMATCH` and refuse to publish if the active repo is `code-yeongyu/claw-code` or any sibling while the nudge targets `ultraworkers/claw-code`; (d) include the verified tuple in every status report as machine fields, not prose; (e) add regression coverage where two repos named `claw-code` exist and the status command must reject the wrong one despite similar names. Acceptance: a `claw-code` dogfood nudge cannot produce a status report for `code-yeongyu/claw-code`; wrong-repo analysis fails closed with a typed mismatch receipt instead of entering the public status stream.
**Status:** Open. No source code changed. Filed 2026-04-26 15:02 KST. Branch: feat/jobdori-168c-emission-routing. HEAD: `61be826` before filing. Cluster delta: dogfood-repo-identity-guard +1; sibling to #259 (freshness/provenance), #253 (state-vector context budget), and #269 (transport delivery), but distinct source-of-truth selection layer. Concrete delta this cycle: ROADMAP-only pinpoint appended from live wrong-repo report evidence.