mirror of
https://github.com/ultraworkers/claw-code.git
synced 2026-04-27 15:10:54 +08:00
roadmap: #270 filed
This commit is contained in:
parent
364566c6ac
commit
61be8263bd
12
ROADMAP.md
12
ROADMAP.md
@ -17004,3 +17004,15 @@ Gap. There is no channel-aware pre-send budget gate for dogfood status payloads,
|
|||||||
Required fix shape: (a) add per-channel payload budget metadata (`max_chars`, `safe_chars`, markdown overhead, attachment/thread fallback) to dogfood report rendering; (b) preflight-render the report and split into stanza-safe chunks before send, never in the middle of a pinpoint bullet; (c) add part numbering and a short report id/checksum (`dogfood-status d90b5f0 part 1/3`) so downstream claws can detect missing chunks; (d) record/send a typed delivery receipt with `status: delivered|partial|failed`, `message_ids`, `bytes_sent`, `chunks_sent`, `truncated_at`, and provider error; (e) if any chunk fails, emit a compact failure notice and do not mark the report as posted; (f) regression-test a report containing #257-#268-sized entries against the Discord character budget and assert the split boundaries align to pinpoint stanzas. Acceptance: a same-day summary can never silently truncate mid-pinpoint; a send failure produces a typed `delivery_failed` receipt with no contradictory "posted" success prose; cron timeout can distinguish `timed_out_before_send` vs `timed_out_after_partial_send` (#246 sibling).
|
Required fix shape: (a) add per-channel payload budget metadata (`max_chars`, `safe_chars`, markdown overhead, attachment/thread fallback) to dogfood report rendering; (b) preflight-render the report and split into stanza-safe chunks before send, never in the middle of a pinpoint bullet; (c) add part numbering and a short report id/checksum (`dogfood-status d90b5f0 part 1/3`) so downstream claws can detect missing chunks; (d) record/send a typed delivery receipt with `status: delivered|partial|failed`, `message_ids`, `bytes_sent`, `chunks_sent`, `truncated_at`, and provider error; (e) if any chunk fails, emit a compact failure notice and do not mark the report as posted; (f) regression-test a report containing #257-#268-sized entries against the Discord character budget and assert the split boundaries align to pinpoint stanzas. Acceptance: a same-day summary can never silently truncate mid-pinpoint; a send failure produces a typed `delivery_failed` receipt with no contradictory "posted" success prose; cron timeout can distinguish `timed_out_before_send` vs `timed_out_after_partial_send` (#246 sibling).
|
||||||
|
|
||||||
**Status:** Open. No source code changed. Filed 2026-04-26 14:32 KST. Branch: feat/jobdori-168c-emission-routing. HEAD: `62b20c7` before filing. Cluster delta: dogfood-transport-delivery-receipt +1; sibling to #246 (cron timeout ambiguity), #253 (state-vector budgeting), and #261 (summary self-consistency), but distinct transport/payload-budget layer. Concrete delta this cycle: ROADMAP-only pinpoint appended from live channel failure evidence.
|
**Status:** Open. No source code changed. Filed 2026-04-26 14:32 KST. Branch: feat/jobdori-168c-emission-routing. HEAD: `62b20c7` before filing. Cluster delta: dogfood-transport-delivery-receipt +1; sibling to #246 (cron timeout ambiguity), #253 (state-vector budgeting), and #261 (summary self-consistency), but distinct transport/payload-budget layer. Concrete delta this cycle: ROADMAP-only pinpoint appended from live channel failure evidence.
|
||||||
|
|
||||||
|
## Pinpoint #270 — Help-text flag listing omits `--reasoning-effort`, `--base-commit`, `--allow-broad-cwd`, and the `-p` short-prompt alias even though `parse_args` accepts and validates them, so operators auditing `claw --help` see no contract for runtime-tunable flags that are fully wired and documented inline only via inline error messages
|
||||||
|
|
||||||
|
Dogfooded 2026-04-26 14:33 KST on `feat/jobdori-168c-emission-routing` at HEAD `364566c` (post-rebase fast-forward onto gaebal-gajae's #269 dogfood-transport-payload-budget pinpoint). Fresh `cargo run --quiet --bin claw -- --help` output was captured in full; the `Flags:` block lists exactly seven flags (`--model`, `--output-format`, `--compact`, `--permission-mode`, `--dangerously-skip-permissions`, `--allowedTools`, `--version/-V`) and the `Examples:` block uses only those. Source inspection of `parse_args` at `rust/crates/rusty-claude-cli/src/main.rs:875-942` shows the dispatcher additionally accepts `--reasoning-effort {low|medium|high}` (lines 916-936, with both space-separated and `=`-form, validated against the literal set), `--base-commit COMMIT` (lines 905-915, both forms), `--allow-broad-cwd` (lines 939-942, boolean toggle), and `-p PROMPT` as a Claw Code compat short-prompt alias (line 943-onward, greedy `args[index+1..].join(" ")`). Live verification: `cargo run --quiet --bin claw -- --reasoning-effort medium prompt "noop"` parses past the CLI parse stage and fails downstream with `[error-kind: missing_credentials]` (Anthropic auth missing), confirming the flag is dispatch-accepted; `--reasoning-effort yolo` yields `[error-kind: cli_parse] invalid value for --reasoning-effort: 'yolo'; must be low, medium, or high` (test at `main.rs:11288-11294`). None of these four surface tokens appear in any `writeln!` invocation inside `print_help_to` (`main.rs:9328-9480`).
|
||||||
|
|
||||||
|
Concrete failure mode: an operator running `claw --help` to audit available knobs cannot discover that reasoning effort, custom base-commit-for-diff, broad-cwd permission, or `-p` shorthand exist. They learn about `--reasoning-effort` only by typing it wrong and seeing the validation error message; about `--base-commit` only by reading source or `MERGE_CHECKLIST.md`/git scripts; about `-p` only by reading examples in third-party docs or by observing other automation. This is the second member of the help-contract-drift cluster founded by #263 (`--compact` help text said "text mode only" while runtime had a live compact-JSON dispatch path): #263 was a stale-mode-matrix on a flag that *is* listed; #270 is whole-flag absence — flags that are fully wired (parse, validate, propagate, downstream-consume) and never documented in the help surface they should anchor. Both are stale-contract-vs-runtime divergences at the CLI surface, but on different sub-axes (advertised-flag-stale-mode vs unadvertised-flag-fully-wired).
|
||||||
|
|
||||||
|
Gap. This is a **help-contract drift / fully-wired-but-undocumented-flag** divergence at the CLI surface, distinct from #263. #263 catalogues a documented flag whose mode matrix is incorrect; #270 catalogues four flags that the dispatcher fully accepts and the runtime fully consumes but `print_help_to` never lists in its `Flags:` block. It is also distinct from #262 (missing `--max-turns` flag — that flag is *neither* in help *nor* in dispatch), distinct from #267 (`prompt TEXT` greedy-slurp parse-asymmetry — that is a parse-side contract gap, not a help-listing gap), and distinct from #265 (`stream-json` output mode absent from both help and dispatch). #270 is specifically the **dispatch-accepted-but-help-omitted** sub-shape, which the help-contract-drift cluster needs to cover symmetrically alongside #263's documented-but-stale sub-shape.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user