v0.116.0: observability pass — always-on debug ring + leveled sweep + agent tab + self-log pull — MinAgent: 0.81.0
Capture layer: LogBuffer always exists; logger = MultiWriter(LevelFilterWriter (stdout, logging.level), ring) so DEBUG detail exists remotely without a config flip while docker logs keep respecting the level. New internal/logx leveled helpers. Report ACK gains controller_log_requested (additive); next report ships controller_log_tail (128KB, consume-once, app-tail wire byte-compatible). Debug page: Vezérlő|Ügynök tabs; agent tab proxies agent /debug/logs with the pre-0.83 notice on typed 404. Sweep: netstorage_job phases, netprobe, handler validation refusals + orphan WARN, SupportsWithSource gate line, agentapi per-call DEBUG, migrate phase lines, tier2/offbox unswallowed persists. Red-proofs: filter-disabled, drain-removed, dropped-phase-line all FAIL. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
This commit is contained in:
@@ -1,5 +1,40 @@
|
||||
## Changelog
|
||||
|
||||
### v0.116.0 — observability pass: always-on debug ring + leveled sweep + agent tab + self-log pull (2026-07-11) — MinAgent: 0.81.0
|
||||
|
||||
Controller half of the cross-repo observability task (agent v0.83.0 + hub v0.46.0). Motivating
|
||||
incident: a live NAS-verify refusal on an `info` box showed NOTHING in the debug view — the ring
|
||||
only existed at `logging.level=debug`, so the detail never existed.
|
||||
|
||||
- **Capture layer**: `setupLogger` now ALWAYS builds the 1000-entry `LogBuffer`; the logger is
|
||||
`MultiWriter(LevelFilterWriter(stdout, logging.level), ring)` — DEBUG always reaches the ring,
|
||||
stdout/docker-logs keep respecting `logging.level` exactly as before (red-proof: filter disabled →
|
||||
the capture test fails on the stdout assertion). New `internal/logx` leveled helpers
|
||||
(`Debugf/Infof/Warnf/Errorf`, caller-attributed via `Output(3,…)`); legacy `isDebug()` sites
|
||||
untouched (observation, not refactor).
|
||||
- **Report self-log pull** (`report/selftail.go`): ACK gains `controller_log_requested` (additive);
|
||||
the NEXT report carries `controller_log_tail` (ring newest-kept, 128 KB, consume-once — the
|
||||
v0.111.0 logtail.go shape copied exactly; red-proof: drain removed → ships every cycle → FAIL).
|
||||
The app-tail wire is byte-compatible (schema test asserts steady-state omission + unchanged keys).
|
||||
Serving a pull logs the customer-visible `operator log pull served` INFO (rides IN the tail).
|
||||
- **Debug page agent tab**: Naplóviewer gains `Vezérlő | Ügynök` tabs; the agent tab proxies
|
||||
`GET /api/debug/agent-logs` → agent `GET /debug/logs` (client `DebugLogs`, 10 s budget). A
|
||||
pre-0.83 agent (typed 404 StatusError) renders "Az ügynök naplónézete az ügynök következő
|
||||
frissítése után érhető el." — ok-response, no error spam, nothing else gated (S6 tested both
|
||||
polarities). Template gates green.
|
||||
- **Gap-fill sweep** (all new lines via logx; entry/decisions/outcome+duration/errors):
|
||||
netstorage_job (start, per-phase transitions with elapsed, agent add/verify/probe verdicts,
|
||||
rollback start+outcome, terminal WARN/INFO with duration), netprobe (exec start + result),
|
||||
netstorage_handlers (per-check validation refusals, orphan-share WARN, capability-gate line now
|
||||
carries the decision SOURCE via new `SupportsWithSource` — version vs probe vs cache), agentapi
|
||||
client (per-call DEBUG method/path/status/duration + agent-version-change line; `SetLogger` wired
|
||||
on the memoized client), migrate engine (run start, per-phase DEBUG, complete line with duration),
|
||||
tier2/offbox (run-start INFO + previously SWALLOWED status-persist errors now WARN).
|
||||
- **S7 log-sequence smoke**: a full fake NAS add at level info must leave the 8 ordered phase
|
||||
markers in the ring (red-proof: dropped probe-verdict line → FAIL naming the marker).
|
||||
- MinAgent: **0.81.0 unchanged** — the agent tab degrades to the notice on older agents; nothing
|
||||
else is coupled. Demo-deploy only; Peti untouched (his visibility arrives with the next train).
|
||||
|
||||
### v0.115.0 — version-aware Supports (agent version channel) + DSM-validated guidance (2026-07-11) — MinAgent: 0.81.0
|
||||
|
||||
Capability detection upgrades from route-probing to explicit version comparison, riding agent
|
||||
|
||||
Reference in New Issue
Block a user