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 ID26051906283 — passed
Deploy workflow run ID26051911199 — passed
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