Skip to content

record H-34: cz_onboard hides the project's real docs #185

record H-34: cz_onboard hides the project's real docs

record H-34: cz_onboard hides the project's real docs #185

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
jobs:
test:
# B2 (D-012): the suite must be green on all three OSes, and the win32
# cells EXECUTE the native cmd wrapper for real (D3) — not a
# platform-monkeypatched simulation.
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v5
# Provision uv from PyPI via setup-python, not astral-sh/setup-uv: setup-uv
# resolves its version through the GitHub API, which returned intermittent
# 503s and failed every matrix cell; pip has no such dependency.
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- run: python -m pip install uv
- run: uv venv --python ${{ matrix.python }}
- run: uv pip install -e ".[mcp,dev]"
- run: uv run pytest -q
fresh-clone:
# L-23 / D-064 rule 3: telemetry.jsonl is gitignored into every repo while
# docs/LESSONS.md is committed, so a fresh clone has ZERO surfacing events.
# The curator used to read that absence as evidence and propose obsoleting
# 100% of the corpus (measured 25 of 25). This cell is the ONLY place that
# shape is exercised — the in-process suite always has the author's repo.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: python -m pip install uv
- run: uv venv --python 3.12
- run: uv pip install -e ".[mcp,dev]"
- name: A clone carries only tracked files — assert no telemetry
run: |
test ! -f .clauderizer/telemetry.jsonl \
|| (echo "telemetry.jsonl is TRACKED — it must be gitignored" && exit 1)
- name: The curator must propose zero deletions with zero evidence
run: |
uv run python - <<'PY'
from clauderizer import ops
curate = ops.cz_curate()
obsolete = [p for p in curate["proposals"] if p["action"] == "obsolete"]
assert not obsolete, f"fresh-clone corpus wipe is back: {obsolete}"
loop = ops.cz_loop_step()
assert loop["has_telemetry"] is False, loop
assert "no telemetry" in loop["summary"], loop["summary"]
health = ops.cz_corpus_health()
assert health["active_project_lessons"] > 0, health
print(f"OK: {health['active_project_lessons']} lessons intact, "
f"0 obsoletion proposals, converged={loop['converged']}")
PY