Commit graph

176 commits

Author SHA1 Message Date
claude-bot-andresmgsl
89de86c460 chore: retrigger checks — queued reconcile duplicate was cancelled (#139 shape)
48a3052's only labels/reconcile entry is a queue-evicted CANCELLED (its
scope sibling in the same run passed); an all-cancelled group keeps
blocking by design under #139's rule, so only a fresh run on this head
can clear the manufactured red. No verdict binds 48a3052 yet, so this
head move stales nothing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 13:20:22 +00:00
claude-bot-andresmgsl
48a3052934 docs: CONSUMERS release-state notes say 0.2.0 shipped the issues: block (#137 D6)
The three sites called ceremony#32 machinery unreleased after 0.2.0
(tagged 2026-07-24) became the first tag carrying it: the in-stub comment
above the issues: block, the issues: adoption paragraph, and the
triage-actors= paragraph. All three now state availability at 0.2.0 and
later; the 0.1.0-omission guidance and the parse-failure sentence stay —
still true. No type list moves (the caller/stub issues: subset drift is
#144, not this PR).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 13:13:31 +00:00
claude-bot-andresmgsl
c0e796b6c9 fix: review_requested wakes the sweep — blocker:unrequested clears when the ask lands
The reconciler's rule was right and blind: the caller never listened on
review_requested/review_request_removed, so the one event that falsifies
(or restores) blocker:unrequested could not clear it, and a quiet repo
wore the red flag until the advisory cron (#137's timeline: 93 seconds,
cleared only by an unrelated PR's push).

- self-labels.yml + the CONSUMERS.md stub gain both types; the scope job
  skips them (no paths change; running labeler there widens #130's window)
- test/labels.test.sh: caller/stub parity row with mutation cases —
  dropped type either side, one-sided reorder, all red
- CONSUMERS.md no longer claims trigger adoption is a bare pin bump; the
  pending stub edit is named and rides the first tag carrying ceremony#137

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 12:50:09 +00:00
github-actions[bot]
ae6b509772 chore: bump main to 0.2.1-dev — a dev install must not impersonate 0.2.0 2026-07-24 12:36:19 +00:00
Daniel Marin
94e019b3fc
Merge pull request #128 from codex-bot-andresmgsl/build/118-release-0-2-0
release: 0.2.0
2026-07-24 13:36:07 +01:00
codex-bot-andresmgsl
a02a538298 docs: record archived drill repository 2026-07-24 12:16:31 +00:00
codex-bot-andresmgsl
c6efd379f0 docs: make the release drill fork shape permanent 2026-07-24 11:51:55 +00:00
codex-bot-andresmgsl
2aeace5356 release: record the 0.2.0 live drill 2026-07-24 11:39:25 +00:00
codex-bot-andresmgsl
b632c19e97 release: assemble 0.2.0 2026-07-24 11:21:26 +00:00
Daniel Marin
a602fd0a70
Merge pull request #125 from claude-bot-andresmgsl/build/117-changelog-d-flip
ceremony adopts changelog.d — the flag flip
2026-07-24 12:18:23 +01:00
claude-bot-andresmgsl
ae45cbd894 docs: split the two assembled-failure shapes in README
The changelog-armed 'Red means' list credited armed with catching a
release that publishes fewer entries than its consumed fragments — armed
cannot see consumed fragments; that is changelog-assembled's merge-base
replay. And the assembled narrative still said a fragment dropped from
the deletion leaves armed green; the trio rows record the opposite: a
surviving fragment reds armed too ('not consumed'), and assembled stands
alone only on the consumed-but-omitted and hand-edited shapes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 11:11:23 +00:00
claude-bot-andresmgsl
1e18e7fbe1 test: exercise release fixtures fragment-shaped; record the #115/#116 trio interaction
release-exercise.yml's fixture arms with changelog.d/ and stamps through
the real assembler (#112 D12). The assembled suite's trio row expected
changelog-armed green on the dropped-entry tree — true when #116 was
written, false since #115's fragment mode landed after it (main is red at
736733e on exactly this row); the row now asserts the interaction as it
stands, and the hand-edited tree carries the only-red claim.
2026-07-24 11:11:23 +00:00
claude-bot-andresmgsl
566712c690 docs: CONSUMERS and drills describe fragment-mode adoption
Bootstrap arms with a preamble plus changelog.d/, the guard list gains
changelog-assembled, the conversion checklist gains the fragment
conversion, the changelog rule is fragment-first with the legacy floor
kept for unconverted pins, and the assembly command block gives a reader
everything needed to produce a section (#112 D12, #117).
2026-07-24 11:11:23 +00:00
claude-bot-andresmgsl
a3e59241b5 docs: builder surfaces write fragments, never CHANGELOG.md
CONTRIBUTING's flow item, BUILDER.md's entry rule, and the PR template
checklist all point at changelog.d/<issue>.md; the insert-above warning
retires with its anchor while the monotonic guard keeps the case (#117).
2026-07-24 11:11:23 +00:00
claude-bot-andresmgsl
c6e9afee87 docs: README describes the assembled stamp and the four guards
Stamp 2 is one assembler-produced edit; changelog-armed's rule is stated
mode-first (fragment, then legacy, #112 D7/D8/D9); changelog-assembled
gets its operator section (#116); monotonic records D10; the two rewritten
error strings and the retired re-arm recovery follow (#117).
2026-07-24 11:11:23 +00:00
claude-bot-andresmgsl
819dc7d992 feat: convert Unreleased entries to changelog.d fragments
The flip's mechanical half (#117): the 26 entries under '## Unreleased'
move verbatim to changelog.d/<issue>.md, the heading is deleted, the
directory gains its marker README (#112 D1) and this PR's own fragment
(112.md), CHANGELOG.md's preamble describes fragments, and labeler.yml
maps changelog.d/** into scope:release-flow.
2026-07-24 11:11:23 +00:00
Daniel Marin
d84d8a5d31
Merge pull request #127 from codex-bot-andresmgsl/build/126-changelog-assembled-trio
test: correct changelog guard trio interaction
2026-07-24 12:05:58 +01:00
codex-bot-andresmgsl
e37c2dfeef test: correct changelog guard trio interaction 2026-07-24 10:36:30 +00:00
Daniel Marin
736733ebf8
Merge pull request #123 from codex-bot-andresmgsl/build/115-changelog-armed-fragment-mode
feat: arm changelogs in fragment mode
2026-07-24 11:11:40 +01:00
Daniel Marin
fc070ea896
Merge branch 'main' into build/115-changelog-armed-fragment-mode 2026-07-24 11:11:03 +01:00
Daniel Marin
beeac27db8
Merge pull request #119 from codex-bot-andresmgsl/build/113-directed-hold-park
docs: define directed-hold parked claims
2026-07-24 11:08:06 +01:00
Daniel Marin
531b8af54c
Merge pull request #124 from claude-bot-andresmgsl/build/116-changelog-assembled
actions/changelog-assembled — the release PR's section must be exactly the fragments it consumed
2026-07-24 11:07:43 +01:00
Daniel Marin
d1b1079feb
Merge pull request #107 from codex-bot-andresmgsl/build/105-missing-core-label-warning
feat: warn when core taxonomy labels are missing
2026-07-24 11:07:14 +01:00
Daniel Marin
be67b48ee9
Merge pull request #108 from claude-bot-andresmgsl/build/104-scope-table-delete
LABELS.md: delete the scope table — the per-repo set lives in labels.conf and the repo's CONTRIBUTING
2026-07-24 10:48:32 +01:00
claude-bot-andresmgsl
185fc39b96 ci: self-guards runs changelog-assembled; changelog entry 2026-07-24 09:31:49 +00:00
claude-bot-andresmgsl
c33567686b test: drive changelog-assembled against constructed histories 2026-07-24 09:30:58 +00:00
claude-bot-andresmgsl
499783e241 feat: changelog-assembled — the release section must be exactly the fragments it consumed 2026-07-24 09:29:07 +00:00
codex-bot-andresmgsl
22f1a0246f docs: explain core taxonomy bootstrap maintenance 2026-07-24 09:24:40 +00:00
codex-bot-andresmgsl
f95692091f docs: record directed-hold doctrine 2026-07-24 09:23:12 +00:00
codex-bot-andresmgsl
17e888a6b1 docs: define directed-hold parked claims 2026-07-24 09:23:01 +00:00
codex-bot-andresmgsl
edbf30867e feat: warn when core taxonomy labels are missing 2026-07-24 09:22:41 +00:00
codex-bot-andresmgsl
fffc95633e test: pin missing core label warning contract 2026-07-24 09:22:41 +00:00
codex-bot-andresmgsl
439b5cf8a5 docs: record fragment arming guard 2026-07-24 09:21:24 +00:00
codex-bot-andresmgsl
21492ffeb9 feat: arm changelogs in fragment mode 2026-07-24 09:20:27 +00:00
codex-bot-andresmgsl
386ce67bd1 test: specify changelog-armed fragment mode 2026-07-24 09:19:18 +00:00
Daniel Marin
6ec9aa24fa
Merge pull request #120 from claude-bot-andresmgsl/build/114-changelog-assemble
lib/changelog.sh + bin/changelog-assemble — read the fragments, assemble one section, consume them
2026-07-24 10:10:28 +01:00
claude-bot-andresmgsl
9d1eb81037 test: guard LABELS.md against any concrete scope name
The regression row grepped only the four current ceremony names, so a
future enumeration under new names stayed green. Widen the pattern to
scope:[a-z0-9] — any concrete label name, in any shape, re-reds the row,
while doctrine's bare `scope:` and wildcard scope:* stay allowed (#104).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:32:53 +00:00
claude-bot-andresmgsl
ee0aab1c69 docs: delete LABELS.md's scope table — the per-repo set lives in labels.conf and CONTRIBUTING
The mirror is byte-identical in every governed repo, so the four-row
enumeration was true at home and false in rig, box, cast and incubator —
14 of 16 vendored rows lied. The section keeps its doctrine and points at
the two places true wherever the reader stands; ceremony's own set is now
a pointer sentence in CONTRIBUTING, and a labels.test.sh row (red on main,
4 hits) keeps enumeration from returning.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:32:53 +00:00
claude-bot-andresmgsl
4c0ecf10d8 test: lib fragment trio and the changelog-assemble CLI; changelog entry
test/changelog.test.sh drives changelog_fragments (order, marker, absent
dir), changelog_fragment_problem (every rule, file named each time), and
changelog_assemble (both shapes, canonical order, mixed-shape refusals).
test/changelog-assemble.test.sh drives the CLI against constructed trees:
exact-byte writes, provably read-only --check, every refusal from the
spec, the publisher/assembler round trip, and idempotence.

Closes #114.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:28:15 +00:00
claude-bot-andresmgsl
fffff75b80 feat: fragment reader, well-formedness predicate, assembler, and bin/changelog-assemble
lib/changelog.sh gains changelog_fragments (publication order: trailing
issue number descending, filename tie-break), changelog_fragment_problem
(the release-time rules moved onto the PR that writes the fragment, #112
D9), and changelog_assemble (canonical group order per D5, one shape per
repo per D4). bin/changelog-assemble folds changelog.d/ into one release
section, deletes exactly what it consumed, and --check proves the body
without touching the tree.

Part of #112. Closes #114 groundwork; tests follow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:25:44 +00:00
Daniel Marin
d4e133bc1f
Merge pull request #106 from claude-bot-andresmgsl/build/101-degraded-read-reason
labels-reconcile: report why the degraded read degraded; blind-sweep warning stops asserting an unobserved cause
2026-07-24 09:24:00 +01:00
claude-bot-andresmgsl
09d2ea764f test: pin the two-line degrade, the bounded reason, and the demoted diagnosis
The unit block now feeds blind_sweep_warning a sampled reason and asserts
the new lead plus two must-fail guards: the disproven 'grant checks: read
and statuses: read' diagnosis stated as fact goes red, and so does any
drift in the counted line's whole-line shape (exactly the blind PRs match,
no more, no less — a reason line that matched would double-count, a folded
reason would undercount). read_failure_reason is covered pure: D4 wording
for empty stderr, multi-line collapse to one line, 400 chars truncated to
300 plus ellipsis within the 304-byte bound, 300 passing through whole.
blind_main_probe's gh pr view stub now fails with a denial on stderr, the
way real gh fails.

Part of #101.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 07:34:46 +00:00
claude-bot-andresmgsl
fbfe7dd1c1 feat: report why the degraded read degraded
The reconciler's mergeability/checks read kept its correct degrade but
threw the reason away: 2>/dev/null dropped gh's stderr, leaving a
permanent denial and a network hiccup byte-identical in the log (#95 had
to infer a cause from a control case, and the inference did not survive
incubator#48/#49). Capture stderr into a variable via a temp file (D2),
emit it as its own '#N: read failed: …' line beside the byte-identical
counted line (D1), collapsed and bounded by a pure helper (D3/D4), and
lead blind_sweep_warning with the sampled observed reason, demoting the
permissions hint from stated cause to named candidate (D5).

Part of #101 groundwork; tests and changelog follow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 07:34:33 +00:00
Daniel Marin
2f58d9bf54
Merge pull request #110 from claude-bot-andresmgsl/build/109-fourth-parked-shape
BUILDER.md: the handed-off PR is the fourth parked shape; the handoff is its declaration
2026-07-24 08:31:13 +01:00
claude-bot-andresmgsl
2422604f50 docs: park the handed-off claim as the fourth shape
The slot rule counted work in flight but had no shape for its most common
wait: the round passed, state:needs-human set, the human's merge pending.
Shape 4 names it, the handoff round summary is its declaration, and shape
2 now covers the round awaiting its first verdicts so the live and passed
rounds are sequential and non-overlapping (#109).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 07:01:07 +00:00
Daniel Marin
ad04eaf990
Merge pull request #99 from codex-bot-andresmgsl/build/98-publishable-changelog-sections
feat: validate publishable changelog sections
2026-07-24 07:59:02 +01:00
codex-bot-andresmgsl
ce27861821 test: cover absent Unreleased section 2026-07-24 00:26:48 +00:00
codex-bot-andresmgsl
8ad68192e9 docs: seed grouped changelog re-arms 2026-07-23 23:45:04 +00:00
codex-bot-andresmgsl
69410723bd fix: reject entry-less release notes 2026-07-23 23:44:51 +00:00
codex-bot-andresmgsl
0e489438de feat: enforce publishable changelog entries 2026-07-23 23:44:51 +00:00