Research efforts move from status.md to 00-overview.md with active / graduated / abandoned, matching papa-hq so the two repositories read the same way. Playbooks, skills, README and the ledger follow. Reverses yesterday's withdrawal of the symlink note in GENESIS. The note was right and the withdrawal was wrong: the intent is that the mesh creates no symlinks at all, so a founding document listing "symlinks, not copies" as a design principle does point the opposite way from where this is going, and that is a contradiction rather than a stale detail. ADR 0018 records the position, proposed. ADR 0011 stays as it is — it is the historical decision and the incident behind it is why anyone believes either record — and is superseded in intent, not edited. Its one editorial line, which called the wider reading false, is corrected to state what is actually true: centralising who may link narrowed the incident class without closing it, because a link the installer makes resolves exactly like one made by hand. The argument that kept linking was staleness. ADR 0004 removed it: every managed file is already derived and reconciled, so a copy is the natural form and a pointer into source is the shape the mesh's own model forbids everywhere else. What is not settled, and is marked open, is how staleness gets detected — which is the decision that makes or breaks it.
42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
---
|
|
name: hal-status
|
|
description: Use when you need a cross-cutting view of where hal-hq stands — research state, design implementation state, open issues, or the decision-record index. Triggers on "what's the status", "show the ADR index", "where do things stand", "what's in progress", "what's open".
|
|
---
|
|
|
|
# hal-status
|
|
|
|
Generates a cross-cutting view **from frontmatter**. This is a read-and-render skill, not a
|
|
workflow — hal-hq has **no central status file by design** (decision 35). Every view is
|
|
generated on demand and never written back to disk.
|
|
|
|
## What to read
|
|
|
|
| Section | Files | Frontmatter |
|
|
|---|---|---|
|
|
| Research | `01-RESEARCH/NNN-*/00-overview.md` | `status` (`active` / `graduated` / `abandoned`), `initiated`, `touches`, `became` |
|
|
| Design | `02-DESIGN/**/*.md` (not READMEs) | `layer` (`as-is` / `to-be`), `status` (`designed` / `in-progress` / `implemented` / `abandoned`), `code`, `updated`, `decisions` |
|
|
| Decisions | `adr/NNNN-*.md` | `status` (`proposed` / `accepted` / `superseded`), `date`, `deciders`, `reconstructed`, `superseded-by`, `extends` |
|
|
| Issues | `04-ISSUES/NNN-*/00-report.md` | `status` (`open` / `diagnosing` / `located` / `resolved` / `wontfix`), `opened`, `located-in`, `fixed-by`, `amended-design` |
|
|
|
|
## Steps
|
|
|
|
1. Read the frontmatter block from every file above — a grep across each tree is enough, no
|
|
need to load bodies.
|
|
2. Render what was asked as Markdown tables. Group and sort sensibly. The **ADR index** is one
|
|
of these views: records ordered by number, with title, date and status, and reconstructed
|
|
ones marked.
|
|
3. Flag anything inconsistent at the end, as flags — do not silently correct the render:
|
|
- a `graduated` or `abandoned` effort with an empty `became:`
|
|
- an `implemented` design with an empty `code:`
|
|
- a `superseded` record with no `superseded-by:`
|
|
- an `open` or `diagnosing` issue with no activity
|
|
- a to-be design whose `decisions:` points at a record that does not exist
|
|
- an as-is design whose claims are older than its `updated:` date suggests
|
|
|
|
## Do not
|
|
|
|
- **Do not write a status file.** Central status files are explicitly rejected. The view is
|
|
always generated, always ephemeral. This includes the ADR index — the hand-written one had
|
|
already drifted after a single addition, which is why it was removed.
|
|
- Do not infer status from prose. Trust only the frontmatter; if it is wrong, flag it.
|