Published
The contract matches the tree.
Patch over 4.6.4. Existing Next.js apps get SharedKernel and CompositionRoot
instead of dumping src/lib/** into Application.
ark_place needs a path. Doctor JSON stays in one envelope.
No required config migration.
Upgrade
Get 4.6.5
Preview keeps every host already in the repo. Apply installs the new pin
unless you pass --no-install. The same projection lands in
AGENTS.md and CLAUDE.md.
What changed
Honesty for large trees and many hosts.
Adopt starter
SharedKernel for types/constants, CompositionRoot for wiring,
src/**/domain/**. Writes .ark/golden-pattern.json.
Place fail-closed
filePath is required. No invented
components/*.tsx. No default to Presentation.
Doctor envelope
{ schemaVersion, envelope: "doctor", ok, doctor }.
Hook green is not tree green. GitHub Free cannot require checks.
WritePath file
Read .ark/ci-merge-boundary.json instead of
node_modules dist. Claude hard vs Cursor soft is first-class.
Honest limits
What this release does not claim
- Scripted edits still bypass PreToolUse. Required CI remains the merge boundary.
- GitHub Free cannot require status checks. Doctor says so instead of sending you into dist.
- MCP remains advisory. Identity handshake is optional when the CLI already resolved the root.
- No new skill names. Prefer project
.agents/skillsover a duplicate home catalog.
Maintainer source: docs/releases/4.6.5.md ↗