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
19 changes: 15 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,22 @@ jobs:
- name: Regenerate ALL committed artifacts (tools/regenerate_all.sh)
run: time bash tools/regenerate_all.sh build

- name: Reproducibility gate (committed generated+evidence == regenerated, SHA-stable)
# WP14 (review C4): fills README.md's WP5-NUMBERS/WP6-NUMBERS marker
# blocks from the committed CSVs. This runs as its OWN step rather than
# being folded into tools/regenerate_all.sh, because README.md lives at
# the repo root, not under generated/ or evidence/ -- regenerate_all.sh's
# documented contract is "regenerates generated/ + evidence/" only (see
# its own header comment), and folding README in would blur that
# contract for no benefit: this step just needs to run before the
# reproducibility gate below, same as regenerate_all.sh does.
- name: Fill README.md marker blocks (tools/readme/fill_readme_numbers.py)
run: python3 tools/readme/fill_readme_numbers.py .

- name: Reproducibility gate (committed generated+evidence+README == regenerated, SHA-stable)
run: |
git diff --exit-code -- generated/ evidence/ \
|| (echo "::error::generated/ or evidence/ drifted from committed bytes (R6)"; \
git --no-pager diff --stat -- generated/ evidence/; exit 1)
git diff --exit-code -- generated/ evidence/ README.md \
|| (echo "::error::generated/, evidence/ or README.md drifted from committed bytes (R6)"; \
git --no-pager diff --stat -- generated/ evidence/ README.md; exit 1)

# if: always() -- upload the regenerated bytes even when the gate fails,
# so an R15 re-baselining PR (a legitimate, documented pin change) can
Expand Down
18 changes: 17 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,22 @@ if(PYTHON3_EXECUTABLE)
add_test(NAME forensics COMMAND ${PYTHON3_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/tools/forensics/test_forensics.py
${CMAKE_CURRENT_SOURCE_DIR})
# WP14 prioritization table: a pure derived/joined view over
# wp6_cost_summary.csv + wp13_kit_trade.csv + wp5_campaign_summary.csv
# (Python 3 stdlib only, R9). Checks regeneration, hygiene/claims
# discipline, D10/R6 currency-range discipline, content, and
# determinism/committed-bytes reproducibility.
add_test(NAME prioritization COMMAND ${PYTHON3_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/tools/prioritization/test_prioritization.py
${CMAKE_CURRENT_SOURCE_DIR})
# WP14 README marker-block filler (review C4): regenerates the
# WP5-NUMBERS/WP6-NUMBERS marker blocks in README.md from the committed
# wp5_campaign_summary.csv/wp6_cost_summary.csv and checks --check mode
# passes against the committed file, catches a corrupted number, and is
# deterministic/idempotent.
add_test(NAME readme_numbers COMMAND ${PYTHON3_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/tools/readme/test_readme_numbers.py
${CMAKE_CURRENT_SOURCE_DIR})
else()
message(WARNING "python3 not found; WP7a viz, WP8 compliance, WP7 evidence and WP10c forensics tests not registered")
message(WARNING "python3 not found; WP7a viz, WP8 compliance, WP7 evidence, WP10c forensics and WP14 prioritization tests not registered")
endif()
354 changes: 212 additions & 142 deletions evidence/adsc_evidence_pack.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion generated/viz/wp5_dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<h1>ADSC - Visualization Pack (WP7a) - static report page</h1>
<p class="meta">Regenerated from committed CSVs by <code>tools/viz/make_viz.py</code>
(Python 3 stdlib only). Source: wp5_campaign_summary.csv (schema 1.1),
wp6_cost_summary.csv (schema 1.0), wp3_decay_trade.csv. Master seed 0x5AD5C0DECAFE2026,
wp6_cost_summary.csv (schema 1.1), wp3_decay_trade.csv. Master seed 0x5AD5C0DECAFE2026,
N=500. No timestamps; every number read from the CSVs.</p>
<p class="warn">Keep-out figure: simplified research visualization, not a flight safety certificate.</p>
<div class="grid">
Expand Down
2 changes: 1 addition & 1 deletion generated/viz/wp6_amortization.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading