Skip to content

fix(e2e): the dashboard leg reaches a hardened stack; no vacuous drop-off pass - #394

Merged
VijitSingh97 merged 3 commits into
mainfrom
fix/390-e2e-dashboard-leg
Aug 22, 2026
Merged

fix(e2e): the dashboard leg reaches a hardened stack; no vacuous drop-off pass#394
VijitSingh97 merged 3 commits into
mainfrom
fix/390-e2e-dashboard-leg

Conversation

@VijitSingh97

Copy link
Copy Markdown
Contributor

Closes #390 — both halves, plus the vacuous pass the incident report didn't name.

Dashboard leg (finding 1). phase_dashboard curled with plain -fsS: no redirect following, no self-signed trust, no credentials. A current stack fronts the dashboard with Caddy — HTTP 308 → HTTPS, self-signed cert, basic auth — so every probe returned empty and the leg failed against a healthy stack. New dash_curl follows redirects, accepts the stack's own cert, and presents the new E2E_DASH_AUTH (user:pass) knob when set; E2E_DASH_URL is documented as the stack's /api/state.

The vacuous drop-off pass. When the worker was never visible, the drop-off loop broke on its first probe and reported "dropped off within 0s" — a pass that measured nothing. A never-visible worker now reports the failure and skips the drop-off check with the reason stated.

Stratum leg (finding 2). E2E_STRATUM_PASS's docs now say to set it only to a password the stack actually enforces — on a stack with auth off, any value makes the auth phases run and honestly report a "failure" that is a harness misconfiguration.

Both literal host examples in usage/error text generalized to a placeholder (same class as the sibling repo's topology policy; the guard itself landed in #393).

What was RUN:

  • Full suite (branch rebased on main): 1774 passed, 0 failed — includes 8 new asserts: dash_curl behavior via a recorded-argv curl stub (redirect/cert flags present; -u present exactly when E2E_DASH_AUTH is set), the never-visible path (failure + skip, and assert_absent on the vacuous "dropped off within"), and the visible-then-stopped path still measuring a real drop-off. Mutation, run: restoring the pre-fix body (no skip/return) turns the assert_absent red.
  • Live validation against this bench's hardened v1.19.3 stack (read-only): the old form returns an empty payload; dash_curl's form follows 1 redirect to HTTPS through the self-signed cert and reaches the basic-auth 401; wrong creds still 401. Not validated live: the credentialed 200 path — that needs the operator's dashboard password; the credentialed flag-wiring is covered by the argv-stub asserts instead. The full opt-in leg against a live stack with real creds remains a bench-run item (rig-e2e flock), unchanged in scope.
  • make lint clean.

VijitSingh97 and others added 3 commits August 22, 2026 13:14
…f check can no longer pass vacuously

The workers-alive phase curled with plain -fsS: no redirect following, no
self-signed trust, no way to present credentials — every path through a
current stack's Caddy front (HTTP 308 -> HTTPS, self-signed cert, basic auth)
returned an empty payload, the visibility check failed against a healthy
stack, and the drop-off loop then broke on its first probe and reported
"dropped off within 0s" — a pass that measured nothing.

dash_curl now follows redirects, accepts the stack's own cert, and presents
E2E_DASH_AUTH when set; a never-visible worker skips the drop-off check with
the reason stated. E2E_STRATUM_PASS's docs now say to set it only to a
password the stack actually enforces. Header example host generalized.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QXdRGcURkgbuoo5hUG8rmB
Same class as the header example: operator-facing usage text carries a
placeholder, never a real box name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QXdRGcURkgbuoo5hUG8rmB
…ever an error page

Adversarial-review finding: dropping -f from the old form changed error
semantics; a 401/5xx body could reach the hostname grep. Re-verified against
the live hardened stack: the -f form still follows the redirect chain and
returns an empty payload on 401.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QXdRGcURkgbuoo5hUG8rmB
@VijitSingh97
VijitSingh97 merged commit 50a389e into main Aug 22, 2026
9 checks passed
@VijitSingh97
VijitSingh97 deleted the fix/390-e2e-dashboard-leg branch August 22, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant