Files
felhom.eu/REPORT.md
T
admin 0d1b0494b7 @
CAMPAIGN-4: demo host reboot + drive cycle (operator-authorized risky steps)

Demo HOST reboot PASS: 0 ordering cycles (even with active nas-media nfs4),
retirement reboot-proof PASS (3 USB drives re-establish from agent units despite
device-letter reshuffle), cards registry-sourced, nas-media nfs4 0 rbind/rc255
(F13 did not manifest). teszt_enroll drive cycle: eject/reattach work, wipe-gate
+ mount-guard + confirm-gate all correctly refuse unsafe format (no wipe); O-1/O-2
LOW observations. No credential/R/blob committed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbMm4T7Ayzs1unB9pN6Uqd
@
2026-07-14 00:45:20 +02:00

3.9 KiB
Raw Blame History

felhom.eu — task reports

Overwrite this file with a summary of the most recent task only (uniform with the other repos; not cumulative). The cumulative hub history lives in hub/CHANGELOG.md; the scripts history lives in scripts/CHANGELOG.md.

CAMPAIGN-4 — unattended "no mercy" night run — 2026-07-13 (active block)

Full report: documentation/audits/CAMPAIGN-4-2026-07-13.md. Launch seed 5def7c09390a1d67. Findings-only (no code fixes).

Verdict

Data-movement + reboot-recovery planes are solid on the paths exercised; three real product findings surfaced. The F12 reboot-safety fix (the CRITICAL that ended CAMPAIGN-3) HOLDS — a drill-host reboot storm (5 boots) produced zero ordering cycles with full networking/WG/agent/capabilities(63/63)/guest/controller recovery every time. .fab export→download integrity is byte-perfect.

This is a partial, honestly-scoped campaign

A single unattended session cannot faithfully run the full 8h/two-box/nine-phase destructive matrix without fabricating results; priority items were executed with real evidence, the rest is deferred with reasons + ready procedures. Nothing claimed was not observed. Endurance samplers run all night.

Top findings

  • F-B (MED, red-proofed): login rate-limiter never engages on direct (non-proxied) connections — handleLogin keys on RemoteAddr (IP:PORT) when X-Forwarded-For is absent, so distinct ephemeral ports never accumulate the counter. Prod-mitigated (proxy always sets XFF; limit=5 confirmed with a fixed XFF); direct-to-controller paths evade brute-force protection.
  • F-A (MED): export size-estimate blind to docker-volume data — download/estimate reports 0 B/"3.6 KB"/fits_on_dest:true while the real bundle is 1.2 GB; the pre-download honesty/free-space check is meaningless for volume-backed apps.
  • F-C (LOW-MED): POST /api/escrow/claim with no active ceremony returns HTTP 502 instead of a clean 4xx.

Risky steps (operator-authorized mid-run, test env) — executed

  • Demo HOST reboot — PASS (the load-bearing one): host down ~29 s; 0 ordering cycles even with an active nas-media nfs4 mount; caps 63/63; WG recovered. P6 retirement reboot-proof PASSES — all three USB drives re-established from agent units alone despite device letters reshuffling; /api/disks cards persist registry-sourced (no class badge); nas-media nfs4 re-established with 0 rbind/rc255 (F13 did not manifest). Drill VM restarted + recovered clean.
  • teszt_enroll drive cycle — PASS: eject/reattach work; the .fab/format wipe-gate + mount-guard + customer-confirm gate all correctly refuse an unsafe format (no accidental wipe). Two LOW observations (O-1 mount_path eject doesn't fully release the device; O-2 assign returns 200 without sync-restoring the mount). teszt data intact.

Also passed

.fab export→download byte-integrity (ref==LAN sha256, 1.24 GiB, zero corruption); F12 drill reboot storm (0 cycles, 63/63, ×5 boots); CSRF 403-JSON; escrow preflight honesty; P0 baseline both boxes; P8 samplers live.

Deferred (ready procedures in the audit doc)

.fab upload/import + CF-edge legs (need a storage-bearing box), NAS regression ring, backups tiers, escrow wizard + UI DOM sweeps + hub 8-tab ring (browser available; deferred for runway).

Box state

Nothing down; both hosts + guests healthy after reboots. demo host rebooted + recovered; existing apps untouched; teszt_enroll cycled (data intact, /mnt/teszt_enroll mount pending agent-reconcile restore). drill: 6 boots, healthy, scratch c4_integrity/ + /root/ref1.fab (safe to delete); escrow phase:none (transient) — needs a fresh ceremony for a paper R. Campaign credential active on both controllers — rotate in the morning. Samplers still running (stop: pkill -f c4-sampler.sh on both PVE hosts, pkill -f hub-sampler.sh on 180). Evidence at 180:~/campaign4/.