.forgejo/workflows/check.yml runs on every push to main/v1 (+ manual dispatch): nix flake check --no-build (full module-system eval incl. the downstream template through mkFlake), py_compile of nomarchy-theme-sync, and bash -n over tracked .sh files. The always-on net under direct-to-main pushes — first slice of the ROADMAP lock-bump CI item. Scoped to the eval tier deliberately: the instance's runner is an act_runner docker container (no systemd, no /dev/kvm — established from the legacy repo's .gitea/workflows/check.yml, which ran 57 times on it), so the checks.* VM suite and real builds can't run there. A commented vm-checks job documents the KVM-runner upgrade path; the legacy workflow's container gotchas (nixbld setup for the single-user installer, sandbox=false for Stylix IFD, Nix pinned 2.31.5 vs lazy-trees, no JS actions past node20) are carried over verbatim in the header. docs/TESTING.md §1b documents what a green run does and does not mean. Verified: V0 locally (the same check commands, minus the container Nix install) + YAML parse. A real green run depends on the runner still being registered — not API-visible unauthenticated, so that is queued as [human] BACKLOG item 20. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
88 lines
4.7 KiB
Markdown
88 lines
4.7 KiB
Markdown
# Journal — append-only iteration log
|
||
|
||
One entry per iteration, **newest first**. This is the loop's short-term
|
||
memory: the next session reads the last 3–5 entries to orient. Keep an
|
||
entry under ~15 lines; durable lessons go to MEMORY.md, not here.
|
||
|
||
Template:
|
||
|
||
```markdown
|
||
## YYYY-MM-DD — <task title> (<commit sha, or "no commit">)
|
||
- **Task:** which BACKLOG item (or QA sweep / bootstrap / escalation)
|
||
- **Did:** what changed, in 2–4 lines
|
||
- **Verified:** tier reached (V0/V1/V2) + the actual commands/checks run
|
||
- **Pending:** V3 queued? follow-ups filed? anything [stuck]?
|
||
- **Next suggestion:** what the following iteration should probably take
|
||
```
|
||
|
||
---
|
||
|
||
## 2026-07-04 — CI checks-on-push shipped (loop iteration #2)
|
||
- **Task:** BACKLOG NOW#2 — Forgejo Actions workflow.
|
||
- **Did:** `.forgejo/workflows/check.yml` (push to main/v1 + dispatch):
|
||
flake check --no-build, theme-sync py_compile, bash -n over tracked
|
||
.sh. Scoped to the **eval tier** deliberately — API probing +
|
||
archaeology of the legacy `.gitea/workflows/check.yml` (57 runs on
|
||
this instance) showed the runner is an act_runner docker container
|
||
(no KVM/systemd), so the VM suite can't run there; a commented
|
||
`vm-checks` job documents the KVM-runner upgrade path. Legacy's
|
||
hard-won container gotchas (nixbld setup, sandbox=false for Stylix
|
||
IFD, Nix 2.31.5 pin) carried over verbatim. TESTING.md §1b added.
|
||
- **Verified:** V0 locally (same commands the workflow runs, minus the
|
||
container Nix install) + yq YAML parse. The real green run needs the
|
||
runner to be alive — **not confirmable from here** (runners API is
|
||
401 unauthenticated); watching the run after push.
|
||
- **Pending:** new `[human]` item 20 — confirm/re-register the runner;
|
||
stretch: a KVM runner unlocks the vm-checks job.
|
||
- **Next suggestion:** NOW#3 (memory-pressure protection).
|
||
|
||
## 2026-07-04 — Opt-in auto-commit shipped (loop iteration #1)
|
||
- **Task:** BACKLOG NOW#1 — auto-commit of state mutations (in-flake
|
||
state Phase 4). First autonomous /loop iteration.
|
||
- **Did:** `settings.autoCommit` live-read by nomarchy-theme-sync;
|
||
pathspec-limited commit of theme-state.json on apply/set (fires if flag
|
||
on before OR after the write → the off-toggle commits too); identity
|
||
fallback; same-value no-op; `bg` excluded. Menu: System › Auto-commit
|
||
(instant, self-gated on `.git`). Rider: `get` prints booleans as JSON
|
||
`true`/`false`, fixing the stuck "Auto timezone (on/off)" menu label.
|
||
BACKLOG numbering switched to stable IDs (no renumbering).
|
||
- **Verified:** V0 (py_compile, flake check) + V1 (HM generation builds;
|
||
generated menu `bash -n`) + a 7-assertion sandbox git-repo round-trip
|
||
(enable/set/same-value/disable/post-disable/apply/identity-fallback).
|
||
- **Pending:** V3 queued in HARDWARE-QUEUE (on-machine toggle + apply).
|
||
- **Next suggestion:** NOW#2 (CI checks-on-push) — but its runner half
|
||
may need Bernardo to register a Forgejo runner; deliver the workflow
|
||
regardless.
|
||
|
||
## 2026-07-04 — Backlog revision pass (human-requested)
|
||
- **Task:** Bernardo asked for a philosophy-aligned revision of BACKLOG.md
|
||
("I'm sure I'm forgetting important items").
|
||
- **Did:** verified guessed gaps against the tree first (GC/optimise/boot
|
||
limit + all 21 previews already ship — dropped those ideas). Added the
|
||
confirmed gaps: CI-on-push promoted to NOW#2 (agents push to main now),
|
||
memory-pressure protection NOW#3 (nothing mitigates OOM; the release
|
||
bump died to one), viewers+mime defaults #8, update/rollback UX #9,
|
||
nomarchy-doctor #10, state-file validation #11, screen recording #12,
|
||
niceties batch #13 (idle-inhibit, low-battery notify, hyprpicker), OCR
|
||
in LATER; recovery runbook folded into the docs item; zram + default
|
||
browser added to Decisions.
|
||
- **Verified:** V0 (docs-only).
|
||
- **Pending:** Bernardo to sanity-check the new NOW ordering, esp. CI at
|
||
#2 and the two new Decisions.
|
||
- **Next suggestion:** unchanged — NOW#1 (opt-in auto-commit).
|
||
|
||
## 2026-07-04 — Bootstrap the loop infrastructure (this commit)
|
||
- **Task:** create `agent/` (human-requested): LOOP/GOALS/BACKLOG/
|
||
CONVENTIONS/MEMORY/HARDWARE-QUEUE/JOURNAL, root CLAUDE.md, README +
|
||
ROADMAP pointers.
|
||
- **Did:** reworked the forward half of docs/ROADMAP.md into the tiered
|
||
BACKLOG (5 NOW / 6 NEXT / LATER / Decisions); collected every pending
|
||
on-hardware check into HARDWARE-QUEUE.md; seeded MEMORY.md from the
|
||
ROADMAP's decision records.
|
||
- **Verified:** V0 (docs-only change; `nix flake check --no-build` run to
|
||
confirm the tree still evaluates).
|
||
- **Pending:** Bernardo to sanity-read GOALS.md pillars + BACKLOG tiering
|
||
— reorder freely, the order *is* the instruction.
|
||
- **Next suggestion:** BACKLOG NOW#1 (opt-in auto-commit — Phase 4 of
|
||
in-flake state, already the agreed next step).
|