Skip to content

v0.5.0 — M7.1 dogfood-2 complete: commit attribution restored to atelier-author

Choose a tag to compare

@Miguelslo27 Miguelslo27 released this 25 May 14:24
· 309 commits to main since this release
9f4b36d

Closes the M7.1 dogfood-2 install-hardening series. 13 of 13 findings closed (F1–F12 original + F11b discovered during validation). Atelier-driven commits now author as the atelier-author GitHub identity end-to-end — restoring the M5.0.1 dual-gh-id design correctness that was latent since v0.1.0.

What's new (plugin scope — picked up by claude plugin update atelier@akalab-tech)

  • M7.1.F7b — Orchestrator-side adoption of $ATELIER_CONFIG_DIR/git-identity.conf (PR #75). Every commit-creating call site now prefixes git commit with GIT_CONFIG_GLOBAL="$ATELIER_CONFIG_DIR/git-identity.conf":

    • skills/pr-flow/SKILL.md — canonical pattern documented.
    • agents/pr-author.md — HEREDOC commit template.
    • agents/unblocker.md — docs/blocked-<id> tracking commit.
    • commands/resume-task.md — docs/resume-<id> tracking commit.
    • commands/doctor.md — new check i. validates the identity file + cross-checks against gh api user.
    • install.sh task() shellrc function — exports GIT_CONFIG_GLOBAL alongside CLAUDE_CONFIG_DIR + GH_CONFIG_DIR so interactive task sessions also get the right identity.

    The env-var prefix scopes the override to each git invocation — operator's ~/.gitconfig stays untouched.

Install-side improvements (require re-running install.sh from the repo)

Five PRs since v0.4.2 hardened install.sh from the M7.1 dogfood-2 batch. Not part of the plugin distribution — pulled in by re-running install.sh:

  • PR #72 (F2 + F5 + F10 + F12) — UX-blocking polish: ANSI color + ✓ ↷ ✗ markers throughout, GitHub permission requirements before each gh auth login, git-wt sub-installer epilogue suppression, end-of-install "first steps" guide.
  • PR #73 (F1 + F3 + F4 + F8) — Noise/improvement: stripped M5.0.2 design-doc from --help, brew/apt outdated-dep detection + opt-in update, Claude/gh account-switch prompts on re-runs, Phase 0 path normalization + validation.
  • PR #74 (F11b) — Fixed env-var clobber bug discovered during PR #73 validation: ATELIER_CONFIG_DIR=\"\" at top of install.sh silently broke F11's lookup chain. Removed; env var now properly inherited from operator's shellrc export.

Combined effect: a fresh ./install.sh now produces colored phase headers, idempotent dep checks marked ↷, explicit Y/s account-switch prompts on re-runs, a 6-step "next steps" block at the end, AND atelier-driven commits authored as the atelier-author GitHub identity from the very first task.

⚠️ Operators upgrading from v0.4.2

The shellrc hook block in ~/.zshrc is idempotent by sentinel detection — re-running install.sh after this update will NOT automatically rewrite your existing task() function with the new GIT_CONFIG_GLOBAL export. To pick up the new task() body:

# Strip the existing atelier hooks block (between sentinels, inclusive):
awk '
  /^# >>> atelier hooks \(managed by install\.sh\) >>>/ { skip=1 }
  !skip { print }
  /^# <<< atelier hooks \(managed by install\.sh\) <<</ { skip=0 }
' ~/.zshrc > ~/.zshrc.tmp && mv ~/.zshrc.tmp ~/.zshrc

# Re-run install.sh — Phase C.1 re-injects the block with the new task():
./install.sh

Or equivalently: open ~/.zshrc in your editor, delete everything from # >>> atelier hooks through # <<< atelier hooks (inclusive), and re-run ./install.sh.

Captured as follow-up M7.1.F7c (shellrc upgrade detection) — a future minor PR will add a version comment inside the block so re-runs can auto-detect "block needs update".

Series scoreboard

PR Status Findings Plugin
#69 ✅ ROADMAP +14 entries docs only
#70 ✅ F6 + F7a + F9 + F11 (correctness) v0.4.2 (via #71)
#71 ✅ retroactive bump v0.4.2
#72 ✅ F2 + F5 + F10 + F12 (ux-blocking) install.sh-only
#73 ✅ F1 + F3 + F4 + F8 (noise/improvement) install.sh-only
#74 ✅ F11b (env-var clobber bug) install.sh-only
#75 ✅ F7b (orchestrator-side identity adoption) v0.5.0 ✓

What's unblocked

M7.1 — full task cycle on a real project. The original blocker (operator's commits being authored as personal-identity-but-pushed-by-atelier-author) is gone. The next atelier-driven PR will be the live end-to-end validation of F7b on GitHub.

Links