Nick
|
38497a61d0
|
feat(release_notes): port to FULL Go — dichotomy wave
Full name-preserving port of src/rune/release_notes.py to
src/go/release-notes (GO verdict, #2479 dichotomy tranche — 16/16 fns,
dichotomy audit now FULL):
- ReleaseNote record: __init__ sort-never-dedup semantics, to_dict
insertion-order, from_dict; unicode codepoint sorts byte-parity
- render_markdown: short-SHA [:12] clamping (rune-safe pySlice), empty
section omission, backfill/provenance footers, unicode rstrip
- extract_evidence_facts: closed-contract references + correctly_predicted
proven, maintenance resolved/open, TUI projection decisions,
release_evidence final_deployed/deployed_identity variants, sorted-set
dedup; nested _clean echo for the §24F unsupported-claim filter
- build_note: extras merged per key through the SAME exclude filter
- summary_from_body: Python splitlines() full separator set (\v \f
\x1c-\x1e \x85 \u2028 \u2029), H1-skip, heading/italic/item breaks,
blank-gap stop, em-dash fallback
- sha_from_body: (?i) tag/deployed markup regexes
- Gitea surface: _api (HTTPError-before-OSError order, JSON/"_raw"/"_error"
degrades with [:200] truncation), fetch_release, publish_release
(create/update/idempotent, ordered POST payload, failed-dict shape) —
HTTP behind the injectable Transport seam with request capture
- converged_deployed_sha + os_readlink behind the FileSystem seam
(RUNE_DEPLOY_ROOT default preserved)
- auto_initial_note / convergence_refresh / build_from_deployment:
store-missing/corrupt degrades, provenance defaults, tag-SHA-never-
changes convergence truth
- truth.json: 78 frozen rows from the live oracle (scripts/
gen_release_notes_truth.py) covering EVERY public function and branch —
incl. scripted-transport request capture (method/url/headers/body
byte-parity), 200+ char truncation, non-ascii escapes; replay 78/78
exact-equal, live-regenerated and re-verified; go test green; gofmt+vet
clean
- CI: release-notes gate upgraded to the HARD FULL-port parity gate
(replay + TestTruthParity)
- release_notes.py untouched (Python oracle remains the parity authority)
Contract: BUILDER-2026-10-11T15:00:35Z-e67406-factory-wave (draft; phase
walk + closure with both SHAs in the Phase B commit). Dichotomy audit:
release_notes 16/16 → FULL.
|
2026-10-11 17:09:07 +01:00 |
|