mirror of
https://github.com/instructkr/claude-code.git
synced 2026-05-17 03:16:44 +00:00
Replace placeholder pytest/nonexistent cargo filters with repository-native unittest and exact cargo filters so the final UX/verification matrix can be rerun without extra dependencies. Constraint: worker-4 task 7 owns the final G011 verification map and must not mutate .omx/ultragoal. Rejected: leaving pytest-based guidance | pytest is not installed in this worktree and unittest covers the existing plugin regression cases. Confidence: high Scope-risk: narrow Directive: Keep desktop, marketplace, clipboard, and clickable-link surfaces explicit as deferrals until their contracts have implementation tests. Tested: git diff --check; python3 .github/scripts/check_doc_source_of_truth.py; python3 .github/scripts/check_release_readiness.py; cargo check --manifest-path rust/Cargo.toml -p commands -p rusty-claude-cli; targeted commands/rusty-claude-cli/output_format cargo tests; python3 -m unittest plugin porting tests. Not-tested: full cargo test --workspace. Co-authored-by: OmX <omx@local>
7.6 KiB
7.6 KiB
G011 Ecosystem/Ops/UX Verification Map
G011 closes the laterals that were intentionally deferred from the earlier safety, session, MCP, Windows, and docs streams. This map is the cross-lane gate for the team run: it names the surfaces that can be verified locally, the exact checks to rerun after worker integrations, and the UX deferrals that must remain explicit until their product contracts are stable.
Cross-lane acceptance matrix
| Lane | Owned surface | Regression evidence | Gate / gap |
|---|---|---|---|
| ACP/Zed status and JSON contracts | rust/crates/rusty-claude-cli/src/main.rs parses claw acp, claw acp serve, --acp, and -acp; README.md and rust/README.md document discoverability-only status |
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli --test output_format_contract acp_guidance_emits_json_when_requested -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli local_command_help_flags_stay_on_the_local_parser_path -- --nocapture |
Real ACP/Zed daemon support remains deferred; status output must not imply a running protocol endpoint. |
| Plugin/marketplace local routing | rust/crates/rusty-claude-cli/src/main.rs routes claw plugins, claw plugin, and claw marketplace to local plugin handling; rust/crates/commands/src/lib.rs keeps /plugin aliases in shared slash-command help |
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli removed_login_and_logout_subcommands_error_helpfully -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli direct_slash_commands_surface_shared_validation_errors -- --nocapture; python3 -m unittest tests.test_porting_workspace.PortingWorkspaceTests.test_plugin_command_filter_excludes_plugin_sources tests.test_porting_workspace.PortingWorkspaceTests.test_plugin_command_aliases_execute_as_local_commands tests.test_porting_workspace.PortingWorkspaceTests.test_route_plugin_slash_commands_match_commands tests.test_porting_workspace.PortingWorkspaceTests.test_plugin_command_stream_emits_command_match tests.test_porting_workspace.PortingWorkspaceTests.test_turn_loop_plugin_commands_are_not_prompt_only |
Marketplace is an alias to local plugin management only; no remote marketplace browsing/install contract is claimed. |
| TUI/copy/paste/clickable path UX | rust/crates/commands/src/lib.rs advertises /copy, /paste, /desktop, and path-oriented commands; rust/crates/rusty-claude-cli/src/main.rs renders compact file/tool paths for terminal readability |
cargo test --manifest-path rust/Cargo.toml -p commands renders_help_with_grouped_categories_and_keyboard_shortcuts -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli tool_rendering_helpers_compact_output -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli tool_rendering_truncates_large_read_output_for_display_only -- --nocapture |
Clipboard integration, full-screen TUI mode, and clickable terminal hyperlinks are not stable product contracts yet; keep them as roadmap/UX follow-ups unless a targeted implementation lands. |
| Desktop integration deferral | rust/crates/commands/src/lib.rs includes /desktop; rust/crates/rusty-claude-cli/src/main.rs treats it as not implemented in the current build |
cargo test --manifest-path rust/Cargo.toml -p commands renders_help_from_shared_specs -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p commands renders_per_command_help_detail -- --nocapture |
/desktop must stay discoverable but non-committal until a desktop launch/API contract exists. |
| Navigation/file-context/local-provider docs | README.md, USAGE.md, rust/README.md, docs/MODEL_COMPATIBILITY.md, and worker-2 docs updates |
python3 .github/scripts/check_doc_source_of_truth.py; python3 .github/scripts/check_release_readiness.py; git diff --check |
Re-run after docs integrations; this lane should not alter Rust behavior unless docs expose a code contract gap. |
| Issue/PR ops gate | docs/pr-issue-resolution-gate.md, docs/roadmap-pr-goals.md, and issue/PR triage templates if present |
python3 .github/scripts/check_release_readiness.py; git diff --check; optional python3 scripts/validate_cc2_board.py only when .omx/cc2/board.md changes |
Worker lanes must not merge/close remote PRs or issues; final reconciliation remains leader-owned. |
Task 5 UX/deferral support notes
/copy,/paste, and/desktopare parsed slash-command names, but current runtime handling still reports unimplemented commands rather than performing clipboard or desktop side effects. That is safer than pretending support exists./marketplaceis intentionally a plugin alias; it should not be described as a remote marketplace until install/search/update semantics and trust policy are specified.- Path readability is covered by terminal rendering helpers that compact long tool outputs and preserve paths in read/write/edit summaries. Clickable OSC-8 links, if added later, need separate tests because terminal support varies.
- Full-screen TUI mode remains aspirational (
rust/TUI-ENHANCEMENT-PLAN.md); current verification should focus on the inline REPL/help/status surfaces.
Final verification sequence
Run these after all G011 worker commits are integrated into the leader branch:
git diff --check
python3 .github/scripts/check_doc_source_of_truth.py
python3 .github/scripts/check_release_readiness.py
cargo check --manifest-path rust/Cargo.toml -p commands -p rusty-claude-cli
cargo test --manifest-path rust/Cargo.toml -p commands renders_help_from_shared_specs -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p commands renders_help_with_grouped_categories_and_keyboard_shortcuts -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p commands renders_per_command_help_detail -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli removed_login_and_logout_subcommands_error_helpfully -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli direct_slash_commands_surface_shared_validation_errors -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli local_command_help_flags_stay_on_the_local_parser_path -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli tool_rendering_helpers_compact_output -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli tool_rendering_truncates_large_read_output_for_display_only -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli --test output_format_contract acp_guidance_emits_json_when_requested -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p rusty-claude-cli --test output_format_contract plugins_json_surfaces_lifecycle_contract_when_plugin_is_installed -- --nocapture
python3 -m unittest tests.test_porting_workspace.PortingWorkspaceTests.test_plugin_command_filter_excludes_plugin_sources tests.test_porting_workspace.PortingWorkspaceTests.test_plugin_command_aliases_execute_as_local_commands tests.test_porting_workspace.PortingWorkspaceTests.test_route_plugin_slash_commands_match_commands tests.test_porting_workspace.PortingWorkspaceTests.test_plugin_command_stream_emits_command_match tests.test_porting_workspace.PortingWorkspaceTests.test_turn_loop_plugin_commands_are_not_prompt_only
Leader audit notes
- This map is repo-local evidence only; workers must not mutate
.omx/ultragoal. - If a check fails because another lane is still in progress, record the failing command and rerun after that lane is integrated instead of weakening the gate.
- The minimum terminal condition is: docs checks pass, Rust targeted tests pass, and any still-deferred UX surface is explicitly named above.