ouroboros/.github
Anton Razzhigaev 45304eb66d WIP(G): node test lane in the hermetic commit gate (bundled-node-first, mirrored in CI)
New ouroboros/preflight_node.py: run_hermetic_pytest executes the browser-module
suite (node --test web/tests/*.test.js, run from the candidate's web/) as the
first consumer of the shared preflight budget, once the candidate worktree is
assembled and before the two pytest passes. Content-keyed activation: candidates
without web/tests/*.test.js never require node (existing synthetic preflight
fixtures stay green). While active: bundled signed node resolves first, PATH
second; missing/unusable node is the typed PREFLIGHT_NODE_MISSING hard block
(remediation names scripts/download_node_standalone.sh), a runtime below the
20.11 floor is PREFLIGHT_NODE_TOO_OLD, and a red suite is
PRE_PUSH_TEST_ERROR: NODE_TESTS_FAILED with bounded output — never a silent
skip. Same ProcessContainer spawn/reap/containment pattern as the pytest passes.

ci.yml (protected file; owner-approved for this sprint per the working-pill
metafix plan, decision 6 / G-5): quick-test gains the node --test step after
ruff (node 22 already provisioned); full-test gains SHA-pinned actions/setup-node
(node 22) plus the same step with shell: bash for the Windows glob; both jobs set
OUROBOROS_PREFLIGHT_REQUIRE_NODE=1 so the lane's real-spawn tests fail loudly
instead of skipping when node provisioning regresses.

tests/test_preflight_node.py pins activation, the typed blocks, real-spawn
red/green runs, candidate-tree globbing through run_hermetic_pytest, ordering
before the pytest passes, and CI parity derived from the lane's own glob
constants. docs: DEVELOPMENT.md commit-gate section and ARCHITECTURE.md module
map + CI section updated. No version bumps.

Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
2026-08-24 01:31:58 +03:00
..
actions/setup-python-env fix(deps): complete uv migration contracts 2026-08-11 06:34:54 +03:00
ISSUE_TEMPLATE docs: sharpen Ouroboros repository presentation (#74) 2026-07-24 07:14:13 +03:00
workflows WIP(G): node test lane in the hermetic commit gate (bundled-node-first, mirrored in CI) 2026-08-24 01:31:58 +03:00
PULL_REQUEST_TEMPLATE.md Make contributor reviews agent-first and route-neutral 2026-08-14 10:00:05 +03:00