-
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