papa-hq reads 01 research -> 03 decision -> 02 design. The order is a scar, not a choice: 02-DESIGN existed from its initial commit, and when adr/ was finally promoted on 2026-07-13 it took the next free number rather than its place in the sequence. By then design was too settled to renumber. hal-hq was three commits old, so it is not. adr/ becomes 02-DECISIONS and 02-DESIGN becomes 03-DESIGN, and following the folder numbers now walks the process in the order it happens: research produces a decision, the decision authorises a design. 00-GENESIS becomes 00-META, matching papa's rename from the same restructure. Every path reference rewritten across documents, frontmatter, playbooks and skills. All links resolve; all 58 frontmatter blocks parse and their path fields still point at files that exist.
2.2 KiB
2.2 KiB
status, initiated, touches, became
| status | initiated | touches | became | ||||
|---|---|---|---|---|---|---|---|
| active | 2026-08-22 |
|
|
001 — Module domain decomposition
- Initiated by: jochen, 2026-08-22
- Areas touched: every
hal/*andnoxflow/*module; the pipeline's dependency graph; the knowledge base; agent identity and credentials.
Summary
HAL has 124 modules. That number is not a maintenance problem in itself — it is the symptom of missing bounded contexts. Modules are split not because they model different domains, but because splitting is the only lever the platform offers:
- no way to run one daemon on one node without making it a module
(
hal/claude-licences— one daemon, single-node) - no way to expose two of a kind from one module
- no namespace separating the mesh from the software it runs
This effort establishes the current state, the ideal state, and the sequence between them.
Trigger
A night of debugging that produced four fixes and one conclusion. Every fault was a boundary fault:
- Per-agent Claude credentials had to be written by the noxflow runtime, because
agents.claude_accountis in noxflow's database — even though agent identity is a mesh concept and node identity already lives in the mesh registry. - Whether
hal/brainmay depend on noxflow took three attempts to answer, twice wrongly, because the ownership boundary was never stated. - Authoritative documentation existed in
mesh_docsand was not found, while a proposal in repo markdown was invisible to search entirely.
Decisions taken (2026-08-22)
| Question | Decision |
|---|---|
| What should noxflow become? | Decompose into hal/* modules; noxflow returns to tasks/workflows |
| Who owns agent identity? | hal/agents — a mesh concept, alongside nodes |
| Where do third-party apps live? | Out of this repo. They run on the mesh; they are not of it |
| Knowledge structure | Modelled on papa-hq; implementation choice left open |
Open questions
Tracked in analysis.md under "Open questions".