2026-08-28 - 2026-09-04

Overview

23 Active Pull Requests
36 Active Issues
Excluding merges, 2 authors have pushed 16 commits to main and 58 commits to all branches. On main, 116 files have changed and there have been 12650 additions and 851 deletions.

1 Release published by 1 user

Published v26.15.0 2026-08-29 22:28:14 +02:00

22 Pull requests merged by 1 user

Merged #906 fix(876): sweep session narrative out of hooks, workflows, scripts, tests and code comments; grow the detector to the process corpus 2026-09-03 21:26:04 +02:00

Merged #905 fix(869,893): re-establish the 1.25.4-dated CI claims on 1.27.1, and settle the page_statuses asymmetry from source 2026-09-02 22:20:45 +02:00

Merged #903 fix(891): a sourced path is code, so every hook resolves it from its own tree 2026-08-30 23:41:20 +02:00

Merged #902 fix(855): two glob dialects cannot be canonicalised into one, so model one shape and refuse the rest 2026-08-30 21:25:24 +02:00

Merged #899 fix(887): the image build builds the SPA and does not test it 2026-08-30 18:06:22 +02:00

Merged #898 docs(release): record the v26.15.0 release notes 2026-08-30 17:25:59 +02:00

Merged #897 fix(858,859): a rule the classifier cannot read is not a rule that matches nothing 2026-08-30 13:33:51 +02:00

Merged #896 fix(870): an empty timeline page is not exhaustion — the walk reads to its cap 2026-08-30 13:29:39 +02:00

Merged #892 fix(880): an absent recurrence array means unrestricted, an explicit [] is rejected 2026-08-30 11:29:03 +02:00

Merged #890 fix(849): the verdict gate replaces every unknown state, and proves the clauses that claim to 2026-08-30 07:55:11 +02:00

Merged #889 fix(845): the verdict writer checks that the gate will honour what it just posted 2026-08-30 04:43:09 +02:00

Merged #888 docs(853): workflow_dispatch can't be ref-restricted at 1.27.1 — and restricting it would close nothing 2026-08-30 03:18:05 +02:00

Merged #884 fix(836): never pass --depth to a checkout that may already be complete 2026-08-30 01:55:30 +02:00

Merged #883 fix(820): derive where Complete<T> is APPLIED, not just what it means 2026-08-30 00:06:39 +02:00

Merged #882 fix(812): classify the narrative sites by who-benefits; keep the detector's reach 2026-08-29 22:28:15 +02:00

Merged #879 fix(823,824): a scheduling NULL collection reads as UNRESTRICTED and is guarded at both read sites; the Elastic indexer gets its own mutation proof 2026-08-29 21:55:55 +02:00

Merged #875 fix(819): derive the SPA page-size guard population from the git index 2026-08-29 11:14:16 +02:00

Merged #874 fix(809,822): isolate the suite from the production hook-fire log by construction 2026-08-29 04:32:27 +02:00

Merged #873 fix(803,664): fence the HEAD alias on the PR timeline's pull_push count 2026-08-29 01:29:48 +02:00

Merged #872 fix(786,789): workflows declare their own per-job metadata; guard populations derive from it 2026-08-28 22:54:54 +02:00

Merged #871 docs(796): verification code is code under test — and the proof it was claiming an exemption from 2026-08-28 22:06:46 +02:00

Merged #868 fix(763): page both /statuses/{sha} reads to a validated terminator 2026-08-28 19:34:49 +02:00

1 Pull request proposed by 1 user

29 Issues closed from 1 user

Closed #876 docs.no-session-narrative reaches hooks and code comments, but nothing has ever swept them — 4 known sites 2026-09-03 21:26:05 +02:00

Closed #893 page_statuses still terminates on its first empty page — is /statuses/{sha} subject to #870's post-pagination filtering? 2026-09-02 22:20:46 +02:00

Closed #869 Finish the 1.25.4-dated CI claim sweep #747 deliberately did not complete 2026-09-02 22:20:45 +02:00

Closed #891 ETV_HOOK_FIRE_LIB is SOURCED from an env-var path in 12 hooks — a decoy tree's code runs inside the gate 2026-08-30 23:41:20 +02:00

Closed #855 Nothing couples ci-image.yml's push.paths to ci-image-pin's expected pathspec 2026-08-30 21:25:24 +02:00

Closed #887 Every image build fails: completeAnnotations.guard.test.ts needs the git index, and the Dockerfile's exclude list is hand-maintained 2026-08-30 18:06:23 +02:00

Closed #900 chore(release): cut and promote v26.15.0 on 736649b3b (main head could not build an image) 2026-08-30 17:29:20 +02:00

Closed #858 pretooluse-merge-consent.sh resolves its verdict classifier from $CLAUDE_PROJECT_DIR — an env var as a security input 2026-08-30 13:33:52 +02:00

Closed #859 Merge-gate branch-protection read: a malformed rule states a cause that did not happen, and the endpoint is now fetched twice 2026-08-30 13:33:51 +02:00

Closed #870 The timeline walk's null terminator is defeatable: Gitea pages BEFORE it filters, so a page of inline-code comments reads as exhaustion 2026-08-30 13:29:39 +02:00

Closed #880 Schedule-item recurrence fields: an omitted array means "never applies" on write but "unrestricted" on read 2026-08-30 11:29:03 +02:00

