@patronage/software-factory 0.25.0 → 0.30.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CONTEXT.md CHANGED
@@ -8,7 +8,7 @@ The shared Patronage software factory: typed lifecycle state, proof gates, and o
8
8
 
9
9
  ### Proof reuse
10
10
 
11
- **Proof gate**: A command that emits a typed proof — the self-timed set is `pr:verify`, `pr:review`, `pr:ready`, `pr:merge-check`, `boundary:check`, and `factory:closeout`; one execution is a **gate run**. Typed proof files are the source of readiness truth; prose never substitutes.
11
+ **Proof gate**: A command that emits a typed proof — the self-timed set is `pr:verify`, `pr:review`, `pr:ready`, `boundary:check`, and `factory:closeout`; one execution is a **gate run**. Typed proof files are the source of readiness truth; prose never substitutes.
12
12
 
13
13
  **Proof-reuse gate**: The decision that consumes trusted verification proof and determines whether hosted CI may skip work already performed. Refusing reuse runs the hosted suite; it does not fail the candidate. Defined by ADR 0022. _Avoid_: proof gate (that produces readiness proof rather than reusing it).
14
14
 
package/README.md CHANGED
@@ -30,18 +30,18 @@ This is the release checklist. It lives here and nowhere else; the repository ru
30
30
 
31
31
  Releases are attended and hand-cut. Nothing in the factory publishes, tags, or releases on its own, and no step below may be automated as a drive-by.
32
32
 
33
- 1. Bump `package.json`. Its version is the release version every other fact must agree with.
34
- 2. Publish to npm per the [repository operations runbook](../docs/repository-operations.md#publishing) (attended, hand-cut, `pnpm publish` only).
33
+ 1. Bump `package.json` to valid SemVer. The assertion derives its expected stable or prerelease channel from the version; it accepts no channel flag.
34
+ 2. Publish to npm per the [repository operations runbook](../docs/repository-operations.md#publishing) (attended, hand-cut, `pnpm publish` only). A stable version uses `pnpm --filter @patronage/software-factory publish`, which assigns npm `latest`. A prerelease must use `pnpm --filter @patronage/software-factory publish --tag next`; bare `pnpm publish` defaults to `latest` and would move it before the post-hoc assertion can reject the release.
35
35
  3. Cut the `software-factory-vX.Y.Z` tag and push it.
36
- 4. Cut the GitHub release for that tag, with notes covering features, deletions, breaking changes, and closed issues. When the release changes the profile `schemaVersion`, state it in the notes — the profile schema version is a separate axis from the package version.
37
- 5. Update affected `software-factory-docs/` pages so the docs state the version they now describe. A release whose docs still describe the previous doctrine is not complete.
36
+ 4. Cut the GitHub release for that tag, with notes covering features, deletions, breaking changes, and closed issues. Mark it as a prerelease exactly when its SemVer version has a prerelease component. When the release changes the profile `schemaVersion`, state it in the notes — the profile schema version is a separate axis from the package version.
37
+ 5. Update affected `software-factory-docs/` pages. Stable docs must state the current stable version. Prerelease docs may record the candidate and its migration notes, but must not represent it as the current stable release.
38
38
  6. Confirm the five facts converge:
39
39
 
40
40
  ```bash
41
41
  pnpm --filter @patronage/software-factory exec tsx scripts/assert-publish-manifest.ts --release .
42
42
  ```
43
43
 
44
- It reads what you just did manifest version, registry versions, git tags, the published GitHub release, and the docs version statements and throws naming the first fact that disagrees. It publishes nothing. Step 6 is the only step a machine performs, and it performs it after you.
44
+ It reads what you just did and derives the channel from the manifest version. A stable release must converge exactly among manifest, npm `latest`, non-prerelease GitHub release, tag, and stable docs. A prerelease must exist on npm, own npm `next`, leave npm `latest` at the stable docs version, and have its prerelease GitHub release and tag. It publishes nothing. Step 6 is the only step a machine performs, and it performs it after you.
45
45
 
46
46
  ## Use it in a project
47
47