- Promote tests/test_register_substantive_consumption.py into the smoke suite (local core/cli_test.py + mirrored .github/workflows/smoke.yml): the falsifiable register-axis (ADR-0069/0071/0077) contract was red on main outside every gate for the 2026-07-22..24 window, masked by an unrelated flake label. 36 tests, ~4.6s. - Found in passing: test_core_test_deductive_suite_expands_to_entailment_lane was already red on clean main (an exact-tuple pin from when the `deductive` suite had one file; it has since grown to 12). Fixed to a contains-style assertion so it can't go stale the same way again. - Two new capability-index adapters: deduction_serve_existential_result (Band v6-EX alone — the one band among six that changes the decision procedure itself) and curriculum_serve_result. Breadth 11 -> 13; baseline re-frozen (a deliberate re-freeze per its own docstring). - Promotion sweep: confirmed via the existing wrong=0 lane gate (run repeatedly this session across 166/166 deduction-serve cases) that no split beyond the already-applied ds-mem-0020 has a stale declined-gold case a current band now decides differently.
63 lines
2 KiB
YAML
63 lines
2 KiB
YAML
name: smoke
|
|
|
|
# Fast PR gate — runs the smoke suite on every PR push.
|
|
# Covers: chat runtime, pipeline, architectural invariants, audio sensorium
|
|
# (tests/test_audio_*.py — compiler/eval-gates/mount/CRDT-merge/teachers, ~3s),
|
|
# identity falsifiability (tests/test_pack_measurements_phase2.py, ADR-0043
|
|
# — ratified packs diverge directionally; pack-invariant refusal floor; no
|
|
# fabrication; adds ~4 min but blocks-on-regression), and the register axis
|
|
# (tests/test_register_substantive_consumption.py, ADR-0069/0071/0077 — terse/
|
|
# convivial registers must actually differ from neutral on served surfaces;
|
|
# promoted after a 2-day silent regression, generalization-arc Tier S).
|
|
#
|
|
# Post-merge on main: full-pytest.yml runs the FAST lane
|
|
# (-m "not quarantine and not slow"). Soak / proof / register-matrix coverage
|
|
# is nightly-full-pytest.yml (not on the PR critical path).
|
|
# See docs/testing-lanes.md.
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: smoke-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
smoke:
|
|
name: smoke (-m "not quarantine")
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: set up uv
|
|
uses: astral-sh/setup-uv@v5
|
|
with:
|
|
python-version: '3.12.13'
|
|
enable-cache: true
|
|
|
|
- name: install dependencies
|
|
run: |
|
|
uv sync --locked --extra dev
|
|
|
|
- name: pytest smoke suite
|
|
env:
|
|
PYTHONPATH: ${{ github.workspace }}
|
|
run: |
|
|
uv run pytest -m "not quarantine" --tb=short -q \
|
|
tests/test_chat_runtime.py \
|
|
tests/test_achat.py \
|
|
tests/test_runtime_config.py \
|
|
tests/test_cognitive_turn_pipeline.py \
|
|
tests/test_architectural_invariants.py \
|
|
tests/test_audio_*.py \
|
|
tests/test_pack_measurements_phase2.py \
|
|
tests/test_register_substantive_consumption.py
|