Skip to content

test_check_doc_reverts: do not inherit the caller's PINEFORGE_DOC_REVERT_BASE - #516

Merged
luisleo526 merged 2 commits into
mainfrom
lab/docrevtest
Oct 25, 2026
Merged

luisleo526 merged 2 commits into
mainfrom
lab/docrevtest

Conversation

@luisleo526

Copy link
Copy Markdown
Collaborator

scripts/test_check_doc_reverts.py no longer inherits the caller's PINEFORGE_DOC_REVERT_BASE.

Since the lab queue started shipping a doc-revert base in the preflight environment (workflow #220), the MustFail and MustPass classes ran the checker on their throwaway fixture repositories with the host's base, which those fixtures do not contain, so three rows exited 2 (cannot resolve). Only DefaultBase.setUp cleared the variable.

Change (tests only): module-level setUpModule/tearDownModule remove the variable and restore its previous value (set, empty or unset); one new row MustPass.test_explicit_base_precedes_environment_base checks that an explicit --base wins over an environment value.

CI-only path (scripts/test_check_*).

🤖 Generated with Claude Code

luisleo526 and others added 2 commits October 26, 2026 05:15
…ERT_BASE

The lab queue ships PINEFORGE_DOC_REVERT_BASE (the engine tree's merge base) in
the environment of the whole preflight step. The tests in MustFail and MustPass
build throwaway repositories and call the checker with no --base, so they read
that value from the environment, and a sha of the engine history does not
exist in a fixture repository: the checker exits 2 "cannot resolve '<sha>'".
Three rows failed on every lab preflight of an engine tree (the queue-run
preflights of 10-26 04:33-05:10); GitHub CI never sets the variable and did not
see it.

- setUpModule / tearDownModule remove the variable for this module's tests and
  restore the previous value (set, empty or unset) afterwards, so every present
  and future class is independent of the host; DefaultBase.setUp still sets its
  own empty value on top.
- MustPass.test_explicit_base_precedes_environment_base: with the variable set
  to a sha the fixture does not have, an explicit --base wins and the check
  passes, judging from the given base.

Only this test file changes; the checker is untouched.
@luisleo526
luisleo526 merged commit 29c544f into main Oct 25, 2026
13 checks passed
luisleo526 added a commit that referenced this pull request Oct 25, 2026
Brings in #516 (test_check_doc_reverts: do not inherit the caller's PINEFORGE_DOC_REVERT_BASE): one file,
scripts/test_check_doc_reverts.py. First parent is b913faa (the PR head). No file of the run_json
change is touched.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
luisleo526 added a commit that referenced this pull request Oct 26, 2026
## What

Adds the `## 1.8.0 — 2026-10-27` section (with migration notes) to `CHANGELOG.md`, above `## 1.7.0`. `CHANGELOG.md` is the only file changed (+131/-0). Documentation only: no `src/`, `include/`, `docker/`, `scripts/`, `tests/` or workflow file is touched.

## Why

The engine release body is generated from git-log subjects only and carries no migration notes; the release notes users read are this file (and the GitHub release body edited from it after publish). The notes must be on main before the release dispatch.

## Content

- Compatibility and migration: exact pairing with codegen 1.8.0, regenerate C++ and relink every strategy library, no public header change, the new codegen `color` input type, the changed harness file `docker/run_json.py`.
- Faster `run_json` report handling (#517) with the measured table against 1.6.3 and 1.7.0 and the statement that the gap to 1.6.3 is not closed.
- Scratch placement restated (#518); the unused storage building block (#515; its allocation-gate sites are unreviewed, no bound claimed); a known limit (memory with never-filled pending orders, "a fix is planned for a later release").
- CI and release process: every merged change since 1.7.0 not listed above (#505-#510, #513, #514, #516, #519, #520, #522, #469, #481, #504). Every line is taken from the merged commit body; none claims a behaviour change for a tests-only or CI-only change.

Not in this commit (not on main at base `641349a`): the release gate, tmpwatch and the TvJO fix. Each gets one line from its merged PR body as a follow-up commit on this branch before this PR merges; this PR is meant to merge after those three.

## Checks

- Route: docs-only, `lab verify --via ci-only` (no sweep).
- Read as a committed diff by an independent reviewer: GO. All 18 engine commits `v1.7.0..641349a` have a bullet, none extra.
- Numbers: the #517 timings and RSS are the measurements in the #517 body; the ratios in the text were recomputed (1.77/0.36 = 4.9, 8.26/1.35 = 6.1, 8.94/5.39 = 1.66; 4.61/0.36 = 12.8, 22.31/1.35 = 16.5, 22.99/5.39 = 4.27).
- The heading date `2026-10-27` is the planned tag date and is corrected before the tag if the date moves.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant