Repository navigation
docs(adr): set the status of 78 Proposed ADRs from what master implements - #2070
Merged
Merged
Conversation
lusoris
force-pushed
the
docs/adr-status-sweep-2026-10-05
branch
from
October 5, 2026 09:47
3f42df8 to
e713f81
Compare
…142) (#2078) * refactor(core): bring the cpu clang-tidy lane to zero findings (ADR-1142) Cited NOLINT blocks on C headers shared with C++, parenthesised cJSON macro arguments, string_view copy in isnumeric(), cited nullptr exemptions in picture_pool.c. cpu baseline 70 to 0.
…er image nightly (ADR-1700, ADR-1701) (#2076) * ci: run the tester builds on their own inputs only and build the tester image nightly (ADR-1700, ADR-1701) After ADR-1687 the impact planner's full-mode fallback started the required Tester Image and Windows Tester Zip builds on about three quarters of all pull requests (148 and 142 of 200 master commits, against 41 and 10 under the former path filters). The maintainer decided on 2026-10-05 to narrow them and to cover the library inputs of the image with a nightly build. - A selector may declare "own_paths_only": true in .github/ci-impact.json. In a full plan with known changed paths it is true only when one of them matches its own patterns; with no change list (dispatch, schedule) it stays true. Only tester_image and windows_tester_zip declare it; load_config() refuses it with inherits or without patterns. On the same 200 commits the selectors now pick the former filters' commits exactly. - Selector inheritance is resolved in topological order instead of by recursion, which removes the planner's baselined HISS-01 finding. - docker-publish-tester.yml builds and tests the amd64 image every night at 00:29 UTC on master, with no publish and no GPU images, in a concurrency group of its own, ending before nightly.yml and the weekly Release Dry Run. - The master push behaviour of ADR-1687 stays and is documented. Closes T-TESTER-LEGS-FULL-MODE-FALLBACK-COST-2026-10-05. * docs: regenerate the indexes and the citation map after rebasing
…ents (#2070) * docs(adr): set the status of 78 Proposed ADRs from what master implements Each ADR was judged from its implementing commits and the files it names on master. 77 become Accepted (ADR-0928 scoped to Phase 1), ADR-1289 becomes Superseded by ADR-1390, and 15 stay Proposed with the missing part named in the pull request. Only status lines, index rows and dated status-update notes change. scripts/ci/check-adr-status-drift.py fails when a Proposed ADR is cited by an implementing commit older than 14 days. A partly shipped ADR stays Proposed through an entry in scripts/ci/adr-status-exceptions.json that names the missing part and expires; expired and stale entries fail. Five entries exist today.
lusoris
force-pushed
the
docs/adr-status-sweep-2026-10-05
branch
from
October 5, 2026 10:38
e713f81 to
b7a40b4
Compare
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.
Summary
96 ADR files carried
Status: Proposedon master (95 after excluding the template; ADR-0237 and ADR-0296 are already phase-scopedAccepted). Each was judged from its implementing commits and the files it names onorigin/master, never from its own wording. 78 change status (77 Accepted, 1 Superseded; ADR-1199 and ADR-1250 were accepted by a concurrent PR while this one was open and keep master's wording) and 15 stay Proposed. Only status lines, index rows and a dated### Status update 2026-10-05note at the end of each file changed; no decision text was touched. Precedent: #2050 (ADR-0931).Also adds the failing gate
scripts/ci/check-adr-status-drift.pywith expiring exceptions and a test.Changed
41c1f50456fd36ee6d16503c033026f02f4f0e53ed697a503851028ac880fe4ac35c9817ac35c9817d120644363516f75eefe2169230242305e6774e1fe772becf95d16caefbe3ff78ecafe114b5f93f0c1143a54dee3f222baa,bb9848c0a79c66591bec214f5371f48be4e2f4879cc1ad1039ac2c1f48be4e2,8cf6d61d415b721a4e9cec679a4ee43938f1fb7169b38defb879a0c1680c02f,34b92fc9a8aee0982f43aabd68443aabd684,acb8c344f43aabd684,eab3e164b5b164cb795b164cb79,4d2f7c36653e417476b4ae551a356b355a2b,6283ee5008276f2b0d,5b523b24e8276f2b0d,5b523b24e64ea351be,8d0cdd7c49170dfb04,0d1f9303c0eb385574ca8a39ea4ff49e6fe87c29e70b236ebf66b5b3e95901c5774a1ba6925dae9267a0d835c85730fca22,663b1430ca9a45f5e3d0d64dfd5,d68fa5cd711a47f39b11a47f39b11a47f39b8845ac2ebfec6ec9ac7f10059156475fa9ea6c8e7b8ea6475fa9ea6475fa9ea6475fa9ea6475fa9ea6475fa9ea6475fa9ea6475fa9ea6475fa9ea6475fa9ea6475fa9eab71bfc563dd51d00dbdd51d00dbNotes: ADR-0928 is Accepted for Phase 1 only (the SONAME bump is deferred by the ADR). ADR-1122 is Accepted for the model port; its default-model clause was reversed by ADR-1169 (noted in the update). ADR-1289 is Superseded by ADR-1390 by code rewrite (ADR-1390 carries no explicit Supersedes line; judgement call, easy to revert). ADR-0779 and ADR-1222 keep their parenthetical partial-supersession text. Commits that cite ADR-0779 for the duplicate ADR-0996 are listed under ADR-0996.
Left Proposed
The check
scripts/ci/check-adr-status-drift.pyfails when aProposedADR is cited in the subject of afeat/fix/perf/refactor/build/ci/testcommit older than 14 days, unless an unexpired entry inscripts/ci/adr-status-exceptions.jsoncovers it (ADR number, file, rule, reason naming the missing part, expiry). It also fails on an expired entry (valid through its date), a stale entry (the ADR no longer drifts), and a malformed or duplicate entry. Maintainer decision 2026-10-05: failing with expiring exceptions. No standards-exception list existed in the repo, so the file follows theexact_twins.dprecedent of a declared, checked-in list.Five exceptions today, all expiring 2027-01-05: ADR-0613 (
dynamic_optimizer.pymissing), ADR-0781 (end-to-end path not implemented), ADR-0783 (1 of 5 kuttl cases), ADR-0907 (no workflow runs the gate), ADR-1202 (decision text no longer matches the tree). Wired as the always-run pre-commit hookcheck-adr-status-drift, which the CI lint job (fetch-depth 0) runs.scripts/ci/tests/test_check_adr_status_drift.pyhas 12 cases: new drift without exception fails, valid exception passes, expired exception fails (expiry day itself passes), stale, malformed and duplicate entries fail, the repository list is valid, plus the age, docs-commit and number-match cases. Mutations: ignoring expiry fails 1 case, ignoring a missing exception fails 2, dropping the stale check fails 1, countingdocscommits fails 1.Deliverables (ADR-0108)
AGENTS.mdinvariant note — no rebase-sensitive invariants.changelog.d/changed/adr-status-sweep-2026-10-05.md.docs/rebase-notes.mdentry: no rebase impact: docs only.Reproducer
State:
docs/state.mdrowT-ADR-STATUS-DRIFT-96-PROPOSED-2026-10-05. No golden assertion touched.