docs: v0.114.0 CHANGELOG (MinAgent header convention) + README NAS gate + CONTEXT + REUSE + coupled-feature rule in CLAUDE.md

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 13:54:09 +02:00
parent 4a5c40b7cb
commit d9da5a0678
5 changed files with 68 additions and 1 deletions
+11
View File
@@ -813,6 +813,17 @@ not just those with HDD data. Non-HDD apps can configure destination, method, an
> (`storage_network.html`) is on the canonical form pattern with staged poll progress and the
> protocol-honest NAS guidance (SMB-first; NFS map-all-users vs full-fidelity `anonuid=<uid+100000>`).
> Authoritative doc: `felhom.eu/documentation/controller/network-storage-nas.md`.
> - **Agent-capability gate (v0.114.0):** the verify-before-commit add is COUPLED to agent ≥ v0.81.0,
> so the add entry point now probes the agent first (`internal/agentapi/features.go`,
> `Supports(FeatureNetstorageVerify)` — a route probe on `GET /netstorage/verify-status`: 2xx ⇒
> supported, typed 404 ⇒ older agent, transport/5xx ⇒ indeterminate, cached 5 min both polarities).
> On an older agent the add is refused SYNCHRONOUSLY (HTTP 412, machine code `agent_outdated`,
> honest Hungarian message) BEFORE the single-flight claim — never a misleading mid-pipeline
> rollback; indeterminate NEVER refuses (a down agent speaks through the existing error paths). The
> settings page swaps the add form for a banner on `SupportNo` (share list + remove stay usable in
> every state). Convention: every future coupled feature adds a `featureProbes` row + a gate call at
> its entry point and declares `MinAgent` in its CHANGELOG header — see
> `felhom.eu/documentation/runbooks/publish-train-rules.md`.
> - **Limits (v1):** a share's `+100000` uid mapping is fixed at add-time (one app / same-uid apps); for
> write apps on a soft NFS mount, an in-flight file can truncate if the NAS vanishes mid-write (prefer
> atomic-write apps / SSD-staging).