Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 34 additions & 1 deletion docs/ci-verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,40 @@

## Current selected-family replay

The selected #543 + #626 composition uses `.github/workflows/frontier626.yml`.
Start with the [selected record](../certificates/selected-result.json). Its
`reproduce`, `review`, `source_manifest` and `validation` fields identify the
replay command, scoped assessment, source bindings and integration evidence.
At this checkpoint, the selected composition is #589 with #1094, documented in
[the review](research/community-batch1099-review.md),
[the source manifest](../research/community-frontier1094-audit/SELECTED-SOURCE.json)
and [the integration receipt](research/community-batch1099-integration.json).

The public cold replay is `make frontier1094-verify`. The configured
[frontier1094 workflow](../.github/workflows/frontier1094.yml) runs on Ubuntu
24.04 with Python 3.12, C++17, Boost and the pinned bit package's Python
requirements. It checks the selected and historical #1042 records, then runs
`python -B scripts/verify_frontier1094.py --work "$RUNNER_TEMP/frontier1094"`
in a fresh output directory. It requires tracked files to remain unchanged
and uploads replay receipts and logs. Selected-input path filters control
push and pull-request runs; manual dispatch is also available.

`make selected-record-check` checks metadata and source/proof hashes, not the
operators. The cold replay checks the finite construction and composition;
it does not discharge the inherited all-size/compiler, realization, hosting,
precision/tape, analytic or bit-interface assumptions.

The integration receipt records successful local macOS execution and leaves
hosted Linux CI pending **at that review checkpoint**. This is dated evidence,
not the latest hosted status. Consult the
[workflow runs](https://github.com/CrocSwap/integer-mult-bounds/actions/workflows/frontier1094.yml)
and check the exact tested head, inputs and logs before claiming hosted
coverage. A workflow file, a generic matrix pass or a successful historical
#626 run does not establish execution of the selected #1094 construction.

## Historical selected-family replay through #626

At this historical checkpoint, the #543 + #626 composition used
`.github/workflows/frontier626.yml`.
Its [completed Linux run](https://github.com/CrocSwap/integer-mult-bounds/actions/runs/38317651752)
passed on 2026-10-13 at commit `ed49217ad6244f1d3bfe4588f122fa861849739c`.
The [preserved artifact reconciliation](../research/selected626-linux-reconciliation/README.md)
Expand Down
18 changes: 17 additions & 1 deletion tests/test_research_current_status.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""The status page's only "current" section must agree with the selected record."""
"""Current status and CI navigation must agree with the selected record."""

import ast
import json
Expand Down Expand Up @@ -47,6 +47,22 @@ def test_history_banner_precedes_historical_sections(self):
self.assertIn("selected-result.json", "\n".join(self.lines[:end]))


class CurrentCiNavigationTests(unittest.TestCase):
def test_current_ci_section_matches_selected_record(self):
text = (ROOT / "docs/ci-verification.md").read_text(encoding="utf-8")
current, _ = text.split("\n## Historical", 1)
links = {(ROOT / "docs" / target).resolve()
for target in re.findall(r"\]\(([^)]+)\)", current)
if not target.startswith("https://")}
self.assertIn(ROOT / "certificates/selected-result.json", links)
self.assertIn(f"`{SELECTED['reproduce']}`", current)
for field in ("review", "validation", "source_manifest"):
with self.subTest(field=field):
target = ROOT / SELECTED[field]
self.assertIn(target, links)
self.assertTrue(target.is_file())


class LocaleIndependenceTests(unittest.TestCase):
def test_this_modules_text_io_does_not_depend_on_host_locale(self):
# A UTF-8 CI host cannot observe locale-codec bugs, so check the calls
Expand Down
Loading