Skip to content

Clean up after the unify, fingerprint and MCP fixes - #10

Merged
llima merged 3 commits into
mainfrom
chore/cli-cleanup-after-unify
Sep 21, 2026
Merged

llima merged 3 commits into
mainfrom
chore/cli-cleanup-after-unify

Conversation

@llima

@llima llima commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Version bumped to 0.2.3 (patch). Merging publishes craftar@0.2.3 to npm once the release run is approved in the npm environment.
  • Cleanup of the nits parked while reviewing Forge unify spine #7, Fingerprint nested metadata #8 and Emit MCP variants under their original server name #9. Committing them after a green review would have forced a full new review round, so they were held back and are addressed together here:
    • Removed stale comments and test titles left behind by withdrawn behaviour: the dry-pass comment no longer mentions profile edits, the "test was removed" placeholder comments are gone, and a test title now states what the test actually asserts.
    • One user-visible message changed. When lstat cannot inspect a component of a --save-plan target (a symlink loop or a permission error on Linux), the refusal now reads <path> cannot be inspected (<code>) instead of <path> exists but cannot be resolved (<code>), since the path is not known to exist. The dangling-symlink case keeps the old text. Both refusals still fail closed and write nothing.
    • Stronger MCP emitter tests: Kiro now asserts the exact CRLF bytes and the last-wins value, and a new test covers three ingredients writing one server name, naming each dropped writer once.
    • The --save-plan symlink tests now run on Windows too, through a directory junction, which needs no privilege. They used skipIf(win32) and had never run on Windows; one of them turned Forge unify spine #7's first CI run red on Linux. A new symlink-loop test covers the new message on both platforms.
  • No emitted byte changes: in src/, only comments and that one message.

Test plan

  • npm run typecheck: exit 0
  • npm test on Windows: 298 passed / 25 skipped (the symlink tests now run here)
  • Changed test files on Linux (node:22-bookworm, non-root): 135 passed / 0 skipped, including the ELOOP branch of the new message
  • Golden workspaces and the golden unify Forge passed with no regeneration
  • Oracle suite: skipped, no fixture available (no emitted byte changes)
  • Linux CI

Stale comments and test titles from withdrawn rulings go, the lstat-failure
refusal no longer claims the path exists, the MCP tests assert values and the
three-writer case, and the symlink tests run on Windows through a junction.
A symlink loop in a --save-plan target is refused on both platforms, as
"cannot be inspected" on Linux. The mcpServers comment named the wrong state: a
reordered MCP file with no lock entry reads as collision, not update.
0.2.3: patch, for the post-unify cleanup.
@llima
llima merged commit 0da357a into main Sep 21, 2026
8 checks passed
@llima
llima deleted the chore/cli-cleanup-after-unify branch September 21, 2026 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant