v0.16.2 — implement-backlog writes merge-bound code to the source tree
/architect:implement-backlog produces deliverables: code is committed to feature/<issue-id>-<slug>, reviewed in a PR/MR by /architect:review-issue, and merged by /architect:merge-issue. Defaulting its output to generated/ contradicted that — generated/ is regenerable pipeline output that target projects commonly git-ignore alongside reports/ and work/, so git add could silently stage nothing and break the implement → review → merge chain on an empty commit.
Fixed
Output Location — a new section resolves the source root by precedence:
--out=<path>— explicit override- the
source_rootrecorded inshared-context/decisions.mdby a previous item - the existing repo layout (
services/<service>/,apps/<service>/, or a build-tool member) services/{service}/, confirmed with the user, on a greenfield repo
The resolved root is recorded in decisions.md so every item under the Epic writes to the same place.
Preflight checks (Step 4, before any code is written)
git check-ignore -q <source_root>must exit 1; any other status is surfaced as a git error, not assumed safe- the root must resolve inside the target worktree
Step 5 guards
- implementer sub-agents are confined to the resolved root — a unit needing to write elsewhere stops and reports instead of widening scope
- each commit is verified to have staged the intended files (
git show --stat); an empty commit routes back to Output Location instead of on to review
generated/ keeps its meaning for the one-shot codegen skills (generate-scalardb-code, generate-infra-code, generate-frontend), and --out=generated/<service>/ still selects it for throwaway scaffolding. templates/output-structure.md and the CLAUDE.md command reference are synced with the new contract.
Full changelog: CHANGELOG.md · CHANGELOG_ja.md