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.
50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
---
|
|
status: open
|
|
opened: 2026-08-22
|
|
located-in: []
|
|
fixed-by:
|
|
amended-design:
|
|
---
|
|
|
|
# 001 — A failed package install does not fail the job
|
|
|
|
## Symptom
|
|
|
|
A module declared a package. The install produced, from every mirror:
|
|
|
|
```
|
|
error: failed retrieving file … 404
|
|
```
|
|
|
|
followed by:
|
|
|
|
```
|
|
-> error installing repo packages
|
|
```
|
|
|
|
The prepare job then reported **success**. The package is absent; the pipeline is green.
|
|
|
|
## Why this matters more than one missing package
|
|
|
|
The first thing the lab work asked the mesh to install demonstrated the exact fault the lab
|
|
exists to catch — a step that failed, reported success, and left the next step to run against
|
|
state that was never produced.
|
|
|
|
It is also a direct violation of a decision already taken and recorded:
|
|
[ADR 0008](../../02-DECISIONS/0008-a-failed-step-fails-the-job.md) says a step that fails must fail the
|
|
job. That record notes the rule is applied instance by instance and enforced by no mechanism.
|
|
This is an instance where it was never applied.
|
|
|
|
## Evidence
|
|
|
|
- Observed 2026-08-22 while declaring the virtualisation package required by
|
|
[ADR 0016](../../02-DECISIONS/0016-a-lab-node-is-a-virtual-machine.md).
|
|
- A fix is written and open as a pull request, unmerged since 2026-08-20.
|
|
|
|
## Open questions
|
|
|
|
- Why is the failure swallowed — is the exit status discarded, or never checked?
|
|
- Is this specific to package installation, or does the surrounding stage swallow every
|
|
non-zero exit?
|
|
- The fix has been open for two days. What is the review path for a change of this class?
|