[v0.8.1-dev.2] Augment MCP host support & CLI logging improvements#48
Merged
LittleCoinCoin merged 7 commits intoCrackingShells:devfrom Mar 4, 2026
Merged
[v0.8.1-dev.2] Augment MCP host support & CLI logging improvements#48LittleCoinCoin merged 7 commits intoCrackingShells:devfrom
LittleCoinCoin merged 7 commits intoCrackingShells:devfrom
Conversation
The skill's Step 5 only covered data-driven fixtures (canonical_configs.json and host_registry.py), missing the static ALL_ADAPTERS and HOST_ADAPTER_MAP lists in test_adapter_protocol.py. Without this section, new hosts pass all tests while silently lacking AP-01…AP-06 protocol compliance coverage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cracking-shells-semantic-release bot
pushed a commit
that referenced
this pull request
Mar 4, 2026
## <small>0.8.1-dev.2 (2026-03-04)</small> * Merge branch 'feat/augment-mcp-host-support' into dev ([67bb767](67bb767)) * Merge branch `milestone/fix-logging-clutter` into dev ([5fd15dd](5fd15dd)) * Merge pull request #48 from LittleCoinCoin/dev ([0bc06fb](0bc06fb)), closes [#48](#48) * docs(adding-mcp-hosts): add test_adapter_protocol.py to fixture guide ([3a58908](3a58908)) * docs(logging): expose --log-level flag in CLI reference global options ([5aa2e9d](5aa2e9d)) * feat(cli): add --log-level flag and default log output to WARNING ([1e3817f](1e3817f)) * feat(mcp-augment): add enum value and constant ([8b22594](8b22594)) * feat(mcp-augment): implement AugmentAdapter ([5af34d1](5af34d1)) * feat(mcp-augment): implement AugmentHostStrategy ([b13d9d0](b13d9d0)) * feat(mcp-augment): wire AugmentAdapter into integration points ([367b736](367b736)) * feat(registry): add transient dim status on cache refresh ([09dd517](09dd517)) * refactor(logging): remove forced setLevel(INFO) from all module loggers ([fb2ee4c](fb2ee4c)) * refactor(registry): demote startup and fetch INFO logs to DEBUG ([df97e58](df97e58)) * fix(mcp-hosts): close validation and test coverage gaps ([9d7f0e5](9d7f0e5)) * test(mcp-augment): register test fixtures and update tests ([294d0d8](294d0d8)) * chore: clean up temporary reports ([038be8c](038be8c))
cracking-shells-semantic-release bot
pushed a commit
that referenced
this pull request
Apr 1, 2026
## <small>0.8.1 (2026-04-01)</small> * Merge branch 'feat/augment-mcp-host-support' into dev ([67bb767](67bb767)) * Merge branch 'feat/opencode-mcp-host-support' into dev ([793707d](793707d)) * Merge branch 'milestone/adding-mcp-hosts-skill' into dev ([bce3851](bce3851)) * Merge branch 'task/update-extension-guide' into milestone/mcp-docs-refresh ([d2a0df9](d2a0df9)) * Merge branch 'task/write-adapter-contract' into milestone/adding-mcp-hosts-skill ([c639322](c639322)) * Merge branch 'task/write-skill-md' into milestone/adding-mcp-hosts-skill ([d618f71](d618f71)) * Merge branch 'task/write-strategy-contract' into milestone/adding-mcp-hosts-skill ([13b195c](13b195c)) * Merge branch 'task/write-testing-fixtures' into milestone/adding-mcp-hosts-skill ([3cc4175](3cc4175)) * Merge branch `milestone/fix-logging-clutter` into dev ([5fd15dd](5fd15dd)) * Merge pull request #47 from LittleCoinCoin/dev ([9d873aa](9d873aa)), closes [#47](#47) * Merge pull request #48 from LittleCoinCoin/dev ([0bc06fb](0bc06fb)), closes [#48](#48) * Merge pull request #49 from LittleCoinCoin/dev ([73666d9](73666d9)), closes [#49](#49) * Merge pull request #50 from LittleCoinCoin/dev ([8f6c5f8](8f6c5f8)), closes [#50](#50) * Merge pull request #51 from CrackingShells/dev ([dfbe031](dfbe031)), closes [#51](#51) * chore: clean up temporary reports ([038be8c](038be8c)) * chore: cleanup `__reports__/` ([1056e52](1056e52)) * chore: move skills directory location ([f739fed](f739fed)) * chore: update cs-playbook submodule ([c544cb3](c544cb3)) * chore(git): add .DS_Store to .gitignore ([cff376a](cff376a)) * chore(release): 0.8.1-dev.1 ([e31b347](e31b347)) * chore(release): 0.8.1-dev.2 ([3f58954](3f58954)) * chore(release): 0.8.1-dev.3 [skip ci] ([7aaa6eb](7aaa6eb)) * chore(release): 0.8.1-dev.4 [skip ci] ([f7221c3](f7221c3)) * chore(release): 0.8.1-dev.5 [skip ci] ([c605bc7](c605bc7)) * chore(release): 0.8.1-dev.6 [skip ci] ([10a2e48](10a2e48)) * chore(roadmap): add adding-mcp-hosts-skill campaign ([e48ea10](e48ea10)) * chore(skill): package adding-mcp-hosts skill ([e5fbfa2](e5fbfa2)) * docs: correct Mistral Vibe terminology to CLI coding agent ([bfa8b9b](bfa8b9b)) * docs(adding-mcp-hosts): add test_adapter_protocol.py to fixture guide ([3a58908](3a58908)) * docs(adding-mcp-hosts): use parallel research over priority ladder ([6f6165a](6f6165a)) * docs(cli): update to match current CLI state ([2d75bcd](2d75bcd)) * docs(entry-docs): refresh content for primary use case identification ([d4d0bb9](d4d0bb9)) * docs(known-issues): sync appendix with v0.8.1 codebase state ([ed98ea4](ed98ea4)) * docs(logging): expose --log-level flag in CLI reference global options ([5aa2e9d](5aa2e9d)) * docs(mcp-host-config): surface opencode and augment in all host lists ([dbdba35](dbdba35)) * docs(mcp-hosts): add mistral vibe to supported platforms ([5130c84](5130c84)) * docs(mcp-hosts): capture mistral vibe host analysis ([4ff2758](4ff2758)) * docs(mcp): document strategy, registration, and variant pattern ([21c30d5](21c30d5)) * docs(mcp): rewrite testing section with data-driven docs ([5fc6f97](5fc6f97)) * docs(mcp): rewrite testing section with data-driven infra ([24c6ebf](24c6ebf)) * docs(mcp): update adapter template to validate_filtered() ([69d61cc](69d61cc)) * docs(mcp): update field support matrix and field mapping documentation ([c08e064](c08e064)) * docs(mcp): update strategy template with interface docs ([0b83b6e](0b83b6e)) * docs(roadmap): add mcp-docs-refresh task files and gap analysis ([896f4d2](896f4d2)) * docs(roadmap): mark adding-mcp-hosts-skill campaign as done ([b7e6c95](b7e6c95)) * docs(roadmap): mark mcp-docs-refresh tasks as done ([fc07cd1](fc07cd1)) * style(docs): add CrackingShells brand theme stylesheets for MkDocs ([c5cec5b](c5cec5b)) * style(docs): apply CrackingShells org theme to MkDocs ([7749d48](7749d48)) * fix(ci): inline pypi publish jobs to satisfy trusted publishing ([fc81e78](fc81e78)) * fix(ci): rename caller workflow to match pypi trusted publisher ([7d2634d](7d2634d)) * fix(mcp-hosts): add explicit HTTP transport type for Claude URL-based co ([62f99cf](62f99cf)) * fix(mcp-hosts): always set HTTP transport type for Claude URL-based conf ([904f22b](904f22b)) * fix(mcp-hosts): close validation and test coverage gaps ([9d7f0e5](9d7f0e5)) * fix(mcp-hosts): remove redundant Claude Desktop/Code URL validation ([d6a75a8](d6a75a8)) * fix(mcp-opencode): anchor JSONC comment regex in write_configuration ([a35d3a2](a35d3a2)) * fix(mcp-opencode): anchor JSONC comment regex to line start ([d8f3a75](d8f3a75)) * fix(mcp-opencode): make serialize() canonical-form; add test fixes ([ee1d915](ee1d915)) * test(mcp-augment): register test fixtures and update tests ([294d0d8](294d0d8)) * test(mcp-fixtures): add opencode entry to canonical_configs.json ([5ae3b57](5ae3b57)) * test(mcp-fixtures): register opencode in host_registry.py ([734b3c0](734b3c0)) * test(mcp-hosts): keep mistral vibe in shared adapter coverage ([1a81ae0](1a81ae0)) * test(mcp): add fixture for claude remote setup ([d1cc2b0](d1cc2b0)) * test(mcp): fix whitespace in Claude transport serialization test ([b5c7191](b5c7191)) * feat(cli): add --log-level flag and default log output to WARNING ([1e3817f](1e3817f)) * feat(cli): let shared mcp configure target mistral vibe ([0e801d0](0e801d0)) * feat(mcp-adapter): add OpenCodeAdapter with serialize transforms ([28e3bdf](28e3bdf)) * feat(mcp-augment): add enum value and constant ([8b22594](8b22594)) * feat(mcp-augment): implement AugmentAdapter ([5af34d1](5af34d1)) * feat(mcp-augment): implement AugmentHostStrategy ([b13d9d0](b13d9d0)) * feat(mcp-augment): wire AugmentAdapter into integration points ([367b736](367b736)) * feat(mcp-fields): add OPENCODE_FIELDS constant ([b9ddf43](b9ddf43)) * feat(mcp-hosts): let hatch manage mistral vibe configs ([f213971](f213971)) * feat(mcp-models): add opencode oauth fields to MCPServerConfig ([2bae600](2bae600)) * feat(mcp-registry): register OpenCodeAdapter in adapter registry ([20e0fc8](20e0fc8)) * feat(mcp-strategy): add OpenCodeHostStrategy with JSONC read/write ([8bb590a](8bb590a)) * feat(mcp-wiring): add opencode to backup and reporting ([7d0b075](7d0b075)) * feat(registry): add transient dim status on cache refresh ([09dd517](09dd517)) * feat(skill): add adapter contract reference ([336fced](336fced)) * feat(skill): add discovery guide reference ([8061c5f](8061c5f)) * feat(skill): add strategy contract reference ([cf9b807](cf9b807)) * feat(skill): add testing fixtures reference ([070894c](070894c)) * feat(skill): write SKILL.md with 5-step workflow ([8984a3a](8984a3a)) * ci: semantic-release streamlining ([db0fb91](db0fb91)) * refactor(logging): remove forced setLevel(INFO) from all module loggers ([fb2ee4c](fb2ee4c)) * refactor(registry): demote startup and fetch INFO logs to DEBUG ([df97e58](df97e58))
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.
Features
Augment Code MCP host support
Adds full MCP host support for Augment Code, covering the complete adapter contract:
MCPHostType.AUGMENTenum value andAUGMENT_FIELDSconstant (mirrors Claude field set:command,args,env,url,headers,type)AugmentAdapter— validates exactly-one transport (commandXORurl) andtype-field consistency; no structural transforms neededAugmentHostStrategy— extendsClaudeHostStrategytargeting~/.augment/settings.jsonwith themcpServerskey; same JSON format and settings-preservation logic as the Claude family;Noneon native Windows (WSL uses the Linux path)__init__,AdapterRegistry,BackupInfo, andreporting--log-levelglobal flagAll
hatchcommands previously emitted one or moreINFO-level log lines (with full timestamps and logger names) before any meaningful output, regardless of whether anything was actually happening. Root cause: 8 modules calledself.logger.setLevel(logging.INFO)on their own loggers, bypassing root-level filtering entirely.Fixed by removing the per-module
setLeveloverrides and defaultingbasicConfigtoWARNING. Operational logs remain fully accessible via--log-level INFO.New top-level flag accepted by all commands:
Default is
WARNING— operationalINFOmessages are available on demand without cluttering normal output.Transient registry cache status
When the registry cache is stale and a network fetch is required, a dim status line now appears on
stderrand is overwritten as soon as the table renders — no persistent log noise, fully silent when output is piped or in CI:Bug Fixes
MCP host adapter validation and test coverage gaps (
fix(mcp-hosts))Adversarial review of the Augment integration surface revealed three pre-existing gaps:
EnvironmentPackageEntry.validate_host_names()was missing"codex", silently rejecting any package configured for the Codex hosttest_adapter_protocol.pyALL_ADAPTERSandHOST_ADAPTER_MAPstill reflected the pre-Augment/OpenCode 8-host list, meaning theAP-01…AP-06protocol tests never exercised the two newest adaptersAdapterRegistrydocstring example showed stale 8-host output