Closed #849 review-verdict.yml post-write verification: three routes that leave an exemption success over a human failure 2026-08-30 07:55:12 +02:00

Closed #845 post-review-verdict.sh does not check that its own account is on the gate's H10_REVIEWERS allow-list 2026-08-30 04:43:09 +02:00

Closed #886 release.verdict-vocabulary-shared explains the sentinel with a set -u mechanism that measurement refutes 2026-08-30 03:30:53 +02:00

Closed #853 workflow_dispatch still loads attacker YAML from an arbitrary ref — four workflows, no ref restriction 2026-08-30 03:18:05 +02:00

Closed #836 :latest images ship InformationalVersion 0.0.0 — a --depth=2 fetch grafts the build job's full clone shallow 2026-08-30 01:55:30 +02:00

Closed #820 Complete<T> proves its semantics but not its APPLICATION — nothing derives the set of SPA full-replace construction sites 2026-08-30 00:06:40 +02:00

Closed #812 Remediate the 21 session-narrative sites #784's sweep found — 21 judgements, not a regex 2026-08-29 22:28:16 +02:00

Closed #823 Scheduling collection-valued columns: is a runtime null reachable on DaysOfMonth / MonthsOfYear / DaysOfWeek? 2026-08-29 21:55:58 +02:00

Closed #824 ElasticSearchIndex.UpdateSong has no regression test — an Elastic-only reintroduction of the #701 mutation stays CI-green 2026-08-29 21:55:58 +02:00

Closed #819 The SPA page-size guard enumerates web/src with a Vite glob while claiming completeness 2026-08-29 11:14:16 +02:00

Closed #809 The production-hook-fire-log isolation guard is per-test, but its claim is per-suite 2026-08-29 04:32:28 +02:00

Closed #822 test_the_suite_does_not_write_to_the_PRODUCTION_log uses global mutable state as its oracle — any concurrent session reddens it 2026-08-29 04:32:28 +02:00

Closed #664 pr-changed-files.sh head binding cannot see an A→B→A force-push across its paging round-trips 2026-08-29 01:29:49 +02:00

Closed #803 Head-ABA: a force-push H1->H2->H1 during paging defeats pr-changed-files.sh, and three contracts still deny it 2026-08-29 01:29:48 +02:00

Closed #789 Derive the CI toolchain population from workflow-owned metadata, not TOOLCHAIN_JOBS 2026-08-28 22:54:55 +02:00

Closed #786 Extend the machine-checked guard inventory to inline workflow-job guards 2026-08-28 22:54:54 +02:00

Closed #796 A verification harness is itself unproven code — five false greens, each created by the fix for the last 2026-08-28 22:06:46 +02:00

Closed #763 Page both /statuses/{sha} reads in review-verdict.yml — limit clamps to 50, so the post-write race check can miss a raced verdict 2026-08-28 19:34:49 +02:00

15 Issues created by 1 user

Opened #870 The timeline walk's null terminator is defeatable: Gitea pages BEFORE it filters, so a page of inline-code comments reads as exhaustion 2026-08-28 21:06:38 +02:00

Opened #876 docs.no-session-narrative reaches hooks and code comments, but nothing has ever swept them — 4 known sites 2026-08-29 18:54:40 +02:00

Opened #877 Dismissible write failures, shape A2: the error state survives but its render site is gated by the same condition dismissal clears 2026-08-29 19:30:54 +02:00

Opened #880 Schedule-item recurrence fields: an omitted array means "never applies" on write but "unrestricted" on read 2026-08-29 20:21:30 +02:00

Opened #881 Mutation claims in PROSE are outside testing.mutation-claims-are-executed — 4 false ones in #812, each caught by a separate review round 2026-08-29 21:21:06 +02:00

Opened #885 Same-repo pull_request runs get REGISTRY_PASSWORD from head-supplied YAML — the route #853 found under the dispatch class 2026-08-30 01:40:56 +02:00

Opened #886 release.verdict-vocabulary-shared explains the sentinel with a set -u mechanism that measurement refutes 2026-08-30 02:00:22 +02:00

Opened #887 Every image build fails: completeAnnotations.guard.test.ts needs the git index, and the Dockerfile's exclude list is hand-maintained 2026-08-30 02:35:21 +02:00

Opened #891 ETV_HOOK_FIRE_LIB is SOURCED from an env-var path in 12 hooks — a decoy tree's code runs inside the gate 2026-08-30 10:15:52 +02:00

Opened #893 page_statuses still terminates on its first empty page — is /statuses/{sha} subject to #870's post-pagination filtering? 2026-08-30 10:57:49 +02:00

Opened #894 SPA lets a user build an empty recurrence set the server now rejects (#880 residual) 2026-08-30 10:59:44 +02:00

Opened #895 "all N tests stayed green" claims in test comments go stale the moment anyone adds a test — 4 found, no detector 2026-08-30 12:37:34 +02:00

Opened #900 chore(release): cut and promote v26.15.0 on 736649b3b (main head could not build an image) 2026-08-30 17:29:13 +02:00

Opened #901 Convention: for a predicate over shell or config TEXT, pin the artifact whole — "match a shape" is the exception that must argue for itself 2026-08-30 18:44:42 +02:00

Opened #904 test_docs_only_detector_clone_depth.py flakes ~8% in the CI container (measured, pre-existing on main) 2026-08-30 22:58:57 +02:00

4 Unresolved Conversations