@hyperscale0/udl 1.0.0-alpha.4 → 1.0.0-beta.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.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,12 @@ export declare function assertValidUdl(value: unknown): UdlDocument;
25
25
  * standard validator or sealed format validators run.
26
26
  */
27
27
  export declare function validateUdlSchemaValue(schema: Readonly<Record<string, unknown>>, value: unknown): ValidationResult;
28
+ /**
29
+ * Validates one schema document against the sealed UDL JSON Schema subset
30
+ * without applying it to a value. Frozen tenant contracts use this at their
31
+ * persistence boundary so an unreadable schema cannot become immutable state.
32
+ */
33
+ export declare function validateUdlJsonSchema(schema: unknown): readonly UdlIssue[];
28
34
  /**
29
35
  * One budget's worth of reference-shape classification: the memo of the answers
30
36
  * already bought and what is left of the probe budget. What is guaranteed is
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAGL,KAAK,WAAW,EAMjB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,cAAc,GACd,gBAAgB,CAAC;AAErB,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjE,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;gBAEzB,MAAM,EAAE,SAAS,QAAQ,EAAE;CAUxC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAiC/D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,KAAK,EAAE,OAAO,GACb,gBAAgB,CA2BlB;AA6qDD;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5E;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAeD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAwB/D"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAGL,KAAK,WAAW,EAMjB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,cAAc,GACd,gBAAgB,CAAC;AAErB,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjE,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;gBAEzB,MAAM,EAAE,SAAS,QAAQ,EAAE;CAUxC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAiC/D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,KAAK,EAAE,OAAO,GACb,gBAAgB,CA2BlB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,QAAQ,EAAE,CAkB1E;AAynED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5E;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAeD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAwB/D"}
@@ -37,7 +37,7 @@ export function validateUdl(value) {
37
37
  issues: [
38
38
  {
39
39
  code: "resource_limit",
40
- message: `document exceeds ${UDL_LIMITS.maxSchemaProbes} reference-shape checks; declare fewer nouns or fewer reference gates`,
40
+ message: `document exceeds ${UDL_LIMITS.maxSchemaProbes} reference-shape checks; declare fewer nouns, reference gates, or payout intents`,
41
41
  path: "$.nouns",
42
42
  },
43
43
  ],
@@ -85,6 +85,30 @@ export function validateUdlSchemaValue(schema, value) {
85
85
  const errors = [...standard.errors, ...sealedErrors];
86
86
  return { errors, valid: errors.length === 0 };
87
87
  }
88
+ /**
89
+ * Validates one schema document against the sealed UDL JSON Schema subset
90
+ * without applying it to a value. Frozen tenant contracts use this at their
91
+ * persistence boundary so an unreadable schema cannot become immutable state.
92
+ */
93
+ export function validateUdlJsonSchema(schema) {
94
+ const admissionIssue = structuralBudgetIssue(schema);
95
+ if (admissionIssue)
96
+ return [admissionIssue];
97
+ if (!isRecord(schema)) {
98
+ return [
99
+ {
100
+ code: "invalid_shape",
101
+ message: "JSON Schema must be an object",
102
+ path: "$",
103
+ },
104
+ ];
105
+ }
106
+ const issues = [];
107
+ validateJsonSchema(schema, [], (path, message) => {
108
+ issues.push({ code: "invalid_semantics", message, path: jsonPath(path) });
109
+ });
110
+ return issues;
111
+ }
88
112
  function admissionValidationResult(issue, invalidKeyword) {
89
113
  return {
90
114
  errors: [
@@ -100,6 +124,7 @@ function admissionValidationResult(issue, invalidKeyword) {
100
124
  }
101
125
  const positiveMoneyPattern = "^[1-9][0-9]{0,17}$";
102
126
  const nonNegativeMoneyPattern = "^(0|[1-9][0-9]{0,17})$";
127
+ const currencyPattern = "^[A-Z]{3}$";
103
128
  const sealedDateTimeFormat = "hyperscale-date-time";
104
129
  const jsonSchemaFormats = new Set([
105
130
  "hyperscale-date",
@@ -636,21 +661,30 @@ function validateNoun(noun, nounIndex, nouns, subjects, references, add) {
636
661
  }
637
662
  function validateSetsAt(noun, base, add) {
638
663
  const writers = new Map();
664
+ const markerFields = new Set();
639
665
  for (const [verbName, verb] of Object.entries(noun.verbs)) {
640
666
  if (!verb.setsAt)
641
667
  continue;
642
668
  const path = [...base, "verbs", verbName, "setsAt"];
643
- const { field, offset } = verb.setsAt;
669
+ const { field, marker, offset } = verb.setsAt;
670
+ if (marker)
671
+ markerFields.add(field);
644
672
  if (verbName === "create") {
645
673
  add(path, "setsAt requires a lifecycle transition and cannot run on create");
646
674
  }
647
- const earlierWriter = writers.get(field);
648
- if (earlierWriter) {
649
- add([...path, "field"], `${field} is already written by verb ${earlierWriter}`);
650
- }
651
- else {
652
- writers.set(field, verbName);
675
+ const fieldWriters = writers.get(field) ?? [];
676
+ if (fieldWriters.length > 0) {
677
+ const alternatives = [...fieldWriters, verbName];
678
+ const targets = new Set(alternatives.map((writer) => noun.lifecycle.transitions[writer]?.to));
679
+ const reentrant = alternatives.some((writer) => {
680
+ const transition = noun.lifecycle.transitions[writer];
681
+ return transition?.from.includes(transition.to) === true;
682
+ });
683
+ if (targets.size !== 1 || targets.has(undefined) || reentrant) {
684
+ add([...path, "field"], `${field} has multiple writers without one shared one-way destination`);
685
+ }
653
686
  }
687
+ writers.set(field, [...fieldWriters, verbName]);
654
688
  const schema = noun.fields[field];
655
689
  if (!schema) {
656
690
  add([...path, "field"], `setsAt references unknown field ${field}`);
@@ -669,30 +703,41 @@ function validateSetsAt(noun, base, add) {
669
703
  add([...path, "offset"], "setsAt.offset must be a positive fixed ISO-8601 duration");
670
704
  }
671
705
  const readers = Object.entries(noun.verbs).filter(([, candidate]) => candidate.due?.field === field || candidate.deadline?.field === field);
706
+ if (marker) {
707
+ if (readers.length > 0) {
708
+ add(path, `setsAt marker field ${field} cannot drive a due condition or deadline`);
709
+ }
710
+ continue;
711
+ }
672
712
  if (readers.length === 0) {
673
713
  add(path, `setsAt field ${field} must anchor at least one due condition or deadline`);
674
714
  continue;
675
715
  }
716
+ }
717
+ for (const [field, fieldWriters] of writers) {
718
+ if (markerFields.has(field))
719
+ continue;
720
+ const readers = Object.entries(noun.verbs).filter(([, candidate]) => candidate.due?.field === field || candidate.deadline?.field === field);
676
721
  for (const [readerName] of readers) {
677
- if (readerName === verbName ||
678
- !verbDominatesReader(noun, verbName, readerName)) {
679
- add([...base, "verbs", readerName], `verb ${readerName} can read ${field} before writer ${verbName}`);
722
+ if (!verbGroupDominatesReader(noun, fieldWriters, readerName)) {
723
+ add([...base, "verbs", readerName], `verb ${readerName} can read ${field} before writers ${fieldWriters.join(" or ")}`);
680
724
  }
681
725
  }
682
726
  }
683
727
  }
684
- function verbDominatesReader(noun, writer, reader) {
685
- if (!noun.lifecycle.transitions[writer])
728
+ function verbGroupDominatesReader(noun, writers, reader) {
729
+ if (writers.length === 0)
686
730
  return false;
687
731
  const readerTransition = noun.lifecycle.transitions[reader];
688
732
  if (!readerTransition)
689
733
  return false;
734
+ const removed = new Set(writers);
690
735
  const reachable = new Set([noun.lifecycle.initial]);
691
736
  const pending = [noun.lifecycle.initial];
692
737
  while (pending.length > 0) {
693
738
  const state = pending.shift();
694
739
  for (const [verb, transition] of Object.entries(noun.lifecycle.transitions)) {
695
- if (verb === writer ||
740
+ if (removed.has(verb) ||
696
741
  !transition.from.includes(state) ||
697
742
  reachable.has(transition.to)) {
698
743
  continue;
@@ -761,6 +806,7 @@ function validateUpdate(noun, base, states, add) {
761
806
  });
762
807
  }
763
808
  function validateVerbs(noun, base, nouns, references, add) {
809
+ validatePayoutsAndSettlement(noun, base, references, add);
764
810
  for (const [verb, definition] of Object.entries(noun.verbs)) {
765
811
  const verbBase = [...base, "verbs", verb];
766
812
  if (verb === "create" && definition.input) {
@@ -769,6 +815,12 @@ function validateVerbs(noun, base, nouns, references, add) {
769
815
  if (definition.input && definition.input.type !== "object") {
770
816
  add([...verbBase, "input", "type"], "verb input must declare an object-shaped JSON Schema");
771
817
  }
818
+ const inputFields = recordValue(definition.input?.properties);
819
+ for (const [refKey, inputKey] of Object.entries(definition.captureInput ?? {})) {
820
+ if (!Object.hasOwn(inputFields, inputKey)) {
821
+ add([...verbBase, "captureInput", refKey], `captured receipt input references undeclared verb input field ${inputKey}`);
822
+ }
823
+ }
772
824
  addDuplicateIssues(definition.moves.map((move) => move.key), [...verbBase, "moves"], "move key", add);
773
825
  if (definition.earnable && definition.moves.length === 0) {
774
826
  add(verbBase, "earnable requires a money move");
@@ -812,7 +864,106 @@ function validateVerbs(noun, base, nouns, references, add) {
812
864
  add([...drainBase, "path"], `requiresDrainedAccount reads ${path}, which is not declared`);
813
865
  }
814
866
  }
867
+ if (definition.signedSum) {
868
+ const sumBase = [...verbBase, "signedSum"];
869
+ if (verb === "create") {
870
+ add(sumBase, "signedSum cannot run on create: no parent row exists yet");
871
+ }
872
+ const generatedRefs = [
873
+ {
874
+ key: definition.signedSum.amountRef,
875
+ path: [...sumBase, "amountRef"],
876
+ },
877
+ ...definition.signedSum.sources.map((source, sourceIndex) => ({
878
+ key: source.subtotalRef,
879
+ path: [...sumBase, "sources", sourceIndex, "subtotalRef"],
880
+ })),
881
+ ];
882
+ addDuplicateIssues(generatedRefs.map((ref) => ref.key), sumBase, "signed sum ref", add);
883
+ const existingRefs = new Set([
884
+ ...Object.entries(noun.verbs).flatMap(([candidateVerb, candidate]) => [
885
+ ...Object.keys(candidate.captureInput ?? {}),
886
+ ...[...candidate.steps, ...candidate.moves].flatMap((step) => Object.keys(step.capture ?? {})),
887
+ ...(candidateVerb !== verb && candidate.signedSum
888
+ ? [
889
+ candidate.signedSum.amountRef,
890
+ ...candidate.signedSum.sources.map((source) => source.subtotalRef),
891
+ ]
892
+ : []),
893
+ ]),
894
+ ...(noun.unwind ? ["unwindRefund", "unwindPenalty"] : []),
895
+ ...(noun.subject ? ["subject"] : []),
896
+ ]);
897
+ for (const ref of generatedRefs) {
898
+ if (existingRefs.has(ref.key)) {
899
+ add(ref.path, `signed sum ref ${ref.key} collides with an existing noun ref key`);
900
+ }
901
+ }
902
+ if (!definition.signedSum.sources.some((source) => source.sign === "add")) {
903
+ add([...sumBase, "sources"], "signedSum needs at least one add source");
904
+ }
905
+ const parentCurrencies = Object.entries(noun.fields).filter(([, schema]) => isCurrencySchema(schema));
906
+ if (parentCurrencies.length !== 1) {
907
+ add(sumBase, `signedSum parent ${noun.id} needs exactly one currency field`);
908
+ }
909
+ const sourceKeys = definition.signedSum.sources.map((source) => `${source.nounId}:${source.refField}:${source.amountField}:${source.sign}:${[...source.statuses].sort().join(",")}`);
910
+ addDuplicateIssues(sourceKeys, [...sumBase, "sources"], "signed sum source", add);
911
+ definition.signedSum.sources.forEach((source, sourceIndex) => {
912
+ for (let priorIndex = 0; priorIndex < sourceIndex; priorIndex += 1) {
913
+ const prior = definition.signedSum?.sources[priorIndex];
914
+ if (!prior ||
915
+ prior.nounId !== source.nounId ||
916
+ prior.refField !== source.refField ||
917
+ prior.amountField !== source.amountField ||
918
+ prior.sign !== source.sign) {
919
+ continue;
920
+ }
921
+ const priorStatuses = new Set(prior.statuses);
922
+ const overlap = source.statuses.filter((status) => priorStatuses.has(status));
923
+ if (overlap.length === 0)
924
+ continue;
925
+ add([...sumBase, "sources", sourceIndex, "statuses"], `signed sum source overlaps source ${priorIndex} on statuses ${overlap.join(", ")}`);
926
+ }
927
+ });
928
+ definition.signedSum.sources.forEach((source, sourceIndex) => {
929
+ const sourceBase = [...sumBase, "sources", sourceIndex];
930
+ const child = nouns.get(source.nounId);
931
+ if (!child) {
932
+ add([...sourceBase, "nounId"], `signedSum references unknown noun ${source.nounId}`);
933
+ return;
934
+ }
935
+ const refSchema = child.fields[source.refField];
936
+ if (!refSchema || !references.accepts(refSchema, noun.idPrefix)) {
937
+ add([...sourceBase, "refField"], `${source.nounId}.${source.refField} must reference ${noun.id}`);
938
+ }
939
+ const amountSchema = child.fields[source.amountField];
940
+ if (!amountSchema || !isMoneySchema(amountSchema)) {
941
+ add([...sourceBase, "amountField"], `${source.nounId}.${source.amountField} must be a money field`);
942
+ }
943
+ const childCurrencies = Object.entries(child.fields).filter(([, schema]) => isCurrencySchema(schema));
944
+ if (childCurrencies.length !== 1) {
945
+ add([...sourceBase, "nounId"], `signedSum source ${source.nounId} needs exactly one currency field`);
946
+ }
947
+ addDuplicateIssues(source.statuses, [...sourceBase, "statuses"], "signed sum status", add);
948
+ source.statuses.forEach((status, statusIndex) => {
949
+ if (!child.lifecycle.states.includes(status)) {
950
+ add([...sourceBase, "statuses", statusIndex], `signedSum status ${status} is not declared by ${source.nounId}`);
951
+ }
952
+ });
953
+ });
954
+ const amountPath = `refs.${definition.signedSum.amountRef}`;
955
+ const payoutMoves = Object.values(noun.verbs).flatMap((candidate) => candidate.moves.filter((move) => move.operation === "internal_transfer.create" &&
956
+ move.bind.amount?.from === "instance" &&
957
+ move.bind.amount.path === amountPath));
958
+ const payouts = Object.values(noun.verbs).filter((candidate) => candidate.payout?.amount === amountPath);
959
+ if (payoutMoves.length + payouts.length !== 1) {
960
+ add(sumBase, `signedSum requires exactly one payout or noun transfer whose amount is ${amountPath}`);
961
+ }
962
+ }
815
963
  if (definition.due) {
964
+ if (definition.publicIntent) {
965
+ add([...verbBase, "publicIntent"], "a system due verb cannot declare a public intent");
966
+ }
816
967
  const transition = noun.lifecycle.transitions[verb];
817
968
  if (definition.due.every) {
818
969
  // A recurring due verb is stationary: each occurrence fires in place
@@ -865,6 +1016,152 @@ function validateVerbs(noun, base, nouns, references, add) {
865
1016
  }
866
1017
  }
867
1018
  }
1019
+ function validatePayoutsAndSettlement(noun, base, references, add) {
1020
+ const payoutEntries = Object.entries(noun.verbs).filter(([, definition]) => definition.payout !== undefined);
1021
+ const settlementEntries = Object.entries(noun.verbs).filter(([, definition]) => definition.requiresSettlement !== undefined);
1022
+ if (payoutEntries.length > 0 && settlementEntries.length !== 1) {
1023
+ add([...base, "verbs"], `payout-owning noun must declare exactly one settlement gate; found ${settlementEntries.length}`);
1024
+ }
1025
+ const settlementRequirement = settlementEntries.length === 1
1026
+ ? settlementEntries[0]?.[1].requiresSettlement
1027
+ : undefined;
1028
+ if (settlementRequirement) {
1029
+ for (const [verb, definition] of payoutEntries) {
1030
+ if (definition.payout?.capture === settlementRequirement.payoutRef) {
1031
+ continue;
1032
+ }
1033
+ add([...base, "verbs", verb, "payout", "capture"], `verb ${verb} payout capture ${definition.payout?.capture} is not covered by settlement payoutRef ${settlementRequirement.payoutRef}`);
1034
+ }
1035
+ }
1036
+ const reservedRefs = new Set([
1037
+ ...Object.values(noun.verbs).flatMap((verb) => Object.keys(verb.captureInput ?? {})),
1038
+ ...Object.values(noun.verbs).flatMap((verb) => [...verb.steps, ...verb.moves].flatMap((step) => Object.keys(step.capture ?? {}))),
1039
+ ...Object.values(noun.verbs).flatMap((verb) => verb.signedSum
1040
+ ? [
1041
+ verb.signedSum.amountRef,
1042
+ ...verb.signedSum.sources.map((source) => source.subtotalRef),
1043
+ ]
1044
+ : []),
1045
+ ...(noun.unwind ? ["unwindRefund", "unwindPenalty"] : []),
1046
+ ...(noun.subject ? ["subject"] : []),
1047
+ ]);
1048
+ const moneyWriters = moneyRefWriters(noun);
1049
+ const payoutWriters = new Map();
1050
+ for (const [verb, definition] of Object.entries(noun.verbs)) {
1051
+ if (!definition.payout)
1052
+ continue;
1053
+ const payout = definition.payout;
1054
+ const payoutBase = [...base, "verbs", verb, "payout"];
1055
+ if (verb === "create") {
1056
+ add(payoutBase, "create cannot declare a payout intent");
1057
+ }
1058
+ if (definition.steps.length > 0 || definition.moves.length > 0) {
1059
+ add(payoutBase, `verb ${verb} payout intent cannot combine with kernel steps or moves`);
1060
+ }
1061
+ const prior = payoutWriters.get(payout.capture) ?? [];
1062
+ if (reservedRefs.has(payout.capture) || prior.length > 0) {
1063
+ add([...payoutBase, "capture"], `payout capture ${payout.capture} collides with an existing noun ref key`);
1064
+ }
1065
+ payoutWriters.set(payout.capture, [...prior, verb]);
1066
+ const amount = payout.amount;
1067
+ const [scope, key] = amount.split(".");
1068
+ const amountWriters = moneyWriters.get(key) ?? [];
1069
+ const amountDeclared = scope === "fields"
1070
+ ? isMoneySchema(noun.fields[key] ?? {})
1071
+ : scope === "refs" && amountWriters.length > 0;
1072
+ if (!amountDeclared) {
1073
+ add([...payoutBase, "amount"], `payout amount ${amount} must name a declared money field or money ref`);
1074
+ }
1075
+ else if (scope === "refs" &&
1076
+ !amountWriters.includes(verb) &&
1077
+ !amountWriters.includes("create") &&
1078
+ !verbGroupDominatesReader(noun, amountWriters, verb)) {
1079
+ add([...payoutBase, "amount"], `payout amount ${amount} can be read before money writers ${amountWriters.join(" or ")}`);
1080
+ }
1081
+ const currency = noun.fields[payout.currencyField];
1082
+ if (!currency || !isCurrencySchema(currency)) {
1083
+ add([...payoutBase, "currencyField"], `payout currencyField ${payout.currencyField} must name a currency field`);
1084
+ }
1085
+ const source = noun.fields[payout.sourceAccountField];
1086
+ if (!source || !references.accepts(source, "acct")) {
1087
+ add([...payoutBase, "sourceAccountField"], `payout sourceAccountField ${payout.sourceAccountField} must name an account-id field`);
1088
+ }
1089
+ const beneficiary = noun.fields[payout.beneficiaryField];
1090
+ if (!beneficiary || !references.accepts(beneficiary, "ben")) {
1091
+ add([...payoutBase, "beneficiaryField"], `payout beneficiaryField ${payout.beneficiaryField} must name a beneficiary-id field`);
1092
+ }
1093
+ const beneficiaryPartyField = noun.parties?.beneficiary;
1094
+ if (!beneficiaryPartyField) {
1095
+ add([...payoutBase, "beneficiaryPartyField"], "payout requires parties.beneficiary to bind its destination party");
1096
+ }
1097
+ else if (payout.beneficiaryPartyField !== beneficiaryPartyField) {
1098
+ add([...payoutBase, "beneficiaryPartyField"], `payout beneficiaryPartyField ${payout.beneficiaryPartyField} must equal parties.beneficiary ${beneficiaryPartyField}`);
1099
+ }
1100
+ }
1101
+ const settlementCaptures = new Set();
1102
+ for (const [verb, definition] of Object.entries(noun.verbs)) {
1103
+ if (!definition.requiresSettlement)
1104
+ continue;
1105
+ const requirement = definition.requiresSettlement;
1106
+ const requirementBase = [
1107
+ ...base,
1108
+ "verbs",
1109
+ verb,
1110
+ "requiresSettlement",
1111
+ ];
1112
+ if (reservedRefs.has(requirement.capture) ||
1113
+ payoutWriters.has(requirement.capture) ||
1114
+ settlementCaptures.has(requirement.capture)) {
1115
+ add([...requirementBase, "capture"], `settlement capture ${requirement.capture} collides with an existing noun ref key`);
1116
+ }
1117
+ settlementCaptures.add(requirement.capture);
1118
+ const writers = payoutWriters.get(requirement.payoutRef) ?? [];
1119
+ if (writers.length === 0) {
1120
+ add([...requirementBase, "payoutRef"], `requiresSettlement payoutRef ${requirement.payoutRef} is not captured by a payout intent`);
1121
+ }
1122
+ else if (!verbGroupDominatesReader(noun, writers, verb)) {
1123
+ add(requirementBase, `requiresSettlement can read ${requirement.payoutRef} before payout writers ${writers.join(" or ")}`);
1124
+ }
1125
+ if (!noun.lifecycle.transitions[verb]) {
1126
+ add(requirementBase, "requiresSettlement needs a lifecycle transition and cannot run on create");
1127
+ }
1128
+ const callerFacets = [
1129
+ definition.port ? "port" : undefined,
1130
+ definition.publicIntent ? "publicIntent" : undefined,
1131
+ definition.input ? "input" : undefined,
1132
+ definition.captureInput ? "captureInput" : undefined,
1133
+ definition.due ? "due" : undefined,
1134
+ definition.deadline ? "deadline" : undefined,
1135
+ ].filter((facet) => facet !== undefined);
1136
+ for (const facet of callerFacets) {
1137
+ add([...base, "verbs", verb, facet], `requiresSettlement is system-only and cannot declare ${facet}`);
1138
+ }
1139
+ if (definition.steps.length > 0) {
1140
+ add([...base, "verbs", verb, "steps"], "requiresSettlement cannot add kernel steps");
1141
+ }
1142
+ if (definition.moves.length > 0) {
1143
+ add([...base, "verbs", verb, "moves"], "requiresSettlement cannot move money");
1144
+ }
1145
+ }
1146
+ }
1147
+ function moneyRefWriters(noun) {
1148
+ const writers = new Map();
1149
+ for (const [verbName, verb] of Object.entries(noun.verbs)) {
1150
+ const refs = [
1151
+ ...(verb.signedSum
1152
+ ? [
1153
+ verb.signedSum.amountRef,
1154
+ ...verb.signedSum.sources.map((source) => source.subtotalRef),
1155
+ ]
1156
+ : []),
1157
+ ...[...verb.steps, ...verb.moves].flatMap((step) => Object.entries(step.capture ?? {}).flatMap(([ref, output]) => output === "postedAmount" ? [ref] : [])),
1158
+ ];
1159
+ for (const ref of refs) {
1160
+ writers.set(ref, [...(writers.get(ref) ?? []), verbName]);
1161
+ }
1162
+ }
1163
+ return writers;
1164
+ }
868
1165
  /**
869
1166
  * Shape rules for one resolved reference gate: derived bindings and the
870
1167
  * uniqueness claim are create-only, bind keys must be declared immutable
@@ -930,7 +1227,16 @@ function validateGateShape(noun, verb, gate, target, base, add) {
930
1227
  /** Every `refs.<key>` a noun's instances can legitimately carry. */
931
1228
  function declaredRefKeys(noun) {
932
1229
  return new Set([
1230
+ ...Object.values(noun.verbs).flatMap((verb) => verb.payout ? [verb.payout.capture] : []),
1231
+ ...Object.values(noun.verbs).flatMap((verb) => verb.requiresSettlement ? [verb.requiresSettlement.capture] : []),
1232
+ ...Object.values(noun.verbs).flatMap((verb) => Object.keys(verb.captureInput ?? {})),
933
1233
  ...Object.values(noun.verbs).flatMap((verb) => [...verb.steps, ...verb.moves].flatMap((step) => Object.keys(step.capture ?? {}))),
1234
+ ...Object.values(noun.verbs).flatMap((verb) => verb.signedSum
1235
+ ? [
1236
+ verb.signedSum.amountRef,
1237
+ ...verb.signedSum.sources.map((source) => source.subtotalRef),
1238
+ ]
1239
+ : []),
934
1240
  ...(noun.unwind ? ["unwindRefund", "unwindPenalty"] : []),
935
1241
  ...(noun.subject ? ["subject"] : []),
936
1242
  ]);
@@ -1192,6 +1498,9 @@ function isMoneySchema(schema) {
1192
1498
  return (schema.pattern === positiveMoneyPattern ||
1193
1499
  schema.pattern === nonNegativeMoneyPattern);
1194
1500
  }
1501
+ function isCurrencySchema(schema) {
1502
+ return schema.pattern === currencyPattern;
1503
+ }
1195
1504
  /**
1196
1505
  * One sample id per prefix, built here and nowhere else. The probe below asks
1197
1506
  * a schema two questions and the answers are only comparable while both