test_pack_measurements_phase2.py (ADR-0043) was reachable only under `--suite full` and post-merge full-pytest.yml — outside the blocking PR smoke gate. A regression flipping identity falsifiability (ratified packs must diverge directionally), the pack-invariant grounding/refusal floor, or the zero-fabrication invariant therefore cleared the PR gate and surfaced only post-merge on main (the smoke blind spot for dedicated test files). Add the file to both the `smoke` suite tuple (core/cli.py) and the smoke.yml CI gate so the falsifiability claim blocks-on-regression rather than detect-after-merge. Adds ~4 min to the PR gate. Verified: modified smoke gate green on the main base via the CI-equivalent invocation (140 passed).
58 lines
1.7 KiB
YAML
58 lines
1.7 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),
|
|
# and identity falsifiability (tests/test_pack_measurements_phase2.py, ADR-0043
|
|
# — ratified packs diverge directionally; pack-invariant refusal floor; no
|
|
# fabrication). The falsifiability lane adds ~4 min but blocks-on-regression.
|
|
#
|
|
# Full pytest runs post-merge to main (see full-pytest.yml).
|
|
# Regressions caught here block the PR; anything outside the smoke
|
|
# suite is caught on main within minutes of merge.
|
|
|
|
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.11'
|
|
enable-cache: true
|
|
|
|
- name: install dependencies
|
|
run: |
|
|
uv pip install -e ".[dev]" pyyaml
|
|
|
|
- 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
|