Commit Graph
68 Commits
Author SHA1 Message Date
BellmanandGitHub 9494e3c26f Suppress config warnings on JSON local surfaces (#3192) 2026-05-28 20:34:18 +09:00
BellmanandGitHub ed3a616e62 docs: record global json warning leak (#3191) 2026-05-28 18:36:30 +09:00
BellmanandGitHub 89e7f415a9 Avoid duplicate config warnings for JSON consumers (#3190)
JSON config output already carries collected config diagnostics in warnings[], so prose stderr emission must be reserved for text/local paths. Lazy permission-mode default resolution prevents an earlier config load from leaking the same deprecation before the JSON renderer runs.\n\nConstraint: ROADMAP #815 requires text mode to keep human stderr warnings while JSON config/list suppresses duplicate app-level config prose.\nRejected: Filtering all stderr in JSON mode | would hide cargo/compiler or unrelated diagnostics outside the app config warning path.\nConfidence: high\nScope-risk: narrow\nDirective: Keep load_collecting_warnings side-effect-free; use load() for human stderr emission.\nTested: cargo fmt; cargo test -p rusty-claude-cli --test output_format_contract config_json_reports_deprecations_structurally_without_stderr_duplicate_815; cargo test -p rusty-claude-cli --test output_format_contract; manual target/debug/claw JSON config fixture.\nNot-tested: cargo clippy -p rusty-claude-cli --all-targets -- -D warnings is blocked by pre-existing runtime dead_code/trident warnings.
2026-05-28 18:09:59 +09:00
BellmanandGitHub c3e7b6af60 docs: record config json warning duplication (#3189) 2026-05-28 17:05:57 +09:00
BellmanandGitHub 3af2d9f986 docs: verify trailing json inventory gap resolved (#3188) 2026-05-28 16:36:11 +09:00
BellmanandGitHub 09ff1caf42 docs: record trailing json inventory timeout (#3187) 2026-05-28 16:05:50 +09:00
BellmanandGitHub 0e6d48d9dc docs: record argv-safe dogfood probe gap (#3186) 2026-05-28 15:34:04 +09:00
BellmanandGitHub b7ea04661a test: cover doctor help JSON flag order (#3185) 2026-05-28 14:34:19 +09:00
BellmanandGitHub 73d8d6e638 Keep doctor help machine-discoverable locally (#3184)
Doctor help was already on the local help path in current source, but the exact #702 dogfood surface lacked a focused guard and the JSON help envelope was still too prose-oriented for wrappers. Strengthen the JSON contract while preserving text help.\n\nConstraint: Preserve unrelated dirty rust/Cargo.lock from prior #701 work.\nRejected: Starting runtime/provider/session to inspect doctor semantics | help must be local and credential-free.\nConfidence: high\nScope-risk: narrow\nDirective: Keep doctor help routed through parse_local_help_action and print_help_topic; do not call run_doctor for --help.\nTested: cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli --test output_format_contract doctor_help -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli --test output_format_contract help -- --nocapture; cargo fmt --manifest-path rust/Cargo.toml --all -- --check; cargo check --manifest-path rust/Cargo.toml -p rusty-claude-cli; timeout 5s cargo run -q --bin claw -- --output-format json doctor --help; timeout 5s cargo run -q --bin claw -- doctor --help.\nNot-tested: full workspace test suite.
2026-05-28 13:31:39 +09:00
BellmanandGitHub 9ac66cbeb3 docs: quote dogfood build trap cleanup guidance (#3183) 2026-05-28 12:35:47 +09:00
BellmanandGitHub 773aa021be docs: use trap cleanup in dogfood build guidance (#3182) 2026-05-28 12:06:17 +09:00
BellmanandGitHub 5c3e1c1444 fix: add dogfood build help handling (#3181) 2026-05-28 11:36:13 +09:00
BellmanandGitHub 3260258b56 fix: make cc2 renderer path errors concise (#3180) 2026-05-28 11:08:26 +09:00
BellmanandGitHub a88d52fe88 fix: make cc2 validator directory board error concise (#3179) 2026-05-28 10:38:57 +09:00
BellmanandGitHub 60f44d314b fix: avoid cc2 generator dirs on missing source (#3178) 2026-05-28 10:07:38 +09:00
BellmanandGitHub d4e9829329 fix: suppress partial cc2 wrapper validate pass output (#3177) 2026-05-28 09:36:18 +09:00
BellmanandGitHub e17098cc70 fix: resolve cc2 wrapper tools from script root (#3176) 2026-05-28 08:36:16 +09:00
BellmanandGitHub e17936158a fix: make cc2 validator board read errors concise (#3175) 2026-05-28 08:06:28 +09:00
BellmanandGitHub 760e69675c fix: make cc2 generator missing source error concise (#3174) 2026-05-28 07:36:47 +09:00
BellmanandGitHub 193f11171a fix: reject extra roadmap helper paths (#3173) 2026-05-28 06:34:44 +09:00
BellmanandGitHub f11ac23e1f fix: add roadmap next-id help handling (#3172) 2026-05-28 06:06:42 +09:00
BellmanandGitHub c4770e6571 docs(roadmap): add #811 json error envelope nontty hangs (#3171) 2026-05-28 05:35:57 +09:00
BellmanandGitHub b0e94c996b docs(roadmap): add #810 json stdout warning contamination (#3169) 2026-05-28 05:05:17 +09:00
BellmanandGitHub 85d63b071c docs(roadmap): add #809 help mcp plugin json hangs (#3168) 2026-05-28 04:30:30 +09:00
BellmanandGitHub db81598525 docs(roadmap): add #808 control-plane json hangs (#3166) 2026-05-28 03:32:15 +09:00
BellmanandGitHub 86f45a11ef docs(roadmap): add #807 model json hang (#3163) 2026-05-28 01:33:01 +09:00
BellmanandGitHub ae6a207d4e fix(#3129): handle trailing json format for diff errors (#3161)
Keep malformed diff invocations with trailing JSON format flags on the parser error path and lock the contract with focused output-format regressions.

Constraint: Do not touch tracked .omx state files.

Rejected: Repeating direct binary smoke loops | local auth/provider configuration intercepts those invocations and obscures parser behavior.

Confidence: high

Scope-risk: narrow

Tested: git diff --check; cargo fmt --check; cargo test -p rusty-claude-cli diff_extra_args_have_typed_error_kind_and_hint_766 --test output_format_contract; cargo test -p rusty-claude-cli diff_trailing_json_after_malformed_args_is_bounded_json_3129 --test output_format_contract; cargo test -p rusty-claude-cli diff_non_git_dir_has_error_kind_and_hint_801 --test output_format_contract
2026-05-27 21:57:26 +09:00
BellmanandGitHub 23d7761e50 docs(roadmap): add #786 installed binary provenance gap (#3126) 2026-05-27 18:21:02 +09:00
BellmanandGitHub 49d5b3fcdc Prevent poisoned ROADMAP ids before allocation (#3116)
Constraint: roadmap-next-id.sh must preserve single-id stdout on success while failing closed if duplicate validation cannot run.
Rejected: Relying only on CI/pre-push duplicate checks | the helper is used immediately before appending and must not certify an already-poisoned file.
Confidence: high
Scope-risk: narrow
Directive: Keep roadmap-next-id.sh stdout machine-clean; route validation failures and checker availability errors to stderr, and keep focused helper behavior coverage in the docs/ROADMAP CI path.
Tested: scripts/roadmap-next-id.sh ROADMAP.md printed 725 before appending #725 and 726 after; temp ROADMAP with duplicate 999 exited nonzero and listed duplicate id; scripts/roadmap-check-ids.sh ROADMAP.md; bash -n scripts/roadmap-next-id.sh scripts/roadmap-check-ids.sh; python -m unittest discover -s tests -p test_roadmap_helpers.py; python -m pytest tests/test_roadmap_helpers.py -q; SKIP_CLAW_PRE_PUSH_BUILD=1 bash .github/hooks/pre-push
Not-tested: full cargo workspace build, unchanged docs/script-only path
2026-05-26 09:10:02 +09:00
BellmanandGitHub 25ee5f3d30 Prevent helper-era ROADMAP id collisions before review (#3115)
Add a lightweight ROADMAP duplicate-id guard and wire it into the low-risk docs/pre-push paths so optimistic append collisions introduced after the next-id helper are caught before merge.

Constraint: Current ROADMAP contains legacy numbered lists and pre-helper duplicate low ids, so the default guard checks helper-era ids >=723 while preserving --min-id 1 for a future strict audit.
Rejected: Fail CI on every numeric duplicate in the whole historical ROADMAP | current main would fail before this PR because old prose/list numbering is already duplicated.
Confidence: high
Scope-risk: narrow
Directive: Keep roadmap-next-id.sh paired with roadmap-check-ids.sh when changing ROADMAP append workflows.
Tested: bash -n scripts/roadmap-check-ids.sh scripts/roadmap-next-id.sh .github/hooks/pre-push; scripts/roadmap-check-ids.sh; temp ROADMAP copy with duplicate 723 failed nonzero and listed id 723; SKIP_CLAW_PRE_PUSH_BUILD=1 .github/hooks/pre-push; git diff --check; python3 .github/scripts/check_doc_source_of_truth.py; python3 .github/scripts/check_release_readiness.py
Not-tested: full cargo workspace build/test because this is docs/scripts-only and the local pre-push cargo build was smoke-tested with its documented skip path.
2026-05-26 08:49:23 +09:00
BellmanandGitHub 6e44da10fe Record stale local dogfood probe trap (#3114)
Constraint: Docs-only ROADMAP pinpoint requested; existing #324/#695 cover adjacent stale-binary and stale-worktree cases but not stale local cargo-run current-main misclassification.
Rejected: Implementing provenance warnings now | scope was to keep implementation out unless trivially obvious and safe.
Confidence: high
Scope-risk: narrow
Directive: Preserve #719 as the cargo-run/local-checkout sibling of #324/#695 when implementing provenance freshness.
Tested: python3 .github/scripts/check_doc_source_of_truth.py; python3 scripts/validate_cc2_board.py --board .omx/cc2/board.json; git diff --check
Not-tested: Runtime provenance warning implementation not changed.
2026-05-26 07:00:36 +08:00
BellmanandGitHub 92539cad68 Prevent pre-push contract drift (#3113)
Add a lightweight regression for the documented local pre-push build gate so the skip hatch and lockfile-grade cargo build command stay aligned with operator docs.

Constraint: Issue #696 scope is limited to pre-push hook contract drift after ROADMAP #694.\nRejected: Reworking the hook harness or roadmap board | unnecessary for the focused drift guard.\nConfidence: high\nScope-risk: narrow\nDirective: Keep the hook docs, skip hatch, and cargo --locked command in sync when changing local push gates.\nTested: bash -n .github/hooks/pre-push; python3 tests/test_pre_push_hook_contract.py -v; git diff --check\nNot-tested: Full cargo workspace build; Rust code was not touched.
2026-05-26 06:00:45 +08:00
BellmanandGitHub 8280f66aa1 Warn before unwritable git metadata blocks worker commits (#3112)
Use git rev-parse --git-dir so startup preflight follows worktree .git indirections to the real metadata directory, then check directory permission metadata without creating probe files. Add a regression that verifies both the warning kind and structured event path for a read-only external gitdir.

Constraint: ROADMAP #695 requires early startup/worktree diagnostics without destructive writes or broad sandbox redesign.

Rejected: write-probe detection | it mutates git metadata during a diagnostic path.

Confidence: high

Scope-risk: narrow

Directive: Keep startup preflight warnings non-destructive and structured by warning kind/path.

Tested: cargo fmt --manifest-path rust/Cargo.toml --all -- --check; cargo test --manifest-path rust/Cargo.toml -p runtime startup_preflight -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p runtime worker_boot -- --nocapture; cargo check --manifest-path rust/Cargo.toml --workspace

Not-tested: full cargo test --manifest-path rust/Cargo.toml --workspace
2026-05-26 05:01:39 +08:00
BellmanandGitHub 16604a111b fix(#458): add status assertions to skills/agents JSON envelope tests
Adds test coverage asserting status:ok in skills list, agents list, skills install, skills help, and agents help JSON envelopes. Status fields themselves were already landed in 0581894b and cc1462a7; this PR adds the regression test assertions that were missing. Duplicate status keys in json! macros are benign (serde_json takes last value) but harmless given all tests pass.
2026-05-25 15:35:40 +09:00
5200d1a476 docs(roadmap): add #692 — dump-manifests help json lacks source schema (#3094)
Co-authored-by: Yeachan-Heo <119558624+Yeachan-Heo@users.noreply.github.com>
2026-05-25 11:01:22 +09:00
BellmanandGitHub e939777f92 Merge pull request #2921 from ultraworkers/docs/roadmap-381-cache-help-json-hangs
docs(roadmap): add #381 — cache help json hangs
2026-04-30 12:09:06 +09:00
BellmanandGitHub 44cca2054d Merge pull request #2918 from ultraworkers/docs/roadmap-380-tokens-help-json-hangs
docs(roadmap): add #380 — tokens help json hangs
2026-04-30 11:38:50 +09:00
BellmanandGitHub a0bd406c8f Merge pull request #2915 from ultraworkers/docs/roadmap-358-cost-help-json-hangs
docs(roadmap): add #358 — cost help json hangs
2026-04-30 11:32:32 +09:00
BellmanandGitHub d95b230cae Merge pull request #2912 from ultraworkers/docs/roadmap-357-doctor-help-json-plain-text
docs(roadmap): add #357 — doctor help json emits plain text
2026-04-30 11:01:19 +09:00
BellmanandGitHub 52a909cebe Merge pull request #2908 from ultraworkers/docs/roadmap-356-status-help-json-plain-text
docs(roadmap): add #356 — status help json emits plain text
2026-04-30 10:30:47 +09:00
BellmanandGitHub 74338dc635 Merge pull request #2904 from ultraworkers/docs/roadmap-355-session-json-help-list-hangs
docs(roadmap): add #355 — session json help/list hangs
2026-04-30 10:01:09 +09:00
BellmanandGitHub 8e24f3049e Merge pull request #2901 from ultraworkers/docs/roadmap-354-memory-list-hangs
docs(roadmap): add #354 — memory json help/list hangs
2026-04-30 09:30:57 +09:00
BellmanandGitHub 19947545e2 Merge pull request #2899 from ultraworkers/docs/roadmap-353-plugins-uninstall-stderr-only
docs(roadmap): add #353 — plugins uninstall json error is stderr-only
2026-04-30 09:01:02 +09:00
BellmanandGitHub 6f92e54dc0 Merge pull request #2895 from ultraworkers/docs/roadmap-352-plugins-update-stderr-only
docs(roadmap): add #352 — plugins update json error is stderr-only
2026-04-30 08:30:58 +09:00
BellmanandGitHub 5eb1d7d824 Merge pull request #2892 from ultraworkers/docs/roadmap-351-plugins-disable-stderr-only
docs(roadmap): add #351 — plugins disable json error is stderr-only
2026-04-30 08:00:56 +09:00
BellmanandGitHub 0f9e8915be Merge pull request #2887 from ultraworkers/docs/roadmap-350-plugins-enable-missing-hangs
docs(roadmap): add #350 — plugins enable missing target hangs
2026-04-30 07:30:51 +09:00
BellmanandGitHub ee44ff984d Merge pull request #2886 from ultraworkers/docs/roadmap-349-plugins-show-unsupported-success
docs(roadmap): add #349 — plugins unsupported action returns success-shaped json
2026-04-30 07:00:56 +09:00
BellmanandGitHub a2a38df9b8 Merge pull request #2883 from ultraworkers/docs/roadmap-348-plugins-list-prose-only
docs(roadmap): add #348 — plugins list json is prose-only
2026-04-30 06:31:11 +09:00
BellmanandGitHub cca6f6829c Merge pull request #2881 from ultraworkers/docs/roadmap-347-mcp-show-missing-status-ok
docs(roadmap): add #347 — mcp show missing server reports status ok
2026-04-30 06:01:08 +09:00
BellmanandGitHub ee41b266d3 Merge pull request #2877 from ultraworkers/docs/roadmap-346-agents-show-help-fallback
docs(roadmap): add #346 — agents show falls back to help json
2026-04-30 05:30:50 +09:00
BellmanandGitHub c6c01beaca Merge pull request #2871 from ultraworkers/docs/roadmap-345-config-sections-identical-json
docs(roadmap): add #345 — config sections return identical json
2026-04-30 04:41:58 +09:00
BellmanandGitHub b2f7a3354f Merge pull request #2870 from ultraworkers/docs/roadmap-344-config-help-section-discovery
docs(roadmap): add #344 — config help lacks structured section discovery
2026-04-30 04:31:05 +09:00
BellmanandGitHub a510f73422 Merge pull request #2866 from ultraworkers/docs/roadmap-343-models-dead-end-suggestion
docs(roadmap): add #343 — models suggestion dead-ends under resume json
2026-04-30 03:31:05 +09:00
BellmanandGitHub a1bfcd4110 Merge pull request #2863 from ultraworkers/docs/roadmap-342-commands-discovery-alias
docs(roadmap): add #342 — commands discovery alias has no structured fallback
2026-04-30 02:01:43 +09:00
BellmanandGitHub f65b2b4f0e Merge pull request #2861 from ultraworkers/docs/roadmap-341-tasks-json-dual-vocab
docs(roadmap): add #341 — tasks JSON error envelope uses dual vocabulary
2026-04-30 01:06:27 +09:00
BellmanandGitHub 5856913104 Merge pull request #2859 from ultraworkers/docs/roadmap-340-session-help-json-stderr
docs(roadmap): add #340 — session help JSON error envelope goes to stderr
2026-04-30 00:54:42 +09:00
BellmanandGitHub dc47482e40 Merge pull request #2857 from ultraworkers/docs/roadmap-339-v2
docs(roadmap): add #339 — session delete not resume-safe, blocks GC automation
2026-04-30 00:26:29 +09:00
BellmanandGitHub f56a5afcf7 Merge pull request #2856 from ultraworkers/docs/roadmap-337-workspace-dirty-lifecycle-detail-restore
docs(roadmap): restore #337 workspace dirty lifecycle detail gap
2026-04-30 00:14:48 +09:00
BellmanandGitHub 30c9b438ef Merge pull request #2853 from ultraworkers/docs/roadmap-338-help-json-field-drift
docs(roadmap): add #338 for help JSON field drift
2026-04-30 00:06:24 +09:00
BellmanandGitHub 24ccb59bd2 Merge pull request #2851 from ultraworkers/docs/roadmap-329-slash-agents-json-opacity
docs(roadmap): add #329 for slash agents JSON opacity
2026-04-29 23:33:47 +09:00
BellmanandGitHub 0f7578c064 Merge pull request #2849 from ultraworkers/docs/roadmap-328-dogfood-pinpoint
Add ROADMAP #328 for native-agent source provenance
2026-04-29 22:35:51 +09:00
BellmanandGitHub ee85fed6ca Merge pull request #2847 from ultraworkers/docs/roadmap-327-dogfood-pinpoint
Add ROADMAP #327 for MCP help source mismatch
2026-04-29 22:06:45 +09:00
BellmanandGitHub 981aff7c8b Merge pull request #2845 from ultraworkers/docs/roadmap-326-dogfood-pinpoint
docs(roadmap): add #326 pane inventory opacity pinpoint
2026-04-29 21:35:26 +09:00
BellmanandGitHub b90875fa8e Merge pull request #2843 from ultraworkers/docs/roadmap-325-help-json-schema
docs(roadmap): add #325 help json schema opacity pinpoint
2026-04-29 21:05:12 +09:00
BellmanandGitHub d607ff3674 Merge pull request #2840 from ultraworkers/docs/roadmap-324-stale-binary-provenance
docs(roadmap): add #324 stale binary provenance pinpoint
2026-04-29 20:34:27 +09:00
BellmanandGitHub e7074f47ee Merge pull request #2838 from ultraworkers/docs/roadmap-322-323-clean
docs(roadmap): add #322 #323 — json stream corruption and session identity contradiction
2026-04-29 19:40:50 +09:00
BellmanandGitHub 1da2781816 Merge pull request #2835 from ultraworkers/docs/roadmap-249-issue-github-oauth-opacity
docs(roadmap): add #249 issue GitHub OAuth opacity pinpoint
2026-04-29 19:31:50 +09:00
BellmanandGitHub 8e22f757d8 Merge pull request #2834 from ultraworkers/docs/roadmap-248-prompt-mode-silent-hang
docs(roadmap): add #248 prompt-mode silent-hang pinpoint
2026-04-29 18:31:48 +09:00