chore: release main - #4833
Conversation
FOUNDER RULING — this PR stays open and accumulates. DO NOT MERGE. (2026-08-03, engineering-manager)Recording the ruling on the PR itself so any lane, shipper, engine or future session that reads this PR sees it here rather than needing session context. Do not merge this PR. More fabrika work is still to land; the standing Release PR is left to grow, and the first release is cut when the founder says so. That decision is tracked on #4804 ( This is designed behaviour, not a queue backing upVerified against the committed config:
The consequence that matters for anyone reading this PRThe versions currently proposed are NOT the versions that will ship. Right now it proposes Do not quote these numbers from an earlier read. Re-read them at merge time. Two hazards that bind at cut time, not now
What is already proven good about this PRIt created per-package npm versions are immutable, which is why nothing here is merged on an agent's judgment. |
CORRECTION to my ruling comment above — the Trusted Publisher dispute is SETTLED, and I was wrong (2026-08-03, engineering-manager)My comment above records the The evidence, which was on the board the whole time — issue #4800, comment at
#4800 is What this changes
Where the error came from, since it propagatedA review gate inferred the registration was absent — reasoning that Trusted Publisher binds per package to (repo, workflow filename) and fabrika was newly published. It could not read npmjs.com, because Trusted Publisher status is not exposed by the npm CLI ( The standing constraint that still binds: the environment field is empty deliberately. If a future change adds an Unchanged: do not merge this PR. The founder ruling above stands — it accumulates until the first cut is called on #4804. |
SECOND CORRECTION — "expect two green runs" was an over-correction. REGISTERED IS NOT EXERCISED. (2026-08-03, engineering-manager)My correction above swung too far. It said "Both publish runs should succeed" — asserting an outcome nobody has observed. Amending again rather than rewriting; the two comments above stand as the record. The precise state, verified from
|
| Package | Trusted Publisher | Evidence |
|---|---|---|
@kampus/pipeline-cli |
registered and PROVEN BY EXERCISE | two successful OIDC runs + attestations on the artifact |
@kampus/fabrika-cli |
registered but NEVER EXERCISED | npm's confirmation message on #4800; no run has used it |
The first fabrika release will be the first time that registration is actually used. Its success is expected, not observed.
Why the distinction is worth the words
A registration is a configuration claim; an attestation is an observed result. Every error on this thread has been one mistaken for the other — first a gate inferring the registration was absent, then me asserting it would 403, then me asserting both runs would be green. Three claims about an outcome, none of them observed.
Not alarming, and here is the honest risk shape: the failure mode is fail-closed. A 403 publishes nothing, so no version number is burned, and re-running the workflow after fixing the registration recovers cleanly. The immutability hazard does not apply to a failed publish.
Standing hazard, unchanged and still real
The environment field is empty deliberately, because .github/workflows/publish.yml declares no environment: key. If a future change adds one, the registration must be edited in the same change or publishing silently breaks with a 403 that looks like nothing is wrong.
Unchanged: do not merge this PR. The founder ruling stands; it accumulates until the cut is called on #4804.
2a4792d to
2f21ed8
Compare
5396465 to
6182db6
Compare
…-path pattern doc (#4805) Cutting a release stopped being knowledge held in an issue thread. Two surfaces, each with its own job per the repo doc contract: - `DEVELOPMENT.md` gains a `## Releasing` section for a builder who has never cut one: what derives a version (path routing, not commit scope), what the standing Release PR is, what to check before merging it, what the merge does (tags → publish.yml → registry), and how to read a red publish run. - `.patterns/release-path.md` records the shape of the path and each constraint a future change must not break, with its enforcement site or ruling — and says so plainly where a constraint has no live ADR home. - `.patterns/index.md` lists the new doc under CI / pipeline. Both point at ADR 0239 for the reasoning rather than restating it. Grounded against the landed artifacts (release-please.yml, publish.yml, the config and manifest, PR #4833), not against the epic's prose. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
dbc89c4 to
f5113de
Compare
5945374 to
e4c0648
Compare
🤖 I have created a release beep boop
pipeline-cli: 0.3.0
0.3.0 (2026-08-13)
Features
Bug Fixes
stop(#5072) (#5091) (b757a65)fabrika-cli: 0.2.0
0.2.0 (2026-08-13)
Features
fabrika spend read— the token meter gets a CLI surface (#5007) (#5044) (9cce5d4)revieweval stage, discriminated and graded per surface (#4979) (#5045) (39f108b)shipverb group — thirteen verbs the merge path stands on (#5029) (#5064) (eff3464)wireverb group + the acceptance-criteria schema module (#4942) (#4953) (03135b9)buildverbs the /build contract specifies (#4988) (#5047) (61d8b60)wonrequires positive proof (#4831) (#4871) (cc1ad85)glossaryverbs and register the group (#5322) (#5357) (4a22a1b)planverbs the check-epic-plan contract specifies (#5107) (#5134) (b6334b0)Bug Fixes
review deviationsandreview postto the commit they name (#5142) (4ddae22)review scopeandreview diffout of the commit they name (#5117) (#5123) (b545ea0)Reverts
This PR was generated with Release Please. See documentation.