Skip to content

feat(orchestrate): X3 — workspace + project preUp/postUp hooks in the saga - #46

Merged
gustavobertoi merged 1 commit into
mainfrom
nightly/X3-hooks
Jun 29, 2026
Merged

feat(orchestrate): X3 — workspace + project preUp/postUp hooks in the saga#46
gustavobertoi merged 1 commit into
mainfrom
nightly/X3-hooks

Conversation

@gustavobertoi

Copy link
Copy Markdown
Contributor

Generalizes hooksPhasehookPhase and wires the full spec-11 ordering into up: workspace preUp → per-project (preUp → compose-up → postUp) → workspace postUp. Workspace hooks run from the workspace root; project hooks from the repo root with the project's compose coords. Reuses the C4 runner; --no-hooks skips all. (firstRun/postPull still wait on the provision phase for their scope_key.) Tests: ordering (ws-preUp < app-preUp < compose-up) + happy-path postUp. make ci green.

🤖 Generated with Claude Code

…into the saga (spec 11)

Generalize hooksPhase → hookPhase (any scope + phase) and wire the full hook
ordering into `up`: workspace preUp → per-project (preUp → compose-up → postUp)
→ workspace postUp. Workspace-scope hooks run from the workspace root (no compose
project); project hooks from the repo root with the project's compose coords.
All reuse the C4 runner (timeout/retries/onFailure, ledger+flock). --no-hooks
skips them all.

(firstRun/postPull — the idempotent, ledger-keyed hooks — still wait on the
provision phase for their data-volume scope_key; preUp/postUp are unconditional
and land now.)

Tests: hook ordering (ws-preUp < app-preUp < compose-up), and the happy path now
covers postUp@app; re-run treats preUp/postUp as AlwaysRun.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gustavobertoi
gustavobertoi merged commit 8fa2f55 into main Jun 29, 2026
2 checks passed
@gustavobertoi
gustavobertoi deleted the nightly/X3-hooks branch June 29, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant