feat(harness): user-scope profile slice 1 (Claude + Codex) - #465
Merged
Conversation
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Cursor <cursoragent@cursor.com>
Co-Authored-By: Codex <codex@openai.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Project the canonical MCP catalog into Claude and Codex user-scope profiles, keep Cursor on the legacy install path, and add focused acceptance tests for dry-run, preservation, idempotence, uninstall, and doctor drift. Refs #438 Co-authored-by: Cursor <cursoragent@cursor.com>
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: escoffier-labs/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Refs #438 Co-authored-by: Cursor <cursoragent@cursor.com>
Co-Authored-By: Codex <codex@openai.com>
solomonneas
added a commit
that referenced
this pull request
Jul 23, 2026
…ofiles (#467) Extend the slice-1 user-scope profile layer (#465) with the five remaining issue #438 harnesses behind the same sync/doctor/uninstall contract: dry-run default, receipt-based ownership, idempotent sync, and uninstall that removes only Brigade-owned artifacts. - OpenClaw: marked block in the canonical workspace AGENTS.md, ~/.openclaw/skills, existing openclaw MCP adapter. - Kimi Code: capability probe selects ~/.kimi over ~/.kimi-code, with the profile carrying the probed MCP path; new kimi-user adapter (mcpServers JSON) round-trips foreign keys. - Grok CLI: ~/.grok AGENTS.md + skills, existing grok-user adapter. - Cursor: instructions ride the managed plugin/rule/hook surface from cursor_user_cmd (whole-file managed rule + generated plugin/hook artifacts + one managed hooks.json sessionStart entry), existing cursor-user adapter. - OpenCode: ~/.config/opencode AGENTS.md + skills, new opencode-user adapter for the global config. The profile engine gains generated-file and co-owned hook planning on top of the pre-reserved state section; slice-1 Claude/Codex behavior is unchanged. --target all now covers all seven harnesses. Closes #438 Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Partial implementation of #438: user-scope harness parity, slice 1.
--writerequired for mutation:brigade harness sync --target all|claude|codex --scope userbrigade harness doctor --target all|claude|codex --scope userbrigade harness uninstall --target all|claude|codex --scope user~/.claude/CLAUDE.md,~/.claude/skills, and the existing Claude user MCP adapter.~/.codex/AGENTS.md,~/.codex/skills, and the existing Codex user MCP adapter.--target all --write, so a conflict in either harness prevents partial application.The implementation reuses the canonical MCP catalog and existing per-harness user MCP adapters. User-authored instruction content and foreign MCP entries are preserved.
Follow-ups outside this PR
model_trials.py, the run dispatcher, release metadata, and selection work remain untouchedRefs #438. This is a partial slice and does not close the issue.
Verification
brigade work verify run --target . --command "pytest -q tests/test_harness_user_scope.py tests/test_harness_profile_cmd.py" --capture brigade-work42 passed in 4.43sbrigade work verify run --target . --command "./scripts/verify" --capture brigade-workSuccess: no issues found in 318 source filesversion=0.25.1 checked=13 locationsok (6 manifests)4134 passed, 3 skipped in 368.83s82.55%against the78%floorFocused coverage includes dry-run versus
--write, preservation of hand-authored instruction content, idempotent re-sync with MCP enabled, conflict reporting, exact owned-artifact uninstall, receipt drift, symlink rejection, cross-harness preflight, and doctor drift detection.