Issue 013 — a module cannot run its own code at a lifecycle phase #23

Merged
jschoubben merged 1 commits from feat/hq-issue-013 into main 2026-09-05 09:16:27 +00:00
Owner

Opens issue 013, as requested. Framed as a missing module capability, not a defect — the operator's read.

The module system declares things that exist (dir/file/network/container) but not a step that runs at a point in a module's lifecycle. Three converted modules need exactly that: mosquitto's dynsec admin client must be seeded before first broker start; the DB providers have nowhere for a migration or a post-start health-gate. It's the timing face of issue 011.

Records the prior art — the earlier mesh's event-driven build/publish/deploy hooks — and its real warning: powerful, but complex to set up and flaky. The need isn't in question; the cost of the obvious answer is. Ends in open questions (a narrow run-once/init resource vs a general per-phase lifecycle hook; where the hook's code runs; idempotency/reconcile), per the issues playbook.

https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF

Opens issue 013, as requested. Framed as a **missing module capability**, not a defect — the operator's read. The module system declares *things that exist* (dir/file/network/container) but not *a step that runs* at a point in a module's lifecycle. Three converted modules need exactly that: mosquitto's dynsec admin client must be seeded **before first broker start**; the DB providers have nowhere for a migration or a post-start health-gate. It's the timing face of [issue 011](https://git.novox.be/novox/hq/src/branch/main/04-ISSUES/011-reconciling-a-seed-file-wipes-what-grew-in-it). Records the **prior art** — the earlier mesh's event-driven build/publish/deploy hooks — and its real warning: powerful, but complex to set up and flaky. The need isn't in question; the cost of the obvious answer is. Ends in open questions (a narrow run-once/init resource vs a general per-phase lifecycle hook; where the hook's code runs; idempotency/reconcile), per the issues playbook. https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben added 1 commit 2026-09-05 09:16:08 +00:00
Surfaced converting the catalogue: a module can declare things that exist
(dir/file/network/container) but not a step that runs at a point in its
lifecycle. mosquitto's dynsec admin client must be seeded before first start;
the DB providers have nowhere for a migration or health-gate; it is the timing
face of issue 011. Framed as a missing module capability, not a defect. Records
the prior-art event hooks and their real warning — powerful but complex and
flaky — so the resolution avoids rebuilding that. Ends in open questions
(run-once resource vs general lifecycle hook, where the code runs, idempotency).

Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben merged commit db8be15a15 into main 2026-09-05 09:16:27 +00:00
jschoubben deleted branch feat/hq-issue-013 2026-09-05 09:16:27 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#23