Skip to content

test: qualify guided monitor setup and verify deployed user guides #1271

Closed

Description

@crypt0rr

Result

Demonstrate that the complete guided-monitor journey works against the real backend, preserves the existing editor/API contracts, and matches the deployed documentation. This closes the parent feature after the preceding changes include their own focused tests and docs.

Parent: #1266. Depends on #1267, #1268, #1269, #1270.

End-to-end scenarios

  1. Fresh unit administrator: target/coverage/cadence → create/select destination using a controlled delivery sink → review probe estimate → create/start → first result → remaining sample → active baseline → baseline/host evidence. Use deterministic real-stack fixtures; any actual scanner tests use authorized controlled listeners only.
  2. Operator: existing destination selection and job execution succeed; management/high-cost controls stay unavailable. Viewer and platform-admin cannot enter or call the unit setup paths. Two-unit custom profile/destination/job IDs receive the same outcomes as unknown IDs.
  3. Full TCP, selected-port Nmap, optional UDP, DNS uncertainty, excluded/huge CIDR, over-budget and unavailable-budget inputs; the review matches the saved job configuration.
  4. Preview/create/run failures and conflicts, destination saved but job canceled, duplicate clicks, delayed/out-of-order requests, scanner/profile availability changes, queue cancellation, fast completed scan, and refresh/restart without duplicate creation or scan dispatch.
  5. Guided↔advanced round trip, existing saved-job editing, browser Back/discard behavior, keyboard/focus/error announcements, desktop and supported mobile widths, and no secret in transferred/browser/cache state.
  6. Baseline samples, failed/incomplete/stalled learning, active baseline with zero positive ports, explicit approval protections, and resumable work preserve existing semantics.

Build on e2e/real-stack.spec.ts, role/isolation fixtures, and existing accessibility/mobile specs. Do not create tests that only mirror implementation or broaden unrelated tooling/frameworks.

Documentation and deployment

Confirm the preceding changes updated, as affected:

  • docs/src/content/docs/getting-started/first-scan.md
  • docs/src/content/docs/user-guide/jobs-baselines-incidents.md
  • docs/src/content/docs/user-guide/scanning.md
  • docs/src/content/docs/user-guide/notifications.md
  • docs/src/content/docs/reference/api-compatibility.md
  • README quick start and SECURITY.md when their documented behavior/boundary changes.

Clarify chosen coverage, preview limitations, budget handling, separate destination/job persistence, explicit scan starts, and automatic sample learning versus optional baseline approval. Build/link-check docs and inspect the visible desktop/mobile journey in the docs preview, then verify corresponding production pages after deployment. Documentation deployment verification is part of completion under AGENTS.md.

Final gates

  • Changed Go files formatted with the repository's Go toolchain; go vet ./... and go test -race -timeout=25m ./... pass.
  • npm run lint, npm run build, npm run test:coverage, and npm run test:e2e pass; aggregate/per-package/diff coverage and normal CI/security gates remain satisfied.
  • npm --prefix docs ci and npm --prefix docs run build pass, and preview plus production guide review is recorded with deployment evidence.
  • No migration, dependency, runtime-configuration, scanner-execution, or Compose/release-pipeline change was introduced unexpectedly; if scope changes, invoke the applicable AGENTS.md checks instead of silently skipping them.
  • API route inventory, isolation matrix, any new exported scoped-store cases, live-update audience, and secret write-only boundaries are complete.
  • Existing advanced editor/create clients and saved-job revision/rebaseline behavior pass regression coverage.
  • Before a separately authorized publish/release, the existing immutable-candidate, archived-artifact, multiarch-image, scanner-sandbox and runtime smoke gates remain the release authority.

Record task-based usability observations (completion, navigation, mistakes, coverage/baseline comprehension) without inventing percentage improvements or requiring analytics. No new telemetry service or dependency is in scope.

Estimated incremental effort: 4–6 hours, in addition to focused tests/docs already included in each implementation task. Close the parent only when the complete journey and deployed guides meet its acceptance criteria.

Activity

  1. crypt0rr commented on Oct 9, 2026

    @crypt0rr
    OwnerAuthor

    Implemented in #1275, merged as 7d1a7b686af0fba166eac71b1415223564475d5f. Implementation was delegated to Luna 6 workers with max reasoning; root reviewed, validated, merged and released it. The Go 1.27.2 security correction is #1265, closing #1273.

    Qualification evidence:

    • Feature CI, main CI, and CodeQL are green, including security, container and native ARM64 sandbox checks.
    • Frontend: 561 tests; all coverage gates and 15 gate fixtures; changed-line coverage 86.92%. Browser: 151 passed, 245 intentional viewport-project skips, zero failures in CI and the isolated local full run.
    • Native Go 1.27.2: all 15 packages passed go test -race -timeout=25m -coverprofile=coverage.out ./...; vet, formatting, schema docs, scanner pin, module verification and whole-release-range security gates passed. Coverage: 88.2% aggregate and 95.61% changed executable lines. No reachable Go vulnerabilities; npm audit 0.
    • Production first-scan guide and the jobs/baselines, scanning, notifications and API guides were reviewed from production deployment 757fcec6 at the exact merge commit. Desktop/320px layout, canonical URLs, search, HTTP 404 and the Go 1.27.2 development minimum pass; preview ebb52734 remains noindex. Documentation build verified 1,346 links/assets across 23 pages.

    Controlled task observations: administrator setup completed through scope review, destination save/test, first scan and two-sample baseline learning after restart. Operator selection/execution and viewer/platform isolation passed. Guided/advanced navigation preserved the draft; malformed/ambiguous creation blocked resubmission; retrying a failed scan used the existing job. Explicit partial coverage, valid zero-port baselines and stalled/incomplete learning remained distinguishable. Every guided step meets the 11px narrow-screen text floor without horizontal overflow at 320px/375px. No adoption percentage or user-study claim is inferred.

    EdgeWatch v0.32.0 is published as the latest stable release. Every job in the immutable release workflow passed, including full candidate race/coverage qualification, GoReleaser checks, archive attestations, image provenance, real scanner sandbox tests, capability/configuration checks, disposable SQLite and Compose smoke tests, and semver/latest promotion. Downloaded archive checksums and manifest match the uploaded immutable candidate; both binaries record Go 1.27.2 and the exact merge commit, and the native archive reports EdgeWatch 0.32.0. Public checksums are accessible without authentication. Candidate, 0.32.0, and latest all resolve to the same AMD64/ARM64 image index: sha256:38408fa5679572578d36470cb9707d5b8f4f282fe506c13eeddecc2f35e801da.

    No schema migration or new runtime configuration is introduced. Persistent Renovate dashboard #8 remains open by repository policy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions