@finchip.ai/foga 0.0.0-stage → 0.6.0-alpha.4

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 (131) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +21 -0
  3. package/README.md +216 -2
  4. package/artifacts/bundle.json +74250 -0
  5. package/artifacts/bundle.sha256 +1 -0
  6. package/bin/foga.js +14 -0
  7. package/build/known-interface-ids.json +18 -0
  8. package/build/profiles.json +120 -0
  9. package/dist/build/bundle.js +417 -0
  10. package/dist/build/vendor.js +74 -0
  11. package/dist/bundle/load.js +24 -0
  12. package/dist/bundle/types.js +1 -0
  13. package/dist/cli-cell.js +395 -0
  14. package/dist/cli.js +505 -0
  15. package/dist/core/acdf.js +162 -0
  16. package/dist/core/adrf.js +273 -0
  17. package/dist/core/aid.js +83 -0
  18. package/dist/core/ard.js +146 -0
  19. package/dist/core/asf.js +157 -0
  20. package/dist/core/canonical.js +79 -0
  21. package/dist/core/erc8004.js +52 -0
  22. package/dist/core/kya.js +225 -0
  23. package/dist/core/measure.js +96 -0
  24. package/dist/core/pack/cbor.js +130 -0
  25. package/dist/core/pack/skillpack.js +142 -0
  26. package/dist/core/skills.js +40 -0
  27. package/dist/core/swarm.js +206 -0
  28. package/dist/core/tenders.js +121 -0
  29. package/dist/core/units.js +122 -0
  30. package/dist/core/world.js +104 -0
  31. package/dist/demo/demander.js +76 -0
  32. package/dist/demo/evidence.js +1 -0
  33. package/dist/demo/loop-d.js +449 -0
  34. package/dist/doctor/checks.js +51 -0
  35. package/dist/doctor/doctor.js +385 -0
  36. package/dist/doctor/loop-d.js +103 -0
  37. package/dist/doctor/probe.js +97 -0
  38. package/dist/doctor/semantic.js +83 -0
  39. package/dist/genesis/extract.js +64 -0
  40. package/dist/genesis/funding.js +126 -0
  41. package/dist/genesis/operator-scope.js +90 -0
  42. package/dist/genesis/preflight.js +54 -0
  43. package/dist/genesis/probe.js +164 -0
  44. package/dist/genesis/roles.js +96 -0
  45. package/dist/genesis/run.js +71 -0
  46. package/dist/genesis/scenario.js +765 -0
  47. package/dist/genesis/skill-runner.js +103 -0
  48. package/dist/genesis/skill-worker.js +41 -0
  49. package/dist/genesis/t1-zk.js +62 -0
  50. package/dist/genesis/t3-zk.js +105 -0
  51. package/dist/genesis/t4.js +259 -0
  52. package/dist/genesis/t5.js +168 -0
  53. package/dist/genesis/t6.js +222 -0
  54. package/dist/genesis/t7.js +198 -0
  55. package/dist/genesis/t8.js +189 -0
  56. package/dist/genesis/t9.js +188 -0
  57. package/dist/genesis/zk.js +128 -0
  58. package/dist/http/server.js +276 -0
  59. package/dist/kernel/cell.js +104 -0
  60. package/dist/kernel/errors.js +78 -0
  61. package/dist/kernel/kernel.js +251 -0
  62. package/dist/kernel/provider.js +125 -0
  63. package/dist/kernel/store.js +470 -0
  64. package/dist/kernel/tx.js +385 -0
  65. package/dist/mcp/server.js +170 -0
  66. package/dist/node/config.js +195 -0
  67. package/dist/node/init.js +200 -0
  68. package/dist/node/keys.js +95 -0
  69. package/dist/node/migrate.js +173 -0
  70. package/dist/node/model/anthropic.js +97 -0
  71. package/dist/node/model/stub.js +129 -0
  72. package/dist/node/model/types.js +9 -0
  73. package/dist/node/node.js +198 -0
  74. package/dist/node/policy.js +95 -0
  75. package/dist/node/runner.js +256 -0
  76. package/dist/node/watchers.js +88 -0
  77. package/dist/tools/admin.js +184 -0
  78. package/dist/tools/catalog.js +261 -0
  79. package/dist/tools/common.js +143 -0
  80. package/dist/tools/identity.js +107 -0
  81. package/dist/tools/index.js +14 -0
  82. package/dist/tools/read.js +471 -0
  83. package/dist/tools/tenders.js +400 -0
  84. package/dist/tools/types.js +4 -0
  85. package/dist/util/bytecode.js +123 -0
  86. package/dist/util/fs.js +58 -0
  87. package/dist/util/hash.js +4 -0
  88. package/dist/util/log.js +11 -0
  89. package/dist/util/version.js +12 -0
  90. package/dist/world/deploy.js +277 -0
  91. package/dist/world/plan.js +93 -0
  92. package/dist/world/types.js +1 -0
  93. package/docs/build.md +45 -0
  94. package/docs/cell-account.md +58 -0
  95. package/docs/compatibility-matrix.md +38 -0
  96. package/docs/design-memo.md +113 -0
  97. package/docs/doctor.md +53 -0
  98. package/docs/examples/README.md +11 -0
  99. package/docs/examples/claude-code-mcp.json +13 -0
  100. package/docs/examples/claude_desktop_config.json +12 -0
  101. package/docs/examples/cursor-mcp.json +11 -0
  102. package/docs/genesis.md +312 -0
  103. package/docs/kernel.md +101 -0
  104. package/docs/loop-d.md +90 -0
  105. package/docs/mcp.md +105 -0
  106. package/docs/node.md +66 -0
  107. package/docs/version-lock.md +67 -0
  108. package/docs/world.md +50 -0
  109. package/docs/zk.md +48 -0
  110. package/package.json +82 -4
  111. package/prover/README.md +26 -0
  112. package/prover/build-predicate.mjs +77 -0
  113. package/prover/package-lock.json +1837 -0
  114. package/prover/package.json +15 -0
  115. package/prover/run.cjs +199 -0
  116. package/scenarios/fixtures/sample-filing.txt +16 -0
  117. package/scenarios/skills/finch-extract-verify/LICENSE +2 -0
  118. package/scenarios/skills/finch-extract-verify/SKILL.md +34 -0
  119. package/scenarios/skills/finch-extract-verify/fields.json +56 -0
  120. package/scenarios/skills/finch-extract-verify/manifest.json +16 -0
  121. package/scenarios/skills/foga-probe/LICENSE +2 -0
  122. package/scenarios/skills/foga-probe/SKILL.md +35 -0
  123. package/scenarios/skills/foga-probe/manifest.json +16 -0
  124. package/scenarios/skills/foga-probe/probe.schema.json +40 -0
  125. package/server.json +79 -0
  126. package/vendor/LOCK.json +107 -0
  127. package/vendor/README.md +13 -0
  128. package/worlds/local.json +34 -0
  129. package/worlds/sepolia.json +314 -0
  130. package/zk/build/verification_key.json +174 -0
  131. package/zk/circuits/kya_predicate_count_v1.circom +231 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "schema": "foga.world-config/1",
