@echopath-labs/forgerail 0.1.0-alpha.1 → 0.1.0-alpha.2

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.
Files changed (142) hide show
  1. package/.codex-plugin/plugin.json +7 -3
  2. package/CHANGELOG.md +8 -0
  3. package/PLUGIN.md +2 -1
  4. package/PRIVACY.md +15 -0
  5. package/README.md +14 -2
  6. package/README.zh-CN.md +13 -2
  7. package/TERMS.md +19 -0
  8. package/adapters/codex.json +1 -1
  9. package/assets/forgerail-icon.svg +6 -0
  10. package/assets/forgerail-logo.svg +7 -0
  11. package/contracts/authority-evidence-v1.schema.json +48 -0
  12. package/contracts/cross-workspace-pack-composition-v1.schema.json +241 -0
  13. package/contracts/effective-profile-v2.schema.json +113 -0
  14. package/contracts/entry-mode-v1.schema.json +20 -0
  15. package/contracts/evidence-identity-v1.schema.json +48 -0
  16. package/contracts/execution-context-identity-v1.schema.json +76 -0
  17. package/contracts/gate-result-v1.schema.json +32 -0
  18. package/contracts/governance-source-v1.schema.json +30 -0
  19. package/contracts/host-adapter-observation-v1.schema.json +61 -0
  20. package/contracts/limited-reason-v1.schema.json +46 -0
  21. package/contracts/operation-authority-requirement-v1.schema.json +43 -0
  22. package/contracts/operation-grant-v1.schema.json +83 -0
  23. package/contracts/phase-slice-correlation-v1.schema.json +20 -0
  24. package/contracts/profile-explanation-v1.schema.json +91 -0
  25. package/contracts/provider-adapter-observation-v1.schema.json +87 -0
  26. package/contracts/return-receipt-v2.schema.json +55 -0
  27. package/contracts/review-authority-requirement-v1.schema.json +117 -0
  28. package/contracts/rollback-envelope-lineage-v1.schema.json +46 -0
  29. package/contracts/rule-claim-v1.schema.json +34 -0
  30. package/contracts/source-dependency-edge-v1.schema.json +37 -0
  31. package/contracts/task-control-revision-v1.schema.json +39 -0
  32. package/contracts/task-envelope-v2.schema.json +67 -0
  33. package/contracts/validation-result-v1.schema.json +57 -0
  34. package/contracts/validation-topology-v1.schema.json +55 -0
  35. package/contracts/workspace-identity-v1.schema.json +28 -0
  36. package/contracts/workspace-relationship-v1.schema.json +31 -0
  37. package/directory/README.md +23 -0
  38. package/directory/evaluations.json +78 -0
  39. package/directory/release-notes-alpha2.md +7 -0
  40. package/directory/submission-candidate.json +80 -0
  41. package/docs/composable-autonomy.zh-CN.md +183 -0
  42. package/docs/control-authority-validation-contracts.md +36 -0
  43. package/docs/control-authority-validation-contracts.zh-CN.md +36 -0
  44. package/docs/control-profile-contracts.md +35 -0
  45. package/docs/control-profile-contracts.zh-CN.md +35 -0
  46. package/docs/control-system-fixture-matrix.md +30 -0
  47. package/docs/control-system-fixture-matrix.zh-CN.md +30 -0
  48. package/docs/control-task-contracts.md +39 -0
  49. package/docs/control-task-contracts.zh-CN.md +39 -0
  50. package/docs/cross-workspace-pack-composition-contract.md +31 -0
  51. package/docs/cross-workspace-pack-composition-contract.zh-CN.md +31 -0
  52. package/docs/installation.md +9 -3
  53. package/docs/installation.zh-CN.md +9 -3
  54. package/docs/release-alpha2.md +21 -0
  55. package/docs/release-alpha2.zh-CN.md +21 -0
  56. package/package.json +9 -3
  57. package/packs/architecture-convergence-audit.json +30 -0
  58. package/scripts/build-universal-directory-candidate.mjs +72 -0
  59. package/scripts/disposable-consumer.mjs +1 -1
  60. package/scripts/fixtures/contracts/authority-evidence.revoked-without-invalidation.invalid.json +22 -0
  61. package/scripts/fixtures/contracts/authority-evidence.revoked.valid.json +32 -0
  62. package/scripts/fixtures/contracts/authority-evidence.valid.json +22 -0
  63. package/scripts/fixtures/contracts/capability-pack.missing-entry.invalid.json +14 -0
  64. package/scripts/fixtures/contracts/capability-pack.valid.json +15 -0
  65. package/scripts/fixtures/contracts/cross-workspace-pack-composition.authority-collapse.invalid.json +156 -0
  66. package/scripts/fixtures/contracts/cross-workspace-pack-composition.false-closure.invalid.json +138 -0
  67. package/scripts/fixtures/contracts/cross-workspace-pack-composition.valid.json +156 -0
  68. package/scripts/fixtures/contracts/effective-profile-v2.optional-unavailable-degraded.valid.json +36 -0
  69. package/scripts/fixtures/contracts/effective-profile-v2.required-unavailable-degraded.invalid.json +36 -0
  70. package/scripts/fixtures/contracts/effective-profile-v2.unresolved-claim-false-complete.invalid.json +34 -0
  71. package/scripts/fixtures/contracts/effective-profile-v2.valid.json +53 -0
  72. package/scripts/fixtures/contracts/effective-profile.duplicate-rule.invalid.json +23 -0
  73. package/scripts/fixtures/contracts/entry-mode.missing-evidence.invalid.json +6 -0
  74. package/scripts/fixtures/contracts/entry-mode.valid.json +6 -0
  75. package/scripts/fixtures/contracts/evidence-identity.unavailable-without-reason.invalid.json +21 -0
  76. package/scripts/fixtures/contracts/evidence-identity.valid.json +21 -0
  77. package/scripts/fixtures/contracts/execution-context-identity.unavailable-without-reason.invalid.json +31 -0
  78. package/scripts/fixtures/contracts/execution-context-identity.valid.json +31 -0
  79. package/scripts/fixtures/contracts/gate-result.satisfied-without-evidence.invalid.json +14 -0
  80. package/scripts/fixtures/contracts/gate-result.valid.json +14 -0
  81. package/scripts/fixtures/contracts/governance-source.unavailable-without-reason.invalid.json +16 -0
  82. package/scripts/fixtures/contracts/governance-source.valid.json +16 -0
  83. package/scripts/fixtures/contracts/host-adapter-observation.claims-authorization.invalid.json +23 -0
  84. package/scripts/fixtures/contracts/host-adapter-observation.valid.json +39 -0
  85. package/scripts/fixtures/contracts/host-adapter.codex.valid.json +1 -1
  86. package/scripts/fixtures/contracts/host-adapter.false-supported.invalid.json +14 -0
  87. package/scripts/fixtures/contracts/host-binding-receipt.valid.json +1 -1
  88. package/scripts/fixtures/contracts/launch-contract.execution-owner.invalid.json +19 -0
  89. package/scripts/fixtures/contracts/limited-reason.unbounded.invalid.json +11 -0
  90. package/scripts/fixtures/contracts/limited-reason.valid.json +11 -0
  91. package/scripts/fixtures/contracts/operation-authority-requirement.no-issuer.invalid.json +22 -0
  92. package/scripts/fixtures/contracts/operation-authority-requirement.valid.json +22 -0
  93. package/scripts/fixtures/contracts/operation-grant.missing-issuer-evidence.invalid.json +34 -0
  94. package/scripts/fixtures/contracts/operation-grant.valid.json +34 -0
  95. package/scripts/fixtures/contracts/phase-slice-correlation.aggregate-closure.invalid.json +12 -0
  96. package/scripts/fixtures/contracts/phase-slice-correlation.valid.json +12 -0
  97. package/scripts/fixtures/contracts/profile-change-candidate.unconfirmed.invalid.json +13 -0
  98. package/scripts/fixtures/contracts/profile-explanation.false-complete.invalid.json +36 -0
  99. package/scripts/fixtures/contracts/profile-explanation.valid.json +29 -0
  100. package/scripts/fixtures/contracts/provider-adapter-observation.unauthenticated-supported.invalid.json +43 -0
  101. package/scripts/fixtures/contracts/provider-adapter-observation.valid.json +62 -0
  102. package/scripts/fixtures/contracts/return-receipt-v2.changed-subject.valid.json +36 -0
  103. package/scripts/fixtures/contracts/return-receipt-v2.unverified-closeout.invalid.json +36 -0
  104. package/scripts/fixtures/contracts/return-receipt-v2.valid.json +36 -0
  105. package/scripts/fixtures/contracts/review-authority-requirement.transitive.invalid.json +33 -0
  106. package/scripts/fixtures/contracts/review-authority-requirement.valid.json +21 -0
  107. package/scripts/fixtures/contracts/rollback-envelope-lineage.reused-grant.invalid.json +24 -0
  108. package/scripts/fixtures/contracts/rollback-envelope-lineage.valid.json +24 -0
  109. package/scripts/fixtures/contracts/rule-claim.inferred-enforceable.invalid.json +16 -0
  110. package/scripts/fixtures/contracts/rule-claim.valid.json +16 -0
  111. package/scripts/fixtures/contracts/source-dependency-edge.unavailable-without-reason.invalid.json +18 -0
  112. package/scripts/fixtures/contracts/source-dependency-edge.valid.json +18 -0
  113. package/scripts/fixtures/contracts/task-control-revision.closed-without-receipt.invalid.json +37 -0
  114. package/scripts/fixtures/contracts/task-control-revision.valid.json +37 -0
  115. package/scripts/fixtures/contracts/task-envelope-v2.missing-workspace-identity.invalid.json +39 -0
  116. package/scripts/fixtures/contracts/task-envelope-v2.valid.json +54 -0
  117. package/scripts/fixtures/contracts/task-envelope-v2.workspace-mismatch.invalid.json +40 -0
  118. package/scripts/fixtures/contracts/validation-result.passed-without-evidence.invalid.json +29 -0
  119. package/scripts/fixtures/contracts/validation-result.valid.json +19 -0
  120. package/scripts/fixtures/contracts/validation-topology.dangling-requirement.invalid.json +32 -0
  121. package/scripts/fixtures/contracts/validation-topology.protected-environment.valid.json +32 -0
  122. package/scripts/fixtures/contracts/validation-topology.valid.json +32 -0
  123. package/scripts/fixtures/contracts/workspace-identity.missing-root.invalid.json +6 -0
  124. package/scripts/fixtures/contracts/workspace-identity.valid.json +14 -0
  125. package/scripts/fixtures/contracts/workspace-relationship.inferred-authority.invalid.json +13 -0
  126. package/scripts/fixtures/contracts/workspace-relationship.valid.json +13 -0
  127. package/scripts/fixtures/control-system/architecture-convergence-cases.json +25 -0
  128. package/scripts/fixtures/control-system/task-2.9-invalid-boundary-matrix.json +203 -0
  129. package/scripts/fixtures/control-system/task-4-diagnosis-health-separation.json +19 -0
  130. package/scripts/fixtures/workspaces/no-node-project/AGENTS.md +3 -0
  131. package/scripts/fixtures/workspaces/no-node-project/README.md +3 -0
  132. package/scripts/fixtures/workspaces/no-node-project/docs/adr/0001-durable-records.md +3 -0
  133. package/scripts/forgerail.mjs +467 -14
  134. package/scripts/lib/contracts.mjs +1132 -2
  135. package/scripts/shadow-comparison.mjs +1 -1
  136. package/scripts/validate-release.mjs +15 -15
  137. package/scripts/validate-universal-directory.mjs +151 -0
  138. package/skills/architecture-convergence-audit/SKILL.md +31 -0
  139. package/skills/architecture-convergence-audit/agents/openai.yaml +7 -0
  140. package/skills/architecture-convergence-audit/assets/github-issue-template.md +26 -0
  141. package/skills/architecture-convergence-audit/references/audit-contract.md +62 -0
  142. package/skills/workspace-health-review/references/health-review.md +15 -0
