All checks were successful
Check / eval (push) Successful in 3m53s
Reviewing 060bf52 at Bernardo's request. The call is right — the failure
mode is a brick (no wake, no VT, hard power-off with the btrfs risk that
carries), so prevent-over-recover beats a lit panel. Three things it leaves
open, now tracked instead of remembered:
#135 — the mitigation is hardcoded policy with no way back. Docked externals
never blank and hyprlock has no timeout, so they stay lit indefinitely:
~60-100W nightly and OLED burn-in from a near-static lock screen. Add
settings.idle.dpmsWhenDocked (default false = today's behaviour), mostly so
the mitigation has a named surface to DELETE once wake is proven, rather
than a LATER note that quietly becomes the product. Ordered after the
hardware test: if the mitigation is withdrawn, the key never exists.
#136 — the gate is clamshell, not "docked". It skips only when an internal
is present-but-not-enabled; lid-open docked still falls through to dpms off.
Commit body, BACKLOG and journal all claim the broader "docked". Either the
scope is deliberate (fix the wording) or the mitigation misses half the
docked cases. Bernardo's call; the hardware test settles it.
Also recorded in #127 the caveat that outranks both: the fix is a cure for
an UNCONFIRMED cause. If DPMS-off is not the trigger, we hold the cost and
still have the brick.
No code change — #127 stays [blocked:hw] pending the hardware run.
Agent instructions + loop state
Everything an AI agent needs to work on Nomarchy, vendor-neutral and git-tracked. Protocol: LOOP.md. Entry point for every harness: repo-root AGENTS.md.
Instructions (how to work)
| File | Who writes | Role |
|---|---|---|
| LOOP.md | Human | One-iteration protocol (orient → pick → work → verify → commit → record) + the V0–V3 ladder |
| VERIFICATION.md | Human (agents propose) | Enforcement: preflight, honesty rules, visual protocol, hardware-blocked checks, reporting |
| DELEGATION.md | Human (agents propose) | Capability tiers, scout/runner roles, token economy, parallel fan-out |
| GOALS.md | Human (agents propose) | Pillars, quality bars, non-goals |
| CONVENTIONS.md | Human (agents propose) | How to write code/menu/state while shipping |
| THEME-DESIGN.md | Human (agents propose) | Theme/visual design instructions |
State (what's happening)
| File | Who writes | Role |
|---|---|---|
| BACKLOG.md | Both | Prioritized queue — only executable work list |
| JOURNAL.md | Agents | Append-only iteration log (read last 3–5 entries; older → JOURNAL-ARCHIVE.md) |
| MEMORY.md | Agents | Curated durable gotchas |
| HARDWARE-QUEUE.md | Agents append, human checks | On-hardware V3 tests only Bernardo can run |
Product / design docs (not a queue)
| File | Role |
|---|---|
| ../docs/VISION.md | v1.0 product themes — agents slice into BACKLOG PROPOSED |
| ../docs/ROADMAP.md | Design history + shipped log |
| ../docs/README.md | Full docs map |
Harness adapters (vendor-specific, thin)
Shared content never lives in an adapter — adapters only register/route into the files above, in whatever format their harness requires.
| Path | Harness | Role |
|---|---|---|
| ../AGENTS.md | any | Entry point (CLAUDE.md is a symlink to it) |
| ../.claude/settings.json | Claude Code | Tool permissions |
| ../.claude/agents/ | Claude Code | nomarchy-scout / nomarchy-runner role defs (contracts in DELEGATION.md) |
Do not put backlog items, vision text, or policy under an adapter directory — it is not shared with other agent runners.
Rules of thumb
- Execute from BACKLOG only (NOW → NEXT; never PROPOSED without human triage).
- Orient with GOALS + CONVENTIONS + MEMORY + last journal + BACKLOG; when the task is product-shaped, also read the relevant VISION §.
- Record lasting design in ROADMAP ✓ when something ships that future humans should know; delete the BACKLOG line.
- v1 branch is human-only — never advance from an agent session.