@sentropic/h2a 0.1.8 → 0.1.10

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/abc.d.ts CHANGED
@@ -73,17 +73,7 @@ export declare const H2A_ABC_MODEL_PROFILES: Readonly<{
73
73
  readonly capability: "external-authority";
74
74
  readonly status: "shipped";
75
75
  readonly evidence: "DEC-040 exposes EXTERNAL_AUTHORITY as an escalation authority kind";
76
- }, H2AAbcModelCapabilityDescriptor, {
77
- readonly capability: "recurring-obligations";
78
- readonly status: "partial";
79
- readonly evidence: "CONTRACT can carry obligations and ENGAGEMENT can execute work";
80
- readonly gap: "recurring obligations are identified but not yet a first-class schedule/schema";
81
- }, {
82
- readonly capability: "recourse";
83
- readonly status: "partial";
84
- readonly evidence: "RECOURSE is an escalation authority kind";
85
- readonly gap: "recourse has routing vocabulary but no adjudication lifecycle";
86
- }, H2AAbcModelCapabilityDescriptor];
76
+ }, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor];
87
77
  }>;
88
78
  readonly B_ECOSYSTEM: Readonly<{
89
79
  id: "B_ECOSYSTEM";
@@ -122,12 +112,7 @@ export declare const H2A_ABC_MODEL_PROFILES: Readonly<{
122
112
  readonly capability: "external-authority";
123
113
  readonly status: "shipped";
124
114
  readonly evidence: "DEC-040 exposes EXTERNAL_AUTHORITY as an escalation authority kind";
125
- }, H2AAbcModelCapabilityDescriptor, {
126
- readonly capability: "recourse";
127
- readonly status: "partial";
128
- readonly evidence: "RECOURSE and QUORUM targets can be declared in ENFORCEMENT_PLAN";
129
- readonly gap: "recourse/deadlock handling is routable but not procedurally specified";
130
- }, H2AAbcModelCapabilityDescriptor];
115
+ }, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor];
131
116
  }>;
