Features
- feat(release): one-click main path in release.yml (route job, channel next|latest, confirm_latest, npm, release commit and tag on main, GitHub release)
- feat(release): smoke --layout main (subfolder plugin, root clone marketplace) and a qwen leg that checks --agent qwen
- feat(release): commit-main.mjs, release commit and tag on main in one push, rollback as a forward commit
- feat(build): main tree writes root gemini and qwen manifests pointing into plugins/claude-code
- feat(release): plan --main --channel next|latest, version from tags and commits on main (no release branch)
Fixes
- fix(store): writable connections run synchronous=NORMAL, a COMMIT is no fsync (D-HOOK-SYNC-1)
- fix(e2e): GP11 allows the release package.json meta keys and checks them against package.json
- fix(manifests): plugin manifests carry the v2 version and description (D-PKG-META-1)
- fix(build): v2 package.json is the source of release fields, drop v1 and unused deps
- fix(ci): ctx_batch deadline test has no wall-clock budget; heldout search p95 takes the lowest of 3 passes (D-CI-BATCH-DEADLINE-1, D-CI-PERF-2)
Performance
- perf(hook): resolveProject computes projectKey, projectDir and dbPath on first read (D-CI-PERF-8)