@patronage/software-factory 1.0.0-alpha.27 → 1.0.0-alpha.29
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/dist/index.d.ts +169 -44
- package/dist/index.js +406 -44
- package/dist/schemas.d.ts +52 -1
- package/dist/schemas.js +11 -0
- package/package.json +2 -2
package/dist/schemas.d.ts
CHANGED
|
@@ -531,6 +531,33 @@ interface PrVerifyCommandResult {
|
|
|
531
531
|
name: string;
|
|
532
532
|
scope: "docs-only" | "trivial" | "full";
|
|
533
533
|
}
|
|
534
|
+
/**
|
|
535
|
+
* One failing test a verification command reported (#1035).
|
|
536
|
+
*
|
|
537
|
+
* The proof keeps the failing test's IDENTITY and its failure CLASS, and
|
|
538
|
+
* nothing else. That is enough to decide retry-or-fix — a `timeout` under
|
|
539
|
+
* machine load is a flake, an `assertion` is a real break — without rerunning
|
|
540
|
+
* the aggregate to read a title off the console.
|
|
541
|
+
*
|
|
542
|
+
* It deliberately keeps no raw output tail and no error message body. This
|
|
543
|
+
* payload is transmitted to HQ ingest, and arbitrary command output can carry
|
|
544
|
+
* secrets (an echoed environment, a connection string inside a stack frame). A
|
|
545
|
+
* file path, a test title, and a closed `kind` enum cannot. The cost is the
|
|
546
|
+
* assertion diff and the stack frames: they help you FIX a failure, and the
|
|
547
|
+
* operator still reads them from the run's own console output.
|
|
548
|
+
*/
|
|
549
|
+
interface PrVerifyTestFailure {
|
|
550
|
+
/** The test file the reporter named, as the reporter wrote it. */
|
|
551
|
+
file: string;
|
|
552
|
+
/**
|
|
553
|
+
* The failure class. `timeout` is the test-timeout error vitest raises at
|
|
554
|
+
* its own ceiling; `assertion` is a failed expectation; `error` is every
|
|
555
|
+
* other thrown failure.
|
|
556
|
+
*/
|
|
557
|
+
kind: "assertion" | "error" | "timeout";
|
|
558
|
+
/** The full test title, suite names included, as the reporter wrote it. */
|
|
559
|
+
title: string;
|
|
560
|
+
}
|
|
534
561
|
interface PrVerifyExecutedCommand {
|
|
535
562
|
command: string;
|
|
536
563
|
counts?: {
|
|
@@ -539,6 +566,12 @@ interface PrVerifyExecutedCommand {
|
|
|
539
566
|
};
|
|
540
567
|
durationMs: number;
|
|
541
568
|
exitCode: number;
|
|
569
|
+
/**
|
|
570
|
+
* The failing tests this command reported (#1035). Present only when the
|
|
571
|
+
* command produced parseable failures, so a passing command's record is
|
|
572
|
+
* byte-identical to the one it wrote before this field existed.
|
|
573
|
+
*/
|
|
574
|
+
failures?: PrVerifyTestFailure[];
|
|
542
575
|
name: string;
|
|
543
576
|
scope: "docs-only" | "trivial" | "full";
|
|
544
577
|
}
|
|
@@ -640,6 +673,15 @@ declare const prVerifyProofSchema: z.ZodObject<{
|
|
|
640
673
|
}, z.core.$strip>>;
|
|
641
674
|
durationMs: z.ZodNumber;
|
|
642
675
|
exitCode: z.ZodNumber;
|
|
676
|
+
failures: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
677
|
+
file: z.ZodString;
|
|
678
|
+
kind: z.ZodEnum<{
|
|
679
|
+
error: "error";
|
|
680
|
+
assertion: "assertion";
|
|
681
|
+
timeout: "timeout";
|
|
682
|
+
}>;
|
|
683
|
+
title: z.ZodString;
|
|
684
|
+
}, z.core.$strip>>>;
|
|
643
685
|
name: z.ZodString;
|
|
644
686
|
scope: z.ZodEnum<{
|
|
645
687
|
trivial: "trivial";
|
|
@@ -734,6 +776,14 @@ interface PrReadyProof {
|
|
|
734
776
|
headSha: string;
|
|
735
777
|
outcome: "armed" | "merged" | "not-armed";
|
|
736
778
|
};
|
|
779
|
+
/**
|
|
780
|
+
* The authoring session readiness resolved for the review-independence
|
|
781
|
+
* cross-check (#1037). Recorded so the branded check can print it beside the
|
|
782
|
+
* review session, model, and producer the ledger already carries — the four
|
|
783
|
+
* identities a human weighs at merge time. Additive and optional: proofs
|
|
784
|
+
* written before it carry no field, so no schema version moves.
|
|
785
|
+
*/
|
|
786
|
+
authoringSession?: string;
|
|
737
787
|
/**
|
|
738
788
|
* Why this run blocked, one entry per refusing demand (#391): `code` is the
|
|
739
789
|
* demand key from the resolver's vocabulary, `detail` the one-sentence
|
|
@@ -853,8 +903,8 @@ declare const closeoutArtifactSchema: z.ZodObject<{
|
|
|
853
903
|
}, z.core.$strict>;
|
|
854
904
|
unit: z.ZodEnum<{
|
|
855
905
|
boolean: "boolean";
|
|
856
|
-
count: "count";
|
|
857
906
|
text: "text";
|
|
907
|
+
count: "count";
|
|
858
908
|
tokens: "tokens";
|
|
859
909
|
usd: "usd";
|
|
860
910
|
}>;
|
|
@@ -1014,6 +1064,7 @@ declare const prReadyProofSchema: z.ZodObject<{
|
|
|
1014
1064
|
"not-armed": "not-armed";
|
|
1015
1065
|
}>;
|
|
1016
1066
|
}, z.core.$strip>>;
|
|
1067
|
+
authoringSession: z.ZodOptional<z.ZodString>;
|
|
1017
1068
|
blockedReasons: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1018
1069
|
code: z.ZodString;
|
|
1019
1070
|
detail: z.ZodString;
|
package/dist/schemas.js
CHANGED
|
@@ -1171,6 +1171,15 @@ const assertPrVerifyProofRules = (proof, context) => {
|
|
|
1171
1171
|
* factory must adopt this release before HQ ingests its pr:verify proofs.
|
|
1172
1172
|
*/
|
|
1173
1173
|
const SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS = [4];
|
|
1174
|
+
const prVerifyTestFailureSchema = z.object({
|
|
1175
|
+
file: z.string().min(1),
|
|
1176
|
+
kind: z.enum([
|
|
1177
|
+
"assertion",
|
|
1178
|
+
"error",
|
|
1179
|
+
"timeout"
|
|
1180
|
+
]),
|
|
1181
|
+
title: z.string().min(1)
|
|
1182
|
+
});
|
|
1174
1183
|
const executedCommandSchema = z.object({
|
|
1175
1184
|
command: z.string().min(1),
|
|
1176
1185
|
counts: z.object({
|
|
@@ -1179,6 +1188,7 @@ const executedCommandSchema = z.object({
|
|
|
1179
1188
|
}).optional(),
|
|
1180
1189
|
durationMs: z.number().nonnegative(),
|
|
1181
1190
|
exitCode: z.number(),
|
|
1191
|
+
failures: z.array(prVerifyTestFailureSchema).min(1).optional(),
|
|
1182
1192
|
name: z.string().min(1),
|
|
1183
1193
|
scope: z.enum([
|
|
1184
1194
|
"docs-only",
|
|
@@ -1614,6 +1624,7 @@ const prReadyProofSchema = z.object({
|
|
|
1614
1624
|
"not-armed"
|
|
1615
1625
|
])
|
|
1616
1626
|
}).optional(),
|
|
1627
|
+
authoringSession: z.string().min(1).optional(),
|
|
1617
1628
|
blockedReasons: blockedReasonsSchema.optional(),
|
|
1618
1629
|
blockingReasons: z.array(z.string()),
|
|
1619
1630
|
command: z.literal("patronage-factory pr:ready"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patronage/software-factory",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.29",
|
|
4
4
|
"description": "Shared Patronage software factory CLI and project-profile validation tools",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"picomatch": "^4.0.5",
|
|
38
38
|
"yaml": "^2.9.0",
|
|
39
39
|
"zod": "4.4.3",
|
|
40
|
-
"@patronage/factory-ci": "1.0.0-alpha.
|
|
40
|
+
"@patronage/factory-ci": "1.0.0-alpha.29"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "24.13.3",
|