diff --git a/.agents/skills/unidesk-monitor/references/full.md b/.agents/skills/unidesk-monitor/references/full.md index 00af9d8a..008263f7 100644 --- a/.agents/skills/unidesk-monitor/references/full.md +++ b/.agents/skills/unidesk-monitor/references/full.md @@ -14,6 +14,7 @@ Known sentinel ids vary by node/lane and must come from YAML. Common `v03` examp - `workbench-auth-session-switch-2users` - `workbench-fake-echo-session-invariance-10x` - `mdtodo-visual-regression` +- `jd01-web-probe-sentinel` Per-sentinel drill-down: @@ -63,6 +64,7 @@ Public dashboard paths: - `https://monitor.pikapython.com/` - `https://monitor.pikapython.com/sentinels/d518-workbench-dsflash-go-tool-call-10x/` - `https://monitor.pikapython.com/sentinels/workbench-auth-session-switch-2users/` +- `https://monitor.pikapython.com/sentinels/jd01-web-probe-sentinel/` Direct API probes for shell/API/render separation: @@ -81,6 +83,7 @@ Root registry: - `config/hwlab-node-lanes.yaml#lanes.v03.targets.D601.observability.webProbe.sentinels` - `config/hwlab-node-lanes.yaml#lanes.v03.targets.D518.observability.webProbe.sentinels` +- `config/hwlab-node-lanes.yaml#lanes.v03.targets.JD01.observability.webProbe.sentinels` Per-sentinel management YAML: @@ -89,6 +92,7 @@ Per-sentinel management YAML: - `config/hwlab-web-probe-sentinels/d601-v03/mdtodo-visual-regression.yaml#sentinel` - `config/hwlab-web-probe-sentinels/d518-v03/workbench-dsflash-go-tool-call-10x.yaml#sentinel` - `config/hwlab-web-probe-sentinels/d518-v03/workbench-fake-echo-session-invariance-10x.yaml#sentinel` +- `config/hwlab-web-probe-sentinel/profiles.yaml#nodes.JD01.sentinels.jd01-web-probe-sentinel.sentinel` Typical config refs: @@ -133,6 +137,10 @@ Source mirror readiness must be proven by the internal mirror object/read probe If the internal mirror branch is ahead of the expected commit, status may still be ready only when the expected object exists and `expected` is an ancestor of the mirror branch tip. Treat that as `mirror-ahead`, not as a source blocker. An exact SHA match is sufficient but not required during parallel master advancement. +Registry readiness must follow the target node YAML. On nodes where `registry.mode` is `k8s-workload` but the effective registry endpoint is a loopback address, use the controlled `web-probe sentinel image status` / `control-plane status` registry probe rather than ad-hoc Service DNS curls; a host-network registry that binds `127.0.0.1` can be healthy for node-local publish and pulls while its ClusterIP Service is not a valid manifest probe path. OCI manifest probes must send an OCI/Docker manifest `Accept` header before treating a tag as missing. + +When `trigger-current --confirm --wait` defers git-mirror flush into an async job, judge rollout readiness with a follow-up `web-probe sentinel control-plane status` and `hwlab nodes git-mirror status`. If the async flush job exits nonzero but the follow-up status shows source/registry/GitOps/Argo/runtime aligned and git mirror `pending=false` / `inSync=true`, record the async job failure as a closeout visibility issue rather than blocking the already-aligned sentinel rollout. If `pending=true` or GitOps is not in sync, continue through the controlled git-mirror flush path. + Dashboard aggregate counters may include historical runs only when the UI labels that scope explicitly. They must not sit beside a latest-run chart or selected-run check list without a scope label. If trend, run detail and check list disagree, first identify whether each number is a type count, sample count or historical aggregate before changing code. For Code Agent multi-round quick-verify, accept the latest run's `turn-summary` / `trace-frame` plus `blockingFindingCount=0` and `controlFindingCount=0`. Analyzer red findings about hydration, API-to-DOM lag or timing drift are investigation evidence unless they coincide with missing durable turns/final responses, failed submit/login/auth, broken continuity, absent report or unavailable user path.