Commit Graph

  • 703db166e7 v0.127.0: a mount Felhom itself made is not 'something else' (R-220) main v0.127.0 admin 2026-08-06 12:55:28 +02:00
  • aa74294a7d docs: felhom-agent CLAUDE.md becomes a core plus path-scoped rules (R-229 leg b) admin 2026-08-06 11:28:27 +02:00
  • 5b2666e3a2 docs: R-168 is CLOSED — the "CI is still owed" sentence was stale (R-229 part 2) admin 2026-08-06 11:02:59 +02:00
  • 062a7027ab docs: remove expired and contradictory blocks from CLAUDE.md (R-229) admin 2026-08-06 09:38:38 +02:00
  • a2e914f683 v0.126.0: a fetch failure is not a wrong recovery code (R-224) v0.126.0 admin 2026-08-06 07:55:15 +02:00
  • 0404f60e6a pre-push: refuse a push from a clone outside the felhom workspace (R-204 rider) admin 2026-08-05 10:46:39 +02:00
  • 3f5f61b716 docs: R-199 links 6-8 — CONTEXT + REPORT (proven live on demo-felhom) admin 2026-08-04 13:56:38 +02:00
  • 6d7904786c agent v0.125.0: open the sealed bundle, return one field (R-199 links 7-8) v0.125.0 admin 2026-08-04 13:41:12 +02:00
  • 856a127cd6 v0.124.1: the repair record must survive the probe that did NOT feed the hub (R-190) v0.124.1 admin 2026-08-04 09:44:56 +02:00
  • 257c4d85c0 v0.124.0: a lost storage grant repairs itself, and says that it was lost (R-190) v0.124.0 admin 2026-08-04 09:38:27 +02:00
  • 72161f6cf0 REPORT: correct the manifest commit hash (311dc06) admin 2026-08-03 19:04:44 +02:00
  • 03b58cec0a REPORT + CONTEXT + REUSE: R-185 closed, with the corrected root cause admin 2026-08-03 19:04:15 +02:00
  • fe14bc62c0 v0.123.0: a tier the box cannot READ now says so (R-185) v0.123.0 admin 2026-08-03 18:53:47 +02:00
  • 0b28eae7bb REPORT: R-189/R-188/R-186 — live evidence, the three sha values, and the observations admin 2026-08-03 16:58:35 +02:00
  • 7581f8140a v0.122.0: three ways the signals lied about themselves (R-189, R-188, R-186) v0.122.0 admin 2026-08-03 16:40:18 +02:00
  • 3d0a1d615d REPORT: restart proof, R-188/R-189, and the restored defaults admin 2026-08-03 15:36:46 +02:00
  • 77e2cc4583 CONTEXT: v0.121.1 (a quiet evaluation is audible) + the live proof admin 2026-08-03 15:32:23 +02:00
  • cd1b087db7 REPORT: R-86 live results (14.5 GB offsite restore-test, due-triggered, 635 s) v0.121.1 admin 2026-08-03 15:27:33 +02:00
  • 53d0c6bfc4 v0.121.1: 'nothing is due' must be AUDIBLE (R-86 + standing rule 3) admin 2026-08-03 15:26:54 +02:00
  • 4d82591052 release-agent.sh: the publish leg was unrunnable on its first real use v0.121.0 admin 2026-08-03 15:04:52 +02:00
  • 4618169036 R-86: restore-test follows the backup, not the clock (v0.121.0) admin 2026-08-03 14:54:57 +02:00
  • 1b14cfd0b4 REPORT: Scenario F measured on real CI (runs 69 vs 70, same commit) admin 2026-08-03 12:44:37 +02:00
  • 0db77666c6 REPORT: release path + published-versions gate (no version bump) admin 2026-08-03 12:37:09 +02:00
  • dd2d1feb6e release path publishes, and an unreleasable version fails CI (R-115, R-183) admin 2026-08-03 12:34:20 +02:00
  • 9dfd89cb94 docs: agent 0.120.0 published + vouched, proven on two reinstalled boxes (R-178) admin 2026-08-03 09:33:50 +02:00
  • 4bb84fc3ca REPORT: v0.120.0 + golden 3.0.0 — built and proven at the bake, NOT proven on a box admin 2026-08-03 07:15:29 +02:00
  • cd6e26785a v0.120.0 — one data volume (R-165, decision D-a, variant V-c) v0.120.0 admin 2026-08-03 06:43:38 +02:00
  • 587dbb43fe docs: CHANGELOG + REPORT for the CI workflow (no version bump) admin 2026-08-02 16:35:44 +02:00
  • eb99144509 ci: run the gate entry point on every push (R-168) admin 2026-08-02 16:27:27 +02:00
  • 2c4efed5de REPORT: gate enforcement session (no version bump) admin 2026-08-02 15:37:04 +02:00
  • 75245a467c docs: CHANGELOG for the gate entry point (no version bump) admin 2026-08-02 15:28:42 +02:00
  • 054e85a2bf gates: one entry point (scripts/agent_gates.py) + pre-push hook admin 2026-08-02 15:22:58 +02:00
  • 4663df7ff3 REPORT: agent v0.119.0 — host addresses, deployed + published + vouched admin 2026-07-31 08:54:50 +02:00
  • 14642e3c7b v0.119.0 — the host report carries the box's addresses admin 2026-07-31 08:40:58 +02:00
  • 6b5dade4dc R-106 follow-up: mergeConfig dropped the pbs namespace, so v0.118.0's fix was inert (v0.118.1) admin 2026-07-30 13:23:21 +02:00
  • 1c8a67eece R-106 + R-109: the DR recipe records the resolved namespace and names the backup target (v0.118.0) admin 2026-07-30 13:11:08 +02:00
  • 1913e12031 docs(R-117): REPORT.md — v0.117.0 shipped and proven live on demo-hp admin 2026-07-30 12:42:09 +02:00
  • 966d8f41ff v0.117.0 — R-117: the liveness signal now tests liveness admin 2026-07-30 12:26:42 +02:00
  • 6be168d1a0 docs(R-117 Part 1): repeat the no-block-I/O health-check rule where it binds admin 2026-07-30 12:10:24 +02:00
  • d4eb259da2 docs(R-116): record the live proof — four events, two matched pairs, discriminated admin 2026-07-30 09:33:53 +02:00
  • 21b0164fad R-116 (v0.116.0): give the backup-target flag and the gate's key the same row admin 2026-07-30 08:48:05 +02:00
  • 2f4ccab166 docs: correct two stale claims in CLAUDE.md that misdirect live work admin 2026-07-30 08:25:41 +02:00
  • a58239f6de v0.115.0 — R-116: the backup-target flag reaches the row the controller keys on admin 2026-07-29 23:51:03 +02:00
  • b58d7bcf39 v0.114.0 — R-113: drive presence means the DEVICE, not the bind admin 2026-07-29 17:20:16 +02:00
  • 58b598b697 v0.113.0 — E-2a: guarded backup-target wrapper + POST /backup/target admin 2026-07-29 09:05:59 +02:00
  • 958e54f6a6 v0.112.0 — E-2: GET /disks flags the backup-target drive admin 2026-07-29 08:20:27 +02:00
  • 38176ada9d v0.111.0 — E-2c: the backup-target drive can no longer be ejected admin 2026-07-29 08:17:14 +02:00
  • d5c769173b REPORT + CONTEXT: F-LEAK closed via the fenced destroy (v0.110.0), all three attempts recorded admin 2026-07-28 11:34:48 +02:00
  • 50751b8901 F-LEAK third attempt: band-scoped fenced destroy (v0.110.0) admin 2026-07-28 11:28:54 +02:00
  • ff7f68e089 REPORT + CONTEXT: F-REBOOT shipped, F-LEAK's first fix refuted and replaced, v0.109.0 observable admin 2026-07-28 11:21:42 +02:00
  • 88b3cf03dd gofmt: normalize internal/localapi (whitespace only) admin 2026-07-28 11:15:45 +02:00
  • f27f7a2659 guest-power: add the liveness observable it shipped without (v0.109.0) admin 2026-07-28 11:14:56 +02:00
  • 8db92947cd F-LEAK: remove the pool-adoption fix — refuted live; the fix is a path-scoped ACL (v0.108.0) admin 2026-07-28 11:05:37 +02:00
  • 367a503a0f F-REBOOT + F-LEAK: the agent's authority over guest lifecycle (v0.107.0) admin 2026-07-28 10:27:07 +02:00
  • a18b18e5de docs: correct inflight.go's DEFERS claim (F-A1) admin 2026-07-28 08:50:23 +02:00
  • af1c21abc4 docs: F-CRIT-2 fix — REPORT, CONTEXT (v0.106.0) admin 2026-07-28 08:07:42 +02:00
  • c9a5cc664a F-CRIT-2: a failed backup must not look like a fresh one (v0.106.0) admin 2026-07-28 07:47:22 +02:00
  • 023655370b seam sweep: compile-time witness for BackupArchiveLister (no version bump) admin 2026-07-27 18:23:49 +02:00
  • 9842c52853 docs: REPORT for agent v0.105.0 (R-88 Part 2) admin 2026-07-27 18:12:04 +02:00
  • 1c2664b0c1 agent v0.105.0 — R-88 Part 2: /backup/due gains age_state admin 2026-07-27 18:00:56 +02:00
  • 5bca7bfc9a R-85 Phase 4: finalise v0.104.0 + register the new helpers in REUSE Claude Code 2026-07-27 07:32:55 +02:00
  • 043c7622bc R-85 Phase 2: tier rotation, persisted state, one heavy op at a time Claude Code 2026-07-26 21:00:42 +02:00
  • 765d8b3168 R-85 Phase 1: the restore-test spec is built PER RUN, not frozen at daemon start Claude Code 2026-07-26 20:47:28 +02:00
  • edde8a01ca REPORT: record the PASSED restore round-trip (mount_parity ok, source_tier pbs) Claude Code 2026-07-26 19:05:05 +02:00
  • a7ef497cc4 REPORT: add v0.103.0 (R-84) + demo-hp's first offsite backup landing (4.25 GB) Claude Code 2026-07-26 18:24:37 +02:00
  • 5acf1033a2 v0.103.0 — R-84: an agent restart no longer triggers a redundant backup Claude Code 2026-07-26 18:20:59 +02:00
  • e4f22f4c4f REPORT: R-82 agent arc v0.97.0 -> v0.102.0 (overwrite) Claude Code 2026-07-26 17:56:42 +02:00
  • 13ca2d96b2 fix(test): give the tiered-server harness a real storage view (v0.102.0 follow-up) Claude Code 2026-07-26 17:41:03 +02:00
  • 005083b558 v0.102.0 — R-82 Slice D: an unprovisioned tier DEFERS instead of failing Claude Code 2026-07-26 17:40:31 +02:00
  • 0fabc15896 v0.101.0 — R-82: a leaked restore-test scratch can no longer auto-start Claude Code 2026-07-26 16:49:40 +02:00
  • a7421b09c7 v0.100.0 — R-82: the restore tier comes from the ARCHIVE, not the configured target Claude Code 2026-07-26 15:22:08 +02:00
  • 3d955e4edd v0.99.0 — R-82 operator rulings: 2-week offsite retention + one backup at a time Claude Code 2026-07-26 15:05:54 +02:00
  • a667c269c7 v0.98.0 — R-82 Slice A fix: per-tier vzdump wait bound (the 30-minute false failure) Claude Code 2026-07-26 14:53:24 +02:00
  • 68bcebe493 REPORT: R-82 Slice A (agent v0.97.0) — per-target tiers built, NOT deployed (no drill target reachable) Claude Code 2026-07-26 12:36:47 +02:00
  • 739b3c3b58 v0.97.0 — R-82 Slice A: per-target backup tiers (local daily + PBS weekly) Claude Code 2026-07-26 12:20:58 +02:00
  • dfd5d731ee v0.96.0 — R-50 island NIC: provision attaches the guest island net1 admin 2026-07-25 14:16:23 +02:00
  • 36ed6594d4 docs(CLAUDE.md): note demo-hp (t740) as designated drill/build VM host (no drill VM yet) admin 2026-07-25 09:59:12 +02:00
  • 271aa3d9ed v0.95.0: REPORT (overwrite) — SMART coverage live-verified (system SSD + USB → Rendben + models) admin 2026-07-25 08:32:09 +02:00
  • ed97232598 v0.95.0: SMART coverage — union-path drives + LVM/dm root + device model admin 2026-07-25 08:21:45 +02:00
  • 643899c191 v0.94.0: REPORT — appended (SMART serialized into /disks, live-validated on demo-felhom) admin 2026-07-24 21:41:01 +02:00
  • 21fee69154 v0.94.0: serialize per-disk SMART into the /disks payload admin 2026-07-24 21:11:13 +02:00
  • c230258542 docs: v0.93.0 publish train executed — built, published, vouched, deployed fleet-wide admin 2026-07-22 09:03:01 +02:00
  • eba040d0be docs(report): the recovery-code wordlist fix and its red-proof admin 2026-07-21 15:33:30 +02:00
  • a452dc3314 escrow: a recovery code can no longer contain a hyphenated word (v0.93.0) admin 2026-07-21 14:46:51 +02:00
  • 935904fa4e docs(report): guest_net confirmed on the wire hub-side; STOP-3 done; damping state is in-memory only admin 2026-07-21 13:39:33 +02:00
  • 332235bfd1 docs(report): quiet window closed — 30 healthy cycles, 0 heals; log_level reverted admin 2026-07-21 13:17:35 +02:00
  • 3f58121b98 docs(report): STOP-2 evidence — the incident replayed and PREVENTED (tunnel never dropped) admin 2026-07-21 12:58:12 +02:00
  • 71e1777369 docs(report): TASK-D Part 3 — R-54 shipped, healthy cycle proven live; STOP-2 pending admin 2026-07-21 12:39:12 +02:00
  • 98adb72204 chore(v0.92.1): supersede v0.92.0 — the published artifact predates the sudoers grant admin 2026-07-21 12:33:05 +02:00
  • 0e8fd814ba fix(v0.92.0): the guestnet probes need their own sudoers grant (found live) admin 2026-07-21 12:32:27 +02:00
  • c0966d753d feat(v0.92.0): guest-network watchdog (R-54) — supervise the guest's DHCP client admin 2026-07-21 12:29:37 +02:00
  • 08b55a1015 docs(report): STOP-2 DONE + PROVEN — the R-39 chain closed in 13 seconds admin 2026-07-21 10:53:16 +02:00
  • 042a401e71 docs(report): STOP-3 DONE; STOP-2 still pending (offsite re-issue was pressed, not PBS-DR) admin 2026-07-21 10:36:53 +02:00
  • edac02ec9f docs(report): TASK-B agent half — v0.91.2 shipped + deployed; STOP-2/3 need the operator admin 2026-07-21 10:23:05 +02:00
  • d4a7a5bad3 v0.91.2 — log a healthy credential probe at Debug admin 2026-07-21 10:20:10 +02:00
  • dcf3a5530b v0.91.1 — wire the credential probe (v0.91.0 shipped the seam inert) admin 2026-07-21 10:18:41 +02:00
  • ab8f682f0b test: assert the agent upgrade alone is hash-neutral (no spurious re-apply at STOP-1) admin 2026-07-21 10:15:24 +02:00
  • b2ca63ee9f v0.91.0 — the DR tier can no longer be applied and dead at the same time (R-39 + R-50b(a)) admin 2026-07-21 10:12:31 +02:00
  • 8c55ac7fda docs: TEMPORARY remote-site access for felhom-pve (tailnet) — see AUDIT-vacation-remote-ops-2026-07-20 admin 2026-07-20 08:07:43 +02:00
  • d81fddc7b1 docs: migrate workflow to DooPlex-local execution admin 2026-07-19 12:16:13 +02:00