@@ -0,0 +1,32 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "authorityEvidenceId": "authority-evidence:owner-review-revoked",
4
+ "evidenceIdentityId": "evidence:provider-review-revoked",
5
+ "requirementId": "review:req-ownership",
6
+ "workspaceIdentityId": "workspace:forgerail",
7
+ "operation": "merge",
8
+ "authorityClass": "ownership_approval",
9
+ "subjectId": "subject:commit-a",
10
+ "actorId": "actor:owner-a",
11
+ "actorRelations": ["surface-owner"],
12
+ "scope": ["plugins/forgerail/contracts"],
13
+ "coveredSurfaceIds": ["surface:contracts"],
14
+ "lifecycle": "revoked",
15
+ "observedAt": "2026-08-19T16:45:00Z",
16
+ "effectiveAt": "2026-08-19T16:00:00Z",
17
+ "expiresAt": "2026-08-19T17:00:00Z",
18
+ "invalidatedAt": "2026-08-19T16:40:00Z",
19
+ "invalidationEvidenceIdentityId": "evidence:provider-review-revocation",
20
+ "supersededByAuthorityEvidenceId": null,
21
+ "limitedReason": {
22
+ "schemaVersion": "1.0",
23
+ "reasonId": "reason:revoked-owner-review",
24
+ "code": "revoked-evidence",
25
+ "impact": "blocked",
26
+ "summary": "The provider reports that the ownership approval was revoked.",
27
+ "evidenceIdentityIds": ["evidence:provider-review-revocation"],
28
+ "locators": ["provider-review:owner-review-revoked"],
29
+ "observedAt": "2026-08-19T16:45:00Z",
30
+ "sanitized": true
31
+ }
32
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "authorityEvidenceId": "authority-evidence:owner-review-a",
4
+ "evidenceIdentityId": "evidence:provider-review-a",
5
+ "requirementId": "review:req-ownership",
6
+ "workspaceIdentityId": "workspace:forgerail",
7
+ "operation": "merge",
8
+ "authorityClass": "ownership_approval",
9
+ "subjectId": "subject:commit-a",
10
+ "actorId": "actor:owner-a",
11
+ "actorRelations": ["surface-owner", "independent-reviewer"],
12
+ "scope": ["plugins/forgerail/contracts"],
13
+ "coveredSurfaceIds": ["surface:contracts"],
14
+ "lifecycle": "current",
15
+ "observedAt": "2026-08-18T15:30:00Z",
16
+ "effectiveAt": "2026-08-18T15:20:00Z",
17
+ "expiresAt": "2026-08-18T16:20:00Z",
18
+ "invalidatedAt": null,
19
+ "invalidationEvidenceIdentityId": null,
20
+ "supersededByAuthorityEvidenceId": null,
21
+ "limitedReason": null
22
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "id": "workspace-health-review",
4
+ "purpose": "Audit workspace governance and recovery health without executing implementation work.",
5
+ "risk": "low",
6
+ "states": ["available", "recommended", "enabled", "required", "blocked", "disabled"],
7
+ "triggers": ["explicit workspace health request"],
8
+ "inputs": ["workspace boundary evidence", "recovery entries"],
9
+ "dependencies": [],
10
+ "conflicts": [],
11
+ "approvals": ["durable-write-approval"],
12
+ "validation": ["no mutation occurs in Analyze First mode"],
13
+ "receiptExtensions": ["healthStatus", "recoveryRisks"]
14
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "id": "workspace-health-review",
4
+ "purpose": "Audit workspace governance and recovery health without executing implementation work.",
5
+ "entry": "skills/workspace-health-review/SKILL.md",
6
+ "risk": "low",
7
+ "states": ["available", "recommended", "enabled", "required", "blocked", "disabled"],
8
+ "triggers": ["explicit workspace health request"],
9
+ "inputs": ["workspace boundary evidence", "recovery entries"],
10
+ "dependencies": [],
11
+ "conflicts": [],
12
+ "approvals": ["durable-write-approval"],
13
+ "validation": ["no mutation occurs in Analyze First mode"],
14
+ "receiptExtensions": ["healthStatus", "recoveryRisks"]
15
+ }
@@ -0,0 +1,156 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "compositionId": "composition:authority-collapse",
4
+ "packId": "forgerail-cross-workspace-orchestration",
5
+ "packVersion": "0.1.0-alpha.1",
6
+ "coreCompatibility": {
7
+ "workspaceIdentityVersions": ["1.0"],
8
+ "taskEnvelopeVersions": ["2.0"],
9
+ "returnReceiptVersions": ["2.0"],
10
+ "phaseSliceCorrelationVersions": ["1.0"],
11
+ "status": "compatible",
12
+ "evidenceIdentityIds": ["evidence:core-contract-compatibility"]
13
+ },
14
+ "kernelInvariants": {
15
+ "stateModelRedefined": false,
16
+ "operationGrantMinting": false,
17
+ "authoritySubstitution": true,
18
+ "waiverBroadening": false,
19
+ "freshnessBroadening": false,
20
+ "receiptVerificationBypass": false,
21
+ "transportAsAcceptance": false
22
+ },
23
+ "workspaceSet": {
24
+ "workspaceSetId": "workspace-set:authority-collapse",
25
+ "ownerWorkspaceIdentityIds": ["workspace:product-a", "workspace:product-b"],
26
+ "coordinatorWorkspaceIdentityId": "workspace:aggregate",
27
+ "aggregateWriterId": "writer:master",
28
+ "relationshipIds": ["relationship:aggregate-product-a", "relationship:aggregate-product-b"],
29
+ "observedAt": "2026-08-19T16:45:00Z"
30
+ },
31
+ "nodes": [
32
+ {
33
+ "nodeId": "node:product-a",
34
+ "workspaceIdentityId": "workspace:product-a",
35
+ "workspaceIdentitySchemaVersion": "1.0",
36
+ "writerIdentityId": "writer:product-a",
37
+ "coreEnvelope": {
38
+ "contract": "task-envelope-v2",
39
+ "schemaVersion": "2.0",
40
+ "envelopeId": "envelope:product-a",
41
+ "envelopeRevisionId": "envelope-revision:product-a-1",
42
+ "workspaceIdentityId": "workspace:product-a",
43
+ "subjectId": "subject:product-a-commit"
44
+ },
45
+ "phaseSlice": {
46
+ "contract": "phase-slice-correlation-v1",
47
+ "schemaVersion": "1.0",
48
+ "correlationId": "correlation:product-a",
49
+ "phaseId": "phase:delivery",
50
+ "sliceId": "slice:product-a",
51
+ "executionAttemptId": "attempt:product-a-1"
52
+ },
53
+ "coreReceipt": {
54
+ "contract": "return-receipt-v2",
55
+ "schemaVersion": "2.0",
56
+ "receiptId": "receipt:product-a-1",
57
+ "workspaceIdentityId": "workspace:product-a",
58
+ "envelopeId": "envelope:product-a",
59
+ "envelopeRevisionId": "envelope-revision:product-a-1",
60
+ "controlRevisionId": "control-revision:product-a-1",
61
+ "subjectId": "subject:product-a-commit",
62
+ "verificationStatus": "verified",
63
+ "verificationGateResultId": "gate-result:product-a-receipt",
64
+ "transportStatus": "delivered",
65
+ "coordinatorAcceptance": "accepted",
66
+ "coordinatorAcceptanceEvidenceIdentityIds": ["evidence:product-a-acceptance"],
67
+ "observedAt": "2026-08-19T16:45:00Z"
68
+ },
69
+ "state": "accepted"
70
+ },
71
+ {
72
+ "nodeId": "node:product-b",
73
+ "workspaceIdentityId": "workspace:product-b",
74
+ "workspaceIdentitySchemaVersion": "1.0",
75
+ "writerIdentityId": "writer:product-b",
76
+ "coreEnvelope": {
77
+ "contract": "task-envelope-v2",
78
+ "schemaVersion": "2.0",
79
+ "envelopeId": "envelope:product-b",
80
+ "envelopeRevisionId": "envelope-revision:product-b-1",
81
+ "workspaceIdentityId": "workspace:product-b",
82
+ "subjectId": "subject:product-b-candidate"
83
+ },
84
+ "phaseSlice": {
85
+ "contract": "phase-slice-correlation-v1",
86
+ "schemaVersion": "1.0",
87
+ "correlationId": "correlation:product-b",
88
+ "phaseId": "phase:delivery",
89
+ "sliceId": "slice:product-b",
90
+ "executionAttemptId": "attempt:product-b-1"
91
+ },
92
+ "coreReceipt": null,
93
+ "state": "pending"
94
+ }
95
+ ],
96
+ "dependencyEdges": [
97
+ {
98
+ "edgeId": "edge:authority-collapse",
99
+ "predecessorNodeId": "node:product-a",
100
+ "successorNodeId": "node:product-b",
101
+ "kind": "acceptance",
102
+ "required": true,
103
+ "unlockCondition": "core-receipt-verified-and-coordinator-accepted",
104
+ "authorityTransfer": true,
105
+ "operationGrantTransfer": true,
106
+ "receiptSubstitution": true
107
+ }
108
+ ],
109
+ "phases": [
110
+ {
111
+ "phaseId": "phase:delivery",
112
+ "requiredNodeIds": ["node:product-a", "node:product-b"],
113
+ "acceptedNodeIds": ["node:product-a"],
114
+ "pendingNodeIds": ["node:product-b"],
115
+ "failedNodeIds": [],
116
+ "blockedNodeIds": [],
117
+ "staleNodeIds": [],
118
+ "state": "open",
119
+ "aggregateClosureClaim": false
120
+ }
121
+ ],
122
+ "workspaceReceiptBundle": {
123
+ "bundleId": "bundle:authority-collapse",
124
+ "bundleRevisionId": "bundle-revision:authority-collapse-1",
125
+ "predecessorBundleRevisionId": null,
126
+ "bundleDigest": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
127
+ "compositionId": "composition:authority-collapse",
128
+ "workspaceSetId": "workspace-set:authority-collapse",
129
+ "phaseIds": ["phase:delivery"],
130
+ "nodeReceipts": [
131
+ {
132
+ "nodeId": "node:product-a",
133
+ "receiptId": "receipt:product-a-1",
134
+ "verificationStatus": "verified",
135
+ "coordinatorAcceptance": "accepted"
136
+ }
137
+ ],
138
+ "dependencyStatus": [
139
+ {
140
+ "edgeId": "edge:authority-collapse",
141
+ "status": "unlocked",
142
+ "evidenceIdentityIds": ["evidence:product-a-acceptance"]
143
+ }
144
+ ],
145
+ "pendingNodeIds": ["node:product-b"],
146
+ "failedNodeIds": [],
147
+ "blockedNodeIds": [],
148
+ "staleNodeIds": [],
149
+ "deviationEvidenceIdentityIds": [],
150
+ "nextEligibleNodeIds": ["node:product-b"],
151
+ "state": "assembling",
152
+ "observedAt": "2026-08-19T16:45:00Z",
153
+ "immutable": true
154
+ },
155
+ "declaredAt": "2026-08-19T16:45:00Z"
156
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "compositionId": "composition:ecosystem-wave-invalid",
4
+ "packId": "forgerail-cross-workspace-orchestration",
5
+ "packVersion": "0.1.0-alpha.1",
6
+ "coreCompatibility": {
7
+ "workspaceIdentityVersions": ["1.0"],
8
+ "taskEnvelopeVersions": ["2.0"],
9
+ "returnReceiptVersions": ["2.0"],
10
+ "phaseSliceCorrelationVersions": ["1.0"],
11
+ "status": "compatible",
12
+ "evidenceIdentityIds": ["evidence:core-contract-compatibility"]
13
+ },
14
+ "kernelInvariants": {
15
+ "stateModelRedefined": false,
16
+ "operationGrantMinting": false,
17
+ "authoritySubstitution": false,
18
+ "waiverBroadening": false,
19
+ "freshnessBroadening": false,
20
+ "receiptVerificationBypass": false,
21
+ "transportAsAcceptance": true
22
+ },
23
+ "workspaceSet": {
24
+ "workspaceSetId": "workspace-set:ecosystem-wave-invalid",
25
+ "ownerWorkspaceIdentityIds": ["workspace:product-a", "workspace:product-b"],
26
+ "coordinatorWorkspaceIdentityId": "workspace:aggregate",
27
+ "aggregateWriterId": "writer:master",
28
+ "relationshipIds": [],
29
+ "observedAt": "2026-08-18T16:30:00Z"
30
+ },
31
+ "nodes": [
32
+ {
33
+ "nodeId": "node:product-a",
34
+ "workspaceIdentityId": "workspace:product-a",
35
+ "workspaceIdentitySchemaVersion": "1.0",
36
+ "writerIdentityId": "writer:shared",
37
+ "coreEnvelope": {
38
+ "contract": "task-envelope-v2",
39
+ "schemaVersion": "2.0",
40
+ "envelopeId": "envelope:product-a",
41
+ "envelopeRevisionId": "envelope-revision:product-a-1",
42
+ "workspaceIdentityId": "workspace:product-a",
43
+ "subjectId": "subject:product-a-commit"
44
+ },
45
+ "phaseSlice": {
46
+ "contract": "phase-slice-correlation-v1",
47
+ "schemaVersion": "1.0",
48
+ "correlationId": "correlation:product-a",
49
+ "phaseId": "phase:delivery",
50
+ "sliceId": "slice:product-a",
51
+ "executionAttemptId": "attempt:product-a-1"
52
+ },
53
+ "coreReceipt": {
54
+ "contract": "return-receipt-v2",
55
+ "schemaVersion": "2.0",
56
+ "receiptId": "receipt:product-a-1",
57
+ "workspaceIdentityId": "workspace:product-a",
58
+ "envelopeId": "envelope:product-a",
59
+ "envelopeRevisionId": "envelope-revision:product-a-1",
60
+ "controlRevisionId": "control-revision:product-a-1",
61
+ "subjectId": "subject:product-a-commit",
62
+ "verificationStatus": "pending",
63
+ "verificationGateResultId": null,
64
+ "transportStatus": "delivered",
65
+ "coordinatorAcceptance": "accepted",
66
+ "coordinatorAcceptanceEvidenceIdentityIds": [],
67
+ "observedAt": "2026-08-18T16:30:00Z"
68
+ },
69
+ "state": "accepted"
70
+ },
71
+ {
72
+ "nodeId": "node:product-b",
73
+ "workspaceIdentityId": "workspace:product-b",
74
+ "workspaceIdentitySchemaVersion": "1.0",
75
+ "writerIdentityId": "writer:shared",
76
+ "coreEnvelope": {
77
+ "contract": "task-envelope-v2",
78
+ "schemaVersion": "3.0",
79
+ "envelopeId": "envelope:product-b",
80
+ "envelopeRevisionId": "envelope-revision:product-b-1",
81
+ "workspaceIdentityId": "workspace:product-b",
82
+ "subjectId": "subject:product-b-candidate"
83
+ },
84
+ "phaseSlice": {
85
+ "contract": "phase-slice-correlation-v1",
86
+ "schemaVersion": "1.0",
87
+ "correlationId": "correlation:product-b",
88
+ "phaseId": "phase:delivery",
89
+ "sliceId": "slice:product-b",
90
+ "executionAttemptId": "attempt:product-b-1"
91
+ },
92
+ "coreReceipt": null,
93
+ "state": "pending"
94
+ }
95
+ ],
96
+ "dependencyEdges": [],
97
+ "phases": [
98
+ {
99
+ "phaseId": "phase:delivery",
100
+ "requiredNodeIds": ["node:product-a", "node:product-b"],
101
+ "acceptedNodeIds": ["node:product-a"],
102
+ "pendingNodeIds": ["node:product-b"],
103
+ "failedNodeIds": [],
104
+ "blockedNodeIds": [],
105
+ "staleNodeIds": [],
106
+ "state": "closed",
107
+ "aggregateClosureClaim": true
108
+ }
109
+ ],
110
+ "workspaceReceiptBundle": {
111
+ "bundleId": "bundle:ecosystem-wave-invalid",
112
+ "bundleRevisionId": "bundle-revision:ecosystem-wave-invalid-1",
113
+ "predecessorBundleRevisionId": null,
114
+ "bundleDigest": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
115
+ "compositionId": "composition:ecosystem-wave-invalid",
116
+ "workspaceSetId": "workspace-set:ecosystem-wave-invalid",
117
+ "phaseIds": ["phase:delivery"],
118
+ "nodeReceipts": [
119
+ {
120
+ "nodeId": "node:product-a",
121
+ "receiptId": "receipt:product-a-1",
122
+ "verificationStatus": "verified",
123
+ "coordinatorAcceptance": "accepted"
124
+ }
125
+ ],
126
+ "dependencyStatus": [],
127
+ "pendingNodeIds": ["node:product-b"],
128
+ "failedNodeIds": [],
129
+ "blockedNodeIds": [],
130
+ "staleNodeIds": [],
131
+ "deviationEvidenceIdentityIds": [],
132
+ "nextEligibleNodeIds": [],
133
+ "state": "accepted",
134
+ "observedAt": "2026-08-18T16:30:00Z",
135
+ "immutable": true
136
+ },
137
+ "declaredAt": "2026-08-18T16:30:00Z"
138
+ }
@@ -0,0 +1,156 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "compositionId": "composition:ecosystem-wave-1",
4
+ "packId": "forgerail-cross-workspace-orchestration",
5
+ "packVersion": "0.1.0-alpha.1",
6
+ "coreCompatibility": {
7
+ "workspaceIdentityVersions": ["1.0"],
8
+ "taskEnvelopeVersions": ["2.0"],
9
+ "returnReceiptVersions": ["2.0"],
10
+ "phaseSliceCorrelationVersions": ["1.0"],
11
+ "status": "compatible",
12
+ "evidenceIdentityIds": ["evidence:core-contract-compatibility"]
13
+ },
14
+ "kernelInvariants": {
15
+ "stateModelRedefined": false,
16
+ "operationGrantMinting": false,
17
+ "authoritySubstitution": false,
18
+ "waiverBroadening": false,
19
+ "freshnessBroadening": false,
20
+ "receiptVerificationBypass": false,
21
+ "transportAsAcceptance": false
22
+ },
23
+ "workspaceSet": {
24
+ "workspaceSetId": "workspace-set:ecosystem-wave-1",
25
+ "ownerWorkspaceIdentityIds": ["workspace:product-a", "workspace:product-b"],
26
+ "coordinatorWorkspaceIdentityId": "workspace:aggregate",
27
+ "aggregateWriterId": "writer:master",
28
+ "relationshipIds": ["relationship:aggregate-product-a", "relationship:aggregate-product-b"],
29
+ "observedAt": "2026-08-18T16:30:00Z"
30
+ },
31
+ "nodes": [
32
+ {
33
+ "nodeId": "node:product-a",
34
+ "workspaceIdentityId": "workspace:product-a",
35
+ "workspaceIdentitySchemaVersion": "1.0",
36
+ "writerIdentityId": "writer:product-a",
37
+ "coreEnvelope": {
38
+ "contract": "task-envelope-v2",
39
+ "schemaVersion": "2.0",
40
+ "envelopeId": "envelope:product-a",
41
+ "envelopeRevisionId": "envelope-revision:product-a-1",
42
+ "workspaceIdentityId": "workspace:product-a",
43
+ "subjectId": "subject:product-a-commit"
44
+ },
45
+ "phaseSlice": {
46
+ "contract": "phase-slice-correlation-v1",
47
+ "schemaVersion": "1.0",
48
+ "correlationId": "correlation:product-a",
49
+ "phaseId": "phase:delivery",
50
+ "sliceId": "slice:product-a",
51
+ "executionAttemptId": "attempt:product-a-1"
52
+ },
53
+ "coreReceipt": {
54
+ "contract": "return-receipt-v2",
55
+ "schemaVersion": "2.0",
56
+ "receiptId": "receipt:product-a-1",
57
+ "workspaceIdentityId": "workspace:product-a",
58
+ "envelopeId": "envelope:product-a",
59
+ "envelopeRevisionId": "envelope-revision:product-a-1",
60
+ "controlRevisionId": "control-revision:product-a-1",
61
+ "subjectId": "subject:product-a-commit",
62
+ "verificationStatus": "verified",
63
+ "verificationGateResultId": "gate-result:product-a-receipt",
64
+ "transportStatus": "delivered",
65
+ "coordinatorAcceptance": "accepted",
66
+ "coordinatorAcceptanceEvidenceIdentityIds": ["evidence:product-a-acceptance"],
67
+ "observedAt": "2026-08-18T16:30:00Z"
68
+ },
69
+ "state": "accepted"
70
+ },
71
+ {
72
+ "nodeId": "node:product-b",
73
+ "workspaceIdentityId": "workspace:product-b",
74
+ "workspaceIdentitySchemaVersion": "1.0",
75
+ "writerIdentityId": "writer:product-b",
76
+ "coreEnvelope": {
77
+ "contract": "task-envelope-v2",
78
+ "schemaVersion": "2.0",
79
+ "envelopeId": "envelope:product-b",
80
+ "envelopeRevisionId": "envelope-revision:product-b-1",
81
+ "workspaceIdentityId": "workspace:product-b",
82
+ "subjectId": "subject:product-b-candidate"
83
+ },
84
+ "phaseSlice": {
85
+ "contract": "phase-slice-correlation-v1",
86
+ "schemaVersion": "1.0",
87
+ "correlationId": "correlation:product-b",
88
+ "phaseId": "phase:delivery",
89
+ "sliceId": "slice:product-b",
90
+ "executionAttemptId": "attempt:product-b-1"
91
+ },
92
+ "coreReceipt": null,
93
+ "state": "pending"
94
+ }
95
+ ],
96
+ "dependencyEdges": [
97
+ {
98
+ "edgeId": "edge:product-a-before-product-b",
99
+ "predecessorNodeId": "node:product-a",
100
+ "successorNodeId": "node:product-b",
101
+ "kind": "acceptance",
102
+ "required": true,
103
+ "unlockCondition": "core-receipt-verified-and-coordinator-accepted",
104
+ "authorityTransfer": false,
105
+ "operationGrantTransfer": false,
106
+ "receiptSubstitution": false
107
+ }
108
+ ],
109
+ "phases": [
110
+ {
111
+ "phaseId": "phase:delivery",
112
+ "requiredNodeIds": ["node:product-a", "node:product-b"],
113
+ "acceptedNodeIds": ["node:product-a"],
114
+ "pendingNodeIds": ["node:product-b"],
115
+ "failedNodeIds": [],
116
+ "blockedNodeIds": [],
117
+ "staleNodeIds": [],
118
+ "state": "open",
119
+ "aggregateClosureClaim": false
120
+ }
121
+ ],
122
+ "workspaceReceiptBundle": {
123
+ "bundleId": "bundle:ecosystem-wave-1",
124
+ "bundleRevisionId": "bundle-revision:ecosystem-wave-1-1",
125
+ "predecessorBundleRevisionId": null,
126
+ "bundleDigest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
127
+ "compositionId": "composition:ecosystem-wave-1",
128
+ "workspaceSetId": "workspace-set:ecosystem-wave-1",
129
+ "phaseIds": ["phase:delivery"],
130
+ "nodeReceipts": [
131
+ {
132
+ "nodeId": "node:product-a",
133
+ "receiptId": "receipt:product-a-1",
134
+ "verificationStatus": "verified",
135
+ "coordinatorAcceptance": "accepted"
136
+ }
137
+ ],
138
+ "dependencyStatus": [
139
+ {
140
+ "edgeId": "edge:product-a-before-product-b",
141
+ "status": "unlocked",
142
+ "evidenceIdentityIds": ["evidence:product-a-acceptance"]
143
+ }
144
+ ],
145
+ "pendingNodeIds": ["node:product-b"],
146
+ "failedNodeIds": [],
147
+ "blockedNodeIds": [],
148
+ "staleNodeIds": [],
149
+ "deviationEvidenceIdentityIds": [],
150
+ "nextEligibleNodeIds": ["node:product-b"],
151
+ "state": "assembling",
152
+ "observedAt": "2026-08-18T16:30:00Z",
153
+ "immutable": true
154
+ },
155
+ "declaredAt": "2026-08-18T16:30:00Z"
156
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "schemaVersion": "2.0",
3
+ "profileId": "profile:demo",
4
+ "revisionId": "profile-revision:optional-unavailable",
5
+ "workspaceIdentityId": "workspace:demo",
6
+ "computed": true,
7
+ "computedAt": "2026-08-18T00:00:00Z",
8
+ "completeness": "degraded",
9
+ "sourceIds": ["source:agents"],
10
+ "workspaceRelationshipIds": [],
11
+ "ruleClaims": [],
12
+ "dependencyEdges": [
13
+ {
14
+ "schemaVersion": "1.0",
15
+ "edgeId": "edge:optional-history",
16
+ "workspaceIdentityId": "workspace:demo",
17
+ "declaringSourceId": "source:agents",
18
+ "target": {
19
+ "kind": "source",
20
+ "locator": "provider:governance-history",
21
+ "identity": null
22
+ },
23
+ "requiredness": "optional",
24
+ "applicabilityScope": ["historical-context"],
25
+ "provenanceStatus": "provider-declared",
26
+ "observationStatus": "unavailable",
27
+ "affectedClaimIds": [],
28
+ "observedAt": "2026-08-18T00:00:00Z",
29
+ "limitedReason": "Optional history provider is unavailable."
30
+ }
31
+ ],
32
+ "applicablePackIds": [],
33
+ "conflicts": [],
34
+ "explanationId": "explanation:optional-unavailable",
35
+ "limitedReasons": ["Optional history context is unavailable."]
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "schemaVersion": "2.0",
3
+ "profileId": "profile:demo",
4
+ "revisionId": "profile-revision:required-unavailable",
5
+ "workspaceIdentityId": "workspace:demo",
6
+ "computed": true,
7
+ "computedAt": "2026-08-18T00:00:00Z",
8
+ "completeness": "degraded",
9
+ "sourceIds": ["source:agents"],
10
+ "workspaceRelationshipIds": [],
11
+ "ruleClaims": [],
12
+ "dependencyEdges": [
13
+ {
14
+ "schemaVersion": "1.0",
15
+ "edgeId": "edge:required-skill",
16
+ "workspaceIdentityId": "workspace:demo",
17
+ "declaringSourceId": "source:agents",
18
+ "target": {
19
+ "kind": "skill",
20
+ "locator": ".codex/skills/review/SKILL.md",
21
+ "identity": null
22
+ },
23
+ "requiredness": "required",
24
+ "applicabilityScope": ["code-change"],
25
+ "provenanceStatus": "structured",
26
+ "observationStatus": "unavailable",
27
+ "affectedClaimIds": [],
28
+ "observedAt": "2026-08-18T00:00:00Z",
29
+ "limitedReason": "Required Skill is unavailable."
30
+ }
31
+ ],
32
+ "applicablePackIds": [],
33
+ "conflicts": [],
34
+ "explanationId": "explanation:required-unavailable",
35
+ "limitedReasons": ["Required dependency is unavailable."]
36
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "schemaVersion": "2.0",
3
+ "profileId": "profile:demo",
4
+ "revisionId": "profile-revision:unresolved-claim",
5
+ "workspaceIdentityId": "workspace:demo",
6
+ "computed": true,
7
+ "computedAt": "2026-08-18T00:00:00Z",
8
+ "completeness": "complete",
9
+ "sourceIds": ["source:agents"],
10
+ "workspaceRelationshipIds": [],
11
+ "ruleClaims": [
12
+ {
13
+ "schemaVersion": "1.0",
14
+ "claimId": "claim:review",
15
+ "workspaceIdentityId": "workspace:demo",
16
+ "sourceId": "source:agents",
17
+ "ruleKey": "review.required",
18
+ "normalizedValue": true,
19
+ "precedenceClass": "workspace-instructions",
20
+ "applicabilityScope": ["code-change"],
21
+ "observationPoint": "AGENTS.md#review",
22
+ "status": "confirmed",
23
+ "enforcement": "unresolved",
24
+ "dependencyEdgeIds": [],
25
+ "observedAt": "2026-08-18T00:00:00Z",
26
+ "limitedReason": "The claim cannot be resolved from current sources."
27
+ }
28
+ ],
29
+ "dependencyEdges": [],
30
+ "applicablePackIds": [],
31
+ "conflicts": [],
32
+ "explanationId": "explanation:unresolved-claim",
33
+ "limitedReasons": []
34
+ }