@patronage/software-factory 1.0.0-alpha.30 → 1.0.0-alpha.31

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/README.md CHANGED
@@ -8,7 +8,7 @@ Admission is fail closed. A clean-session review and required verification produ
8
8
 
9
9
  ## Develop the package
10
10
 
11
- This section and the two below describe the source repository; the paths they mention are not part of the installed npm package. The package lives in the repository pnpm workspace and requires Node 24. From the repository root:
11
+ This section and the two below describe the source repository; the paths they mention are not part of the installed npm package. The package lives in the repository pnpm workspace and requires Node 24.20.0 from `.nvmrc`. Published `engines.node` remains `^24.0.0`. From the repository root:
12
12
 
13
13
  ```bash
14
14
  bash scripts/bootstrap-worktree.sh .
@@ -24,7 +24,7 @@ The package publishes to public npm as `@patronage/software-factory` under MIT.
24
24
 
25
25
  Internal architectural packages live under `src/packages/`. Read the package root's `README.md` before editing one. Import only entry points explicitly declared by `dependency-cruiser.config.mjs`; package implementation and fixtures are private. See ADR 0007 (`docs/adr/0007-factory-internal-deep-packages-enforce-module-seams.md` in the source repository).
26
26
 
27
- A public export leaves this package only with a named supported-consumer account, under the criteria in that ADR's 2026-09-04 amendment. `api:check` reports declaration drift, and it passes a breaking removal through whenever the version opens a break window, so it is a notice rather than the control. The control is that amendment plus `src/public-consumer-surface.test.ts`, which names every export the audited consumers import and fails when one goes. The amendment also lists the retained surface — the exports that stay without a current importer and the reason each group stays.
27
+ A public export leaves this package only with the supported-consumer, migration and release account in [ADR 0007](https://github.com/patronage/software-factory/blob/main/software-factory/docs/adr/0007-factory-internal-deep-packages-enforce-module-seams.md#public-export-removals). `api:check` reports declaration drift; an open version break window is not removal approval. `src/public-consumer-surface.test.ts` protects the known consumed exports, while a fresh consumer audit and per-export rationale remain review obligations.
28
28
 
29
29
  ## Releases
30
30
 
package/dist/index.d.ts CHANGED
@@ -869,7 +869,7 @@ interface CheckoutRepository {
869
869
  //#endregion
870
870
  //#region src/profile.d.ts
871
871
  declare const DEFAULT_FACTORY_REPOSITORY = "unknown/unknown";
872
- /** The one profile shape this build accepts (ADR 0023, #318, #351, #742). */
872
+ /** The one profile shape this build accepts (ADR 0021, #318, #351, #742). */
873
873
  declare const PROFILE_SCHEMA_VERSION = 6;
874
874
  declare const factoryProjectProfileSchema: z.ZodObject<{
875
875
  $schema: z.ZodOptional<z.ZodString>;
@@ -1309,8 +1309,8 @@ declare const mergeFreezeStateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1309
1309
  generationId: z.ZodNumber;
1310
1310
  headSha: z.ZodString;
1311
1311
  outcome: z.ZodEnum<{
1312
- stale: "stale";
1313
1312
  active: "active";
1313
+ stale: "stale";
1314
1314
  }>;
1315
1315
  reason: z.ZodString;
1316
1316
  recordedAt: z.ZodISODateTime;
@@ -1328,7 +1328,7 @@ declare const mergeFreezeStateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1328
1328
  type MergeFreezeState = z.infer<typeof mergeFreezeStateSchema>;
1329
1329
  /**
1330
1330
  * The write side of this contract lives in the generated merge-target push
1331
- * Verify workflow (#356, ADR 0016 as amended; #429): it is the ONLY producer of
1331
+ * Verify workflow (#356, ADR 0016; #429): it is the ONLY producer of
1332
1332
  * `patronage-factory/merge-freeze` generations. Its emitted `output.text`
1333
1333
  * payload must parse under this exact reader schema, which is what the
1334
1334
  * workflow's own tests assert through this export.
@@ -1558,9 +1558,9 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
1558
1558
  reviewedPatchId: z.ZodOptional<z.ZodString>;
1559
1559
  status: z.ZodEnum<{
1560
1560
  "not-required": "not-required";
1561
+ stale: "stale";
1561
1562
  blocked: "blocked";
1562
1563
  current: "current";
1563
- stale: "stale";
1564
1564
  missing: "missing";
1565
1565
  }>;
1566
1566
  }, z.core.$strip>;
@@ -1570,9 +1570,9 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
1570
1570
  reviewedPatchId: z.ZodOptional<z.ZodString>;
1571
1571
  status: z.ZodEnum<{
1572
1572
  "not-required": "not-required";
1573
+ stale: "stale";
1573
1574
  blocked: "blocked";
1574
1575
  current: "current";
1575
- stale: "stale";
1576
1576
  missing: "missing";
1577
1577
  }>;
1578
1578
  }, z.core.$strip>>;
@@ -1625,7 +1625,7 @@ declare const isFactoryReadyCheck: (check: StatusCheckRollup) => boolean;
1625
1625
  * The hosted verification gate's context name — the branch ruleset's other
1626
1626
  * source-pinned required check, alongside `patronage-factory/pr-ready`. One
1627
1627
  * name across the fleet because one generator emits the workflow that posts
1628
- * it (ADR 0016, 2026-07-31 amendment).
1628
+ * it (ADR 0016).
1629
1629
  */
1630
1630
  declare const HOSTED_VERIFY_CHECK_NAME = "verify";
1631
1631
  /**
@@ -2681,9 +2681,9 @@ declare const loadEvidenceEnvelopes: (cwd: string) => LoadedEvidenceEnvelope[];
2681
2681
  declare const REVIEW_STATUS_VALUES: readonly ["not-required", "current", "stale", "missing", "blocked"];
2682
2682
  declare const reviewStatusSchema: z.ZodEnum<{
2683
2683
  "not-required": "not-required";
2684
+ stale: "stale";
2684
2685
  blocked: "blocked";
2685
2686
  current: "current";
2686
- stale: "stale";
2687
2687
  missing: "missing";
2688
2688
  }>;
2689
2689
  type ReviewStatus = z.infer<typeof reviewStatusSchema>;
@@ -4510,13 +4510,13 @@ declare const evaluateReadiness: (input: EvaluationInput) => {
4510
4510
  reviews: {
4511
4511
  correctness: {
4512
4512
  required: boolean;
4513
- status: "not-required" | "blocked" | "current" | "stale" | "missing";
4513
+ status: "not-required" | "stale" | "blocked" | "current" | "missing";
4514
4514
  reviewedHeadSha?: string | undefined;
4515
4515
  reviewedPatchId?: string | undefined;
4516
4516
  };
4517
4517
  security?: {
4518
4518
  required: boolean;
4519
- status: "not-required" | "blocked" | "current" | "stale" | "missing";
4519
+ status: "not-required" | "stale" | "blocked" | "current" | "missing";
4520
4520
  reviewedHeadSha?: string | undefined;
4521
4521
  reviewedPatchId?: string | undefined;
4522
4522
  } | undefined;
@@ -4664,7 +4664,7 @@ interface CloudflareAccessServiceToken {
4664
4664
  declare const EPIC_STRUCTURE_SCHEMA_VERSION = 1;
4665
4665
  /**
4666
4666
  * DAG-node PLANNING statuses — the planning-plane vocabulary a planner authors
4667
- * on a `dag.yml` node. Carried forward by ADR 0018 §4 and defined by the epic
4667
+ * on a `dag.yml` node. Carried forward by ADR 0018 and defined by the epic
4668
4668
  * skill (`reference/epic-artifacts.md`) and both `CONTEXT.md` glossaries.
4669
4669
  *
4670
4670
  * A DAG node is a unit of *plan*; an HQ lane is a unit of *runtime execution*.