@ixo/topic-protocol 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/schemas/action-receipt.schema.json +105 -11
- package/dist/schemas/decision-to-pay-template.schema.json +346 -0
- package/dist/schemas/payable-obligation.schema.json +312 -0
- package/dist/schemas/payment-terms.schema.json +287 -0
- package/dist/schemas/topic-action-request.schema.json +30 -0
- package/dist/schemas/topic-contract-state.schema.json +29 -3
- package/dist/schemas/topic-flow-binding.schema.json +28 -0
- package/dist/schemas/topic-kind-profile.schema.json +32 -2
- package/dist/schemas/topic-operation.schema.json +2 -2
- package/dist/src/action-runtime/types.d.ts +101 -0
- package/dist/src/action-runtime/types.js +12 -0
- package/dist/src/action-runtime/types.js.map +1 -0
- package/dist/src/contracts/schemas.d.ts +2608 -463
- package/dist/src/contracts/schemas.js +10 -0
- package/dist/src/contracts/schemas.js.map +1 -1
- package/dist/src/contracts/topic-contract.d.ts +8 -1
- package/dist/src/contracts/topic-contract.js.map +1 -1
- package/dist/src/contracts/topic-kind-profile.d.ts +29 -0
- package/dist/src/contracts/topic-kind-profile.js +31 -0
- package/dist/src/contracts/topic-kind-profile.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/projector/payload.d.ts +18 -0
- package/dist/src/projector/payload.js +57 -1
- package/dist/src/projector/payload.js.map +1 -1
- package/dist/src/projector/state.js +144 -0
- package/dist/src/projector/state.js.map +1 -1
- package/dist/src/projector/types.d.ts +13 -3
- package/dist/src/projector/types.js.map +1 -1
- package/package.json +4 -2
- package/templates/decision-to-pay/README.md +59 -0
- package/templates/decision-to-pay/milestone-payment-release.template.json +195 -0
- package/templates/decision-to-pay/outcome-payment-claim.template.json +198 -0
- package/templates/decision-to-pay/payment-on-delivery.template.json +198 -0
- package/templates/decision-to-pay/verified-work-payment.template.json +283 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/projector/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/projector/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TopicWorkBridgeProjection } from "../work-bridge/types.js";
|
|
2
|
+
import type { ActionReceiptV2, ProjectedTopicAction, TopicActionRequestV1, TopicFlowBindingV1 } from "../action-runtime/types.js";
|
|
2
3
|
export declare const TOPIC_STATUSES: readonly ["draft", "active", "waiting", "blocked", "resolved", "archived", "redirected"];
|
|
3
4
|
export declare const TOPIC_KINDS: readonly ["discussion", "question", "decision", "proposal", "task", "incident", "flow", "agent_task", "evaluation", "claims"];
|
|
4
5
|
export declare const TOPIC_CONTEXT_TYPES: readonly ["ixo.flow", "ixo.resource", "ixo.service", "ixo.authority", "ixo.domain", "ixo.account", "ixo.entity"];
|
|
@@ -6,7 +7,7 @@ export declare const TOPIC_VFS_FILE_PROVIDER = "ixo.vfs";
|
|
|
6
7
|
export type TopicStatus = (typeof TOPIC_STATUSES)[number];
|
|
7
8
|
export type TopicKind = (typeof TOPIC_KINDS)[number];
|
|
8
9
|
export type TopicContextType = (typeof TOPIC_CONTEXT_TYPES)[number];
|
|
9
|
-
export type TopicOperationType = "rename" | "change-status" | "update-overview" | "link-context" | "unlink-context" | "attach-files" | "detach-files" | "record-decision" | "propose-contract" | "update-contract" | "accept-contract" | "supersede-contract" | "bind-automation" | "update-automation" | "pause-automation" | "remove-automation" | "bind-external-work" | "sync-external-work" | "unlink-external-work" | "submit-delivery" | "record-delivery-decision" | "record-evaluation" | "record-approval" | "record-claim" | "record-settlement" | "redirect" | "branch" | "merge" | "resolve-conflict";
|
|
10
|
+
export type TopicOperationType = "rename" | "change-status" | "update-overview" | "link-context" | "unlink-context" | "attach-files" | "detach-files" | "record-decision" | "propose-contract" | "update-contract" | "accept-contract" | "supersede-contract" | "bind-automation" | "update-automation" | "pause-automation" | "remove-automation" | "bind-flow" | "update-flow-binding" | "unbind-flow" | "request-action" | "cancel-action" | "record-action-receipt" | "bind-external-work" | "sync-external-work" | "unlink-external-work" | "submit-delivery" | "record-delivery-decision" | "record-evaluation" | "record-approval" | "record-claim" | "record-settlement" | "redirect" | "branch" | "merge" | "resolve-conflict";
|
|
10
11
|
export interface TopicContext {
|
|
11
12
|
readonly type: string;
|
|
12
13
|
readonly id: string;
|
|
@@ -113,7 +114,14 @@ export type TopicAutomationStatus = "pending" | "active" | "paused" | "failed";
|
|
|
113
114
|
export interface TopicAutomationBinding {
|
|
114
115
|
readonly provider: "temporal";
|
|
115
116
|
readonly scheduleId: string;
|
|
116
|
-
readonly actionId
|
|
117
|
+
readonly actionId?: string;
|
|
118
|
+
readonly target?: {
|
|
119
|
+
readonly kind: "action";
|
|
120
|
+
readonly actionType: string;
|
|
121
|
+
} | {
|
|
122
|
+
readonly kind: "flow";
|
|
123
|
+
readonly bindingId: string;
|
|
124
|
+
};
|
|
117
125
|
readonly recurrence: Readonly<Record<string, unknown>>;
|
|
118
126
|
readonly status: TopicAutomationStatus;
|
|
119
127
|
readonly nextRunAt?: string;
|
|
@@ -151,6 +159,8 @@ export interface TopicProjection {
|
|
|
151
159
|
readonly decisions: readonly TopicDecision[];
|
|
152
160
|
readonly contracts: TopicContractHeads;
|
|
153
161
|
readonly automations: readonly TopicAutomationBinding[];
|
|
162
|
+
readonly flowBindings: readonly TopicFlowBindingV1[];
|
|
163
|
+
readonly actions: readonly ProjectedTopicAction[];
|
|
154
164
|
readonly workBridge: TopicWorkBridgeProjection;
|
|
155
165
|
readonly overview?: ProjectedTopicOverview;
|
|
156
166
|
readonly relations: readonly ProjectedTopicRelation[];
|
|
@@ -165,4 +175,4 @@ export interface ProjectionInput {
|
|
|
165
175
|
readonly operations: readonly TopicOperation[];
|
|
166
176
|
readonly authorize: (operation: TopicOperation) => boolean;
|
|
167
177
|
}
|
|
168
|
-
export {};
|
|
178
|
+
export type { ActionReceiptV2, ProjectedTopicAction, TopicActionRequestV1, TopicFlowBindingV1, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/projector/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/projector/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;IACN,UAAU;IACV,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,QAAQ;CACA,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,cAAc;IACd,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AA+CjD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAyB,CAAC;WACzD,mDAAmD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ixo/topic-protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Reference contracts and deterministic projection for IXO Topics",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
20
20
|
"profiles",
|
|
21
|
+
"templates",
|
|
21
22
|
"README.md"
|
|
22
23
|
],
|
|
23
24
|
"exports": {
|
|
@@ -26,7 +27,8 @@
|
|
|
26
27
|
"import": "./dist/src/index.js"
|
|
27
28
|
},
|
|
28
29
|
"./schemas/*": "./dist/schemas/*",
|
|
29
|
-
"./profiles/*": "./profiles/*"
|
|
30
|
+
"./profiles/*": "./profiles/*",
|
|
31
|
+
"./templates/*": "./templates/*"
|
|
30
32
|
},
|
|
31
33
|
"scripts": {
|
|
32
34
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Decision-to-Pay Topic template pack
|
|
2
|
+
|
|
3
|
+
This directory publishes four draft, machine-readable Topic Templates for
|
|
4
|
+
consequential payment decisions:
|
|
5
|
+
|
|
6
|
+
1. [Verified Work Payment](verified-work-payment.template.json)
|
|
7
|
+
2. [Payment on Delivery](payment-on-delivery.template.json)
|
|
8
|
+
3. [Milestone Payment Release](milestone-payment-release.template.json)
|
|
9
|
+
4. [Outcome Payment Claim](outcome-payment-claim.template.json)
|
|
10
|
+
|
|
11
|
+
The manifests extend the Topic kinds, recipes, and external-work contracts in
|
|
12
|
+
`@ixo/topic-protocol` 0.7.0. Their compatibility block pins the reviewed
|
|
13
|
+
baseline commit and names every additional contract, capability policy, and
|
|
14
|
+
adapter needed by an implementation.
|
|
15
|
+
|
|
16
|
+
## Shared contracts
|
|
17
|
+
|
|
18
|
+
- [`decision-to-pay-template.schema.json`](../../schemas/decision-to-pay-template.schema.json)
|
|
19
|
+
validates each template manifest.
|
|
20
|
+
- [`payment-terms.schema.json`](../../schemas/payment-terms.schema.json) defines
|
|
21
|
+
immutable commercial and control terms for one payable unit.
|
|
22
|
+
- [`payable-obligation.schema.json`](../../schemas/payable-obligation.schema.json)
|
|
23
|
+
defines a payment-case envelope with separate delivery, evaluation, approval,
|
|
24
|
+
claim, and settlement projections.
|
|
25
|
+
- Matching synthetic reference vectors live in [`examples/`](../../examples).
|
|
26
|
+
|
|
27
|
+
## Trust boundary
|
|
28
|
+
|
|
29
|
+
These artifacts are draft contract extensions. They do not grant a capability,
|
|
30
|
+
verify a signature, establish eligibility, approve a claim, or move money.
|
|
31
|
+
Topic Protocol operations and their referenced records remain authoritative for
|
|
32
|
+
delivery, evaluation, approval, claim, and settlement state. A conforming
|
|
33
|
+
runtime must verify DIDs, delegated capabilities, signatures, revocation,
|
|
34
|
+
replay protection, funding, KYC or sanctions requirements, dispute holds,
|
|
35
|
+
trusted time, and payment-rail finality before accepting a settlement receipt.
|
|
36
|
+
|
|
37
|
+
The Payable Obligation is an envelope and index over those separate axes. Its
|
|
38
|
+
`axisProjection` must be derived from referenced protocol records; it is not an
|
|
39
|
+
alternative settlement authority.
|
|
40
|
+
|
|
41
|
+
## Draft and privacy rules
|
|
42
|
+
|
|
43
|
+
- A Topic may begin as an honest Draft with only a title and Kind.
|
|
44
|
+
- Missing intent, owner, outcome, authority, evidence, amount, or deadline must
|
|
45
|
+
remain visibly missing until supplied or accepted.
|
|
46
|
+
- A template names required capabilities but never grants them.
|
|
47
|
+
- Confidential evidence stays in an appropriately scoped encrypted room or a
|
|
48
|
+
UCAN-protected VFS resource. Topic membership does not grant VFS byte access.
|
|
49
|
+
- The example fixtures set `notRealEvidence: true`; zero digests and example
|
|
50
|
+
identifiers must never be treated as verified evidence.
|
|
51
|
+
|
|
52
|
+
## Compatibility notes
|
|
53
|
+
|
|
54
|
+
The Job Card profile and external-work contracts support the strongest path for
|
|
55
|
+
Verified Work Payment. Physical delivery still needs a delivery-order resource
|
|
56
|
+
or profile. The milestone template uses one child Topic per payable milestone,
|
|
57
|
+
so corrections do not become new milestones. Outcome Payment Claim assumes a
|
|
58
|
+
Delivery Packet for the underlying intervention; claims without external work
|
|
59
|
+
need a future generalised obligation handoff.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schemas/decision-to-pay-template.schema.json",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"id": "urn:ixo:decision-to-pay:template:milestone-payment-release",
|
|
5
|
+
"templateVersion": "0.1.0",
|
|
6
|
+
"label": "Milestone Payment Release",
|
|
7
|
+
"description": "Create one governed child Topic for each payable milestone so its terms, handoff, evaluation, claim, settlement, corrections, and disputes remain independently auditable.",
|
|
8
|
+
"maturity": "draft",
|
|
9
|
+
"compatibility": {
|
|
10
|
+
"protocolPackage": "@ixo/topic-protocol",
|
|
11
|
+
"protocolVersion": "0.7.0",
|
|
12
|
+
"sourceCommit": "40d1ce5160757553cd57f670b5b1708a5c0d0ea3",
|
|
13
|
+
"implementationStatus": "draft_contract_extension",
|
|
14
|
+
"requiredExtensions": [
|
|
15
|
+
"org.ixo.payment-terms/v1",
|
|
16
|
+
"org.ixo.payable-obligation/v1",
|
|
17
|
+
"ixo.payment capability policy/v1",
|
|
18
|
+
"payment-rail adapter"
|
|
19
|
+
],
|
|
20
|
+
"constraints": [
|
|
21
|
+
"One child Topic represents one payable milestone; Delivery Packet sequence numbers represent corrections and not additional milestones.",
|
|
22
|
+
"Parent project completion, child milestone acceptance, and payment settlement remain separate statuses."
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"topic": {
|
|
26
|
+
"primaryRole": "payable_milestone",
|
|
27
|
+
"kindRef": {"source": "standard", "kind": "task"},
|
|
28
|
+
"recipe": "project",
|
|
29
|
+
"workingMode": "client",
|
|
30
|
+
"temporalMode": "finite",
|
|
31
|
+
"acceptance": {
|
|
32
|
+
"requiredTopicContractPaths": [
|
|
33
|
+
"/intent/text",
|
|
34
|
+
"/outcome/statement/text",
|
|
35
|
+
"/outcome/successCriteria",
|
|
36
|
+
"/ownerId",
|
|
37
|
+
"/completion/definition",
|
|
38
|
+
"/completion/acceptanceAuthorityIds"
|
|
39
|
+
],
|
|
40
|
+
"allowHonestDraft": true
|
|
41
|
+
},
|
|
42
|
+
"lifecyclePolicy": {
|
|
43
|
+
"separateTopicContractOutcomeAxes": true,
|
|
44
|
+
"waitingRule": "A milestone Topic may wait on dependencies, delivery correction, evaluation, approval, claim, or settlement without changing the parent project outcome.",
|
|
45
|
+
"resolveRule": "Resolve the milestone under its own accepted closure rule; never infer parent project completion from one paid child."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"topology": {
|
|
49
|
+
"requiresParentTopic": true,
|
|
50
|
+
"parentBaseKind": "task",
|
|
51
|
+
"relation": "branches_from",
|
|
52
|
+
"onePayableUnitPerTopic": true
|
|
53
|
+
},
|
|
54
|
+
"actors": [
|
|
55
|
+
{"role": "payer", "label": "Project client or payer", "required": true, "identity": "did", "capabilities": ["ixo.payment/accept-terms"]},
|
|
56
|
+
{"role": "milestone_owner", "label": "Milestone owner and claimant", "required": true, "identity": "did", "capabilities": ["topic/write", "ixo.payment/submit-delivery", "ixo.payment/record-claim"]},
|
|
57
|
+
{"role": "milestone_acceptor", "label": "Milestone acceptance authority", "required": true, "identity": "did", "capabilities": ["ixo.payment/accept-delivery"]},
|
|
58
|
+
{"role": "evaluator", "label": "Milestone evaluator", "required": true, "identity": "did", "capabilities": ["ixo.payment/evaluate"]},
|
|
59
|
+
{"role": "payment_approver", "label": "Payment approval authority", "required": true, "identity": "did", "capabilities": ["ixo.payment/approve"]},
|
|
60
|
+
{"role": "settlement_controller", "label": "Settlement controller", "required": true, "identity": "did", "capabilities": ["ixo.payment/record-settlement"]}
|
|
61
|
+
],
|
|
62
|
+
"resources": [
|
|
63
|
+
{"role": "parent_topic", "type": "ixo.topic", "required": true, "binding": "external_reference", "authority": "topic_contract", "availability": "topic_protocol_0.7", "confidentiality": "room_encrypted", "notes": "Linked by an append-only Topic relation; the parent does not own this child's payment state."},
|
|
64
|
+
{"role": "payment_terms", "type": "org.ixo.payment-terms", "required": true, "binding": "typed_context", "authority": "bound_resource", "availability": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payment-terms.schema.json", "confidentiality": "vfs_ucan"},
|
|
65
|
+
{"role": "payable_obligation", "type": "org.ixo.payable-obligation", "required": true, "binding": "typed_context", "authority": "bound_resource", "availability": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payable-obligation.schema.json", "confidentiality": "room_encrypted"},
|
|
66
|
+
{"role": "external_work", "type": "ixo.external-work-binding", "required": true, "binding": "protocol_record", "authority": "external_system", "availability": "topic_protocol_0.7", "schemaRef": "https://topic-protocol.ixo.world/schemas/external-work-binding.schema.json", "confidentiality": "room_encrypted"},
|
|
67
|
+
{"role": "milestone_evidence", "type": "ixo.vfs", "required": true, "binding": "vfs_attachment", "authority": "bound_resource", "availability": "topic_protocol_0.7", "schemaRef": "https://topic-protocol.ixo.world/schemas/topic-file-attachment.schema.json", "confidentiality": "vfs_ucan"}
|
|
68
|
+
],
|
|
69
|
+
"protocolContracts": [
|
|
70
|
+
{"name": "topic-contract-state", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/topic-contract-state.schema.json", "required": true},
|
|
71
|
+
{"name": "external-work-binding", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/external-work-binding.schema.json", "required": true},
|
|
72
|
+
{"name": "delivery-packet", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/delivery-packet.schema.json", "required": true},
|
|
73
|
+
{"name": "delivery-decision", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/delivery-decision.schema.json", "required": true},
|
|
74
|
+
{"name": "evaluation-assertion", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/evaluation-assertion.schema.json", "required": true},
|
|
75
|
+
{"name": "approval-decision", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/approval-decision.schema.json", "required": true},
|
|
76
|
+
{"name": "claim-record", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/claim-record.schema.json", "required": true},
|
|
77
|
+
{"name": "settlement-receipt", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/settlement-receipt.schema.json", "required": true},
|
|
78
|
+
{"name": "payment-terms", "source": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payment-terms.schema.json", "required": true},
|
|
79
|
+
{"name": "payable-obligation", "source": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payable-obligation.schema.json", "required": true}
|
|
80
|
+
],
|
|
81
|
+
"operations": [
|
|
82
|
+
"branch",
|
|
83
|
+
"propose-contract",
|
|
84
|
+
"update-contract",
|
|
85
|
+
"accept-contract",
|
|
86
|
+
"supersede-contract",
|
|
87
|
+
"bind-external-work",
|
|
88
|
+
"sync-external-work",
|
|
89
|
+
"submit-delivery",
|
|
90
|
+
"record-delivery-decision",
|
|
91
|
+
"record-evaluation",
|
|
92
|
+
"record-approval",
|
|
93
|
+
"record-claim",
|
|
94
|
+
"record-settlement",
|
|
95
|
+
"change-status",
|
|
96
|
+
"resolve-conflict"
|
|
97
|
+
],
|
|
98
|
+
"gates": [
|
|
99
|
+
{
|
|
100
|
+
"id": "milestone-terms-accepted",
|
|
101
|
+
"stage": "terms",
|
|
102
|
+
"description": "The child Topic must pin one milestone, one amount rule, dependencies, evidence, acceptance authority, and payment timing.",
|
|
103
|
+
"all": [
|
|
104
|
+
{"contract": "topic-contract-state", "path": "/contracts/effective/body/status", "operator": "equals", "value": "accepted"},
|
|
105
|
+
{"contract": "payment-terms", "path": "/calculation/model", "operator": "equals", "value": "milestone"},
|
|
106
|
+
{"contract": "payment-terms", "path": "/status", "operator": "equals", "value": "accepted"}
|
|
107
|
+
],
|
|
108
|
+
"onFailure": "block"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "milestone-delivery-submitted",
|
|
112
|
+
"stage": "delivery",
|
|
113
|
+
"description": "The Delivery Packet must bind only this milestone's accepted contract, work snapshot, deliverables, and evidence.",
|
|
114
|
+
"all": [
|
|
115
|
+
{"contract": "delivery-packet", "path": "/status", "operator": "equals", "value": "submitted"},
|
|
116
|
+
{"contract": "delivery-packet", "path": "/contract/digest", "operator": "digest_matches", "value": "effective_child_contract"},
|
|
117
|
+
{"contract": "delivery-packet", "path": "/paymentTerms/digest", "operator": "digest_matches", "value": "accepted_milestone_terms"}
|
|
118
|
+
],
|
|
119
|
+
"onFailure": "return_for_changes"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "milestone-accepted",
|
|
123
|
+
"stage": "delivery",
|
|
124
|
+
"description": "The authorised acceptance decision must accept the current packet under the child's completion criteria.",
|
|
125
|
+
"all": [
|
|
126
|
+
{"contract": "delivery-decision", "path": "/decision", "operator": "equals", "value": "accepted"},
|
|
127
|
+
{"contract": "delivery-decision", "path": "/deliveryPacketDigest", "operator": "digest_matches", "value": "current_delivery_packet"}
|
|
128
|
+
],
|
|
129
|
+
"onFailure": "return_for_changes"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "milestone-evaluation-supported",
|
|
133
|
+
"stage": "evaluation",
|
|
134
|
+
"description": "Every required success criterion must be supported by the approved milestone rubric.",
|
|
135
|
+
"all": [
|
|
136
|
+
{"contract": "evaluation-assertion", "path": "/outcome", "operator": "all_equal", "value": "supported"},
|
|
137
|
+
{"contract": "evaluation-assertion", "path": "/rubric/governanceStatus", "operator": "all_equal", "value": "approved"}
|
|
138
|
+
],
|
|
139
|
+
"onFailure": "human_review"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"id": "milestone-payment-approved",
|
|
143
|
+
"stage": "approval",
|
|
144
|
+
"description": "Approval must reference the exact child packet and supported evaluation set.",
|
|
145
|
+
"all": [
|
|
146
|
+
{"contract": "approval-decision", "path": "/decision", "operator": "equals", "value": "approved"},
|
|
147
|
+
{"contract": "approval-decision", "path": "/evaluationIds", "operator": "all_equal", "value": "settlement_evaluation_ids"}
|
|
148
|
+
],
|
|
149
|
+
"onFailure": "block"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "milestone-claim-approved",
|
|
153
|
+
"stage": "claim",
|
|
154
|
+
"description": "The claim must be approved for this milestone's exact amount, asset, and recipient.",
|
|
155
|
+
"all": [
|
|
156
|
+
{"contract": "claim-record", "path": "/status", "operator": "equals", "value": "approved"},
|
|
157
|
+
{"contract": "claim-record", "path": "/requested", "operator": "digest_matches", "value": "payable_obligation_requested"}
|
|
158
|
+
],
|
|
159
|
+
"onFailure": "block"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "milestone-settlement-clear",
|
|
163
|
+
"stage": "settlement",
|
|
164
|
+
"description": "Dependencies, disputes, funding, identity, and replay checks must pass for this child Topic only.",
|
|
165
|
+
"all": [
|
|
166
|
+
{"contract": "operator-verification", "path": "/dependencies", "operator": "equals", "value": "satisfied"},
|
|
167
|
+
{"contract": "operator-verification", "path": "/disputeHold", "operator": "equals", "value": false},
|
|
168
|
+
{"contract": "operator-verification", "path": "/funding", "operator": "equals", "value": "passed"},
|
|
169
|
+
{"contract": "operator-verification", "path": "/idempotencyKey", "operator": "exists"}
|
|
170
|
+
],
|
|
171
|
+
"onFailure": "block"
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"settlement": {
|
|
175
|
+
"movesFunds": false,
|
|
176
|
+
"requiresExternalAdapter": true,
|
|
177
|
+
"failClosed": true,
|
|
178
|
+
"requiredAxes": ["delivery", "evaluation", "approval", "claim", "settlement"],
|
|
179
|
+
"exactMatchFields": ["topicId", "deliveryPacketId", "deliveryPacketDigest", "evaluationIds", "approvalId", "claimId", "amount", "asset", "recipient"],
|
|
180
|
+
"terminalState": "confirmed"
|
|
181
|
+
},
|
|
182
|
+
"privacy": {
|
|
183
|
+
"topicIsConfidentialityBoundary": false,
|
|
184
|
+
"topicCapabilityGrantsVfsAccess": false,
|
|
185
|
+
"sensitiveResourceStorage": "encrypted_room_or_ucan_vfs",
|
|
186
|
+
"minimumRoomVisibleFields": ["milestone label", "milestone phase", "target date"]
|
|
187
|
+
},
|
|
188
|
+
"acceptanceCriteria": [
|
|
189
|
+
{"id": "one-payable-unit", "statement": "Each child Topic contains exactly one payable milestone and one Payment Terms resource."},
|
|
190
|
+
{"id": "correction-not-milestone", "statement": "A corrected handoff supersedes the prior Delivery Packet and never creates a second payable milestone."},
|
|
191
|
+
{"id": "parent-child-separation", "statement": "Parent project, child milestone, claim, and settlement states remain independently visible."},
|
|
192
|
+
{"id": "dependency-gate", "statement": "Unmet accepted dependencies block payment without fabricating milestone failure."},
|
|
193
|
+
{"id": "exact-amount", "statement": "The claim and settlement must exactly match the accepted milestone amount, asset, and recipient."}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schemas/decision-to-pay-template.schema.json",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"id": "urn:ixo:decision-to-pay:template:outcome-payment-claim",
|
|
5
|
+
"templateVersion": "0.1.0",
|
|
6
|
+
"label": "Outcome Payment Claim",
|
|
7
|
+
"description": "Adjudicate a payment claim against a pinned outcome contract, approved methodology, immutable intervention handoff, admissible evidence, and authorised evaluation and approval records.",
|
|
8
|
+
"maturity": "draft",
|
|
9
|
+
"compatibility": {
|
|
10
|
+
"protocolPackage": "@ixo/topic-protocol",
|
|
11
|
+
"protocolVersion": "0.7.0",
|
|
12
|
+
"sourceCommit": "40d1ce5160757553cd57f670b5b1708a5c0d0ea3",
|
|
13
|
+
"implementationStatus": "draft_contract_extension",
|
|
14
|
+
"requiredExtensions": [
|
|
15
|
+
"org.ixo.payment-terms/v1",
|
|
16
|
+
"org.ixo.payable-obligation/v1",
|
|
17
|
+
"ixo.payment capability policy/v1",
|
|
18
|
+
"outcome contract or deed resource",
|
|
19
|
+
"evaluation runtime and oracle adapter",
|
|
20
|
+
"claims authority adapter",
|
|
21
|
+
"payment-rail adapter"
|
|
22
|
+
],
|
|
23
|
+
"constraints": [
|
|
24
|
+
"The template assumes an immutable Delivery Packet for the intervention or service that produced the claimed result.",
|
|
25
|
+
"Outcome claims without external work require a future generalized obligation handoff and cannot bypass the current settlement gate.",
|
|
26
|
+
"A supported evaluation is evidence for approval and is never itself payment authority."
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"topic": {
|
|
30
|
+
"primaryRole": "payment_claim",
|
|
31
|
+
"kindRef": {"source": "standard", "kind": "claims"},
|
|
32
|
+
"recipe": "claims",
|
|
33
|
+
"workingMode": "client",
|
|
34
|
+
"temporalMode": "finite",
|
|
35
|
+
"acceptance": {
|
|
36
|
+
"requiredTopicContractPaths": [
|
|
37
|
+
"/intent/text",
|
|
38
|
+
"/outcome/statement/text",
|
|
39
|
+
"/completion/definition",
|
|
40
|
+
"/completion/acceptanceAuthorityIds",
|
|
41
|
+
"/attachments/0"
|
|
42
|
+
],
|
|
43
|
+
"allowHonestDraft": true
|
|
44
|
+
},
|
|
45
|
+
"lifecyclePolicy": {
|
|
46
|
+
"separateTopicContractOutcomeAxes": true,
|
|
47
|
+
"waitingRule": "The Claims Topic may wait on admissible evidence, evaluator availability, manual review, dispute resolution, claim authority, funding, or payment finality.",
|
|
48
|
+
"resolveRule": "Resolve only under the accepted claim-closure rule; a supported outcome, approved claim, and confirmed settlement remain separate facts."
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"actors": [
|
|
52
|
+
{"role": "payer", "label": "Outcome payer or funder", "required": true, "identity": "did", "capabilities": ["ixo.payment/accept-terms"]},
|
|
53
|
+
{"role": "claimant", "label": "Outcome provider and claimant", "required": true, "identity": "did", "capabilities": ["ixo.payment/record-claim"]},
|
|
54
|
+
{"role": "evaluator", "label": "Independent evaluator or oracle", "required": true, "identity": "did", "capabilities": ["ixo.payment/evaluate"], "constraints": ["Must bind the exact approved rubric, evidence digests, trace digests, delivery packet, and capability."]},
|
|
55
|
+
{"role": "approval_authority", "label": "Outcome payment approval authority", "required": true, "identity": "did", "capabilities": ["ixo.payment/approve"]},
|
|
56
|
+
{"role": "claims_authority", "label": "External claims authority", "required": true, "identity": "did", "capabilities": ["ixo.payment/record-claim"]},
|
|
57
|
+
{"role": "settlement_controller", "label": "Settlement controller", "required": true, "identity": "did", "capabilities": ["ixo.payment/record-settlement"]},
|
|
58
|
+
{"role": "beneficiary_representative", "label": "Beneficiary or affected-party representative", "required": false, "identity": "did", "capabilities": ["topic/read"]}
|
|
59
|
+
],
|
|
60
|
+
"resources": [
|
|
61
|
+
{"role": "outcome_contract", "type": "ixo.outcome-contract", "required": true, "binding": "vfs_attachment", "authority": "bound_resource", "availability": "external", "confidentiality": "vfs_ucan", "notes": "Must pin the result definition, population or asset scope, baseline, measurement window, methodology, pricing rule, dispute rights, and authority."},
|
|
62
|
+
{"role": "claim_collection", "type": "ixo.claim-collection", "required": true, "binding": "vfs_attachment", "authority": "external_system", "availability": "external", "confidentiality": "vfs_ucan"},
|
|
63
|
+
{"role": "payment_terms", "type": "org.ixo.payment-terms", "required": true, "binding": "typed_context", "authority": "bound_resource", "availability": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payment-terms.schema.json", "confidentiality": "vfs_ucan"},
|
|
64
|
+
{"role": "payable_obligation", "type": "org.ixo.payable-obligation", "required": true, "binding": "typed_context", "authority": "bound_resource", "availability": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payable-obligation.schema.json", "confidentiality": "room_encrypted"},
|
|
65
|
+
{"role": "intervention_delivery", "type": "ixo.delivery-packet", "required": true, "binding": "protocol_record", "authority": "protocol_record", "availability": "topic_protocol_0.7", "schemaRef": "https://topic-protocol.ixo.world/schemas/delivery-packet.schema.json", "confidentiality": "room_encrypted"},
|
|
66
|
+
{"role": "outcome_evidence", "type": "ixo.vfs", "required": true, "binding": "vfs_attachment", "authority": "bound_resource", "availability": "topic_protocol_0.7", "schemaRef": "https://topic-protocol.ixo.world/schemas/topic-file-attachment.schema.json", "confidentiality": "vfs_ucan"},
|
|
67
|
+
{"role": "approved_rubric", "type": "ixo.evaluation-rubric", "required": true, "binding": "external_reference", "authority": "bound_resource", "availability": "external", "confidentiality": "vfs_ucan"}
|
|
68
|
+
],
|
|
69
|
+
"protocolContracts": [
|
|
70
|
+
{"name": "topic-contract-state", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/topic-contract-state.schema.json", "required": true},
|
|
71
|
+
{"name": "delivery-packet", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/delivery-packet.schema.json", "required": true},
|
|
72
|
+
{"name": "delivery-decision", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/delivery-decision.schema.json", "required": true},
|
|
73
|
+
{"name": "evaluation-assertion", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/evaluation-assertion.schema.json", "required": true},
|
|
74
|
+
{"name": "approval-decision", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/approval-decision.schema.json", "required": true},
|
|
75
|
+
{"name": "claim-record", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/claim-record.schema.json", "required": true},
|
|
76
|
+
{"name": "settlement-receipt", "source": "topic_protocol", "schemaRef": "https://topic-protocol.ixo.world/schemas/settlement-receipt.schema.json", "required": true},
|
|
77
|
+
{"name": "payment-terms", "source": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payment-terms.schema.json", "required": true},
|
|
78
|
+
{"name": "payable-obligation", "source": "contract_pack", "schemaRef": "https://topic-protocol.ixo.world/schemas/payable-obligation.schema.json", "required": true}
|
|
79
|
+
],
|
|
80
|
+
"operations": [
|
|
81
|
+
"propose-contract",
|
|
82
|
+
"update-contract",
|
|
83
|
+
"accept-contract",
|
|
84
|
+
"supersede-contract",
|
|
85
|
+
"submit-delivery",
|
|
86
|
+
"record-delivery-decision",
|
|
87
|
+
"record-evaluation",
|
|
88
|
+
"record-approval",
|
|
89
|
+
"record-claim",
|
|
90
|
+
"record-settlement",
|
|
91
|
+
"record-decision",
|
|
92
|
+
"change-status",
|
|
93
|
+
"resolve-conflict"
|
|
94
|
+
],
|
|
95
|
+
"gates": [
|
|
96
|
+
{
|
|
97
|
+
"id": "outcome-terms-accepted",
|
|
98
|
+
"stage": "terms",
|
|
99
|
+
"description": "The claim must pin an accepted outcome contract, methodology, pricing rule, claim collection, payment terms, and authority model.",
|
|
100
|
+
"all": [
|
|
101
|
+
{"contract": "topic-contract-state", "path": "/contracts/effective/body/status", "operator": "equals", "value": "accepted"},
|
|
102
|
+
{"contract": "payment-terms", "path": "/status", "operator": "equals", "value": "accepted"},
|
|
103
|
+
{"contract": "payment-terms", "path": "/calculation/model", "operator": "equals", "value": "outcome"}
|
|
104
|
+
],
|
|
105
|
+
"onFailure": "block"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "intervention-handoff-accepted",
|
|
109
|
+
"stage": "delivery",
|
|
110
|
+
"description": "The claimed result must bind an accepted immutable intervention or service handoff.",
|
|
111
|
+
"all": [
|
|
112
|
+
{"contract": "delivery-packet", "path": "/status", "operator": "equals", "value": "submitted"},
|
|
113
|
+
{"contract": "delivery-decision", "path": "/decision", "operator": "equals", "value": "accepted"},
|
|
114
|
+
{"contract": "delivery-decision", "path": "/deliveryPacketDigest", "operator": "digest_matches", "value": "claim_delivery_packet"}
|
|
115
|
+
],
|
|
116
|
+
"onFailure": "block"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"id": "outcome-evidence-admissible",
|
|
120
|
+
"stage": "evaluation",
|
|
121
|
+
"description": "Evidence provenance, methodology version, measurement window, population or asset scope, and evaluator authority must pass before determination.",
|
|
122
|
+
"all": [
|
|
123
|
+
{"contract": "evaluation-assertion", "path": "/rubric/governanceStatus", "operator": "all_equal", "value": "approved"},
|
|
124
|
+
{"contract": "evaluation-assertion", "path": "/evidenceDigests", "operator": "min_count", "value": 1},
|
|
125
|
+
{"contract": "operator-verification", "path": "/evidenceAdmissibility", "operator": "equals", "value": "passed"},
|
|
126
|
+
{"contract": "operator-verification", "path": "/evaluatorCapability", "operator": "equals", "value": "valid"}
|
|
127
|
+
],
|
|
128
|
+
"onFailure": "human_review"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "outcome-supported",
|
|
132
|
+
"stage": "evaluation",
|
|
133
|
+
"description": "Every settlement-referenced evaluation must support the exact claim; non-terminal or contested outcomes cannot pay.",
|
|
134
|
+
"all": [
|
|
135
|
+
{"contract": "evaluation-assertion", "path": "/outcome", "operator": "all_equal", "value": "supported"},
|
|
136
|
+
{"contract": "evaluation-assertion", "path": "/deliveryPacketDigest", "operator": "all_equal", "value": "claim_delivery_packet_digest"}
|
|
137
|
+
],
|
|
138
|
+
"onFailure": "human_review"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "outcome-payment-approved",
|
|
142
|
+
"stage": "approval",
|
|
143
|
+
"description": "Approval must apply the pinned policy to the exact packet and evaluation set.",
|
|
144
|
+
"all": [
|
|
145
|
+
{"contract": "approval-decision", "path": "/decision", "operator": "equals", "value": "approved"},
|
|
146
|
+
{"contract": "approval-decision", "path": "/evaluationIds", "operator": "all_equal", "value": "settlement_evaluation_ids"}
|
|
147
|
+
],
|
|
148
|
+
"onFailure": "block"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "outcome-claim-approved",
|
|
152
|
+
"stage": "claim",
|
|
153
|
+
"description": "The external claims authority must approve the current claim for the calculated amount, asset, and recipient.",
|
|
154
|
+
"all": [
|
|
155
|
+
{"contract": "claim-record", "path": "/status", "operator": "equals", "value": "approved"},
|
|
156
|
+
{"contract": "claim-record", "path": "/requested", "operator": "digest_matches", "value": "payable_obligation_requested"},
|
|
157
|
+
{"contract": "claim-record", "path": "/evaluationIds", "operator": "all_equal", "value": "approval_evaluation_ids"}
|
|
158
|
+
],
|
|
159
|
+
"onFailure": "block"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "outcome-settlement-clear",
|
|
163
|
+
"stage": "settlement",
|
|
164
|
+
"description": "Identity, eligibility, funding, dispute, trusted-time, revocation, and replay checks must pass before the receipt is admitted.",
|
|
165
|
+
"all": [
|
|
166
|
+
{"contract": "operator-verification", "path": "/identity", "operator": "equals", "value": "passed"},
|
|
167
|
+
{"contract": "operator-verification", "path": "/eligibility", "operator": "equals", "value": "passed"},
|
|
168
|
+
{"contract": "operator-verification", "path": "/funding", "operator": "equals", "value": "passed"},
|
|
169
|
+
{"contract": "operator-verification", "path": "/disputeHold", "operator": "equals", "value": false},
|
|
170
|
+
{"contract": "operator-verification", "path": "/revocation", "operator": "equals", "value": "clear"},
|
|
171
|
+
{"contract": "operator-verification", "path": "/idempotencyKey", "operator": "exists"}
|
|
172
|
+
],
|
|
173
|
+
"onFailure": "block"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"settlement": {
|
|
177
|
+
"movesFunds": false,
|
|
178
|
+
"requiresExternalAdapter": true,
|
|
179
|
+
"failClosed": true,
|
|
180
|
+
"requiredAxes": ["delivery", "evaluation", "approval", "claim", "settlement"],
|
|
181
|
+
"exactMatchFields": ["topicId", "deliveryPacketId", "deliveryPacketDigest", "evaluationIds", "approvalId", "claimId", "amount", "asset", "recipient"],
|
|
182
|
+
"terminalState": "confirmed"
|
|
183
|
+
},
|
|
184
|
+
"privacy": {
|
|
185
|
+
"topicIsConfidentialityBoundary": false,
|
|
186
|
+
"topicCapabilityGrantsVfsAccess": false,
|
|
187
|
+
"sensitiveResourceStorage": "encrypted_room_or_ucan_vfs",
|
|
188
|
+
"minimumRoomVisibleFields": ["claim reference", "claim status", "evaluation status", "settlement status"]
|
|
189
|
+
},
|
|
190
|
+
"acceptanceCriteria": [
|
|
191
|
+
{"id": "honest-draft", "statement": "A Claims Draft may begin without fabricating outcome, methodology, evidence, amount, claimant, or authority."},
|
|
192
|
+
{"id": "methodology-pinned", "statement": "The evaluation references an approved immutable rubric and exact evidence and trace digests."},
|
|
193
|
+
{"id": "non-terminal-blocked", "statement": "Refuted, insufficient-evidence, human-review, disputed, or superseded evaluations cannot support settlement."},
|
|
194
|
+
{"id": "approval-is-separate", "statement": "A supported evaluation cannot directly approve a claim or move funds."},
|
|
195
|
+
{"id": "claim-state-retained", "statement": "Claim updates retain packet, evaluation, approval, claimant, requested amount, asset, recipient, source, and replay key."},
|
|
196
|
+
{"id": "operator-gates", "statement": "Funding, identity, eligibility, revocation, disputes, trusted time, idempotency, and finality are verified by deployed adapters before settlement confirmation."}
|
|
197
|
+
]
|
|
198
|
+
}
|