3
+ "name": "local",
4
+ "network": "anvil",
5
+ "chainId": 31337,
6
+ "rpc": "http://127.0.0.1:8545",
7
+ "mode": "deploy",
8
+ "deployer": {
9
+ "privateKeyEnv": "FOGA_DEPLOYER_PK",
10
+ "defaultPrivateKey": "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
11
+ "note": "The default is anvil's well-known account #0 (0xf39F...2266). It is public and only ever used on local chains."
12
+ },
13
+ "identity8004": {
14
+ "mode": "stub",
15
+ "note": "Local worlds deploy contracts/src/Identity8004Stub.sol, a stand-in that follows the official ABI surface the ten reference implementations call. It is not the reference registry."
16
+ },
17
+ "params": {
18
+ "skillToken": { "name": "FOGA Skill", "symbol": "FSKL" },
19
+ "taskToken": { "name": "FOGA Task", "symbol": "FTSK" },
20
+ "aid": { "defaultLivenessWindow": 7776000, "maxLivenessWindow": 31536000 },
21
+ "kya": {
22
+ "issuerSetRoot": "0x1de029c3b70d5efa4af25f0d1ffb02831eb7c0d9f5a02f3c781d216e2c54b5e8",
23
+ "epochLength": 2592000,
24
+ "epochGrace": 1
25
+ },
26
+ "ard": {
27
+ "kindURIs": { "skill": "kind:skill", "task": "kind:task", "agent": "kind:agent", "registry": "kind:registry" }
28
+ }
29
+ },
30
+ "notes": [
31
+ "AID liveness windows (90 d / 365 d) and the KYA Groth16 adapter parameters (issuer set root of the upstream kya_public_v1 prover, 30 d epochs, 1 epoch grace) mirror the upstream Sepolia reference deployments so the upstream provers and resolvers work unchanged.",
32
+ "ARD kind URIs mirror the upstream evidence script (kind:<name>)."
33
+ ]
34
+ }
@@ -0,0 +1,314 @@
1
+ {
2
+ "schema": "foga.world-config/1",
3
+ "name": "sepolia",
4
+ "network": "sepolia",
5
+ "chainId": 11155111,
6
+ "rpc": "${SEPOLIA_RPC_URL}",
7
+ "mode": "attach",
8
+ "deployer": {
9
+ "privateKeyEnv": "FOGA_DEPLOYER_PK",
10
+ "note": "unset: W, account 0 of FOGA_MNEMONIC / FOGA_MNEMONIC_FILE. The deployer administers the ADRFServiceEscrow it deploys, and the genesis binds that escrow as W, so the deployer is W"
11
+ },
12
+ "identity8004": {
13
+ "mode": "address",
14
+ "address": "0x8004A818BFB912233c491871b3d84c89A494BD9e",
15
+ "note": "Official ERC-8004 Identity Registry on Sepolia (Reputation Registry 0x8004B663056A597Dffe9eCcC1965A193B7388713). The official Validation Registry on Sepolia is to be re-checked; the upstream repositories bound kya-standard's spec-conforming companion instead."
16
+ },
17
+ "params": {
18
+ "skillToken": {
19
+ "name": "upstream",
20
+ "symbol": "upstream"
21
+ },
22
+ "taskToken": {
23
+ "name": "upstream",
24
+ "symbol": "upstream"
25
+ },
26
+ "aid": {
27
+ "defaultLivenessWindow": 7776000,
28
+ "maxLivenessWindow": 31536000
29
+ },
30
+ "kya": {
31
+ "issuerSetRoot": "0x1de029c3b70d5efa4af25f0d1ffb02831eb7c0d9f5a02f3c781d216e2c54b5e8",
32
+ "epochLength": 2592000,
33
+ "epochGrace": 1
34
+ },
35
+ "ard": {
36
+ "kindURIs": {
37
+ "skill": "kind:skill",
38
+ "task": "kind:task",
39
+ "agent": "kind:agent",
40
+ "registry": "kind:registry"
41
+ }
42
+ }
43
+ },
44
+ "contracts": {
45
+ "8338/SkillToken": {
46
+ "address": "0x12cc1a5319c6F08bFB50982e3814A376A59fE550",
47
+ "bundleKey": "skill-token-standard:SkillToken",
48
+ "note": "KERNEL v4.3 (frozen); recorded in the upstream README, no deployments file"
49
+ },
50
+ "8414/TaskToken": {
51
+ "address": "0xA62059A498E40C4Ae4aF926E2B00C1Ff122bDdb7",
52
+ "bundleKey": "task-token-standard:TaskToken",
53
+ "deployedRevision": "TASK-KERNEL v3.2.1 (2026-09-05)",
54
+ "note": "live kernel consumed by the 8436/8444/8447/8468 upstream runs; tokens #8-#21 were minted by those runs"
55
+ },
56
+ "8414/HashlockVerifier": {
57
+ "address": "0x495270468A4608e4c84968b1037ef7eceBF5d3ec",
58
+ "bundleKey": "task-token-standard:HashlockVerifier",
59
+ "deployedRevision": "TASK-KERNEL v3.2.1 (2026-09-05)"
60
+ },
61
+ "8414/JuryPanel": {
62
+ "address": "0x7249E48c7E2131ADA0fcc25b1eaE4f4258545511",
63
+ "bundleKey": "task-token-standard:JuryPanel",
64
+ "deployedRevision": "TASK-KERNEL v3.2.1 (2026-09-05)",
65
+ "note": "2-of-2, 60 s vote window"
66
+ },
67
+ "8419/KYASchemeRegistry": {
68
+ "address": "0x8Dd5ec713E21a726FB864f6541F9AAA59aEC0cc0",
69
+ "bundleKey": "kya-standard:KYASchemeRegistry",
70
+ "deployedRevision": "rev 5 (2026-10-16)",
71
+ "note": "the rev 1-5 deployer key is lost upstream; existing scheme controllers are unrecoverable, FOGA registers its own schemes"
72
+ },
73
+ "8419/KYARegistry": {
74
+ "address": "0xE06FBA26561E7A385B32514f6657De68723d5cF1",
75
+ "bundleKey": "kya-standard:KYARegistry",
76
+ "deployedRevision": "rev 5 (2026-10-16)"
77
+ },
78
+ "8419/KYAPolicyRegistry": {
79
+ "address": "0x7767966702bf12C31CDD600807B77443998f0F21",
80
+ "bundleKey": "kya-standard:KYAPolicyRegistry",
81
+ "deployedRevision": "rev 5 (2026-10-16)"
82
+ },
83
+ "8419/ValidationRegistry8004": {
84
+ "address": "0x91103a508b0525B0b16146Ad5C0a7c719148b14c",
85
+ "bundleKey": "kya-standard:ValidationRegistry8004",
86
+ "deployedRevision": "rev 5 (2026-10-16)"
87
+ },
88
+ "8419/KYABridge8004": {
89
+ "address": "0x2E70783ec4A0aB5b0A109908151403Ce03FC11Ec",
90
+ "bundleKey": "kya-standard:KYABridge8004",
91
+ "deployedRevision": "rev 6 (2026-10-22)",
92
+ "note": "owner is a session-held upstream key; transfer to a maintainer address pending upstream"
93
+ },
94
+ "8419/Groth16Verifier": {
95
+ "address": "0x64c18C506e8a202d98822F97911dF774e9b85f85",
96
+ "bundleKey": "kya-standard:Groth16Verifier",
97
+ "deployedRevision": "rev 4 (2026-09-20)"
98
+ },
99
+ "8419/Groth16KYAVerifierAdapter": {
100
+ "address": "0x7C424db1f07d5BCA5b58Dc4b573f31c32a70bCE7",
101
+ "bundleKey": "kya-standard:Groth16KYAVerifierAdapter",
102
+ "deployedRevision": "rev 4 (2026-09-20)"
103
+ },
104
+ "8434/AIDRegistry": {
105
+ "address": "0x01C05738eebD20DC80bBb9Fa1Ceb1165af8dA00F",
106
+ "bundleKey": "aid-standard:AIDRegistry",
107
+ "deployedRevision": "2026-10-15 (solc-js 0.8.28)",
108
+ "note": "aid-standard reference instance (90 d / 365 d), bound to the official ERC-8004 registry"
109
+ },
110
+ "8434/AIDRegistry(ard-fixture)": {
111
+ "address": "0x36E4a7BDe8a9D7d445042495180b64C7AF77Fd7E",
112
+ "bundleKey": "aid-standard:AIDRegistry",
113
+ "deployedRevision": "ard-onchain-framework fixture (aid-standard commit 32ce5f7b), 30 d / 365 d",
114
+ "note": "the instance the Sepolia ARD AgentAdapter is bound to. FOGA's cells bind, heartbeat and retire here as well as in the reference instance (the backing registry of docs/genesis.md), so their ARD agent records resolve as backed"
115
+ },
116
+ "8436/ACDFPolicyRegistry": {
117
+ "address": "0x7eAfCC452EC0A60a358a26B6e73f28413C4abeF0",
118
+ "bundleKey": "acd-framework:ACDFPolicyRegistry",
119
+ "deployedRevision": "revision 3 (2026-10-15)"
120
+ },
121
+ "8436/ACDFRegistry": {
122
+ "address": "0x3bE57E74f2E7c280073b6B16A1Db3F562758dB01",
123
+ "bundleKey": "acd-framework:ACDFRegistry",
124
+ "deployedRevision": "revision 3 (2026-10-15)"
125
+ },
126
+ "8444/ARDOnchainRegistry": {
127
+ "address": "0x126795eCa2A10ea5B2d065a8049e01B6fcDAaa78",
128
+ "bundleKey": "ard-onchain-framework:ARDOnchainRegistry",
129
+ "deployedRevision": "v1.1 adoption (2026-10-16)",
130
+ "note": "owner is the session-held upstream deployer 0xCcFDEE360c9CDc79005e4ddA9845f3A24EE37A25; registerKind can no longer be called, the four kinds are registered"
131
+ },
132
+ "8444/SkillAdapter": {
133
+ "address": "0x08Be92a9446592fAeaaB976556e09e028662F12F",
134
+ "bundleKey": "ard-onchain-framework:SkillAdapter",
135
+ "deployedRevision": "v1.0 (2026-10-15, reused by v1.1)"
136
+ },
137
+ "8444/TaskAdapter": {
138
+ "address": "0x0BAB1fEE185A4803a1aC65F6dA59941eeCaE71dB",
139
+ "bundleKey": "ard-onchain-framework:TaskAdapter",
140
+ "deployedRevision": "v1.0 (2026-10-15, reused by v1.1)"
141
+ },
142
+ "8444/AgentAdapter": {
143
+ "address": "0x38898d038F4a8fCE3e13447bE7Eb1ECd128cE25C",
144
+ "bundleKey": "ard-onchain-framework:AgentAdapter",
145
+ "deployedRevision": "v1.0 (2026-10-15, reused by v1.1)",
146
+ "note": "constructed with the ARD fixture AIDRegistry 0x36E4..., not with aid-standard's 0x01C0..."
147
+ },
148
+ "8444/RegistryAdapter": {
149
+ "address": "0x32C85829da0be0Fd66ac45eF54d4c393Fcd7149E",
150
+ "bundleKey": "ard-onchain-framework:RegistryAdapter",
151
+ "deployedRevision": "v1.0 (2026-10-15, reused by v1.1)"
152
+ },
153
+ "8447/SpecValidator": {
154
+ "address": "0xE27c429eb67C829312CAAd6Ac8F5359114BbCa00",
155
+ "bundleKey": "swarm-ai-framework:SpecValidator",
156
+ "deployedRevision": "revision 2.1 (2026-10-19)"
157
+ },
158
+ "8447/LifecycleLib": {
159
+ "address": "0xf0CA34139e77EE6Adae171930d330C77a75f09cd",
160
+ "bundleKey": "swarm-ai-framework:LifecycleLib",
161
+ "deployedRevision": "revision 2.1 (2026-10-19)"
162
+ },
163
+ "8447/MembershipLib": {
164
+ "address": "0x8582a086749A32F7BFce5BB8D9835026eF85d121",
165
+ "bundleKey": "swarm-ai-framework:MembershipLib",
166
+ "deployedRevision": "revision 2.1 (2026-10-19)"
167
+ },
168
+ "8447/ResourceLib": {
169
+ "address": "0x77b7d8aaFe0Daa42b6E197392B29307A51c448a5",
170
+ "bundleKey": "swarm-ai-framework:ResourceLib",
171
+ "deployedRevision": "revision 2.1 (2026-10-19)"
172
+ },
173
+ "8447/SwarmRegistry": {
174
+ "address": "0x2C1065a0a892619c1c4288abaf319326C303a1bc",
175
+ "bundleKey": "swarm-ai-framework:SwarmRegistry",
176
+ "deployedRevision": "revision 2.1 (2026-10-19)",
177
+ "note": "constructed with no resource kinds"
178
+ },
179
+ "8447/AllowlistEligibility": {
180
+ "address": "0x9Bd40264D0062Fb1E5550A63446b64DE4A123C20",
181
+ "bundleKey": "swarm-ai-framework:AllowlistEligibility",
182
+ "deployedRevision": "revision 2.1 (2026-10-19)",
183
+ "note": "the only eligibility module deployed upstream; ERC8004Eligibility and IdentityStateEligibility are plan steps this config does not list, so foga world deploy adds them from the bundle (bound to the official identity registry and to the reference AIDRegistry); AssertionLevel and Composite are deployed by the genesis (T4)"
184
+ },
185
+ "8447/SwarmDecisionAdapter": {
186
+ "address": "0x82E2048b603FF5D7b9f586b1f6588a026a90974D",
187
+ "bundleKey": "swarm-ai-framework:SwarmDecisionAdapter",
188
+ "deployedRevision": "revision 2.2 adapter (2026-10-20, Case R)",
189
+ "note": "council 2-of-3 instance 0xcaB2c509f79ADEd438b119A453f0560C33E7B21A and chamber 2-of-2 instance 0x073169857FEFb9120799b1299003074A361f777b are the revision 2.1 adapters"
190
+ },
191
+ "8447/SwarmTenderAdapter": {
192
+ "address": "0x821574AFB51BFBb0615811E354aa3b02dA09ABC6",
193
+ "bundleKey": "swarm-ai-framework:SwarmTenderAdapter",
194
+ "deployedRevision": "revision 2.1 (2026-10-19)"
195
+ },
196
+ "8454/AUFUnitRegistry": {
197
+ "address": "0xE4EcAf6f87A700962f33AAa1A8f4B8e02FA180f8",
198
+ "bundleKey": "aifi-unit-framework:AUFUnitRegistry",
199
+ "deployedRevision": "2026-10-21 (solc 0.8.30)"
200
+ },
201
+ "8454/AUFAssertionRegistry": {
202
+ "address": "0xC4f30AfAFFC9E5a7bDEd58c411B87ABe3FBbEd00",
203
+ "bundleKey": "aifi-unit-framework:AUFAssertionRegistry",
204
+ "deployedRevision": "2026-10-21 (solc 0.8.30)"
205
+ },
206
+ "8468/ASFEvaluation": {
207
+ "address": "0x9b12f62D69EAfc9a240b9AB889cC1647Bf9C56db",
208
+ "bundleKey": "agent-safety-framework:ASFEvaluation",
209
+ "deployedRevision": "revision 7 (2026-10-27)"
210
+ },
211
+ "8468/ASFLifecycle": {
212
+ "address": "0x6a6F645eC9F161735Cc22D441aFD1f513f3b143b",
213
+ "bundleKey": "agent-safety-framework:ASFLifecycle",
214
+ "deployedRevision": "revision 7 (2026-10-27)"
215
+ },
216
+ "8468/ASFSpecificationRegistry": {
217
+ "address": "0x9110b622a17F83065f1e9773D961EB10672932e5",
218
+ "bundleKey": "agent-safety-framework:ASFSpecificationRegistry",
219
+ "deployedRevision": "revision 7 (2026-10-27)"
220
+ },
221
+ "8468/ASFBindingRegistry": {
222
+ "address": "0x136E2a88e1B518342CD997423BDa69Dd2c68e919",
223
+ "bundleKey": "agent-safety-framework:ASFBindingRegistry",
224
+ "deployedRevision": "revision 7 (2026-10-27)"
225
+ },
226
+ "8468/ASFTaskTenderAdapter": {
227
+ "address": "0x015393ECe2E3072055A3Fbe8Fc7f2979B7C7F3Ed",
228
+ "bundleKey": "agent-safety-framework:ASFTaskTenderAdapter",
229
+ "deployedRevision": "revision 7 (2026-10-27)"
230
+ }
231
+ },
232
+ "notes": [
233
+ "Attach-mode world: every address in contracts comes from the upstream repositories' deployment records at the locked commits. Plan steps this config does not list (the ERC-8471 stack, ERC8004Eligibility, IdentityStateEligibility) are deployed from the bundle by foga world deploy, with W as deployer; nothing else is deployed here.",
234
+ "Seam 1: the ARD AgentAdapter is bound to ARD's fixture AIDRegistry (0x36E4...), not to aid-standard's reference instance (0x01C0...). The registry owner key is session-held upstream, so the binding cannot be changed; cells keep their liveness in both registries (8434/AIDRegistry(ard-fixture) is the backing registry).",
235
+ "Seam 2: only AllowlistEligibility is deployed for ERC-8447; the ERC-8004 and identity-state modules are deployed by foga world deploy, the assertion-level and composite modules by the genesis (no owner restriction).",
236
+ "Seam 3: ERC-8471 is deployed upstream at revision 3 while the locked source is revision 4; the two revisions cannot be bound to each other, so FOGA runs its own revision-4 instance here (see upstreamNotAttached) until the upstream revision-4 run lands.",
237
+ "Layer-4 expectations below record the upstream wiring as it is, so a Pass means 'matches the recorded upstream state', not 'matches what FOGA would deploy'."
238
+ ],
239
+ "expectations": {
240
+ "8444/AgentAdapter.identityRegistry": "0x36E4a7BDe8a9D7d445042495180b64C7AF77Fd7E"
241
+ },
242
+ "upstreamNotAttached": {
243
+ "note": "ERC-8471 as deployed upstream on Sepolia (revision 3 of 2026-10-29). The locked source is revision 4, whose binding module admits only sources declaring the revision-4 IADRFObligationSource id, so the revision-3 registry and a revision-4 escrow cannot be bound to each other. The whole ERC-8471 stack is therefore left out of the address book and foga world deploy adds it from the bundle (revision 4, deployed by W). These addresses are recorded so the swap is traceable; when the upstream revision-4 run lands they move back into contracts.",
244
+ "contracts": {
245
+ "8471/ADRFPolicyRegistry": {
246
+ "address": "0x071093a38289b5f9578D0162727b05A52E07eed5",
247
+ "bundleKey": "ai-dispute-resolution:ADRFPolicyRegistry",
248
+ "deployedRevision": "revision 3 (2026-10-29)"
249
+ },
250
+ "8471/ADRFDisputeRegistry": {
251
+ "address": "0x4e27C4728B22c3306f2378b8B421774dc35fE0a9",
252
+ "bundleKey": "ai-dispute-resolution:ADRFDisputeRegistry",
253
+ "deployedRevision": "revision 3 (2026-10-29)",
254
+ "note": "upstream source is revision 4; Binding and Filing modules, DuplicateSettlementVerifier and ADRFServiceEscrow differ. The doctor is expected to report a known version mismatch until the upstream rev-4 run lands"
255
+ },
256
+ "8471/ADRFBindingModule": {
257
+ "address": "0x1D2CCC2eE1f8203d5f66aAA0f3a9b889253f32c2",
258
+ "bundleKey": "ai-dispute-resolution:ADRFBindingModule",
259
+ "deployedRevision": "revision 3 (2026-10-29)"
260
+ },
261
+ "8471/ADRFFilingModule": {
262
+ "address": "0x64C86Cd5992DF93818479f4EEaA601FFf7C5f209",
263
+ "bundleKey": "ai-dispute-resolution:ADRFFilingModule",
264
+ "deployedRevision": "revision 3 (2026-10-29)"
265
+ },
266
+ "8471/ADRFResolutionModule": {
267
+ "address": "0x75a104902744A5793306A25ea2bbDc85a0E77ce4",
268
+ "bundleKey": "ai-dispute-resolution:ADRFResolutionModule",
269
+ "deployedRevision": "revision 3 (2026-10-29)"
270
+ },
271
+ "8471/ADRFDecisionModule": {
272
+ "address": "0x87EDf76351Cbfc210Ae78a1487Ed4b0BB80c5d52",
273
+ "bundleKey": "ai-dispute-resolution:ADRFDecisionModule",
274
+ "deployedRevision": "revision 3 (2026-10-29)"
275
+ },
276
+ "8471/ADRFRecordModule": {
277
+ "address": "0x7F620C43eB7Bf43c19b20eAa49aBB37f93f1Be69",
278
+ "bundleKey": "ai-dispute-resolution:ADRFRecordModule",
279
+ "deployedRevision": "revision 3 (2026-10-29)"
280
+ },
281
+ "8471/ADRFOutcomeModule": {
282
+ "address": "0x999BEf843E8ADba949e688C321D7b5bF37efea55",
283
+ "bundleKey": "ai-dispute-resolution:ADRFOutcomeModule",
284
+ "deployedRevision": "revision 3 (2026-10-29)"
285
+ },
286
+ "8471/ADRFACDFBridge": {
287
+ "address": "0xeC31cb06CEFCd871Bc36cD5267bC3fe9A21c60EB",
288
+ "bundleKey": "ai-dispute-resolution:ADRFACDFBridge",
289
+ "deployedRevision": "revision 3 (2026-10-29)"
290
+ },
291
+ "8471/DuplicateSettlementVerifier": {
292
+ "address": "0x2c5a24596E08379fF9CF9DfF3AaaD4861ba5c4Ae",
293
+ "bundleKey": "ai-dispute-resolution:DuplicateSettlementVerifier",
294
+ "deployedRevision": "revision 3 (2026-10-29)"
295
+ },
296
+ "8471/DeclaredVersionVerifier": {
297
+ "address": "0x612fe0B072492FbaF9754032f2Ceb3bce2aBB6DC",
298
+ "bundleKey": "ai-dispute-resolution:DeclaredVersionVerifier",
299
+ "deployedRevision": "revision 3 (2026-10-29)"
300
+ },
301
+ "8471/AttestorQuorumRule": {
302
+ "address": "0xDe666e792730efE4E633D8E185a10Df4291dE597",
303
+ "bundleKey": "ai-dispute-resolution:AttestorQuorumRule",
304
+ "deployedRevision": "revision 3 (2026-10-29)"
305
+ },
306
+ "8471/ADRFServiceEscrow": {
307
+ "address": "0xD85e5E73D385e6575342bd86263F34b17b287128",
308
+ "bundleKey": "ai-dispute-resolution:ADRFServiceEscrow",
309
+ "deployedRevision": "revision 3 (2026-10-29)",
310
+ "note": "FOGA deploys its own revision-4 escrow in Phase 2c rather than reusing this one; this instance declares revision 3's IADRFObligationSource id (revision 4 added recognizesBreach), so its layer-2 check is a known mismatch"
311
+ }
312
+ }
313
+ }
314
+ }
@@ -0,0 +1,174 @@
1
+ {
2
+ "protocol": "groth16",
3
+ "curve": "bn128",
4
+ "nPublic": 17,
5
+ "vk_alpha_1": [
6
+ "19500057265670996841369658749796193750208620534514729334006744686031682847773",
7
+ "256433013167853406667176854446256457664829438985017143598636713310665742282",
8
+ "1"
9
+ ],
10
+ "vk_beta_2": [
11
+ [
12
+ "10394886427737220625231863222384537310041957966163223442368907134982617937677",
13
+ "15836164862591137824701459151981328209966303906076544738300864771774172493765"
14
+ ],
15
+ [
16
+ "15176421072415064809147273486649391189380992295814809252981781796416698591600",
17
+ "13654889302441254616039198770623339936269168192918304590130238337313646615193"
18
+ ],
19
+ [
20
+ "1",
21
+ "0"
22
+ ]
23
+ ],
24
+ "vk_gamma_2": [
25
+ [
26
+ "10857046999023057135944570762232829481370756359578518086990519993285655852781",
27
+ "11559732032986387107991004021392285783925812861821192530917403151452391805634"
28
+ ],
29
+ [
30
+ "8495653923123431417604973247489272438418190587263600148770280649306958101930",
31
+ "4082367875863433681332203403145435568316851327593401208105741076214120093531"
32
+ ],
33
+ [
34
+ "1",
35
+ "0"
36
+ ]
37
+ ],
38
+ "vk_delta_2": [
39
+ [
40
+ "1683183955217414906118232625622931573365084892208401004817334436987807890751",
41
+ "3476537591967994954019289638296986059102425832503419509216326181902051392963"
42
+ ],
43
+ [
44
+ "9185177617568339956382878158582930271041081171228883553509224544380968560770",
45
+ "17587325835215071986446585981835852190907775161362677916910455288344413078210"
46
+ ],
47
+ [
48
+ "1",
49
+ "0"
50
+ ]
51
+ ],
52
+ "vk_alphabeta_12": [
53
+ [
54
+ [
55
+ "9732668552075758454762400582446570076906022175741518666285521655480808989498",
56
+ "2049983052446503979529119542900987625536992627562958235985758285795600259094"
57
+ ],
58
+ [
59
+ "10787298601173148449944728277191968153093422728923922645487287513892119998140",
60
+ "20165723796905765446817161111607321428184767243113043573648709836819148705381"
61
+ ],
62
+ [
63
+ "15961995420259204747575507436148526477270118341201605414238916129221671847700",
64
+ "8968402010842025717500520259011683707907827918004146357230716862344735584918"
65
+ ]
66
+ ],
67
+ [
68
+ [
69
+ "1002001943761146312736595737045606569576508746307236526030816623385803656057",
70
+ "14393620488611322562227079899374132887489365720985848709820287179992462261258"
71
+ ],
72
+ [
73
+ "2058312262645428380800797231215092180580767203225308123729054377072230834939",
74
+ "18237199950161622467305017872547428296607871772917019172720633799765541535207"
75
+ ],
76
+ [
77
+ "1472559080045279098090689945968316929142946648246369835948129199730412208277",
78
+ "19345194486481343835018265372723199398255007049998632004723923345289252660411"
79
+ ]
80
+ ]
81
+ ],
82
+ "IC": [
83
+ [
84
+ "19349368320448770272002992741522054163911267852456453778369995591070482590518",
85
+ "13130911759108555533936231836732557216972332125928727721231186762401815878762",
86
+ "1"
87
+ ],
88
+ [
89
+ "9123379629797654387491725159743276972195059890980240837647153143784310160414",
90
+ "3874739795043917436169203315238017238751345642047070879653304761374866904896",
91
+ "1"
92
+ ],
93
+ [
94
+ "18232268479614013860928789551029377791539046986140285305749447291918726423914",
95
+ "11604882999828878836018550933902778720475653312635032379000037197703079790131",
96
+ "1"
97
+ ],
98
+ [
99
+ "19590686095245068847176946353838700502855487313382374083171017069092077675051",
100
+ "20751803335310286166806515760959597272413051438461268960531047435612170327840",
101
+ "1"
102
+ ],
103
+ [
104
+ "12165515745682054273322068354544900567471465032502227079651495000109740421000",
105
+ "7287275657512624234873766398789442818966841859145893415103883502928705192555",
106
+ "1"
107
+ ],
108
+ [
109
+ "9944855596182974988518146292171971715811018785110238184649656928892774961465",
110
+ "6010305147572908775147479046873828487924814037106711558339002728055061798396",
111
+ "1"
112
+ ],
113
+ [
114
+ "5119630059198974878830781874287468466580127669783233292122029380780179857941",
115
+ "21057794520367293570516124977616571026972629310335272774834151972517039307670",
116
+ "1"
117
+ ],
118
+ [
119
+ "702702939402935100272012603709842114689821083574524664360114709474791977684",
120
+ "15931424653902334580860649191492229009555341480931162443031432669062203685058",
121
+ "1"
122
+ ],
123
+ [
124
+ "9310113931358228532366870507705307952095833062775100691516446822339660142717",
125
+ "20222856695068982809614197597339668210875456940968818796040009243519189453014",
126
+ "1"
127
+ ],
128
+ [
129
+ "10276203573128716931552593993384268050615369250138484297961162733197635976789",
130
+ "11232861694065149786708089133555190287875598976958107253093745326804207660610",
131
+ "1"
132
+ ],
133
+ [
134
+ "15346801106498681541650365938165340540988042179063668962397723829902721343203",
135
+ "21560344282800310778447411689085708163554743506920460265562893690751049152825",
136
+ "1"
137
+ ],
138
+ [
139
+ "5633459833578724158727406427955708920263572311156623560868564189333089107650",
140
+ "1839940971867605582519597376510185479174357934417791778729559347562227165175",
141
+ "1"
142
+ ],
143
+ [
144
+ "20862546148439471526718871122823643361433384494060972652984765729346914724446",
145
+ "14182404434681254466590322208805187877936955094460722595608359859387965363374",
146
+ "1"
147
+ ],
148
+ [
149
+ "11952510050531636769451124790135842654185269218483368543653687483372898109887",
150
+ "15470275004393239879439155289044375993338103909330967291283029641763536200933",
151
+ "1"
152
+ ],
153
+ [
154
+ "18204212701063647206265573261108762802352645044655427012993273202352568207475",
155
+ "8839449785430609595292860534100862663797951851163851609275026283392698017693",
156
+ "1"
157
+ ],
158
+ [
159
+ "11341226219208093282624965022484781378204579062110063509101352438764761730902",
160
+ "9352112392006879798199869565994075109995882922806188028051961646763709726899",
161
+ "1"
162
+ ],
163
+ [
164
+ "14691164761380446945092827766182896511363713694216678893407717804668481543275",
165
+ "14977843789535987770892519801111252558576926289001393204913233698697053724063",
166
+ "1"
167
+ ],
168
+ [
169
+ "6751550187396113946709186606802001553269478355620991564763199554090084089601",
170
+ "17363546244548036802950575392087509921834461448709638051701911563055394471402",
171
+ "1"
172
+ ]
173
+ ]
174
+ }