v0.19.0
v0.19.0: 6 features, 2 tests, 2 refactoring, 1 docs, 11 fixes.
Features
- add --date override for the changelog/release date (#340) (#340)
- reject empty/garbage commit subjects in a conventions gate (#310) (#328) (#310 #328)
- guard README version-badge drift in the docsync gate (#327) (#327)
- harden forge-core transport — line cap, arg bounds, config teaching (#296) (#299) (#296 #299)
- forge-core MCP server + factored rpc.mjs transport (#288) (#295) (#288 #295)
- forge init --host agy emits the proven agy plugin package (#289) (#293) (#289 #293)
Tests
- cover issues.mjs error + upsertMarkedComment idempotency (#322) (#337) (#322 #337)
- contract-test agy safety shims (agy-deny + agy-capture) (#313) (#325) (#313 #325)
Refactoring
- single-source the denylist escalate message (#321) (#336) (#321 #336)
- single shared shell-segment splitter (#320) (#335) (#320 #335)
Docs
Fixes
- watchdog for the return-then-resume stall (#333) (#333)
- surface persistent poll failures instead of silent catch (#332) (#332)
- wire the runaway backstop (guardTripped) into the loop (#331) (#331)
- enforce the in-session merge-auth preflight in code (#330) (#330)
- gate the live merge through the tested merge bar (#329) (#329)
- sync README version badge to package.json + guard test (#308) (#326) (#308 #326)
- block rm long flags (--recursive --force) in denylist (#324) (#324)
- block pipe-to-shell / eval RCE in denylist (#311) (#323) (#311 #323)
- make forge dispatcher test bash-path portable (#302 dogfood) (#306) (#302 #306)
- board_escalate options bypass + escape decision-comment markdown (#300) (#301) (#300 #301)
- resolve ${CLAUDE_PLUGIN_ROOT} in emitted agy skills/commands (#294) (#298) (#294 #298)
Deploy notes
- Infra changed: no
- Migrations to run: no