@patronage/software-factory 1.0.0-alpha.13 → 1.0.0-alpha.16

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/schemas.d.ts CHANGED
@@ -113,6 +113,32 @@ interface FollowUpAction {
113
113
  declare const DIFF_CLASSIFICATIONS: readonly ["docs/process-only", "trivial", "non-trivial"];
114
114
  type DiffClassification = (typeof DIFF_CLASSIFICATIONS)[number];
115
115
  //#endregion
116
+ //#region src/impact-stamp.d.ts
117
+ /**
118
+ * The recorded stamp. `targets` satisfies the completeness invariant: every
119
+ * target the profile declares is present, each with its exact basis — never
120
+ * silently absent. `basis: "conservative"` means an unmodelled or unprovable
121
+ * input widened every target to full impact.
122
+ */
123
+ declare const impactStampSchema: z.ZodObject<{
124
+ basis: z.ZodEnum<{
125
+ "target-scoped": "target-scoped";
126
+ conservative: "conservative";
127
+ }>;
128
+ reasons: z.ZodArray<z.ZodString>;
129
+ stampVersion: z.ZodLiteral<3>;
130
+ targets: z.ZodArray<z.ZodObject<{
131
+ basis: z.ZodString;
132
+ impact: z.ZodEnum<{
133
+ affected: "affected";
134
+ "not-affected": "not-affected";
135
+ }>;
136
+ name: z.ZodString;
137
+ }, z.core.$strip>>;
138
+ unsubscribedPaths: z.ZodArray<z.ZodString>;
139
+ }, z.core.$strip>;
140
+ type ImpactStamp = z.infer<typeof impactStampSchema>;
141
+ //#endregion
116
142
  //#region src/pr-verify-mode.d.ts
117
143
  /**
118
144
  * The verification mode `pr:verify` resolved for a run.
@@ -484,32 +510,6 @@ interface PrReadyProof {
484
510
  waivedDemands?: WaivedDemand[];
485
511
  }
486
512
  //#endregion
487
- //#region src/impact-stamp.d.ts
488
- /**
489
- * The recorded stamp. `targets` satisfies the completeness invariant: every
490
- * target the profile declares is present, each with its exact basis — never
491
- * silently absent. `basis: "conservative"` means an unmodelled or unprovable
492
- * input widened every target to full impact.
493
- */
494
- declare const impactStampSchema: z.ZodObject<{
495
- basis: z.ZodEnum<{
496
- "target-scoped": "target-scoped";
497
- conservative: "conservative";
498
- }>;
499
- reasons: z.ZodArray<z.ZodString>;
500
- stampVersion: z.ZodLiteral<3>;
501
- targets: z.ZodArray<z.ZodObject<{
502
- basis: z.ZodString;
503
- impact: z.ZodEnum<{
504
- affected: "affected";
505
- "not-affected": "not-affected";
506
- }>;
507
- name: z.ZodString;
508
- }, z.core.$strip>>;
509
- unsubscribedPaths: z.ZodArray<z.ZodString>;
510
- }, z.core.$strip>;
511
- type ImpactStamp = z.infer<typeof impactStampSchema>;
512
- //#endregion
513
513
  //#region src/pr-readiness/external-evidence.d.ts
514
514
  declare const evidenceEnvelopeBaseSchema: z.ZodObject<{
515
515
  check: z.ZodString;
@@ -540,9 +540,9 @@ declare const evidenceEnvelopeBaseSchema: z.ZodObject<{
540
540
  }, z.core.$loose>;
541
541
  type EvidenceEnvelope = z.infer<typeof evidenceEnvelopeBaseSchema>;
542
542
  //#endregion
543
- //#region src/pr-readiness/verification-proof.d.ts
544
- declare const SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS$1: readonly [1, 2, 3, 4];
545
- type PrVerifySchemaVersion = (typeof SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS$1)[number];
543
+ //#region src/pr-verify-proof-contract.d.ts
544
+ declare const SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS: readonly [1, 2, 3, 4];
545
+ type PrVerifySchemaVersion = (typeof SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS)[number];
546
546
  interface PrVerifyCommandResult {
547
547
  command: string;
548
548
  description: string;
@@ -616,713 +616,6 @@ interface PrVerifyProof {
616
616
  startedAt: string;
617
617
  verificationCommands: PrVerifyCommandResult[];
618
618
  }
619
- //#endregion
620
- //#region src/closeout-artifact.d.ts
621
- /** Current writer plus retained reader versions accepted at ingest. */
622
- declare const SUPPORTED_CLOSEOUT_SCHEMA_VERSIONS: readonly [3, 4];
623
- /** Strict, bounded runtime transport contract emitted by factory:closeout. */
624
- declare const closeoutArtifactSchema: z.ZodObject<{
625
- boundaryThermo: z.ZodObject<{
626
- owner: z.ZodString;
627
- runs: z.ZodNumber;
628
- waived: z.ZodBoolean;
629
- waiverRationale: z.ZodOptional<z.ZodString>;
630
- }, z.core.$strict>;
631
- budget: z.ZodObject<{
632
- note: z.ZodString;
633
- tier: z.ZodLiteral<"overseer">;
634
- }, z.core.$strict> | z.ZodObject<{
635
- interiorSourcesConsumed: z.ZodNumber;
636
- note: z.ZodString;
637
- scoping: z.ZodOptional<z.ZodObject<{
638
- epic: z.ZodString;
639
- issueFilter: z.ZodOptional<z.ZodNumber>;
640
- prFilter: z.ZodOptional<z.ZodNumber>;
641
- repo: z.ZodString;
642
- scopedByEpicIssueSet: z.ZodBoolean;
643
- window: z.ZodObject<{
644
- from: z.ZodString;
645
- to: z.ZodString;
646
- }, z.core.$strict>;
647
- }, z.core.$strict>>;
648
- tier: z.ZodLiteral<"overseer">;
649
- }, z.core.$strict>;
650
- couldNotSee: z.ZodArray<z.ZodObject<{
651
- id: z.ZodString;
652
- note: z.ZodString;
653
- reason: z.ZodOptional<z.ZodString>;
654
- }, z.core.$strict>>;
655
- epic: z.ZodString;
656
- generatedAt: z.ZodISODateTime;
657
- ledgerRows: z.ZodArray<z.ZodObject<{
658
- detail: z.ZodOptional<z.ZodString>;
659
- epic: z.ZodString;
660
- generatedAt: z.ZodISODateTime;
661
- key: z.ZodString;
662
- landingSpot: z.ZodOptional<z.ZodEnum<{
663
- CLI: "CLI";
664
- profile: "profile";
665
- skill: "skill";
666
- ADR: "ADR";
667
- }>>;
668
- repo: z.ZodString;
669
- rowType: z.ZodEnum<{
670
- metric: "metric";
671
- lesson: "lesson";
672
- blindspot: "blindspot";
673
- }>;
674
- schemaVersion: z.ZodLiteral<3 | 4>;
675
- source: z.ZodString;
676
- unit: z.ZodOptional<z.ZodString>;
677
- value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>;
678
- }, z.core.$strict>>;
679
- lessons: z.ZodArray<z.ZodObject<{
680
- id: z.ZodString;
681
- landingSpot: z.ZodEnum<{
682
- CLI: "CLI";
683
- profile: "profile";
684
- skill: "skill";
685
- ADR: "ADR";
686
- }>;
687
- lesson: z.ZodString;
688
- rationale: z.ZodOptional<z.ZodString>;
689
- source: z.ZodOptional<z.ZodObject<{
690
- detail: z.ZodString;
691
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
692
- }, z.core.$strict>>;
693
- }, z.core.$strict> | z.ZodObject<{
694
- id: z.ZodString;
695
- landingSpot: z.ZodEnum<{
696
- CLI: "CLI";
697
- profile: "profile";
698
- skill: "skill";
699
- ADR: "ADR";
700
- }>;
701
- lesson: z.ZodString;
702
- rationale: z.ZodOptional<z.ZodString>;
703
- source: z.ZodOptional<z.ZodObject<{
704
- detail: z.ZodString;
705
- kind: z.ZodEnum<{
706
- "boundary-thermo-attestation": "boundary-thermo-attestation";
707
- "interior-telemetry": "interior-telemetry";
708
- }>;
709
- }, z.core.$strict>>;
710
- }, z.core.$strict>>;
711
- metrics: z.ZodArray<z.ZodObject<{
712
- label: z.ZodString;
713
- metric: z.ZodString;
714
- source: z.ZodObject<{
715
- detail: z.ZodString;
716
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
717
- }, z.core.$strict>;
718
- unit: z.ZodEnum<{
719
- boolean: "boolean";
720
- text: "text";
721
- count: "count";
722
- }>;
723
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
724
- }, z.core.$strict> | z.ZodObject<{
725
- label: z.ZodString;
726
- metric: z.ZodString;
727
- source: z.ZodObject<{
728
- detail: z.ZodString;
729
- kind: z.ZodEnum<{
730
- "boundary-thermo-attestation": "boundary-thermo-attestation";
731
- "interior-telemetry": "interior-telemetry";
732
- }>;
733
- }, z.core.$strict>;
734
- unit: z.ZodEnum<{
735
- boolean: "boolean";
736
- text: "text";
737
- count: "count";
738
- tokens: "tokens";
739
- usd: "usd";
740
- ratio: "ratio";
741
- }>;
742
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
743
- }, z.core.$strict>>;
744
- repo: z.ZodString;
745
- schemaVersion: z.ZodLiteral<3 | 4>;
746
- }, z.core.$strict>;
747
- /** Reader-only compatibility for closeout artifacts written before #554. */
748
- declare const legacyCloseoutArtifactSchema: z.ZodObject<{
749
- boundaryThermo: z.ZodObject<{
750
- owner: z.ZodString;
751
- runs: z.ZodNumber;
752
- waived: z.ZodBoolean;
753
- waiverRationale: z.ZodOptional<z.ZodString>;
754
- }, z.core.$strict>;
755
- budget: z.ZodObject<{
756
- note: z.ZodString;
757
- tier: z.ZodLiteral<"overseer">;
758
- }, z.core.$strict> | z.ZodObject<{
759
- interiorSourcesConsumed: z.ZodNumber;
760
- note: z.ZodString;
761
- scoping: z.ZodOptional<z.ZodObject<{
762
- epic: z.ZodString;
763
- issueFilter: z.ZodOptional<z.ZodNumber>;
764
- prFilter: z.ZodOptional<z.ZodNumber>;
765
- repo: z.ZodString;
766
- scopedByEpicIssueSet: z.ZodBoolean;
767
- window: z.ZodObject<{
768
- from: z.ZodString;
769
- to: z.ZodString;
770
- }, z.core.$strict>;
771
- }, z.core.$strict>>;
772
- tier: z.ZodLiteral<"overseer">;
773
- }, z.core.$strict>;
774
- couldNotSee: z.ZodArray<z.ZodObject<{
775
- id: z.ZodString;
776
- note: z.ZodString;
777
- reason: z.ZodOptional<z.ZodString>;
778
- }, z.core.$strict>>;
779
- epic: z.ZodString;
780
- generatedAt: z.ZodISODateTime;
781
- ledgerRows: z.ZodArray<z.ZodObject<{
782
- detail: z.ZodOptional<z.ZodString>;
783
- epic: z.ZodString;
784
- generatedAt: z.ZodISODateTime;
785
- key: z.ZodString;
786
- landingSpot: z.ZodOptional<z.ZodEnum<{
787
- CLI: "CLI";
788
- profile: "profile";
789
- skill: "skill";
790
- ADR: "ADR";
791
- }>>;
792
- repo: z.ZodString;
793
- rowType: z.ZodEnum<{
794
- metric: "metric";
795
- lesson: "lesson";
796
- blindspot: "blindspot";
797
- }>;
798
- schemaVersion: z.ZodLiteral<3 | 4>;
799
- source: z.ZodString;
800
- unit: z.ZodOptional<z.ZodString>;
801
- value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>;
802
- }, z.core.$strict>>;
803
- lessons: z.ZodArray<z.ZodObject<{
804
- id: z.ZodString;
805
- landingSpot: z.ZodEnum<{
806
- CLI: "CLI";
807
- profile: "profile";
808
- skill: "skill";
809
- ADR: "ADR";
810
- }>;
811
- lesson: z.ZodString;
812
- rationale: z.ZodOptional<z.ZodString>;
813
- source: z.ZodOptional<z.ZodObject<{
814
- detail: z.ZodString;
815
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
816
- }, z.core.$strict>>;
817
- }, z.core.$strict> | z.ZodObject<{
818
- id: z.ZodString;
819
- landingSpot: z.ZodEnum<{
820
- CLI: "CLI";
821
- profile: "profile";
822
- skill: "skill";
823
- ADR: "ADR";
824
- }>;
825
- lesson: z.ZodString;
826
- rationale: z.ZodOptional<z.ZodString>;
827
- source: z.ZodOptional<z.ZodObject<{
828
- detail: z.ZodString;
829
- kind: z.ZodEnum<{
830
- "boundary-thermo-attestation": "boundary-thermo-attestation";
831
- "interior-telemetry": "interior-telemetry";
832
- }>;
833
- }, z.core.$strict>>;
834
- }, z.core.$strict>>;
835
- metrics: z.ZodArray<z.ZodObject<{
836
- label: z.ZodString;
837
- metric: z.ZodString;
838
- source: z.ZodObject<{
839
- detail: z.ZodString;
840
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
841
- }, z.core.$strict>;
842
- unit: z.ZodEnum<{
843
- boolean: "boolean";
844
- text: "text";
845
- count: "count";
846
- }>;
847
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
848
- }, z.core.$strict> | z.ZodObject<{
849
- label: z.ZodString;
850
- metric: z.ZodString;
851
- source: z.ZodObject<{
852
- detail: z.ZodString;
853
- kind: z.ZodEnum<{
854
- "boundary-thermo-attestation": "boundary-thermo-attestation";
855
- "interior-telemetry": "interior-telemetry";
856
- }>;
857
- }, z.core.$strict>;
858
- unit: z.ZodEnum<{
859
- boolean: "boolean";
860
- text: "text";
861
- count: "count";
862
- tokens: "tokens";
863
- usd: "usd";
864
- ratio: "ratio";
865
- }>;
866
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
867
- }, z.core.$strict>>;
868
- repo: z.ZodString;
869
- schemaVersion: z.ZodLiteral<3 | 4>;
870
- }, z.core.$strict>;
871
- /** Accept current output and retained v3 artifacts when reading or replaying. */
872
- declare const closeoutArtifactReadSchema: z.ZodUnion<readonly [z.ZodObject<{
873
- boundaryThermo: z.ZodObject<{
874
- owner: z.ZodString;
875
- runs: z.ZodNumber;
876
- waived: z.ZodBoolean;
877
- waiverRationale: z.ZodOptional<z.ZodString>;
878
- }, z.core.$strict>;
879
- budget: z.ZodObject<{
880
- note: z.ZodString;
881
- tier: z.ZodLiteral<"overseer">;
882
- }, z.core.$strict> | z.ZodObject<{
883
- interiorSourcesConsumed: z.ZodNumber;
884
- note: z.ZodString;
885
- scoping: z.ZodOptional<z.ZodObject<{
886
- epic: z.ZodString;
887
- issueFilter: z.ZodOptional<z.ZodNumber>;
888
- prFilter: z.ZodOptional<z.ZodNumber>;
889
- repo: z.ZodString;
890
- scopedByEpicIssueSet: z.ZodBoolean;
891
- window: z.ZodObject<{
892
- from: z.ZodString;
893
- to: z.ZodString;
894
- }, z.core.$strict>;
895
- }, z.core.$strict>>;
896
- tier: z.ZodLiteral<"overseer">;
897
- }, z.core.$strict>;
898
- couldNotSee: z.ZodArray<z.ZodObject<{
899
- id: z.ZodString;
900
- note: z.ZodString;
901
- reason: z.ZodOptional<z.ZodString>;
902
- }, z.core.$strict>>;
903
- epic: z.ZodString;
904
- generatedAt: z.ZodISODateTime;
905
- ledgerRows: z.ZodArray<z.ZodObject<{
906
- detail: z.ZodOptional<z.ZodString>;
907
- epic: z.ZodString;
908
- generatedAt: z.ZodISODateTime;
909
- key: z.ZodString;
910
- landingSpot: z.ZodOptional<z.ZodEnum<{
911
- CLI: "CLI";
912
- profile: "profile";
913
- skill: "skill";
914
- ADR: "ADR";
915
- }>>;
916
- repo: z.ZodString;
917
- rowType: z.ZodEnum<{
918
- metric: "metric";
919
- lesson: "lesson";
920
- blindspot: "blindspot";
921
- }>;
922
- schemaVersion: z.ZodLiteral<3 | 4>;
923
- source: z.ZodString;
924
- unit: z.ZodOptional<z.ZodString>;
925
- value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>;
926
- }, z.core.$strict>>;
927
- lessons: z.ZodArray<z.ZodObject<{
928
- id: z.ZodString;
929
- landingSpot: z.ZodEnum<{
930
- CLI: "CLI";
931
- profile: "profile";
932
- skill: "skill";
933
- ADR: "ADR";
934
- }>;
935
- lesson: z.ZodString;
936
- rationale: z.ZodOptional<z.ZodString>;
937
- source: z.ZodOptional<z.ZodObject<{
938
- detail: z.ZodString;
939
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
940
- }, z.core.$strict>>;
941
- }, z.core.$strict> | z.ZodObject<{
942
- id: z.ZodString;
943
- landingSpot: z.ZodEnum<{
944
- CLI: "CLI";
945
- profile: "profile";
946
- skill: "skill";
947
- ADR: "ADR";
948
- }>;
949
- lesson: z.ZodString;
950
- rationale: z.ZodOptional<z.ZodString>;
951
- source: z.ZodOptional<z.ZodObject<{
952
- detail: z.ZodString;
953
- kind: z.ZodEnum<{
954
- "boundary-thermo-attestation": "boundary-thermo-attestation";
955
- "interior-telemetry": "interior-telemetry";
956
- }>;
957
- }, z.core.$strict>>;
958
- }, z.core.$strict>>;
959
- metrics: z.ZodArray<z.ZodObject<{
960
- label: z.ZodString;
961
- metric: z.ZodString;
962
- source: z.ZodObject<{
963
- detail: z.ZodString;
964
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
965
- }, z.core.$strict>;
966
- unit: z.ZodEnum<{
967
- boolean: "boolean";
968
- text: "text";
969
- count: "count";
970
- }>;
971
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
972
- }, z.core.$strict> | z.ZodObject<{
973
- label: z.ZodString;
974
- metric: z.ZodString;
975
- source: z.ZodObject<{
976
- detail: z.ZodString;
977
- kind: z.ZodEnum<{
978
- "boundary-thermo-attestation": "boundary-thermo-attestation";
979
- "interior-telemetry": "interior-telemetry";
980
- }>;
981
- }, z.core.$strict>;
982
- unit: z.ZodEnum<{
983
- boolean: "boolean";
984
- text: "text";
985
- count: "count";
986
- tokens: "tokens";
987
- usd: "usd";
988
- ratio: "ratio";
989
- }>;
990
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
991
- }, z.core.$strict>>;
992
- repo: z.ZodString;
993
- schemaVersion: z.ZodLiteral<3 | 4>;
994
- }, z.core.$strict>, z.ZodObject<{
995
- boundaryThermo: z.ZodObject<{
996
- owner: z.ZodString;
997
- runs: z.ZodNumber;
998
- waived: z.ZodBoolean;
999
- waiverRationale: z.ZodOptional<z.ZodString>;
1000
- }, z.core.$strict>;
1001
- budget: z.ZodObject<{
1002
- note: z.ZodString;
1003
- tier: z.ZodLiteral<"overseer">;
1004
- }, z.core.$strict> | z.ZodObject<{
1005
- interiorSourcesConsumed: z.ZodNumber;
1006
- note: z.ZodString;
1007
- scoping: z.ZodOptional<z.ZodObject<{
1008
- epic: z.ZodString;
1009
- issueFilter: z.ZodOptional<z.ZodNumber>;
1010
- prFilter: z.ZodOptional<z.ZodNumber>;
1011
- repo: z.ZodString;
1012
- scopedByEpicIssueSet: z.ZodBoolean;
1013
- window: z.ZodObject<{
1014
- from: z.ZodString;
1015
- to: z.ZodString;
1016
- }, z.core.$strict>;
1017
- }, z.core.$strict>>;
1018
- tier: z.ZodLiteral<"overseer">;
1019
- }, z.core.$strict>;
1020
- couldNotSee: z.ZodArray<z.ZodObject<{
1021
- id: z.ZodString;
1022
- note: z.ZodString;
1023
- reason: z.ZodOptional<z.ZodString>;
1024
- }, z.core.$strict>>;
1025
- epic: z.ZodString;
1026
- generatedAt: z.ZodISODateTime;
1027
- ledgerRows: z.ZodArray<z.ZodObject<{
1028
- detail: z.ZodOptional<z.ZodString>;
1029
- epic: z.ZodString;
1030
- generatedAt: z.ZodISODateTime;
1031
- key: z.ZodString;
1032
- landingSpot: z.ZodOptional<z.ZodEnum<{
1033
- CLI: "CLI";
1034
- profile: "profile";
1035
- skill: "skill";
1036
- ADR: "ADR";
1037
- }>>;
1038
- repo: z.ZodString;
1039
- rowType: z.ZodEnum<{
1040
- metric: "metric";
1041
- lesson: "lesson";
1042
- blindspot: "blindspot";
1043
- }>;
1044
- schemaVersion: z.ZodLiteral<3 | 4>;
1045
- source: z.ZodString;
1046
- unit: z.ZodOptional<z.ZodString>;
1047
- value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>;
1048
- }, z.core.$strict>>;
1049
- lessons: z.ZodArray<z.ZodObject<{
1050
- id: z.ZodString;
1051
- landingSpot: z.ZodEnum<{
1052
- CLI: "CLI";
1053
- profile: "profile";
1054
- skill: "skill";
1055
- ADR: "ADR";
1056
- }>;
1057
- lesson: z.ZodString;
1058
- rationale: z.ZodOptional<z.ZodString>;
1059
- source: z.ZodOptional<z.ZodObject<{
1060
- detail: z.ZodString;
1061
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
1062
- }, z.core.$strict>>;
1063
- }, z.core.$strict> | z.ZodObject<{
1064
- id: z.ZodString;
1065
- landingSpot: z.ZodEnum<{
1066
- CLI: "CLI";
1067
- profile: "profile";
1068
- skill: "skill";
1069
- ADR: "ADR";
1070
- }>;
1071
- lesson: z.ZodString;
1072
- rationale: z.ZodOptional<z.ZodString>;
1073
- source: z.ZodOptional<z.ZodObject<{
1074
- detail: z.ZodString;
1075
- kind: z.ZodEnum<{
1076
- "boundary-thermo-attestation": "boundary-thermo-attestation";
1077
- "interior-telemetry": "interior-telemetry";
1078
- }>;
1079
- }, z.core.$strict>>;
1080
- }, z.core.$strict>>;
1081
- metrics: z.ZodArray<z.ZodObject<{
1082
- label: z.ZodString;
1083
- metric: z.ZodString;
1084
- source: z.ZodObject<{
1085
- detail: z.ZodString;
1086
- kind: z.ZodLiteral<"boundary-thermo-attestation">;
1087
- }, z.core.$strict>;
1088
- unit: z.ZodEnum<{
1089
- boolean: "boolean";
1090
- text: "text";
1091
- count: "count";
1092
- }>;
1093
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
1094
- }, z.core.$strict> | z.ZodObject<{
1095
- label: z.ZodString;
1096
- metric: z.ZodString;
1097
- source: z.ZodObject<{
1098
- detail: z.ZodString;
1099
- kind: z.ZodEnum<{
1100
- "boundary-thermo-attestation": "boundary-thermo-attestation";
1101
- "interior-telemetry": "interior-telemetry";
1102
- }>;
1103
- }, z.core.$strict>;
1104
- unit: z.ZodEnum<{
1105
- boolean: "boolean";
1106
- text: "text";
1107
- count: "count";
1108
- tokens: "tokens";
1109
- usd: "usd";
1110
- ratio: "ratio";
1111
- }>;
1112
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
1113
- }, z.core.$strict>>;
1114
- repo: z.ZodString;
1115
- schemaVersion: z.ZodLiteral<3 | 4>;
1116
- }, z.core.$strict>]>;
1117
- type CloseoutArtifact = z.infer<typeof closeoutArtifactSchema>;
1118
- type HistoricalCloseoutArtifact = z.infer<typeof legacyCloseoutArtifactSchema>;
1119
- //#endregion
1120
- //#region src/retro-envelope.d.ts
1121
- /**
1122
- * Versioned retro envelope schema (epic #27 wave 2, issue #34).
1123
- *
1124
- * One envelope per lane, built at `factory:closeout` and delivered through the
1125
- * typed gate-sink as the `retro-envelope` ingest kind. Re-derived in TypeScript
1126
- * from the `spike/telemetry-layer2` S5 scratch schema (reference-only, never
1127
- * merged). This module is the single source of truth for the v1 wire shape
1128
- * and its bounds ({@link RETRO_ENVELOPE_WIRE_BOUNDS}) — producer and consumer
1129
- * alike. HQ imports these exports directly from the Worker-safe
1130
- * `@patronage/software-factory/schemas` subpath
1131
- * (`software-factory-hq/src/contracts/retro-schemas.ts`) instead of
1132
- * maintaining a parallel hand-written copy, so there is exactly one wire
1133
- * contract and no drift-detection machinery is needed (issue #350; formerly
1134
- * a hand-written twin plus a 767-line parity test, #46).
1135
- *
1136
- * DESIGN INVARIANT: cross-family token sums must be UNREPRESENTABLE.
1137
- *
1138
- * The two model families use different tokenizers, prices, and accounting
1139
- * conventions, so any token total that spans Claude and GPT is a lie:
1140
- *
1141
- * 1. There is no combined/total token field anywhere in the envelope.
1142
- * 2. `tokenFamilies` is strict — its only keys are `claude` and `gpt`; data
1143
- * cannot smuggle in a third "all"/"combined" slot.
1144
- * 3. The family BLOCKS are structurally different shapes with DIFFERENT keys
1145
- * (claude is a single flat block keyed on freshInput/cacheReadInput/
1146
- * cacheCreationInput; gpt is `{ roles: [...] }`). The exclusive input-tier
1147
- * COUNTS share no key name across families. The residual names shared
1148
- * between the claude block and a gpt ROLE entry are pinned to exactly
1149
- * {costUsd, model, output} (PR #32 advisory): `costUsd` is deliberate —
1150
- * USD is the one cross-family summable unit (rule 4); `model` is an
1151
- * unsummable label; `output` is the same name at DIFFERENT depths (lane
1152
- * block vs per-role entry), frozen by a tripwire test in
1153
- * `retro-envelope.test.ts` so the overlap cannot grow. Renaming `output`
1154
- * is a schemaVersion-2 wire change, deliberately not spent in v1.
1155
- * 4. Cost is per-family USD and nullable. Combined totals are allowed in USD
1156
- * only, and only as a projection-time sum of per-family USD.
1157
- *
1158
- * Field names also encode the S2/S3 reader lessons: Claude `freshInput` alone
1159
- * is not prompt size (true input context = freshInput + cacheReadInput +
1160
- * cacheCreationInput, requestId-deduped), and codex `inputInclusiveOfCache`
1161
- * already includes `cachedInput`, so `freshInputDerived` (inclusive − cached)
1162
- * is the only value safe to feed a per-token pricer.
1163
- *
1164
- * COMPLETENESS POSTURE: harvest may have no usable native log for a lane, so
1165
- * `tokenFamilies` may legitimately be absent. The closeout build gate demands
1166
- * a valid envelope, not available telemetry. A families-absent envelope keeps
1167
- * its operator-visible data gaps and is a replayable advisory HQ event, so it
1168
- * never substitutes unavailable usage with zero. The wire shape (field names,
1169
- * types, structure) stays byte-parity with HQ v1.
1170
- */
1171
- declare const RETRO_ENVELOPE_SCHEMA_VERSION = 1;
1172
- /**
1173
- * v1 wire bounds — the single source the schemas below are built from and the
1174
- * builder's sanitization seam clamps to (`retro-envelope-builder.ts` imports
1175
- * these; it keeps no bound constants of its own). HQ imports this module
1176
- * directly (issue #350), so there is one set of bounds, not a second copy to
1177
- * keep in sync.
1178
- */
1179
- declare const RETRO_ENVELOPE_WIRE_BOUNDS: {
1180
- /** archiveRef pointer (key/URL) max characters. */readonly archiveRefMaxChars: 2048; /** refs.branch max characters (git ref length ceiling). */
1181
- readonly branchMaxChars: 255; /** gates[] wire cap — the builder keeps the most recent records. */
1182
- readonly gatesMax: 500; /** gpt roles[] cap (delegated roles per lane). */
1183
- readonly gptRolesMax: 20; /** Cap for list fields: joinKeys id arrays, phases, dataGaps. */
1184
- readonly listMax: 100; /** Bounded name fields: agentRunId, gate, phase name, refs, join-key ids. */
1185
- readonly nameMaxChars: 200; /** Short identifier fields: repo name/owner, model, role. */
1186
- readonly shortMaxChars: 100; /** Free-text fields: dataGaps entries, outcome.verdict. */
1187
- readonly textMaxChars: 500;
1188
- };
1189
- declare const retroEnvelopeV1Schema: z.ZodObject<{
1190
- agentRunId: z.ZodString;
1191
- archiveRef: z.ZodOptional<z.ZodString>;
1192
- cycles: z.ZodObject<{
1193
- gateRunsToFirstGreen: z.ZodNumber;
1194
- reviewerFixRounds: z.ZodNumber;
1195
- thermoFixRounds: z.ZodNumber;
1196
- }, z.core.$strict>;
1197
- dataGaps: z.ZodDefault<z.ZodArray<z.ZodString>>;
1198
- gates: z.ZodArray<z.ZodObject<{
1199
- cycle: z.ZodNumber;
1200
- duration: z.ZodNumber;
1201
- gate: z.ZodString;
1202
- outcome: z.ZodEnum<{
1203
- pass: "pass";
1204
- fail: "fail";
1205
- skip: "skip";
1206
- }>;
1207
- startedAt: z.ZodISODateTime;
1208
- }, z.core.$strict>>;
1209
- generatedAt: z.ZodISODateTime;
1210
- interventions: z.ZodObject<{
1211
- count: z.ZodNumber;
1212
- }, z.core.$strict>;
1213
- joinKeys: z.ZodObject<{
1214
- claudeSessionIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
1215
- codexThreadIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
1216
- }, z.core.$strict>;
1217
- kind: z.ZodLiteral<"retro-envelope">;
1218
- outcome: z.ZodOptional<z.ZodObject<{
1219
- status: z.ZodEnum<{
1220
- fail: "fail";
1221
- success: "success";
1222
- blocked: "blocked";
1223
- "ship-with-followups": "ship-with-followups";
1224
- }>;
1225
- verdict: z.ZodOptional<z.ZodString>;
1226
- }, z.core.$strict>>;
1227
- phases: z.ZodArray<z.ZodObject<{
1228
- at: z.ZodISODateTime;
1229
- deltaSec: z.ZodOptional<z.ZodNumber>;
1230
- name: z.ZodString;
1231
- }, z.core.$strict>>;
1232
- refs: z.ZodObject<{
1233
- branch: z.ZodOptional<z.ZodString>;
1234
- epic: z.ZodOptional<z.ZodString>;
1235
- headSha: z.ZodOptional<z.ZodString>;
1236
- issue: z.ZodOptional<z.ZodString>;
1237
- prNumber: z.ZodOptional<z.ZodNumber>;
1238
- }, z.core.$strict>;
1239
- repo: z.ZodObject<{
1240
- name: z.ZodString;
1241
- owner: z.ZodString;
1242
- }, z.core.$strict>;
1243
- schemaVersion: z.ZodLiteral<1>;
1244
- tokenFamilies: z.ZodObject<{
1245
- claude: z.ZodOptional<z.ZodObject<{
1246
- cacheCreationInput: z.ZodNumber;
1247
- cacheReadInput: z.ZodNumber;
1248
- costUsd: z.ZodNullable<z.ZodNumber>;
1249
- family: z.ZodLiteral<"claude">;
1250
- freshInput: z.ZodNumber;
1251
- model: z.ZodString;
1252
- output: z.ZodNumber;
1253
- requests: z.ZodNumber;
1254
- }, z.core.$strict>>;
1255
- gpt: z.ZodOptional<z.ZodObject<{
1256
- family: z.ZodLiteral<"gpt">;
1257
- roles: z.ZodArray<z.ZodObject<{
1258
- cachedInput: z.ZodNumber;
1259
- costUsd: z.ZodNullable<z.ZodNumber>;
1260
- freshInputDerived: z.ZodNumber;
1261
- inputInclusiveOfCache: z.ZodNumber;
1262
- model: z.ZodString;
1263
- output: z.ZodNumber;
1264
- reasoningOutput: z.ZodNumber;
1265
- role: z.ZodString;
1266
- threadId: z.ZodOptional<z.ZodString>;
1267
- }, z.core.$strict>>;
1268
- }, z.core.$strict>>;
1269
- }, z.core.$strict>;
1270
- wallClock: z.ZodObject<{
1271
- endTs: z.ZodISODateTime;
1272
- startTs: z.ZodISODateTime;
1273
- totalSec: z.ZodNumber;
1274
- }, z.core.$strict>;
1275
- }, z.core.$strict>;
1276
- type RetroEnvelope = z.infer<typeof retroEnvelopeV1Schema>;
1277
- /**
1278
- * Versioned payload validators, keyed by schema major. Unknown majors never
1279
- * reach these — {@link parseRetroEnvelope} returns them raw and marked
1280
- * degraded, mirroring HQ's ingest skew posture (stored raw, never dropped).
1281
- */
1282
- declare const RETRO_ENVELOPE_VALIDATORS: Record<number, z.ZodType<RetroEnvelope, unknown>>;
1283
- declare const SUPPORTED_RETRO_ENVELOPE_SCHEMA_VERSIONS: readonly number[];
1284
- type ParsedRetroEnvelope = {
1285
- disposition: "trusted";
1286
- envelope: RetroEnvelope;
1287
- schemaVersion: number;
1288
- } | {
1289
- disposition: "degraded";
1290
- raw: unknown;
1291
- schemaVersion: number | undefined;
1292
- };
1293
- /** Epic anchor for an envelope: refs.epic, else refs.issue, else the PR. */
1294
- declare const retroEpicReference: (refs: RetroEnvelope["refs"]) => string | undefined;
1295
- //#endregion
1296
- //#region src/schemas.d.ts
1297
- declare const EVIDENCE_ENVELOPE_SCHEMA_VERSION = 1;
1298
- declare const evidenceEnvelopeSchema: z.ZodObject<{
1299
- check: z.ZodString;
1300
- checkType: z.ZodEnum<{
1301
- review: "review";
1302
- verify: "verify";
1303
- }>;
1304
- findingsPointer: z.ZodOptional<z.ZodString>;
1305
- headSha: z.ZodString;
1306
- mergeBaseSha: z.ZodString;
1307
- model: z.ZodOptional<z.ZodString>;
1308
- outcome: z.ZodEnum<{
1309
- pass: "pass";
1310
- fail: "fail";
1311
- }>;
1312
- patchId: z.ZodString;
1313
- policyVersion: z.ZodOptional<z.ZodString>;
1314
- producer: z.ZodString;
1315
- requestId: z.ZodOptional<z.ZodString>;
1316
- rung: z.ZodOptional<z.ZodEnum<{
1317
- "independent-model": "independent-model";
1318
- oracle: "oracle";
1319
- human: "human";
1320
- }>>;
1321
- schemaVersion: z.ZodLiteral<1>;
1322
- sessionId: z.ZodOptional<z.ZodString>;
1323
- timestamp: z.ZodOptional<z.ZodISODateTime>;
1324
- }, z.core.$loose>;
1325
- declare const SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS: readonly [1, 2, 3, 4];
1326
619
  declare const prVerifyProofSchema: z.ZodObject<{
1327
620
  authoringSession: z.ZodOptional<z.ZodString>;
1328
621
  base: z.ZodString;
@@ -1390,8 +683,8 @@ declare const prVerifyProofSchema: z.ZodObject<{
1390
683
  name: z.ZodString;
1391
684
  }, z.core.$strip>>>;
1392
685
  outcome: z.ZodOptional<z.ZodEnum<{
1393
- aborted: "aborted";
1394
686
  passed: "passed";
687
+ aborted: "aborted";
1395
688
  }>>;
1396
689
  patchId: z.ZodOptional<z.ZodString>;
1397
690
  profilePath: z.ZodString;
@@ -1412,6 +705,73 @@ declare const prVerifyProofSchema: z.ZodObject<{
1412
705
  }>;
1413
706
  }, z.core.$strip>>;
1414
707
  }, z.core.$strip>;
708
+ //#endregion
709
+ //#region src/closeout-artifact.d.ts
710
+ /** Artifact versions accepted at ingest. */
711
+ declare const SUPPORTED_CLOSEOUT_SCHEMA_VERSIONS: readonly [5];
712
+ /** Strict, bounded runtime transport contract emitted by factory:closeout. */
713
+ declare const closeoutArtifactSchema: z.ZodObject<{
714
+ budget: z.ZodObject<{
715
+ note: z.ZodString;
716
+ tier: z.ZodLiteral<"overseer">;
717
+ }, z.core.$strict>;
718
+ couldNotSee: z.ZodArray<z.ZodObject<{
719
+ id: z.ZodString;
720
+ note: z.ZodString;
721
+ reason: z.ZodOptional<z.ZodString>;
722
+ }, z.core.$strict>>;
723
+ epic: z.ZodString;
724
+ generatedAt: z.ZodISODateTime;
725
+ metrics: z.ZodArray<z.ZodObject<{
726
+ label: z.ZodString;
727
+ metric: z.ZodString;
728
+ source: z.ZodObject<{
729
+ detail: z.ZodString;
730
+ kind: z.ZodLiteral<"token-harvest">;
731
+ }, z.core.$strict>;
732
+ unit: z.ZodEnum<{
733
+ boolean: "boolean";
734
+ text: "text";
735
+ count: "count";
736
+ tokens: "tokens";
737
+ usd: "usd";
738
+ }>;
739
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>;
740
+ }, z.core.$strict>>;
741
+ repo: z.ZodString;
742
+ schemaVersion: z.ZodLiteral<5>;
743
+ }, z.core.$strict>;
744
+ type CloseoutArtifact = z.infer<typeof closeoutArtifactSchema>;
745
+ //#endregion
746
+ //#region src/schemas.d.ts
747
+ declare const EVIDENCE_ENVELOPE_SCHEMA_VERSION = 1;
748
+ declare const evidenceEnvelopeSchema: z.ZodObject<{
749
+ check: z.ZodString;
750
+ checkType: z.ZodEnum<{
751
+ review: "review";
752
+ verify: "verify";
753
+ }>;
754
+ findingsPointer: z.ZodOptional<z.ZodString>;
755
+ headSha: z.ZodString;
756
+ mergeBaseSha: z.ZodString;
757
+ model: z.ZodOptional<z.ZodString>;
758
+ outcome: z.ZodEnum<{
759
+ pass: "pass";
760
+ fail: "fail";
761
+ }>;
762
+ patchId: z.ZodString;
763
+ policyVersion: z.ZodOptional<z.ZodString>;
764
+ producer: z.ZodString;
765
+ requestId: z.ZodOptional<z.ZodString>;
766
+ rung: z.ZodOptional<z.ZodEnum<{
767
+ "independent-model": "independent-model";
768
+ oracle: "oracle";
769
+ human: "human";
770
+ }>>;
771
+ schemaVersion: z.ZodLiteral<1>;
772
+ sessionId: z.ZodOptional<z.ZodString>;
773
+ timestamp: z.ZodOptional<z.ZodISODateTime>;
774
+ }, z.core.$loose>;
1415
775
  declare const PR_REVIEW_SCHEMA_VERSION = 2;
1416
776
  declare const prReviewProofSchema: z.ZodObject<{
1417
777
  base: z.ZodString;
@@ -1967,4 +1327,4 @@ declare const prReadyProofSchema: z.ZodObject<{
1967
1327
  waivedDemands: z.ZodOptional<z.ZodArray<z.ZodType<WaivedDemand, unknown, z.core.$ZodTypeInternals<WaivedDemand, unknown>>>>;
1968
1328
  }, z.core.$strip>;
1969
1329
  //#endregion
1970
- export { BLOCKED_REASONS_MAX, BLOCKED_REASON_DETAIL_MAX, BOUNDARY_CHECK_SCHEMA_VERSION, BOUNDARY_REVIEW_PROOF_KIND, type BlockedReason, BoundaryCheckProofRecord, type BoundaryReviewProof, type CloseoutArtifact, EVIDENCE_ENVELOPE_SCHEMA_VERSION, type EvidenceEnvelope, type HistoricalCloseoutArtifact, PR_READY_SCHEMA_VERSION, PR_REVIEW_SCHEMA_VERSION, type ParsedRetroEnvelope, type PrReadyProof, type PrReviewProof, type PrVerifyProof, RETRO_ENVELOPE_SCHEMA_VERSION, RETRO_ENVELOPE_VALIDATORS, RETRO_ENVELOPE_WIRE_BOUNDS, type RetroEnvelope, SUPPORTED_CLOSEOUT_SCHEMA_VERSIONS, SUPPORTED_PR_READY_SCHEMA_VERSIONS, SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS, SUPPORTED_RETRO_ENVELOPE_SCHEMA_VERSIONS, type WaivedDemand, blockedReasonSchema, blockedReasonsSchema, boundaryCheckProofSchema, boundaryReviewProofSchema, closeoutArtifactReadSchema, closeoutArtifactSchema, evidenceEnvelopeSchema, legacyCloseoutArtifactSchema, prReadyProofSchema, prReviewProofSchema, prVerifyProofSchema, retroEnvelopeV1Schema, retroEpicReference, waivedDemandSchema };
1330
+ export { BLOCKED_REASONS_MAX, BLOCKED_REASON_DETAIL_MAX, BOUNDARY_CHECK_SCHEMA_VERSION, BOUNDARY_REVIEW_PROOF_KIND, type BlockedReason, BoundaryCheckProofRecord, type BoundaryReviewProof, type CloseoutArtifact, EVIDENCE_ENVELOPE_SCHEMA_VERSION, type EvidenceEnvelope, PR_READY_SCHEMA_VERSION, PR_REVIEW_SCHEMA_VERSION, type PrReadyProof, type PrReviewProof, type PrVerifyProof, SUPPORTED_CLOSEOUT_SCHEMA_VERSIONS, SUPPORTED_PR_READY_SCHEMA_VERSIONS, SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS, type WaivedDemand, blockedReasonSchema, blockedReasonsSchema, boundaryCheckProofSchema, boundaryReviewProofSchema, closeoutArtifactSchema, evidenceEnvelopeSchema, prReadyProofSchema, prReviewProofSchema, prVerifyProofSchema, waivedDemandSchema };