- Add SkillOrigin::Bundled variant to support bundled skills registry
- Implement bundled_skill_root() function for discovering bundled skills
- Update skill discovery to include bundled skills from standard install paths
- Create example bundled skills (example-skill, chain-example)
- Add comprehensive tests for bundled skills discovery and metadata
- Bundled skills follow same directory structure as plugins
- Skills can now chain/invoke other skills using standard dispatch mechanisms
- Maintains backward compatibility with existing SkillsDir and LegacyCommandsDir
- Mark SDK wire protocol (Slice 1.1) as implemented (PR #3330)
- Update tool catalog status with read selectors (PR #3332/#3334)
- Add slash commands progress: /tools, /info (PR #3339)
- Document as historical planning reference with current implementation status
- Add PR references and status summary
- All section status notes now reflect merged work as of 2026-10-13
- OLLAMA_HOST takes priority over OPENAI_BASE_URL for local Ollama instances
- No API key required; placeholder token used for Authorization header
- Model names like 'qwen3:8b' bypass strict provider/model syntax validation
- detect_provider_kind() checks OLLAMA_HOST first in routing cascade
- ProviderClient dispatch uses from_ollama_env() when OLLAMA_HOST is set
- Updated USAGE.md and docs with OLLAMA_HOST as preferred env var
- Added OLLAMA_CONFIG constant and from_ollama_env() to openai_compat
- Added test_ollama_host_bypasses_model_validation unit test
- Supersedes PR #3213 (which had a duplicate if-let bug in mod.rs)
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.
G012 requires a fresh PR reconciliation snapshot before Claw Code 2.0 can close, and the live GitHub state does not provide enough safety evidence for worker-side merges.
Constraint: Worker-3 must not mutate .omx/ultragoal and may merge only correct, safe, non-conflicting, resolvable PRs with evidence.
Rejected: Blindly merging GitHub-mergeable PRs | GitHub reported UNSTABLE/no fresh check evidence for mergeable PRs and DIRTY conflicts for the rest.
Confidence: high
Scope-risk: narrow
Directive: Keep PR merge decisions gated by fresh CI, conflict-free merge state, and content/source-of-truth review.
Tested: python3 -m json.tool docs/pr-triage-g012-final-gate.json; python3 .github/scripts/check_doc_source_of_truth.py; (cd rust && cargo check --workspace); (cd rust && cargo fmt --check --all)
Not-tested: (cd rust && cargo test --workspace) failed in unrelated rusty-claude-cli tests tests::resume_usage_mentions_latest_shortcut and tests::session_lifecycle_prefers_running_process_over_idle_shell; no Rust files changed.
Co-authored-by: OmX <omx@oh-my-codex.dev>
Capture the fresh G012 issue snapshot and classify open issues without mutating remote state so the final gate has durable evidence despite the team claim-token mismatch.
Constraint: Task 5 remains lifecycle-blocked because task metadata assigns the W4 lane in text but keeps owner=worker-1, so worker-4 cannot obtain a claim token.
Rejected: Closing or labeling issues from this worker lane | remote issue mutation requires maintainer-owned approval and a valid task claim.
Confidence: medium
Scope-risk: narrow
Directive: Do not mark G012 issue reconciliation complete until leader repairs the task claim conflict or explicitly reconciles this evidence-only commit.
Tested: python3 .github/scripts/check_doc_source_of_truth.py; python3 .github/scripts/check_release_readiness.py; git diff --check
Not-tested: full Rust test/typecheck suite was not run because this commit changes only the docs evidence artifact.
Co-authored-by: OmX <omx@users.noreply.github.com>
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>
PowerShell-first install and provider-switching guidance was missing from the release-readiness path, so add a focused quickstart and link it from the primary docs without touching runtime code.
Constraint: G009 task 4 scope is docs-only install/release quickstart and provider switching; do not mutate .omx/ultragoal.
Rejected: Runtime or installer changes | task asks for command-copyable docs and source-of-truth alignment, not product behavior changes.
Confidence: high
Scope-risk: narrow
Directive: Keep Windows examples placeholder-secret only and prefer explicit provider model prefixes when multiple credentials may exist.
Tested: cargo fmt --check; cargo check --workspace; cargo clippy --workspace --no-deps; markdown link/fence/grep validation.
Not-tested: cargo test --workspace has pre-existing failing rusty-claude-cli::tests::session_lifecycle_prefers_running_process_over_idle_shell unrelated to docs; targeted rerun reproduces.
Co-authored-by: OmX <omx@oh-my-codex.dev>
G009 Stream 8 acceptance requires a Windows release artifact quickstart with checksum evidence, not just source-build docs. Add Windows release asset packaging and make the release-readiness check assert the workflow/docs contract.
Constraint: Stream 8 requires release artifact quickstart with checksums and no-credential smoke paths.
Rejected: Documenting a future Windows asset without workflow support | would leave acceptance unverifiable.
Confidence: high
Scope-risk: narrow
Tested: python3 .github/scripts/check_release_readiness.py; python3 .github/scripts/check_doc_source_of_truth.py; git diff --check
Not-tested: actual GitHub release workflow execution on windows-latest.
Co-authored-by: OmX <omx@oh-my-codex.dev>
Document the current degraded startup, required/optional, interpolation, redaction, and plugin lifecycle boundaries so follow-up implementation work has a verified source map.
Constraint: Task 7 requested a mapping artifact and worker scope forbids .omx/ultragoal mutation.
Rejected: Implement interpolation or redaction policy changes in this slice | task wording and prior Task 3/6 lanes only required mapping plus verification.
Confidence: high
Scope-risk: narrow
Directive: Treat required MCP server handling as metadata-only until a future policy slice explicitly defines fail-hard semantics.
Tested: cargo test -p runtime parses_typed_mcp_and_oauth_config -- --nocapture; cargo test -p runtime manager_discovery_report_keeps_healthy_servers_when_one_server_fails -- --nocapture; cargo test -p runtime manager_records_unsupported_non_stdio_servers_without_panicking -- --nocapture; cargo test -p commands renders_mcp_reports -- --nocapture; cargo test -p plugins installed_plugin_registry_report_collects_load_failures_from_install_root -- --nocapture; cargo test -p rusty-claude-cli --test output_format_contract plugins_json_surfaces_lifecycle_contract_when_plugin_is_installed -- --nocapture
Not-tested: cargo clippy remains blocked by pre-existing runtime::policy_engine::LaneContext clippy::struct_excessive_bools from earlier verification.
Co-authored-by: OmX <omx@oh-my-codex.dev>
Record why the G005 branch-recovery work satisfies the roadmap pinpoints without touching leader-owned Ultragoal state.
Constraint: Task 2 requested ROADMAP.md/plan pinpoint mapping and explicitly forbids .omx/ultragoal mutation.
Rejected: leader-only mailbox note | the task prefers a repo-local docs/g005 verification map when unclaimed and absent.
Confidence: high
Scope-risk: narrow
Directive: Keep this map evidence-only; do not treat it as a substitute for leader Ultragoal checkpoints.
Tested: documentation-only map cross-checked against ROADMAP.md, prd.json, and task-1 verification output.
Not-tested: no code tests rerun after documentation-only commit.
Give the leader a durable integration map for G004 event/report contracts, including ownership boundaries, focused verification commands, hazards, and worker commit evidence.\n\nConstraint: Task 5 is audit/coordination only and leader owns .omx/ultragoal checkpoints.\nRejected: Expanding into approval-token implementation | worker-2 owns that lane in the G004 split.\nConfidence: high\nScope-risk: narrow\nDirective: Re-run runtime and targeted tools contracts after integrating worker branches; do not infer Codex goal state from this doc.\nTested: map content backed by task 1/2/4 verification evidence and current git history.\nNot-tested: full workspace suite.