Repository navigation
coresearch: "CE64 is like BF16 for thinking" — exploration map + 5 .arxiv harvests #740
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Board file gates | |
| on: | |
| pull_request: | |
| paths: | |
| # The protected files themselves. A PR that does not touch the board | |
| # cannot shrink it, so there is nothing to check. | |
| - .claude/board/LATEST_STATE.md | |
| - .claude/board/EPIPHANIES.md | |
| - .claude/board/PR_ARC_INVENTORY.md | |
| - .claude/board/STATUS_BOARD.md | |
| - .claude/board/ISSUES.md | |
| - .claude/board/TECH_DEBT.md | |
| - .claude/board/AGENT_LOG.md | |
| - .claude/board/INTEGRATION_PLANS.md | |
| # Broader than the eight above ON PURPOSE: the protected list lives in | |
| # the script, and a future entry added there must be gated from the | |
| # commit that adds it -- not from the next commit that happens to touch | |
| # a file already on the list. | |
| - .claude/board/** | |
| # The gate's own two files, so a change to either is checked by itself. | |
| - .claude/tools/append_only_gate.py | |
| - .github/workflows/append-only-gate.yml | |
| # The EPIPHANIES projection's tool, so its staleness check runs whenever | |
| # the renderer changes -- not only when the board data does. | |
| - .claude/tools/compact_epiphanies.py | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| no-shrink: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| # REQUIRED, not a tuning knob. The gate compares each protected file | |
| # against the MERGE-BASE of this branch and the target -- the version | |
| # the branch actually inherited, not wherever the target has moved | |
| # since. A shallow checkout has no merge-base to compute, and the | |
| # gate fails closed rather than passing on a comparison it could not | |
| # make. | |
| fetch-depth: 0 | |
| - name: Self-test the gate | |
| # Runs first, and deliberately. If the gate cannot prove it both FIRES | |
| # on a shortened file and STAYS SILENT on a grown one, its verdict on | |
| # the real diff is worthless -- so the self-test gates the gate. | |
| run: python3 .claude/tools/append_only_gate.py --self-test | |
| - name: Check protected board files did not shrink | |
| run: | | |
| python3 .claude/tools/append_only_gate.py \ | |
| "origin/${{ github.event.pull_request.base.ref }}" | |
| - name: Self-test the EPIPHANIES compactor | |
| # Same reasoning as the gate's own self-test above: the projection's | |
| # provenance rule (every row resolves to a real archive heading) and its | |
| # closed topic vocabulary are only worth trusting if they can be shown | |
| # to refuse a bad row. | |
| run: python3 .claude/tools/compact_epiphanies.py --self-test | |
| - name: Check the EPIPHANIES projection is current | |
| # EPIPHANIES.md is GENERATED from the frozen archive plus the committed | |
| # consolidation rows, so it is not on the append-only list -- a | |
| # projection legitimately shrinks when a row is closed out. What must | |
| # hold instead is that it matches its inputs: a hand-edit, or a rows | |
| # change without a regenerate, fails here. | |
| run: python3 .claude/tools/compact_epiphanies.py --check |