Repository navigation
Release tooling: tree-bound evidence, rerunnable source lanes and one platform-skip marker - #208
Merged
Dsssyc merged 10 commits intoOct 30, 2026
Merged
Conversation
…l tests on default-encoding I/O
The contract export test wrapped its fake stdout in a TextIOWrapper without a newline argument, so on Windows the text written before the export became CRLF while the assertion expected LF. The CLI writes UTF-8 bytes directly and is unaffected.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes releases agile without weakening what is actually verified. A one-line fix took four full validation rounds on 2026-10-30 and still had not reached candidate building, because release evidence had to be a fresh full run on main, a rerun was forbidden, and the candidate waited for that run. The measured breakdown and the decisions are in docs/plans/2026-10-30-release-agility-review.md.
Release evidence (A1-A6):
ci.ymlrun in the canonical repository (push, workflow_dispatch or pull_request) whose tested commit has the same tree as the release commit. PR runs check out the PR head itself, so the comparison is exact. A main push whose tree already passed on its PR runs workflow policy only.-a<attempt>), and promotion takes each required job's latest attempt, so a failed source lane can be rerun instead of repeating the whole run.check-sourceandrc-context.json's run id are removed; context schema v2). Promotion selects the evidence once, at the boundary; the deep re-verification of Source Validation receipts and its constants are removed. Candidate byte digests, manifests, receipts and remote-state checks are unchanged.pypi, and a newgithub-releaseenvironment for c3).Tests and CI (A7, B4, B7):
platform('windows'|'posix')marker; the Python suite runner accepts only that skip reason, and the three frozen nodeid tables are deleted.c_twonow fails the SDK tests (EncodingWarningas error under PYTHONWARNDEFAULTENCODING). It caught two product bugs, fixed here for 0.10.1: CRM templates read the CRM source withtokenize.openand write UTF-8, andc-two contractwrites UTF-8 to files and to stdout, which c3 parses.Validation so far: actionlint and tests/repo pass locally; fork full CI https://github.com/Dsssyc/c-two/actions/runs/41061490204 passed 9/9 on the first attempt with a cold cache (21.4 min). The last three commits (the encoding fix and records) are validated by this PR's CI.
Before merge: the
github-releaseenvironment must exist with a required reviewer, otherwise the first CLI publication would not pause for approval. 0.10.1 (Python only) will be the first release through this flow.