Skip to main content

CI Validation Evidence

Purpose

Document build and link-validation evidence so reviewers can distinguish configured quality controls from proven quality controls. This page is updated on each release. Do not treat "configured" as "passed."

Critical Distinction

StatusMeaning
ConfiguredThe check is defined in CI workflow but no run result is recorded here.
Passed locallyThe check was run on the developer machine; not a CI artifact.
CI passed — run recordedA GitHub Actions run ID is recorded and the artifact is traceable.

No check is treated as audit-grade evidence unless a run ID or commit hash is recorded.

Latest Validated State — v0.3.0

FieldValue
Release label0.3.0
Commit hash2fea09c
Validation date2026-05-18
ValidatorGitHub Actions (ubuntu-latest, Node 20)
Build workflow run ID26051906283passed
Deploy workflow run ID26051911199passed
GitHub Pages artifactgithub-pages artifact produced and deployed
AnnotationNode.js 20 deprecation warnings in both runs — not a failure; actions still executed successfully. Upgrade to Node.js 24-compatible action versions before September 2026.

CI Run Results — 2026-05-18 (commit 2fea09c)

CheckWorkflowResultRun ID
YAML lint — governance registerbuild.yml + deploy-pages.ymlCI passed26051906283 / 26051911199
Internal Markdown link validation (check:links)Both workflowsCI passed — 0 broken internal links26051906283 / 26051911199
Docusaurus buildBoth workflowsCI passed — static files generated26051906283 / 26051911199
GitHub Pages deploydeploy-pages.ymlCI passed — artifact uploaded and deployed26051911199

Previous Validated State — v0.2.0

FieldValue
Release label0.2.0
Commit hash7dbf4ed
Validation date2026-05-16
ValidatorLocal environment (Ubuntu 6.17.0, Node 20, Python 3)
CheckCommandResult
YAML lintpython3 -c "import yaml; yaml.safe_load(...)"Passed locally
Internal Markdown linksnpm run check:linksPassed locally — 0 broken links
Docusaurus buildnpm run buildPassed locally

CI Workflow Configuration

WorkflowFileTriggerSteps Configured
Build.github/workflows/build.ymlpush and PR to mainYAML lint → npm ci → check:links → build
Deploy.github/workflows/deploy-pages.ymlpush to mainYAML lint → npm ci → check:links → build → upload artifact → deploy pages

Steps added in commit 7dbf4ed: YAML lint step added to both workflows before npm ci.

What CI Does Not Prove

Passing CI means the YAML is valid, the site builds, and internal Markdown links resolve. It does not mean:

  • every external source still returns HTTP 200;
  • every campaign claim is true;
  • every detection is production-ready;
  • every template has been reviewed by a second analyst;
  • any content has been externally peer-reviewed;
  • the site score is externally validated.

External link availability is not treated as deterministic CI because public sites, Medium, GitHub Pages, and PDF hosting can rate-limit or temporarily fail. External references should use access dates. Report-critical references should record archive or fallback links when they become unavailable.

External link check has not been run as a CI step. It remains a manual release-review action.

Required Evidence for Each Future Release

Before any release can claim CI-proven status, record:

  • GitHub Actions run ID for the build workflow — recorded above for v0.3.0
  • GitHub Actions run ID for the deploy-pages workflow — recorded above for v0.3.0
  • Commit hash at time of run — 2fea09c
  • YAML lint result from CI (not only local) — passed in both workflows
  • Internal link check result from CI — passed in both workflows
  • Build result from CI — passed in both workflows
  • External link check summary (manual, with hard 404s listed separately from transient failures) — pending v0.3.0 manual review
  • Any DRL promotion artifacts if a detection was promoted — no promotions in v0.3.0
  • Reviewer sign-off if claiming publication-grade status — not claimed for v0.3.0