132
117
  readonly C_GOVERNMENT_CITIZEN: Readonly<{
133
118
  id: "C_GOVERNMENT_CITIZEN";
@@ -166,12 +151,7 @@ export declare const H2A_ABC_MODEL_PROFILES: Readonly<{
166
151
  readonly capability: "external-authority";
167
152
  readonly status: "shipped";
168
153
  readonly evidence: "DEC-040 exposes EXTERNAL_AUTHORITY as an escalation authority kind";
169
- }, H2AAbcModelCapabilityDescriptor, {
170
- readonly capability: "recourse";
171
- readonly status: "partial";
172
- readonly evidence: "RECOURSE is a first-class escalation authority kind";
173
- readonly gap: "recourse routing exists but appeal/adjudication lifecycle remains open";
174
- }, {
154
+ }, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor, H2AAbcModelCapabilityDescriptor, {
175
155
  readonly capability: "jurisdiction";
176
156
  readonly status: "partial";
177
157
  readonly evidence: "scope can encode territorial or sectoral boundaries";
package/dist/abc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abc.d.ts","sourceRoot":"","sources":["../src/abc.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,iBAAiB,kEAIpB,CAAC;AAEX,eAAO,MAAM,0BAA0B,kSAa7B,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC1C,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,kBAAkB,CAAC;AACvB,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,2BAA2B,GACnC,SAAS,GACT,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3D,QAAQ,CAAC,2BAA2B,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvE,QAAQ,CAAC,wBAAwB,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACzE,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD;AA8GD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4EsC,CAAC;AAkB1E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GACd,4BAA4B,GAAG,SAAS,CAK1C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,8BAA8B,CAmEhC"}
1
+ {"version":3,"file":"abc.d.ts","sourceRoot":"","sources":["../src/abc.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AAMzB,eAAO,MAAM,iBAAiB,kEAIpB,CAAC;AAEX,eAAO,MAAM,0BAA0B,kSAa7B,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC1C,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,kBAAkB,CAAC;AACvB,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,2BAA2B,GACnC,SAAS,GACT,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3D,QAAQ,CAAC,2BAA2B,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvE,QAAQ,CAAC,wBAAwB,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACzE,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD;AAoID,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DsC,CAAC;AAkB1E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GACd,4BAA4B,GAAG,SAAS,CAK1C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,8BAA8B,CAmEhC"}
package/dist/abc.js CHANGED
@@ -2,6 +2,8 @@ import { H2A_ARTIFACT_KINDS, H2A_POLICY_ADOPTION_MODES, H2A_ROLES } from "./type
2
2
  import { H2A_ESCALATION_AUTHORITY_KINDS } from "./escalation.js";
3
3
  import { H2A_POLICY_PRECEDENCE_PROFILES } from "./policy-precedence.js";
4
4
  import { H2A_DISCLOSURE_PROFILES } from "./disclosure.js";
5
+ import { H2A_RECOURSE_PROFILES } from "./recourse.js";
6
+ import { H2A_RECURRING_OBLIGATION_PROFILES } from "./recurring-obligations.js";
5
7
  export const H2A_ABC_MODEL_IDS = [
6
8
  "A_ENTERPRISE",
7
9
  "B_ECOSYSTEM",
@@ -116,6 +118,22 @@ function controlledDisclosureCapability(modelId) {
116
118
  evidence: `DEC-045 declarative disclosure profile (default ${profile.defaultMode}, ${profile.allowedModes.length} allowed modes)`
117
119
  };
118
120
  }
121
+ function recourseCapability(modelId) {
122
+ const profile = H2A_RECOURSE_PROFILES[modelId];
123
+ return {
124
+ capability: "recourse",
125
+ status: "shipped",
126
+ evidence: `DEC-046 declarative recourse profile (default decider ${profile.defaultDeciderKind}, ${profile.allowedDeciderKinds.length} allowed deciders, appealable=${profile.appealable})`
127
+ };
128
+ }
129
+ function recurringObligationsCapability(modelId) {
130
+ const profile = H2A_RECURRING_OBLIGATION_PROFILES[modelId];
131
+ return {
132
+ capability: "recurring-obligations",
133
+ status: "shipped",
134
+ evidence: `DEC-047 declarative cadence profile (default ${profile.defaultCadence}, grace ${profile.defaultGraceDays}d, alert ${profile.defaultReportingThresholdDays}d)`
135
+ };
136
+ }
119
137
  export const H2A_ABC_MODEL_PROFILES = Object.freeze({
120
138
  A_ENTERPRISE: Object.freeze({
121
139
  id: "A_ENTERPRISE",
@@ -129,18 +147,8 @@ export const H2A_ABC_MODEL_PROFILES = Object.freeze({
129
147
  capabilities: [
130
148
  ...BASE_SHIPPED_CAPABILITIES,
131
149
  controlledDisclosureCapability("A_ENTERPRISE"),
132
- {
133
- capability: "recurring-obligations",
134
- status: "partial",
135
- evidence: "CONTRACT can carry obligations and ENGAGEMENT can execute work",
136
- gap: "recurring obligations are identified but not yet a first-class schedule/schema"
137
- },
138
- {
139
- capability: "recourse",
140
- status: "partial",
141
- evidence: "RECOURSE is an escalation authority kind",
142
- gap: "recourse has routing vocabulary but no adjudication lifecycle"
143
- },
150
+ recurringObligationsCapability("A_ENTERPRISE"),
151
+ recourseCapability("A_ENTERPRISE"),
144
152
  policyPrecedenceCapability("A_ENTERPRISE")
145
153
  ]
146
154
  }),
@@ -156,12 +164,8 @@ export const H2A_ABC_MODEL_PROFILES = Object.freeze({
156
164
  capabilities: [
157
165
  ...BASE_SHIPPED_CAPABILITIES,
158
166
  controlledDisclosureCapability("B_ECOSYSTEM"),
159
- {
160
- capability: "recourse",
161
- status: "partial",
162
- evidence: "RECOURSE and QUORUM targets can be declared in ENFORCEMENT_PLAN",
163
- gap: "recourse/deadlock handling is routable but not procedurally specified"
164
- },
167
+ recurringObligationsCapability("B_ECOSYSTEM"),
168
+ recourseCapability("B_ECOSYSTEM"),
165
169
  policyPrecedenceCapability("B_ECOSYSTEM")
166
170
  ]
167
171
  }),
@@ -177,12 +181,8 @@ export const H2A_ABC_MODEL_PROFILES = Object.freeze({
177
181
  capabilities: [
178
182
  ...BASE_SHIPPED_CAPABILITIES,
179
183
  controlledDisclosureCapability("C_GOVERNMENT_CITIZEN"),
180
- {
181
- capability: "recourse",
182
- status: "partial",
183
- evidence: "RECOURSE is a first-class escalation authority kind",
184
- gap: "recourse routing exists but appeal/adjudication lifecycle remains open"
185
- },
184
+ recurringObligationsCapability("C_GOVERNMENT_CITIZEN"),
185
+ recourseCapability("C_GOVERNMENT_CITIZEN"),
186
186
  {
187
187
  capability: "jurisdiction",
188
188
  status: "partial",
package/dist/abc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abc.js","sourceRoot":"","sources":["../src/abc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abc.js","sourceRoot":"","sources":["../src/abc.ts"],"names":[],"mappings":"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"}
@@ -63,12 +63,18 @@ export declare const H2A_GOVERNANCE_BOUNDARY_ITEMS: readonly [{
63
63
  readonly status: "v1-shipped";
64
64
  readonly summary: "DEC-045 declares allowed disclosure modes per ABC profile; projection helpers remain policy/implementation work.";
65
65
  readonly references: readonly ["REQ-070", "REQ-071", "DEC-041", "DEC-045"];
66
+ }, {
67
+ readonly id: "recourse-adjudication-profiles";
68
+ readonly layer: "POLICY";
69
+ readonly status: "v1-shipped";
70
+ readonly summary: "DEC-046 declares recourse lifecycle states, allowed deciders, and appealability per ABC profile; adjudication itself stays with the declared authority.";
71
+ readonly references: readonly ["REQ-068", "REQ-069", "REQ-071", "DEC-040", "DEC-041", "DEC-046"];
66
72
  }, {
67
73
  readonly id: "recurring-obligation-cadence";
68
74
  readonly layer: "POLICY";
69
- readonly status: "v1-open";
70
- readonly summary: "Cadence, grace periods, and reporting thresholds for recurring obligations are domain policy.";
71
- readonly references: readonly ["REQ-063", "DEC-041"];
75
+ readonly status: "v1-shipped";
76
+ readonly summary: "DEC-047 declares allowed cadences, default grace, and reporting thresholds per ABC profile; scheduling and evaluation remain policy/implementation work.";
77
+ readonly references: readonly ["REQ-063", "REQ-071", "DEC-041", "DEC-047"];
72
78
  }, {
73
79
  readonly id: "mandataire-assignment";
74
80
  readonly layer: "POLICY";
@@ -1 +1 @@
1
- {"version":3,"file":"governance-boundary.d.ts","sourceRoot":"","sources":["../src/governance-boundary.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,mDAIjC,CAAC;AAEX,eAAO,MAAM,gCAAgC,mDAInC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwH0B,CAAC;AAErE,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GACb,mCAAmC,GAAG,SAAS,CAEjD;AAED,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,mCAAmC,EAAE,CAUhD"}
1
+ {"version":3,"file":"governance-boundary.d.ts","sourceRoot":"","sources":["../src/governance-boundary.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,mDAIjC,CAAC;AAEX,eAAO,MAAM,gCAAgC,mDAInC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+H0B,CAAC;AAErE,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GACb,mCAAmC,GAAG,SAAS,CAEjD;AAED,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,mCAAmC,EAAE,CAUhD"}
@@ -72,12 +72,19 @@ export const H2A_GOVERNANCE_BOUNDARY_ITEMS = Object.freeze([
72
72
  summary: "DEC-045 declares allowed disclosure modes per ABC profile; projection helpers remain policy/implementation work.",
73
73
  references: ["REQ-070", "REQ-071", "DEC-041", "DEC-045"]
74
74
  },
75
+ {
76
+ id: "recourse-adjudication-profiles",
77
+ layer: "POLICY",
78
+ status: "v1-shipped",
79
+ summary: "DEC-046 declares recourse lifecycle states, allowed deciders, and appealability per ABC profile; adjudication itself stays with the declared authority.",
80
+ references: ["REQ-068", "REQ-069", "REQ-071", "DEC-040", "DEC-041", "DEC-046"]
81
+ },
75
82
  {
76
83
  id: "recurring-obligation-cadence",
77
84
  layer: "POLICY",
78
- status: "v1-open",
79
- summary: "Cadence, grace periods, and reporting thresholds for recurring obligations are domain policy.",
80
- references: ["REQ-063", "DEC-041"]
85
+ status: "v1-shipped",
86
+ summary: "DEC-047 declares allowed cadences, default grace, and reporting thresholds per ABC profile; scheduling and evaluation remain policy/implementation work.",
87
+ references: ["REQ-063", "REQ-071", "DEC-041", "DEC-047"]
81
88
  },
82
89
  {
83
90
  id: "mandataire-assignment",
@@ -1 +1 @@
1
- {"version":3,"file":"governance-boundary.js","sourceRoot":"","sources":["../src/governance-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance-boundary.js","sourceRoot":"","sources":["../src/governance-boundary.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,10 @@ export { H2A_POLICY_PRECEDENCE_CONFLICT_DISPOSITIONS, H2A_POLICY_PRECEDENCE_PROF
8
8
  export type { H2APolicyPrecedenceAuditResult, H2APolicyPrecedenceConflictDisposition, H2APolicyPrecedenceProfileDescriptor, H2APolicyPrecedenceTier } from "./policy-precedence.js";
9
9
  export { H2A_DISCLOSURE_CONFLICT_DISPOSITIONS, H2A_DISCLOSURE_MODES, H2A_DISCLOSURE_PROFILES, auditDisclosureProfile, getDisclosureProfile } from "./disclosure.js";
10
10
  export type { H2ADisclosureAuditResult, H2ADisclosureConflictDisposition, H2ADisclosureMode, H2ADisclosureProfileDescriptor } from "./disclosure.js";
11
+ export { H2A_RECOURSE_CONFLICT_DISPOSITIONS, H2A_RECOURSE_PROFILES, H2A_RECOURSE_STATES, auditRecourseProfile, getRecourseProfile } from "./recourse.js";
12
+ export type { H2ARecourseAuditResult, H2ARecourseConflictDisposition, H2ARecourseProfileDescriptor, H2ARecourseState } from "./recourse.js";
13
+ export { H2A_OBLIGATION_CADENCES, H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS, H2A_RECURRING_OBLIGATION_PROFILES, auditRecurringObligationProfile, getRecurringObligationProfile } from "./recurring-obligations.js";
14
+ export type { H2AObligationCadence, H2ARecurringObligationAuditResult, H2ARecurringObligationConflictDisposition, H2ARecurringObligationProfileDescriptor } from "./recurring-obligations.js";
11
15
  export { createEnvelope, isH2AEnvelope } from "./envelope.js";
12
16
  export { assertValidNegotiationState } from "./negotiation.js";
13
17
  export { canonicalize, computeHash } from "./canonical.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,6 +3,8 @@ export { H2A_MULTI_HUMAN_MODE_IDS, H2A_MULTI_HUMAN_MODES, getMultiHumanMode, sel
3
3
  export { H2A_GOVERNANCE_BOUNDARY_ITEMS, H2A_GOVERNANCE_BOUNDARY_LAYERS, H2A_GOVERNANCE_BOUNDARY_STATUSES, classifyGovernanceBoundary, listGovernanceBoundaryItems } from "./governance-boundary.js";
4
4
  export { H2A_POLICY_PRECEDENCE_CONFLICT_DISPOSITIONS, H2A_POLICY_PRECEDENCE_PROFILES, H2A_POLICY_PRECEDENCE_TIERS, auditPolicyPrecedenceProfile, getPolicyPrecedenceProfile } from "./policy-precedence.js";
5
5
  export { H2A_DISCLOSURE_CONFLICT_DISPOSITIONS, H2A_DISCLOSURE_MODES, H2A_DISCLOSURE_PROFILES, auditDisclosureProfile, getDisclosureProfile } from "./disclosure.js";
6
+ export { H2A_RECOURSE_CONFLICT_DISPOSITIONS, H2A_RECOURSE_PROFILES, H2A_RECOURSE_STATES, auditRecourseProfile, getRecourseProfile } from "./recourse.js";
7
+ export { H2A_OBLIGATION_CADENCES, H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS, H2A_RECURRING_OBLIGATION_PROFILES, auditRecurringObligationProfile, getRecurringObligationProfile } from "./recurring-obligations.js";
6
8
  export { createEnvelope, isH2AEnvelope } from "./envelope.js";
7
9
  export { assertValidNegotiationState } from "./negotiation.js";
8
10
  export { canonicalize, computeHash } from "./canonical.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAWlB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EACL,2CAA2C,EAC3C,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAWlB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EACL,2CAA2C,EAC3C,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,uBAAuB,EACvB,8CAA8C,EAC9C,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EACL,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { H2AAbcModelId } from "./abc.js";
2
+ import { type H2AEscalationAuthorityKind } from "./escalation.js";
3
+ export declare const H2A_RECOURSE_STATES: readonly ["requested", "accepted", "dismissed", "adjudicating", "decided", "appealed", "closed"];
4
+ export declare const H2A_RECOURSE_CONFLICT_DISPOSITIONS: readonly ["escalate-not-resolve"];
5
+ export type H2ARecourseState = (typeof H2A_RECOURSE_STATES)[number];
6
+ export type H2ARecourseConflictDisposition = (typeof H2A_RECOURSE_CONFLICT_DISPOSITIONS)[number];
7
+ export interface H2ARecourseProfileDescriptor {
8
+ readonly modelId: H2AAbcModelId;
9
+ readonly label: string;
10
+ readonly allowedStates: readonly H2ARecourseState[];
11
+ readonly allowedDeciderKinds: readonly H2AEscalationAuthorityKind[];
12
+ readonly defaultDeciderKind: H2AEscalationAuthorityKind;
13
+ readonly appealable: boolean;
14
+ readonly conflictDisposition: H2ARecourseConflictDisposition;
15
+ readonly rationale: string;
16
+ readonly references: readonly string[];
17
+ }
18
+ export interface H2ARecourseAuditResult {
19
+ readonly ok: boolean;
20
+ readonly profileId?: H2AAbcModelId;
21
+ readonly allowedStates?: readonly H2ARecourseState[];
22
+ readonly allowedDeciderKinds?: readonly H2AEscalationAuthorityKind[];
23
+ readonly defaultDeciderKind?: H2AEscalationAuthorityKind;
24
+ readonly appealable?: boolean;
25
+ readonly adjudicatesDecisions: boolean;
26
+ readonly issues: readonly string[];
27
+ readonly unresolved: readonly string[];
28
+ }
29
+ export declare const H2A_RECOURSE_PROFILES: Readonly<{
30
+ readonly A_ENTERPRISE: Readonly<{
31
+ modelId: "A_ENTERPRISE";
32
+ label: "A - enterprise hierarchy";
33
+ allowedStates: readonly ["requested", "accepted", "dismissed", "adjudicating", "decided", "appealed", "closed"];
34
+ allowedDeciderKinds: readonly ["PRINCIPAL", "CONTROL", "EXTERNAL_AUTHORITY"];
35
+ defaultDeciderKind: "PRINCIPAL";
36
+ appealable: true;
37
+ conflictDisposition: "escalate-not-resolve";
38
+ rationale: "Enterprise recourse defaults to PRINCIPAL adjudication; CONTROL handles domain-specific recourse (compliance, ethics, legal) and EXTERNAL_AUTHORITY (regulator, court) keeps the appeal path open.";
39
+ references: readonly ["REQ-068", "REQ-069", "REQ-071", "DEC-040", "DEC-041", "DEC-043", "DEC-046"];
40
+ }>;
41
+ readonly B_ECOSYSTEM: Readonly<{
42
+ modelId: "B_ECOSYSTEM";
43
+ label: "B - peer ecosystem";
44
+ allowedStates: readonly ["requested", "accepted", "dismissed", "adjudicating", "decided", "appealed", "closed"];
45
+ allowedDeciderKinds: readonly ["QUORUM", "EXTERNAL_AUTHORITY", "RECOURSE"];
46
+ defaultDeciderKind: "QUORUM";
47
+ appealable: true;
48
+ conflictDisposition: "escalate-not-resolve";
49
+ rationale: "Peer ecosystems route recourse to a quorum of stakeholders by default; EXTERNAL_AUTHORITY covers arbitration and RECOURSE captures dedicated inter-org recourse bodies.";
50
+ references: readonly ["REQ-068", "REQ-069", "REQ-071", "DEC-040", "DEC-041", "DEC-043", "DEC-046"];
51
+ }>;
52
+ readonly C_GOVERNMENT_CITIZEN: Readonly<{
53
+ modelId: "C_GOVERNMENT_CITIZEN";
54
+ label: "C - public authority ecosystem";
55
+ allowedStates: readonly ["requested", "accepted", "dismissed", "adjudicating", "decided", "appealed", "closed"];
56
+ allowedDeciderKinds: readonly ["EXTERNAL_AUTHORITY", "RECOURSE", "PRINCIPAL"];
57
+ defaultDeciderKind: "EXTERNAL_AUTHORITY";
58
+ appealable: true;
59
+ conflictDisposition: "escalate-not-resolve";
60
+ rationale: "Public-authority recourse defaults to EXTERNAL_AUTHORITY (court, regulator) with dedicated RECOURSE bodies for administrative review; PRINCIPAL remains usable for internal-administration steps before the external chain.";
61
+ references: readonly ["REQ-068", "REQ-069", "REQ-071", "DEC-040", "DEC-041", "DEC-043", "DEC-046"];
62
+ }>;
63
+ }>;
64
+ export declare function getRecourseProfile(modelId: string): H2ARecourseProfileDescriptor | undefined;
65
+ export declare function auditRecourseProfile(modelId: string): H2ARecourseAuditResult;
66
+ //# sourceMappingURL=recourse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recourse.d.ts","sourceRoot":"","sources":["../src/recourse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,mBAAmB,kGAQtB,CAAC;AAEX,eAAO,MAAM,kCAAkC,mCAErC,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACpE,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACrE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAID,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyEuC,CAAC;AAE1E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GACd,4BAA4B,GAAG,SAAS,CAK1C;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GACd,sBAAsB,CA8FxB"}
@@ -0,0 +1,163 @@
1
+ import { H2A_ESCALATION_AUTHORITY_KINDS } from "./escalation.js";
2
+ export const H2A_RECOURSE_STATES = [
3
+ "requested",
4
+ "accepted",
5
+ "dismissed",
6
+ "adjudicating",
7
+ "decided",
8
+ "appealed",
9
+ "closed"
10
+ ];
11
+ export const H2A_RECOURSE_CONFLICT_DISPOSITIONS = [
12
+ "escalate-not-resolve"
13
+ ];
14
+ const FULL_LIFECYCLE = H2A_RECOURSE_STATES;
15
+ export const H2A_RECOURSE_PROFILES = Object.freeze({
16
+ A_ENTERPRISE: Object.freeze({
17
+ modelId: "A_ENTERPRISE",
18
+ label: "A - enterprise hierarchy",
19
+ allowedStates: FULL_LIFECYCLE,
20
+ allowedDeciderKinds: [
21
+ "PRINCIPAL",
22
+ "CONTROL",
23
+ "EXTERNAL_AUTHORITY"
24
+ ],
25
+ defaultDeciderKind: "PRINCIPAL",
26
+ appealable: true,
27
+ conflictDisposition: "escalate-not-resolve",
28
+ rationale: "Enterprise recourse defaults to PRINCIPAL adjudication; CONTROL handles domain-specific recourse (compliance, ethics, legal) and EXTERNAL_AUTHORITY (regulator, court) keeps the appeal path open.",
29
+ references: [
30
+ "REQ-068",
31
+ "REQ-069",
32
+ "REQ-071",
33
+ "DEC-040",
34
+ "DEC-041",
35
+ "DEC-043",
36
+ "DEC-046"
37
+ ]
38
+ }),
39
+ B_ECOSYSTEM: Object.freeze({
40
+ modelId: "B_ECOSYSTEM",
41
+ label: "B - peer ecosystem",
42
+ allowedStates: FULL_LIFECYCLE,
43
+ allowedDeciderKinds: [
44
+ "QUORUM",
45
+ "EXTERNAL_AUTHORITY",
46
+ "RECOURSE"
47
+ ],
48
+ defaultDeciderKind: "QUORUM",
49
+ appealable: true,
50
+ conflictDisposition: "escalate-not-resolve",
51
+ rationale: "Peer ecosystems route recourse to a quorum of stakeholders by default; EXTERNAL_AUTHORITY covers arbitration and RECOURSE captures dedicated inter-org recourse bodies.",
52
+ references: [
53
+ "REQ-068",
54
+ "REQ-069",
55
+ "REQ-071",
56
+ "DEC-040",
57
+ "DEC-041",
58
+ "DEC-043",
59
+ "DEC-046"
60
+ ]
61
+ }),
62
+ C_GOVERNMENT_CITIZEN: Object.freeze({
63
+ modelId: "C_GOVERNMENT_CITIZEN",
64
+ label: "C - public authority ecosystem",
65
+ allowedStates: FULL_LIFECYCLE,
66
+ allowedDeciderKinds: [
67
+ "EXTERNAL_AUTHORITY",
68
+ "RECOURSE",
69
+ "PRINCIPAL"
70
+ ],
71
+ defaultDeciderKind: "EXTERNAL_AUTHORITY",
72
+ appealable: true,
73
+ conflictDisposition: "escalate-not-resolve",
74
+ rationale: "Public-authority recourse defaults to EXTERNAL_AUTHORITY (court, regulator) with dedicated RECOURSE bodies for administrative review; PRINCIPAL remains usable for internal-administration steps before the external chain.",
75
+ references: [
76
+ "REQ-068",
77
+ "REQ-069",
78
+ "REQ-071",
79
+ "DEC-040",
80
+ "DEC-041",
81
+ "DEC-043",
82
+ "DEC-046"
83
+ ]
84
+ })
85
+ });
86
+ export function getRecourseProfile(modelId) {
87
+ if (!Object.hasOwn(H2A_RECOURSE_PROFILES, modelId)) {
88
+ return undefined;
89
+ }
90
+ return H2A_RECOURSE_PROFILES[modelId];
91
+ }
92
+ export function auditRecourseProfile(modelId) {
93
+ const profile = getRecourseProfile(modelId);
94
+ if (!profile) {
95
+ return {
96
+ ok: false,
97
+ adjudicatesDecisions: false,
98
+ issues: [`unknown recourse profile: ${modelId}`],
99
+ unresolved: []
100
+ };
101
+ }
102
+ const issues = [];
103
+ const knownStates = new Set(H2A_RECOURSE_STATES);
104
+ const knownDeciders = new Set(H2A_ESCALATION_AUTHORITY_KINDS);
105
+ const allowedStates = [...profile.allowedStates];
106
+ const stateSeen = new Set(allowedStates);
107
+ const unknownStates = allowedStates.filter((state) => !knownStates.has(state));
108
+ if (unknownStates.length > 0) {
109
+ issues.push(`unknown recourse states: ${unknownStates.join(", ")}`);
110
+ }
111
+ if (stateSeen.size !== allowedStates.length) {
112
+ issues.push("recourse states must not be duplicated");
113
+ }
114
+ if (allowedStates.length === 0) {
115
+ issues.push("recourse profile must declare at least one allowed state");
116
+ }
117
+ if (!stateSeen.has("requested")) {
118
+ issues.push("recourse profile must include the `requested` initial state");
119
+ }
120
+ if (!stateSeen.has("decided") && !stateSeen.has("dismissed")) {
121
+ issues.push("recourse profile must include at least one terminal-or-final state (`decided` or `dismissed`)");
122
+ }
123
+ const allowedDeciderKinds = [...profile.allowedDeciderKinds];
124
+ const deciderSeen = new Set(allowedDeciderKinds);
125
+ const unknownDeciders = allowedDeciderKinds.filter((kind) => !knownDeciders.has(kind));
126
+ if (unknownDeciders.length > 0) {
127
+ issues.push(`unknown recourse decider kinds: ${unknownDeciders.join(", ")}`);
128
+ }
129
+ if (deciderSeen.size !== allowedDeciderKinds.length) {
130
+ issues.push("recourse decider kinds must not be duplicated");
131
+ }
132
+ if (allowedDeciderKinds.length === 0) {
133
+ issues.push("recourse profile must declare at least one allowed decider kind");
134
+ }
135
+ if (!knownDeciders.has(profile.defaultDeciderKind)) {
136
+ issues.push(`unknown default recourse decider kind: ${profile.defaultDeciderKind}`);
137
+ }
138
+ else if (!deciderSeen.has(profile.defaultDeciderKind)) {
139
+ issues.push(`default recourse decider "${profile.defaultDeciderKind}" is not in allowedDeciderKinds`);
140
+ }
141
+ if (profile.appealable && !stateSeen.has("appealed")) {
142
+ issues.push("appealable recourse profile must include the `appealed` state");
143
+ }
144
+ if (profile.conflictDisposition !== "escalate-not-resolve") {
145
+ issues.push(`unsupported recourse conflict disposition: ${profile.conflictDisposition}`);
146
+ }
147
+ return {
148
+ ok: issues.length === 0,
149
+ profileId: profile.modelId,
150
+ allowedStates: profile.allowedStates,
151
+ allowedDeciderKinds: profile.allowedDeciderKinds,
152
+ defaultDeciderKind: profile.defaultDeciderKind,
153
+ appealable: profile.appealable,
154
+ adjudicatesDecisions: false,
155
+ issues,
156
+ unresolved: issues.length === 0
157
+ ? [
158
+ "The profile declares lifecycle states and allowed deciders, but V1 does not adjudicate; the decision itself is produced outside the protocol by the declared authority."
159
+ ]
160
+ : []
161
+ };
162
+ }
163
+ //# sourceMappingURL=recourse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recourse.js","sourceRoot":"","sources":["../src/recourse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { H2AAbcModelId } from "./abc.js";
2
+ export declare const H2A_OBLIGATION_CADENCES: readonly ["daily", "weekly", "monthly", "quarterly", "yearly", "on-event", "ad-hoc"];
3
+ export declare const H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS: readonly ["escalate-not-resolve"];
4
+ export type H2AObligationCadence = (typeof H2A_OBLIGATION_CADENCES)[number];
5
+ export type H2ARecurringObligationConflictDisposition = (typeof H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS)[number];
6
+ export interface H2ARecurringObligationProfileDescriptor {
7
+ readonly modelId: H2AAbcModelId;
8
+ readonly label: string;
9
+ readonly allowedCadences: readonly H2AObligationCadence[];
10
+ readonly defaultCadence: H2AObligationCadence;
11
+ readonly defaultGraceDays: number;
12
+ readonly defaultReportingThresholdDays: number;
13
+ readonly conflictDisposition: H2ARecurringObligationConflictDisposition;
14
+ readonly rationale: string;
15
+ readonly references: readonly string[];
16
+ }
17
+ export interface H2ARecurringObligationAuditResult {
18
+ readonly ok: boolean;
19
+ readonly profileId?: H2AAbcModelId;
20
+ readonly allowedCadences?: readonly H2AObligationCadence[];
21
+ readonly defaultCadence?: H2AObligationCadence;
22
+ readonly defaultGraceDays?: number;
23
+ readonly defaultReportingThresholdDays?: number;
24
+ readonly schedulesExecutions: boolean;
25
+ readonly issues: readonly string[];
26
+ readonly unresolved: readonly string[];
27
+ }
28
+ export declare const H2A_RECURRING_OBLIGATION_PROFILES: Readonly<{
29
+ readonly A_ENTERPRISE: Readonly<{
30
+ modelId: "A_ENTERPRISE";
31
+ label: "A - enterprise hierarchy";
32
+ allowedCadences: readonly ["daily", "weekly", "monthly", "quarterly", "yearly", "on-event"];
33
+ defaultCadence: "monthly";
34
+ defaultGraceDays: 7;
35
+ defaultReportingThresholdDays: 3;
36
+ conflictDisposition: "escalate-not-resolve";
37
+ rationale: "Enterprises run a wide cadence spectrum (operational dailies up to yearly filings); monthly is the V1 default with a short grace window and an internal alert ahead of breach.";
38
+ references: readonly ["REQ-063", "REQ-071", "DEC-041", "DEC-043", "DEC-047"];
39
+ }>;
40
+ readonly B_ECOSYSTEM: Readonly<{
41
+ modelId: "B_ECOSYSTEM";
42
+ label: "B - peer ecosystem";
43
+ allowedCadences: readonly ["monthly", "quarterly", "yearly", "on-event", "ad-hoc"];
44
+ defaultCadence: "quarterly";
45
+ defaultGraceDays: 14;
46
+ defaultReportingThresholdDays: 7;
47
+ conflictDisposition: "escalate-not-resolve";
48
+ rationale: "Cross-organization commitments rarely sub-month; quarterly is the V1 default, with longer grace and earlier alerts to absorb partner-side scheduling.";
49
+ references: readonly ["REQ-063", "REQ-071", "DEC-041", "DEC-043", "DEC-047"];
50
+ }>;
51
+ readonly C_GOVERNMENT_CITIZEN: Readonly<{
52
+ modelId: "C_GOVERNMENT_CITIZEN";
53
+ label: "C - public authority ecosystem";
54
+ allowedCadences: readonly ["monthly", "quarterly", "yearly", "on-event"];
55
+ defaultCadence: "yearly";
56
+ defaultGraceDays: 30;
57
+ defaultReportingThresholdDays: 15;
58
+ conflictDisposition: "escalate-not-resolve";
59
+ rationale: "Citizen/administration obligations are dominated by yearly filings with explicit statutory grace; on-event covers regulatory notifications outside the calendar.";
60
+ references: readonly ["REQ-063", "REQ-071", "DEC-041", "DEC-043", "DEC-047"];
61
+ }>;
62
+ }>;
63
+ export declare function getRecurringObligationProfile(modelId: string): H2ARecurringObligationProfileDescriptor | undefined;
64
+ export declare function auditRecurringObligationProfile(modelId: string): H2ARecurringObligationAuditResult;
65
+ //# sourceMappingURL=recurring-obligations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurring-obligations.d.ts","sourceRoot":"","sources":["../src/recurring-obligations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,uBAAuB,sFAQ1B,CAAC;AAEX,eAAO,MAAM,8CAA8C,mCAEjD,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,yCAAyC,GACnD,CAAC,OAAO,8CAA8C,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC1D,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyEsC,CAAC;AAErF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,GACd,uCAAuC,GAAG,SAAS,CAKrD;AAWD,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,GACd,iCAAiC,CAiFnC"}
@@ -0,0 +1,156 @@
1
+ export const H2A_OBLIGATION_CADENCES = [
2
+ "daily",
3
+ "weekly",
4
+ "monthly",
5
+ "quarterly",
6
+ "yearly",
7
+ "on-event",
8
+ "ad-hoc"
9
+ ];
10
+ export const H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS = [
11
+ "escalate-not-resolve"
12
+ ];
13
+ export const H2A_RECURRING_OBLIGATION_PROFILES = Object.freeze({
14
+ A_ENTERPRISE: Object.freeze({
15
+ modelId: "A_ENTERPRISE",
16
+ label: "A - enterprise hierarchy",
17
+ allowedCadences: [
18
+ "daily",
19
+ "weekly",
20
+ "monthly",
21
+ "quarterly",
22
+ "yearly",
23
+ "on-event"
24
+ ],
25
+ defaultCadence: "monthly",
26
+ defaultGraceDays: 7,
27
+ defaultReportingThresholdDays: 3,
28
+ conflictDisposition: "escalate-not-resolve",
29
+ rationale: "Enterprises run a wide cadence spectrum (operational dailies up to yearly filings); monthly is the V1 default with a short grace window and an internal alert ahead of breach.",
30
+ references: [
31
+ "REQ-063",
32
+ "REQ-071",
33
+ "DEC-041",
34
+ "DEC-043",
35
+ "DEC-047"
36
+ ]
37
+ }),
38
+ B_ECOSYSTEM: Object.freeze({
39
+ modelId: "B_ECOSYSTEM",
40
+ label: "B - peer ecosystem",
41
+ allowedCadences: [
42
+ "monthly",
43
+ "quarterly",
44
+ "yearly",
45
+ "on-event",
46
+ "ad-hoc"
47
+ ],
48
+ defaultCadence: "quarterly",
49
+ defaultGraceDays: 14,
50
+ defaultReportingThresholdDays: 7,
51
+ conflictDisposition: "escalate-not-resolve",
52
+ rationale: "Cross-organization commitments rarely sub-month; quarterly is the V1 default, with longer grace and earlier alerts to absorb partner-side scheduling.",
53
+ references: [
54
+ "REQ-063",
55
+ "REQ-071",
56
+ "DEC-041",
57
+ "DEC-043",
58
+ "DEC-047"
59
+ ]
60
+ }),
61
+ C_GOVERNMENT_CITIZEN: Object.freeze({
62
+ modelId: "C_GOVERNMENT_CITIZEN",
63
+ label: "C - public authority ecosystem",
64
+ allowedCadences: [
65
+ "monthly",
66
+ "quarterly",
67
+ "yearly",
68
+ "on-event"
69
+ ],
70
+ defaultCadence: "yearly",
71
+ defaultGraceDays: 30,
72
+ defaultReportingThresholdDays: 15,
73
+ conflictDisposition: "escalate-not-resolve",
74
+ rationale: "Citizen/administration obligations are dominated by yearly filings with explicit statutory grace; on-event covers regulatory notifications outside the calendar.",
75
+ references: [
76
+ "REQ-063",
77
+ "REQ-071",
78
+ "DEC-041",
79
+ "DEC-043",
80
+ "DEC-047"
81
+ ]
82
+ })
83
+ });
84
+ export function getRecurringObligationProfile(modelId) {
85
+ if (!Object.hasOwn(H2A_RECURRING_OBLIGATION_PROFILES, modelId)) {
86
+ return undefined;
87
+ }
88
+ return H2A_RECURRING_OBLIGATION_PROFILES[modelId];
89
+ }
90
+ function isNonNegativeInteger(value) {
91
+ return (typeof value === "number" &&
92
+ Number.isInteger(value) &&
93
+ value >= 0 &&
94
+ Number.isFinite(value));
95
+ }
96
+ export function auditRecurringObligationProfile(modelId) {
97
+ const profile = getRecurringObligationProfile(modelId);
98
+ if (!profile) {
99
+ return {
100
+ ok: false,
101
+ schedulesExecutions: false,
102
+ issues: [`unknown recurring obligation profile: ${modelId}`],
103
+ unresolved: []
104
+ };
105
+ }
106
+ const issues = [];
107
+ const knownCadences = new Set(H2A_OBLIGATION_CADENCES);
108
+ const allowedCadences = [...profile.allowedCadences];
109
+ const cadenceSeen = new Set(allowedCadences);
110
+ const unknownCadences = allowedCadences.filter((cadence) => !knownCadences.has(cadence));
111
+ if (unknownCadences.length > 0) {
112
+ issues.push(`unknown obligation cadences: ${unknownCadences.join(", ")}`);
113
+ }
114
+ if (cadenceSeen.size !== allowedCadences.length) {
115
+ issues.push("obligation cadences must not be duplicated");
116
+ }
117
+ if (allowedCadences.length === 0) {
118
+ issues.push("recurring obligation profile must declare at least one allowed cadence");
119
+ }
120
+ if (!knownCadences.has(profile.defaultCadence)) {
121
+ issues.push(`unknown default obligation cadence: ${profile.defaultCadence}`);
122
+ }
123
+ else if (!cadenceSeen.has(profile.defaultCadence)) {
124
+ issues.push(`default obligation cadence "${profile.defaultCadence}" is not in allowedCadences`);
125
+ }
126
+ if (!isNonNegativeInteger(profile.defaultGraceDays)) {
127
+ issues.push(`defaultGraceDays must be a non-negative integer, got ${String(profile.defaultGraceDays)}`);
128
+ }
129
+ if (!isNonNegativeInteger(profile.defaultReportingThresholdDays)) {
130
+ issues.push(`defaultReportingThresholdDays must be a non-negative integer, got ${String(profile.defaultReportingThresholdDays)}`);
131
+ }
132
+ if (isNonNegativeInteger(profile.defaultGraceDays) &&
133
+ isNonNegativeInteger(profile.defaultReportingThresholdDays) &&
134
+ profile.defaultReportingThresholdDays > profile.defaultGraceDays) {
135
+ issues.push(`defaultReportingThresholdDays (${profile.defaultReportingThresholdDays}) must not exceed defaultGraceDays (${profile.defaultGraceDays})`);
136
+ }
137
+ if (profile.conflictDisposition !== "escalate-not-resolve") {
138
+ issues.push(`unsupported recurring obligation conflict disposition: ${profile.conflictDisposition}`);
139
+ }
140
+ return {
141
+ ok: issues.length === 0,
142
+ profileId: profile.modelId,
143
+ allowedCadences: profile.allowedCadences,
144
+ defaultCadence: profile.defaultCadence,
145
+ defaultGraceDays: profile.defaultGraceDays,
146
+ defaultReportingThresholdDays: profile.defaultReportingThresholdDays,
147
+ schedulesExecutions: false,
148
+ issues,
149
+ unresolved: issues.length === 0
150
+ ? [
151
+ "The profile declares cadence shape, grace, and reporting thresholds, but V1 does not schedule, fire, or evaluate obligations; runtime tracking stays in the policy layer."
152
+ ]
153
+ : []
154
+ };
155
+ }
156
+ //# sourceMappingURL=recurring-obligations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurring-obligations.js","sourceRoot":"","sources":["../src/recurring-obligations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/h2a",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Core contracts and runtime primitives for human-to-agent coordination.",
5
5
  "license": "MIT",
6
6
  "type": "module",