v0.117.0: consuming-namespace NAS verification + deploy-view truth (RCA fixes 2+4)

statfs fsclass helper (network/autofs/stub/unknown, fail-open); probe not_network_fs
assertion (stub can never verify — red-proven); deploy-time stub refusal (idle autofs
proceeds — red-proven); distinct stub badge, stub wins over unreachable (unreachable line
byte-identical); deployed select shows stored HDD_PATH (red-proven vs IsDefault-only).
MinAgent unchanged 0.81.0. Gates green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
This commit is contained in:
2026-07-11 21:12:48 +02:00
parent 6e9dd1bfa1
commit c0f3e12483
21 changed files with 767 additions and 38 deletions
+12 -1
View File
@@ -2,10 +2,21 @@
package web
import "context"
import (
"context"
"gitea.dooplex.hu/admin/felhom-controller/internal/system"
)
// runNetProbe is Linux-only (SysProcAttr.Credential). Off-linux (dev/test hosts) the seam must be
// injected; reaching this stub is a wiring error, reported as a failed probe — never a false PASS.
func runNetProbe(_ context.Context, _ string) probeOutcome {
return probeOutcome{OK: false, Category: "probe_io", Detail: "uid-1000 probe unavailable on this platform"}
}
// platformNetProbeFSClass off-linux: the child never runs here in production (statfs f_type is a
// linux concept); vacuously "network" so cross-platform child unit tests exercise the write/readback
// logic — the fstype assertion itself is tested via the netProbeFSClass seam + linux-only real-IO.
func platformNetProbeFSClass(_ string) string {
return system.FSClassNetwork
}