chore(release): v0.6.0#62
Merged
triologue-agents[bot] merged 2 commits intomasterfrom May 3, 2026
Merged
Conversation
Cuts harness v0.6.0, the first minor release on top of the 0.5.0 npm distribution. Headline: the Phase-5 adoption-blocker cycle closes end-to-end. - harness apply --target / --merge / --force (PR #58): write the rendered settings.json directly into a Claude Code settings discovery path, with 3-way merge that preserves user-managed top-level keys. - apply translates tools.mcp[] into the settings.json mcpServers block (PR #59): closes the Phase 5 #1a caveat where init.mcp_servers in a `claude -p --settings <apply'd>` session was empty. - apply prints a Next-steps hint after a successful run, plus --quiet and --json (PR #60): copy-pasteable wire-up commands prevent the hallucination loop that motivated this work. - adopt reverse-projection for mcpServers into tools.mcp[] (PR #61): hand-edits to settings.json's mcpServers block round-trip back into the manifest. Manifest-only fields (health, enabled: false) are preserved on replace. The full apply → hand-edit → adopt → apply cycle is byte-identical on the settings.json bytes. Bumps: - package.json 0.5.0 → 0.6.0 (npm-published version) - src/cli/index.ts .version() 0.4.0 → 0.6.0 (was already stale at v0.5.0 cut; corrected here) - package-lock.json regenerated Dogfood (7 smokes against the built dist): - --version emits 0.6.0 - apply --target --merge preserves env + permissions, adds hooks + mcpServers - --quiet suppresses Next-steps hint - Next-steps hint present without --quiet, verify line includes --settings, no --output-dir hallucination - apply → hand-edit mcpServers → adopt → re-apply produces byte-identical settings.json - --json emits machine-readable outcome - validate --check-lock detects target tampering 655/655 unit tests pass. After tag v0.6.0: - release.yml creates the GitHub Release with the CHANGELOG body - publish-npm.yml publishes @lannguyensi/harness@0.6.0 Refs: agent-tasks b55f7b2b Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Caught by the v0.6.0 release review. The CLI Commander .version() at
src/cli/index.ts was already bumped, but four parallel sites still
hardcoded 0.4.0:
- src/cli/doctor/format.ts header banner ("harness 0.4.0")
- src/probes/mcp.ts MCP clientInfo
- src/policies/ledger-client.ts MCP clientInfo
- src/runtime/ledger-record.ts MCP clientInfo
Plus the corresponding test assertions in
tests/cli/{doctor,program}.test.ts. All bumped here to 0.6.0.
Long-term fix tracked as agent-tasks e4a4f118 (source version from
package.json instead of hand-maintaining 6 sites).
Co-Authored-By: Claude Opus 4.7 (1M context) <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
Cuts harness v0.6.0 to ship the four PRs that completed the Phase-5 adoption-blocker cycle:
apply --target / --merge / --forcefor direct settings.json wiringapplytranslatestools.mcpinto settings.jsonmcpServersapplyNext-steps hint after a successful run (+--quiet/--json)adoptreverse-projection formcpServersintotools.mcp[]Tag
v0.6.0after merge triggersrelease.yml(GitHub Release with CHANGELOG body) ANDpublish-npm.yml(publish@lannguyensi/harness@0.6.0).Test plan
awk '/^## \[0\.6\.0\]/{found=1; next} /^## \[/{found=0} found' CHANGELOG.mdreturns the v0.6.0 body cleanly.--versionemits0.6.0apply --target --mergepreservesenv+permissions, addshooks+mcpServers--quietsuppresses Next-steps hint--quiet; verify line includes--settings <targetPath>; no--output-dirhallucinationapply → hand-edit mcpServers → adopt → re-applyproduces byte-identical settings.json--jsonemits machine-readable JSON outcomevalidate --check-lockdetects target tampering403646d. Long-term fix (centralize viapackage.jsonimport) filed as follow-upe4a4f118.Reviewer notes
package.json,src/cli/index.tsCommander.version(), plus the four version sites caught by review (doctor banner + 3 MCPclientInfostrings) and 2 test assertions.harness.locktargetentry kind from feat(apply): add --target and --merge for direct settings.json wiring #58 is additive: old locks parse unchanged. SemVer minor bump is correct (no breakage).npm view @lannguyensi/harness@0.6.0returns 404 (verified by reviewer). Tag is safe.Refs: agent-tasks
b55f7b2b