igniter 0.5.0 → 0.5.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 (840) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -3
  3. data/README.md +150 -658
  4. data/docs/README.md +59 -0
  5. data/docs/assets/README.md +8 -0
  6. data/docs/concepts/README.md +18 -0
  7. data/docs/concepts/igniter.md +119 -0
  8. data/docs/dev/README.md +48 -0
  9. data/docs/dev/agent-orchestra-dna.md +271 -0
  10. data/docs/dev/ai-agents-target-plan.md +178 -0
  11. data/docs/dev/application-target-plan.md +45 -0
  12. data/docs/dev/application-web-integration.md +59 -0
  13. data/docs/dev/application-web-poc-pattern-guide.md +167 -0
  14. data/docs/dev/architect-supervisor-bootstrap.md +322 -0
  15. data/docs/dev/architecture.md +20 -0
  16. data/docs/dev/cluster-target-plan.md +43 -0
  17. data/docs/dev/contract-persistence-target-plan.md +426 -0
  18. data/docs/dev/current-runtime-snapshot.md +73 -0
  19. data/docs/dev/data-ownership.md +29 -0
  20. data/docs/dev/document-rotation.md +51 -0
  21. data/docs/dev/embed-target-plan.md +51 -0
  22. data/docs/dev/igniter-web-dsl-sketch.md +151 -0
  23. data/docs/dev/igniter-web-target-plan.md +56 -0
  24. data/docs/dev/mcp-adapter-package-spec.md +81 -0
  25. data/docs/dev/module-system.md +46 -0
  26. data/docs/dev/package-map.md +112 -0
  27. data/docs/guide/README.md +77 -0
  28. data/docs/guide/ai-and-tools.md +33 -0
  29. data/docs/guide/api-and-runtime.md +38 -0
  30. data/docs/guide/app.md +45 -0
  31. data/docs/guide/application-capsules.md +139 -0
  32. data/docs/guide/application-showcase-portfolio.md +181 -0
  33. data/docs/guide/cli.md +70 -0
  34. data/docs/guide/cluster.md +55 -0
  35. data/docs/guide/configuration.md +31 -0
  36. data/docs/guide/contract-class-dsl.md +154 -0
  37. data/docs/guide/core-runtime-features.md +34 -0
  38. data/docs/guide/core.md +43 -0
  39. data/docs/guide/credentials.md +51 -0
  40. data/docs/guide/deployment-modes.md +63 -0
  41. data/docs/guide/distributed-workflows.md +21 -0
  42. data/docs/guide/getting-started.md +49 -0
  43. data/docs/guide/how-tos.md +33 -0
  44. data/docs/guide/igniter-lang-foundation.md +133 -0
  45. data/docs/guide/integrations.md +47 -0
  46. data/docs/guide/interactive-app-structure.md +91 -0
  47. data/docs/guide/store-adapters.md +183 -0
  48. data/docs/research/README.md +131 -0
  49. data/docs/research/contract-persistence-landing-zone.md +126 -0
  50. data/docs/research/contract-persistence-organic-model.md +279 -0
  51. data/docs/research/contract-persistence-organic-model.ru.md +277 -0
  52. data/docs/research/horizon-protocol.md +180 -0
  53. data/docs/research/igniter-lang-convergence-report.md +338 -0
  54. data/docs/research/project-status-horizon-report.md +363 -0
  55. data/docs/research/vision-handoff-protocol.md +141 -0
  56. data/docs/research/wizard-type-spec-architecture.md +293 -0
  57. data/docs/research/wizard-type-spec-research-request.md +134 -0
  58. data/docs/store/README.md +7 -0
  59. data/docs/store/convergence-audit.md +901 -0
  60. data/examples/README.md +152 -344
  61. data/examples/catalog.rb +1486 -0
  62. data/examples/cluster/incident_workflow.rb +70 -0
  63. data/examples/cluster/incidents.rb +63 -0
  64. data/examples/cluster/mesh_diagnostics.rb +89 -0
  65. data/examples/cluster/remediation.rb +63 -0
  66. data/examples/cluster/routing.rb +65 -0
  67. data/examples/contracts/aggregates.rb +39 -0
  68. data/examples/contracts/auditing.rb +35 -0
  69. data/examples/contracts/basic_pricing.rb +31 -0
  70. data/examples/contracts/branching.rb +36 -0
  71. data/examples/contracts/build_effect_executor_pack.rb +88 -0
  72. data/examples/contracts/build_your_own_pack.rb +82 -0
  73. data/examples/contracts/capabilities.rb +34 -0
  74. data/examples/contracts/class_callable.rb +45 -0
  75. data/examples/contracts/class_pricing.rb +32 -0
  76. data/examples/contracts/collection.rb +44 -0
  77. data/examples/contracts/commerce.rb +44 -0
  78. data/examples/contracts/compose_your_own_packs.rb +110 -0
  79. data/examples/contracts/composition.rb +61 -0
  80. data/examples/contracts/content_addressing.rb +33 -0
  81. data/examples/contracts/contractable_service.rb +43 -0
  82. data/examples/contracts/contractable_shadow.rb +69 -0
  83. data/examples/contracts/create_pack.rb +105 -0
  84. data/examples/contracts/dataflow.rb +57 -0
  85. data/examples/contracts/debug.rb +32 -0
  86. data/examples/contracts/debug_pack_authoring.rb +31 -0
  87. data/examples/contracts/diagnostics.rb +33 -0
  88. data/examples/contracts/differential.rb +97 -0
  89. data/examples/contracts/effects.rb +34 -0
  90. data/examples/contracts/embed_class_registration.rb +40 -0
  91. data/examples/contracts/embed_human_sugar.rb +106 -0
  92. data/examples/contracts/formula.rb +32 -0
  93. data/examples/contracts/incremental.rb +44 -0
  94. data/examples/contracts/introspection.rb +48 -0
  95. data/examples/contracts/invariants.rb +54 -0
  96. data/examples/contracts/journal.rb +37 -0
  97. data/examples/contracts/lang_foundation.rb +37 -0
  98. data/examples/contracts/mcp.rb +62 -0
  99. data/examples/contracts/mcp_host.rb +55 -0
  100. data/examples/contracts/mcp_server.rb +25 -0
  101. data/examples/contracts/piecewise.rb +30 -0
  102. data/examples/contracts/provenance.rb +55 -0
  103. data/examples/contracts/reactive.rb +62 -0
  104. data/examples/contracts/saga.rb +56 -0
  105. data/examples/contracts/scale.rb +30 -0
  106. data/examples/contracts/step_result.rb +58 -0
  107. data/examples/run.rb +163 -0
  108. data/lib/igniter/cluster.rb +3 -0
  109. data/lib/igniter/contract.rb +1 -326
  110. data/lib/igniter/monorepo_packages.rb +16 -0
  111. data/lib/igniter/version.rb +1 -1
  112. data/lib/igniter/web.rb +3 -0
  113. data/lib/igniter.rb +51 -43
  114. data/packages/igniter-agents/README.md +44 -0
  115. data/packages/igniter-agents/lib/igniter/agents/agent_definition.rb +26 -0
  116. data/packages/igniter-agents/lib/igniter/agents/agent_run.rb +47 -0
  117. data/packages/igniter-agents/lib/igniter/agents/agent_turn.rb +34 -0
  118. data/packages/igniter-agents/lib/igniter/agents/runner.rb +56 -0
  119. data/packages/igniter-agents/lib/igniter/agents/tool_call.rb +26 -0
  120. data/packages/igniter-agents/lib/igniter/agents/trace_event.rb +24 -0
  121. data/packages/igniter-agents/lib/igniter/agents.rb +33 -0
  122. data/packages/igniter-agents/lib/igniter-agents.rb +3 -0
  123. data/packages/igniter-ai/README.md +42 -0
  124. data/packages/igniter-ai/lib/igniter/ai/client.rb +18 -0
  125. data/packages/igniter-ai/lib/igniter/ai/error.rb +14 -0
  126. data/packages/igniter-ai/lib/igniter/ai/model_request.rb +28 -0
  127. data/packages/igniter-ai/lib/igniter/ai/model_response.rb +31 -0
  128. data/packages/igniter-ai/lib/igniter/ai/providers/fake.rb +24 -0
  129. data/packages/igniter-ai/lib/igniter/ai/providers/openai_responses.rb +100 -0
  130. data/packages/igniter-ai/lib/igniter/ai/providers/recorded.rb +40 -0
  131. data/packages/igniter-ai/lib/igniter/ai/usage.rb +32 -0
  132. data/packages/igniter-ai/lib/igniter/ai.rb +28 -0
  133. data/packages/igniter-ai/lib/igniter-ai.rb +3 -0
  134. data/packages/igniter-application/README.md +194 -0
  135. data/packages/igniter-application/lib/igniter/application/agent_definition.rb +38 -0
  136. data/packages/igniter-application/lib/igniter/application/agent_registry.rb +33 -0
  137. data/packages/igniter-application/lib/igniter/application/agent_runtime.rb +29 -0
  138. data/packages/igniter-application/lib/igniter/application/agents_builder.rb +26 -0
  139. data/packages/igniter-application/lib/igniter/application/ai_builder.rb +26 -0
  140. data/packages/igniter-application/lib/igniter/application/ai_provider_definition.rb +59 -0
  141. data/packages/igniter-application/lib/igniter/application/ai_registry.rb +34 -0
  142. data/packages/igniter-application/lib/igniter/application/application_assembly_plan.rb +67 -0
  143. data/packages/igniter-application/lib/igniter/application/application_blueprint.rb +227 -0
  144. data/packages/igniter-application/lib/igniter/application/application_capsule_report.rb +61 -0
  145. data/packages/igniter-application/lib/igniter/application/application_composition_report.rb +161 -0
  146. data/packages/igniter-application/lib/igniter/application/application_handoff_manifest.rb +100 -0
  147. data/packages/igniter-application/lib/igniter/application/application_host_activation_commit_readiness.rb +182 -0
  148. data/packages/igniter-application/lib/igniter/application/application_host_activation_dry_run_result.rb +190 -0
  149. data/packages/igniter-application/lib/igniter/application/application_host_activation_ledger_commit.rb +285 -0
  150. data/packages/igniter-application/lib/igniter/application/application_host_activation_ledger_verification.rb +301 -0
  151. data/packages/igniter-application/lib/igniter/application/application_host_activation_operation_digest.rb +68 -0
  152. data/packages/igniter-application/lib/igniter/application/application_host_activation_plan.rb +200 -0
  153. data/packages/igniter-application/lib/igniter/application/application_host_activation_plan_verification.rb +140 -0
  154. data/packages/igniter-application/lib/igniter/application/application_host_activation_readiness.rb +226 -0
  155. data/packages/igniter-application/lib/igniter/application/application_host_activation_receipt.rb +151 -0
  156. data/packages/igniter-application/lib/igniter/application/application_layout.rb +91 -0
  157. data/packages/igniter-application/lib/igniter/application/application_load_path.rb +38 -0
  158. data/packages/igniter-application/lib/igniter/application/application_load_report.rb +74 -0
  159. data/packages/igniter-application/lib/igniter/application/application_manifest.rb +65 -0
  160. data/packages/igniter-application/lib/igniter/application/application_structure_entry.rb +58 -0
  161. data/packages/igniter-application/lib/igniter/application/application_structure_plan.rb +128 -0
  162. data/packages/igniter-application/lib/igniter/application/application_transfer_applied_verification.rb +301 -0
  163. data/packages/igniter-application/lib/igniter/application/application_transfer_apply_plan.rb +167 -0
  164. data/packages/igniter-application/lib/igniter/application/application_transfer_apply_result.rb +321 -0
  165. data/packages/igniter-application/lib/igniter/application/application_transfer_bundle_artifact.rb +160 -0
  166. data/packages/igniter-application/lib/igniter/application/application_transfer_bundle_plan.rb +125 -0
  167. data/packages/igniter-application/lib/igniter/application/application_transfer_bundle_verification.rb +154 -0
  168. data/packages/igniter-application/lib/igniter/application/application_transfer_intake_plan.rb +195 -0
  169. data/packages/igniter-application/lib/igniter/application/application_transfer_inventory.rb +153 -0
  170. data/packages/igniter-application/lib/igniter/application/application_transfer_readiness.rb +260 -0
  171. data/packages/igniter-application/lib/igniter/application/application_transfer_receipt.rb +179 -0
  172. data/packages/igniter-application/lib/igniter/application/artifact_reference.rb +39 -0
  173. data/packages/igniter-application/lib/igniter/application/boot_phase.rb +27 -0
  174. data/packages/igniter-application/lib/igniter/application/boot_plan.rb +55 -0
  175. data/packages/igniter-application/lib/igniter/application/boot_report.rb +70 -0
  176. data/packages/igniter-application/lib/igniter/application/capsule_builder.rb +396 -0
  177. data/packages/igniter-application/lib/igniter/application/capsule_export.rb +26 -0
  178. data/packages/igniter-application/lib/igniter/application/capsule_import.rb +38 -0
  179. data/packages/igniter-application/lib/igniter/application/collection_invoker.rb +54 -0
  180. data/packages/igniter-application/lib/igniter/application/collection_transport_adapter.rb +37 -0
  181. data/packages/igniter-application/lib/igniter/application/compose_invoker.rb +51 -0
  182. data/packages/igniter-application/lib/igniter/application/compose_transport_adapter.rb +34 -0
  183. data/packages/igniter-application/lib/igniter/application/config.rb +86 -0
  184. data/packages/igniter-application/lib/igniter/application/config_builder.rb +69 -0
  185. data/packages/igniter-application/lib/igniter/application/contract_registry.rb +30 -0
  186. data/packages/igniter-application/lib/igniter/application/credential_definition.rb +65 -0
  187. data/packages/igniter-application/lib/igniter/application/credential_store.rb +68 -0
  188. data/packages/igniter-application/lib/igniter/application/embedded_host.rb +23 -0
  189. data/packages/igniter-application/lib/igniter/application/environment.rb +1071 -0
  190. data/packages/igniter-application/lib/igniter/application/feature_slice.rb +61 -0
  191. data/packages/igniter-application/lib/igniter/application/feature_slice_report.rb +43 -0
  192. data/packages/igniter-application/lib/igniter/application/file_backed_host_activation_ledger_adapter.rb +138 -0
  193. data/packages/igniter-application/lib/igniter/application/file_backed_installed_capsule_registry.rb +132 -0
  194. data/packages/igniter-application/lib/igniter/application/flow_declaration.rb +62 -0
  195. data/packages/igniter-application/lib/igniter/application/flow_event.rb +50 -0
  196. data/packages/igniter-application/lib/igniter/application/flow_session_snapshot.rb +98 -0
  197. data/packages/igniter-application/lib/igniter/application/installed_capsule_entry.rb +47 -0
  198. data/packages/igniter-application/lib/igniter/application/interface.rb +11 -0
  199. data/packages/igniter-application/lib/igniter/application/kernel.rb +385 -0
  200. data/packages/igniter-application/lib/igniter/application/lifecycle_plan_step.rb +38 -0
  201. data/packages/igniter-application/lib/igniter/application/manual_loader.rb +18 -0
  202. data/packages/igniter-application/lib/igniter/application/manual_scheduler.rb +15 -0
  203. data/packages/igniter-application/lib/igniter/application/memory_session_store.rb +33 -0
  204. data/packages/igniter-application/lib/igniter/application/missing_credential_error.rb +23 -0
  205. data/packages/igniter-application/lib/igniter/application/mount_intent.rb +48 -0
  206. data/packages/igniter-application/lib/igniter/application/mount_registration.rb +49 -0
  207. data/packages/igniter-application/lib/igniter/application/pending_action.rb +39 -0
  208. data/packages/igniter-application/lib/igniter/application/pending_input.rb +45 -0
  209. data/packages/igniter-application/lib/igniter/application/plan_executor.rb +93 -0
  210. data/packages/igniter-application/lib/igniter/application/profile.rb +178 -0
  211. data/packages/igniter-application/lib/igniter/application/provider.rb +19 -0
  212. data/packages/igniter-application/lib/igniter/application/provider_lifecycle_report.rb +72 -0
  213. data/packages/igniter-application/lib/igniter/application/provider_lifecycle_result.rb +54 -0
  214. data/packages/igniter-application/lib/igniter/application/provider_registration.rb +19 -0
  215. data/packages/igniter-application/lib/igniter/application/rack_host.rb +311 -0
  216. data/packages/igniter-application/lib/igniter/application/seam_lifecycle_result.rb +62 -0
  217. data/packages/igniter-application/lib/igniter/application/service_definition.rb +25 -0
  218. data/packages/igniter-application/lib/igniter/application/service_registry.rb +58 -0
  219. data/packages/igniter-application/lib/igniter/application/session_entry.rb +46 -0
  220. data/packages/igniter-application/lib/igniter/application/shutdown_plan.rb +45 -0
  221. data/packages/igniter-application/lib/igniter/application/shutdown_report.rb +54 -0
  222. data/packages/igniter-application/lib/igniter/application/snapshot.rb +35 -0
  223. data/packages/igniter-application/lib/igniter/application/transport_request.rb +40 -0
  224. data/packages/igniter-application/lib/igniter/application/transport_response.rb +22 -0
  225. data/packages/igniter-application/lib/igniter/application.rb +354 -0
  226. data/packages/igniter-application/lib/igniter-application.rb +3 -0
  227. data/packages/igniter-cluster/README.md +116 -0
  228. data/packages/igniter-cluster/lib/igniter/cluster/active_incident_set.rb +40 -0
  229. data/packages/igniter-cluster/lib/igniter/cluster/admission_policy.rb +158 -0
  230. data/packages/igniter-cluster/lib/igniter/cluster/admission_result.rb +47 -0
  231. data/packages/igniter-cluster/lib/igniter/cluster/capability_catalog.rb +66 -0
  232. data/packages/igniter-cluster/lib/igniter/cluster/capability_definition.rb +42 -0
  233. data/packages/igniter-cluster/lib/igniter/cluster/capability_query.rb +162 -0
  234. data/packages/igniter-cluster/lib/igniter/cluster/capability_router.rb +11 -0
  235. data/packages/igniter-cluster/lib/igniter/cluster/cluster_diagnostics_executor.rb +184 -0
  236. data/packages/igniter-cluster/lib/igniter/cluster/cluster_diagnostics_report.rb +49 -0
  237. data/packages/igniter-cluster/lib/igniter/cluster/cluster_event.rb +34 -0
  238. data/packages/igniter-cluster/lib/igniter/cluster/cluster_event_log.rb +27 -0
  239. data/packages/igniter-cluster/lib/igniter/cluster/cluster_incident.rb +42 -0
  240. data/packages/igniter-cluster/lib/igniter/cluster/decision_explanation.rb +31 -0
  241. data/packages/igniter-cluster/lib/igniter/cluster/direct_placement.rb +11 -0
  242. data/packages/igniter-cluster/lib/igniter/cluster/discovery_feed.rb +22 -0
  243. data/packages/igniter-cluster/lib/igniter/cluster/environment.rb +380 -0
  244. data/packages/igniter-cluster/lib/igniter/cluster/errors.rb +9 -0
  245. data/packages/igniter-cluster/lib/igniter/cluster/failover_plan.rb +45 -0
  246. data/packages/igniter-cluster/lib/igniter/cluster/failover_step.rb +32 -0
  247. data/packages/igniter-cluster/lib/igniter/cluster/health_policy.rb +124 -0
  248. data/packages/igniter-cluster/lib/igniter/cluster/incident_action.rb +49 -0
  249. data/packages/igniter-cluster/lib/igniter/cluster/incident_entry.rb +98 -0
  250. data/packages/igniter-cluster/lib/igniter/cluster/incident_executor.rb +145 -0
  251. data/packages/igniter-cluster/lib/igniter/cluster/incident_workflow.rb +64 -0
  252. data/packages/igniter-cluster/lib/igniter/cluster/kernel.rb +75 -0
  253. data/packages/igniter-cluster/lib/igniter/cluster/kernel_seams.rb +249 -0
  254. data/packages/igniter-cluster/lib/igniter/cluster/lease_grant.rb +40 -0
  255. data/packages/igniter-cluster/lib/igniter/cluster/lease_plan.rb +40 -0
  256. data/packages/igniter-cluster/lib/igniter/cluster/lease_policy.rb +96 -0
  257. data/packages/igniter-cluster/lib/igniter/cluster/membership_delta.rb +36 -0
  258. data/packages/igniter-cluster/lib/igniter/cluster/membership_feed.rb +24 -0
  259. data/packages/igniter-cluster/lib/igniter/cluster/membership_projection.rb +45 -0
  260. data/packages/igniter-cluster/lib/igniter/cluster/membership_snapshot.rb +64 -0
  261. data/packages/igniter-cluster/lib/igniter/cluster/memory_incident_registry.rb +169 -0
  262. data/packages/igniter-cluster/lib/igniter/cluster/memory_peer_registry.rb +24 -0
  263. data/packages/igniter-cluster/lib/igniter/cluster/mesh_admission.rb +24 -0
  264. data/packages/igniter-cluster/lib/igniter/cluster/mesh_admission_result.rb +40 -0
  265. data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_attempt.rb +51 -0
  266. data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_request.rb +71 -0
  267. data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_response.rb +28 -0
  268. data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_trace.rb +32 -0
  269. data/packages/igniter-cluster/lib/igniter/cluster/mesh_executor.rb +497 -0
  270. data/packages/igniter-cluster/lib/igniter/cluster/mesh_membership.rb +89 -0
  271. data/packages/igniter-cluster/lib/igniter/cluster/mesh_membership_event.rb +32 -0
  272. data/packages/igniter-cluster/lib/igniter/cluster/mesh_membership_source.rb +49 -0
  273. data/packages/igniter-cluster/lib/igniter/cluster/mesh_retry_policy.rb +42 -0
  274. data/packages/igniter-cluster/lib/igniter/cluster/mesh_trust_policy.rb +131 -0
  275. data/packages/igniter-cluster/lib/igniter/cluster/operator_timeline.rb +33 -0
  276. data/packages/igniter-cluster/lib/igniter/cluster/ownership_claim.rb +30 -0
  277. data/packages/igniter-cluster/lib/igniter/cluster/ownership_plan.rb +40 -0
  278. data/packages/igniter-cluster/lib/igniter/cluster/ownership_policy.rb +100 -0
  279. data/packages/igniter-cluster/lib/igniter/cluster/peer.rb +86 -0
  280. data/packages/igniter-cluster/lib/igniter/cluster/peer_discovery.rb +62 -0
  281. data/packages/igniter-cluster/lib/igniter/cluster/peer_health.rb +55 -0
  282. data/packages/igniter-cluster/lib/igniter/cluster/peer_profile.rb +102 -0
  283. data/packages/igniter-cluster/lib/igniter/cluster/peer_topology.rb +62 -0
  284. data/packages/igniter-cluster/lib/igniter/cluster/peer_view.rb +42 -0
  285. data/packages/igniter-cluster/lib/igniter/cluster/permissive_admission.rb +11 -0
  286. data/packages/igniter-cluster/lib/igniter/cluster/placement_decision.rb +38 -0
  287. data/packages/igniter-cluster/lib/igniter/cluster/placement_policy.rb +131 -0
  288. data/packages/igniter-cluster/lib/igniter/cluster/plan_action_result.rb +72 -0
  289. data/packages/igniter-cluster/lib/igniter/cluster/plan_execution_report.rb +57 -0
  290. data/packages/igniter-cluster/lib/igniter/cluster/plan_executor.rb +314 -0
  291. data/packages/igniter-cluster/lib/igniter/cluster/policy_admission.rb +18 -0
  292. data/packages/igniter-cluster/lib/igniter/cluster/policy_placement.rb +69 -0
  293. data/packages/igniter-cluster/lib/igniter/cluster/policy_router.rb +70 -0
  294. data/packages/igniter-cluster/lib/igniter/cluster/profile.rb +97 -0
  295. data/packages/igniter-cluster/lib/igniter/cluster/projection_executor.rb +42 -0
  296. data/packages/igniter-cluster/lib/igniter/cluster/projection_policy.rb +107 -0
  297. data/packages/igniter-cluster/lib/igniter/cluster/projection_report.rb +35 -0
  298. data/packages/igniter-cluster/lib/igniter/cluster/projection_stage.rb +32 -0
  299. data/packages/igniter-cluster/lib/igniter/cluster/rebalance_move.rb +30 -0
  300. data/packages/igniter-cluster/lib/igniter/cluster/rebalance_plan.rb +40 -0
  301. data/packages/igniter-cluster/lib/igniter/cluster/recovery_timeline.rb +33 -0
  302. data/packages/igniter-cluster/lib/igniter/cluster/registry_membership_source.rb +97 -0
  303. data/packages/igniter-cluster/lib/igniter/cluster/remediation_plan.rb +45 -0
  304. data/packages/igniter-cluster/lib/igniter/cluster/remediation_policy.rb +119 -0
  305. data/packages/igniter-cluster/lib/igniter/cluster/remediation_step.rb +44 -0
  306. data/packages/igniter-cluster/lib/igniter/cluster/route.rb +34 -0
  307. data/packages/igniter-cluster/lib/igniter/cluster/route_policy.rb +104 -0
  308. data/packages/igniter-cluster/lib/igniter/cluster/route_request.rb +61 -0
  309. data/packages/igniter-cluster/lib/igniter/cluster/topology_policy.rb +154 -0
  310. data/packages/igniter-cluster/lib/igniter/cluster/transport_adapter.rb +53 -0
  311. data/packages/igniter-cluster/lib/igniter/cluster.rb +108 -0
  312. data/packages/igniter-cluster/lib/igniter-cluster.rb +3 -0
  313. data/packages/igniter-contracts/README.md +239 -0
  314. data/packages/igniter-contracts/lib/igniter/contracts/api.rb +92 -0
  315. data/packages/igniter-contracts/lib/igniter/contracts/assembly/baseline_pack.rb +141 -0
  316. data/packages/igniter-contracts/lib/igniter/contracts/assembly/const_pack.rb +29 -0
  317. data/packages/igniter-contracts/lib/igniter/contracts/assembly/dsl_keyword.rb +21 -0
  318. data/packages/igniter-contracts/lib/igniter/contracts/assembly/hook_result_policies.rb +47 -0
  319. data/packages/igniter-contracts/lib/igniter/contracts/assembly/hook_spec.rb +73 -0
  320. data/packages/igniter-contracts/lib/igniter/contracts/assembly/hook_specs.rb +74 -0
  321. data/packages/igniter-contracts/lib/igniter/contracts/assembly/kernel.rb +220 -0
  322. data/packages/igniter-contracts/lib/igniter/contracts/assembly/node_type.rb +26 -0
  323. data/packages/igniter-contracts/lib/igniter/contracts/assembly/ordered_registry.rb +55 -0
  324. data/packages/igniter-contracts/lib/igniter/contracts/assembly/pack.rb +13 -0
  325. data/packages/igniter-contracts/lib/igniter/contracts/assembly/pack_manifest.rb +131 -0
  326. data/packages/igniter-contracts/lib/igniter/contracts/assembly/path_access.rb +76 -0
  327. data/packages/igniter-contracts/lib/igniter/contracts/assembly/profile.rb +133 -0
  328. data/packages/igniter-contracts/lib/igniter/contracts/assembly/project_pack.rb +42 -0
  329. data/packages/igniter-contracts/lib/igniter/contracts/assembly/registry.rb +57 -0
  330. data/packages/igniter-contracts/lib/igniter/contracts/assembly/step_result_pack.rb +42 -0
  331. data/packages/igniter-contracts/lib/igniter/contracts/assembly.rb +18 -0
  332. data/packages/igniter-contracts/lib/igniter/contracts/contract.rb +135 -0
  333. data/packages/igniter-contracts/lib/igniter/contracts/contractable.rb +288 -0
  334. data/packages/igniter-contracts/lib/igniter/contracts/environment.rb +51 -0
  335. data/packages/igniter-contracts/lib/igniter/contracts/errors.rb +47 -0
  336. data/packages/igniter-contracts/lib/igniter/contracts/execution/baseline_normalizers.rb +23 -0
  337. data/packages/igniter-contracts/lib/igniter/contracts/execution/baseline_runtime.rb +55 -0
  338. data/packages/igniter-contracts/lib/igniter/contracts/execution/baseline_validators.rb +113 -0
  339. data/packages/igniter-contracts/lib/igniter/contracts/execution/builder.rb +43 -0
  340. data/packages/igniter-contracts/lib/igniter/contracts/execution/compilation_report.rb +46 -0
  341. data/packages/igniter-contracts/lib/igniter/contracts/execution/compiled_graph.rb +21 -0
  342. data/packages/igniter-contracts/lib/igniter/contracts/execution/compiler.rb +66 -0
  343. data/packages/igniter-contracts/lib/igniter/contracts/execution/const_runtime.rb +15 -0
  344. data/packages/igniter-contracts/lib/igniter/contracts/execution/diagnostics.rb +24 -0
  345. data/packages/igniter-contracts/lib/igniter/contracts/execution/diagnostics_report.rb +40 -0
  346. data/packages/igniter-contracts/lib/igniter/contracts/execution/diagnostics_section.rb +37 -0
  347. data/packages/igniter-contracts/lib/igniter/contracts/execution/effect_invocation.rb +26 -0
  348. data/packages/igniter-contracts/lib/igniter/contracts/execution/execution_request.rb +28 -0
  349. data/packages/igniter-contracts/lib/igniter/contracts/execution/execution_result.rb +32 -0
  350. data/packages/igniter-contracts/lib/igniter/contracts/execution/inline_executor.rb +19 -0
  351. data/packages/igniter-contracts/lib/igniter/contracts/execution/mutable_named_values.rb +52 -0
  352. data/packages/igniter-contracts/lib/igniter/contracts/execution/named_values.rb +48 -0
  353. data/packages/igniter-contracts/lib/igniter/contracts/execution/operation.rb +42 -0
  354. data/packages/igniter-contracts/lib/igniter/contracts/execution/runtime.rb +43 -0
  355. data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result.rb +51 -0
  356. data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result_diagnostics.rb +35 -0
  357. data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result_runtime.rb +51 -0
  358. data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result_validators.rb +44 -0
  359. data/packages/igniter-contracts/lib/igniter/contracts/execution/structured_dump.rb +49 -0
  360. data/packages/igniter-contracts/lib/igniter/contracts/execution/validation_finding.rb +28 -0
  361. data/packages/igniter-contracts/lib/igniter/contracts/execution/validation_report.rb +46 -0
  362. data/packages/igniter-contracts/lib/igniter/contracts/execution.rb +28 -0
  363. data/packages/igniter-contracts/lib/igniter/contracts.rb +54 -0
  364. data/packages/igniter-contracts/lib/igniter/lang/backend.rb +19 -0
  365. data/packages/igniter-contracts/lib/igniter/lang/backends/ruby.rb +42 -0
  366. data/packages/igniter-contracts/lib/igniter/lang/diagnostic_payload.rb +174 -0
  367. data/packages/igniter-contracts/lib/igniter/lang/metadata_carrier_manifest.rb +112 -0
  368. data/packages/igniter-contracts/lib/igniter/lang/metadata_manifest.rb +128 -0
  369. data/packages/igniter-contracts/lib/igniter/lang/receipt_payload.rb +152 -0
  370. data/packages/igniter-contracts/lib/igniter/lang/schema_compatibility_diagnostic.rb +300 -0
  371. data/packages/igniter-contracts/lib/igniter/lang/types.rb +84 -0
  372. data/packages/igniter-contracts/lib/igniter/lang/verification_report.rb +226 -0
  373. data/packages/igniter-contracts/lib/igniter/lang.rb +27 -0
  374. data/packages/igniter-contracts/lib/igniter-contracts.rb +3 -0
  375. data/packages/igniter-embed/README.md +360 -0
  376. data/packages/igniter-embed/lib/igniter/embed/config.rb +155 -0
  377. data/packages/igniter-embed/lib/igniter/embed/container.rb +165 -0
  378. data/packages/igniter-embed/lib/igniter/embed/contract_handle.rb +23 -0
  379. data/packages/igniter-embed/lib/igniter/embed/contract_naming.rb +38 -0
  380. data/packages/igniter-embed/lib/igniter/embed/contractable/acceptance.rb +52 -0
  381. data/packages/igniter-embed/lib/igniter/embed/contractable/adapters.rb +33 -0
  382. data/packages/igniter-embed/lib/igniter/embed/contractable/config.rb +234 -0
  383. data/packages/igniter-embed/lib/igniter/embed/contractable/runner.rb +393 -0
  384. data/packages/igniter-embed/lib/igniter/embed/contractable/sugar_builder.rb +145 -0
  385. data/packages/igniter-embed/lib/igniter/embed/contractable.rb +29 -0
  386. data/packages/igniter-embed/lib/igniter/embed/contracts_builder.rb +54 -0
  387. data/packages/igniter-embed/lib/igniter/embed/errors.rb +14 -0
  388. data/packages/igniter-embed/lib/igniter/embed/execution_envelope.rb +50 -0
  389. data/packages/igniter-embed/lib/igniter/embed/host_builder.rb +39 -0
  390. data/packages/igniter-embed/lib/igniter/embed/rails.rb +21 -0
  391. data/packages/igniter-embed/lib/igniter/embed/registry.rb +78 -0
  392. data/packages/igniter-embed/lib/igniter/embed/sugar_expansion.rb +152 -0
  393. data/packages/igniter-embed/lib/igniter/embed.rb +38 -0
  394. data/packages/igniter-embed/lib/igniter-embed.rb +3 -0
  395. data/packages/igniter-extensions/README.md +381 -0
  396. data/packages/igniter-extensions/lib/igniter/extensions/contracts/aggregate_pack.rb +103 -0
  397. data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit/builder.rb +132 -0
  398. data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit/event.rb +34 -0
  399. data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit/snapshot.rb +44 -0
  400. data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit_pack.rb +60 -0
  401. data/packages/igniter-extensions/lib/igniter/extensions/contracts/branch_pack.rb +199 -0
  402. data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/declaration.rb +31 -0
  403. data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/error.rb +35 -0
  404. data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/policy.rb +20 -0
  405. data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/report.rb +47 -0
  406. data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/violation.rb +30 -0
  407. data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities_pack.rb +146 -0
  408. data/packages/igniter-extensions/lib/igniter/extensions/contracts/collection_pack.rb +212 -0
  409. data/packages/igniter-extensions/lib/igniter/extensions/contracts/commerce_pack.rb +91 -0
  410. data/packages/igniter-extensions/lib/igniter/extensions/contracts/compose_pack.rb +213 -0
  411. data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing/cache.rb +59 -0
  412. data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing/content_key.rb +63 -0
  413. data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing/declaration.rb +47 -0
  414. data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing_pack.rb +90 -0
  415. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/profile.rb +196 -0
  416. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/report.rb +85 -0
  417. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/scaffold.rb +461 -0
  418. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/scope.rb +79 -0
  419. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/wizard.rb +269 -0
  420. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/workflow.rb +189 -0
  421. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/workflow_step.rb +51 -0
  422. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/write_result.rb +48 -0
  423. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/write_step.rb +63 -0
  424. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/writer.rb +131 -0
  425. data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator_pack.rb +128 -0
  426. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/aggregate_operators.rb +119 -0
  427. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/aggregate_state.rb +60 -0
  428. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/builder.rb +66 -0
  429. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/collection_result.rb +70 -0
  430. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/diff.rb +37 -0
  431. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/item_result.rb +44 -0
  432. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/result.rb +58 -0
  433. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/session.rb +173 -0
  434. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/window_filter.rb +49 -0
  435. data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow_pack.rb +66 -0
  436. data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/pack_audit.rb +181 -0
  437. data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/pack_snapshot.rb +46 -0
  438. data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/profile_snapshot.rb +50 -0
  439. data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/report.rb +50 -0
  440. data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug_pack.rb +115 -0
  441. data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/divergence.rb +37 -0
  442. data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/formatter.rb +85 -0
  443. data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/report.rb +83 -0
  444. data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/runner.rb +136 -0
  445. data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential_pack.rb +61 -0
  446. data/packages/igniter-extensions/lib/igniter/extensions/contracts/execution_report_pack.rb +38 -0
  447. data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/formatter.rb +60 -0
  448. data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/node_state.rb +30 -0
  449. data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/result.rb +65 -0
  450. data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/session.rb +146 -0
  451. data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental_pack.rb +40 -0
  452. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/builder.rb +27 -0
  453. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/cases_report.rb +47 -0
  454. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/error.rb +34 -0
  455. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/invariant.rb +30 -0
  456. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/report.rb +45 -0
  457. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/suite.rb +36 -0
  458. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/violation.rb +39 -0
  459. data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants_pack.rb +88 -0
  460. data/packages/igniter-extensions/lib/igniter/extensions/contracts/journal_pack.rb +55 -0
  461. data/packages/igniter-extensions/lib/igniter/extensions/contracts/language/formula_pack.rb +185 -0
  462. data/packages/igniter-extensions/lib/igniter/extensions/contracts/language/piecewise_pack.rb +166 -0
  463. data/packages/igniter-extensions/lib/igniter/extensions/contracts/language/scale_pack.rb +147 -0
  464. data/packages/igniter-extensions/lib/igniter/extensions/contracts/lookup_pack.rb +50 -0
  465. data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/creator_session.rb +105 -0
  466. data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/tool_argument.rb +35 -0
  467. data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/tool_definition.rb +33 -0
  468. data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/tool_result.rb +28 -0
  469. data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp_pack.rb +335 -0
  470. data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/builder.rb +80 -0
  471. data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/lineage.rb +59 -0
  472. data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/node_trace.rb +53 -0
  473. data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/text_formatter.rb +62 -0
  474. data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance_pack.rb +52 -0
  475. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/builder.rb +43 -0
  476. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/dispatch_result.rb +59 -0
  477. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/engine.rb +79 -0
  478. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/event.rb +36 -0
  479. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/matcher.rb +20 -0
  480. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/plan.rb +58 -0
  481. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/subscription.rb +29 -0
  482. data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive_pack.rb +169 -0
  483. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/compensation.rb +25 -0
  484. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/compensation_record.rb +28 -0
  485. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/compensation_set.rb +47 -0
  486. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/formatter.rb +39 -0
  487. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/result.rb +56 -0
  488. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/runner.rb +124 -0
  489. data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga_pack.rb +56 -0
  490. data/packages/igniter-extensions/lib/igniter/extensions/contracts.rb +445 -0
  491. data/packages/igniter-extensions/lib/igniter/extensions.rb +6 -0
  492. data/packages/igniter-extensions/lib/igniter-extensions.rb +3 -0
  493. data/packages/igniter-hub/README.md +25 -0
  494. data/packages/igniter-hub/lib/igniter/hub/catalog_entry.rb +35 -0
  495. data/packages/igniter-hub/lib/igniter/hub/local_catalog.rb +51 -0
  496. data/packages/igniter-hub/lib/igniter/hub.rb +16 -0
  497. data/packages/igniter-hub/lib/igniter-hub.rb +3 -0
  498. data/packages/igniter-mcp-adapter/README.md +65 -0
  499. data/packages/igniter-mcp-adapter/exe/igniter-mcp-adapter +6 -0
  500. data/packages/igniter-mcp-adapter/lib/igniter/mcp/adapter/host.rb +226 -0
  501. data/packages/igniter-mcp-adapter/lib/igniter/mcp/adapter/server.rb +148 -0
  502. data/packages/igniter-mcp-adapter/lib/igniter/mcp/adapter.rb +40 -0
  503. data/packages/igniter-mcp-adapter/lib/igniter-mcp-adapter.rb +5 -0
  504. data/packages/igniter-web/README.md +539 -0
  505. data/packages/igniter-web/lib/igniter/web/api.rb +49 -0
  506. data/packages/igniter-web/lib/igniter/web/application.rb +99 -0
  507. data/packages/igniter-web/lib/igniter/web/application_web_mount.rb +162 -0
  508. data/packages/igniter-web/lib/igniter/web/arbre.rb +41 -0
  509. data/packages/igniter-web/lib/igniter/web/component.rb +103 -0
  510. data/packages/igniter-web/lib/igniter/web/components/view_action_node.rb +38 -0
  511. data/packages/igniter-web/lib/igniter/web/components/view_ask_node.rb +52 -0
  512. data/packages/igniter-web/lib/igniter/web/components/view_chat_node.rb +34 -0
  513. data/packages/igniter-web/lib/igniter/web/components/view_compare_node.rb +41 -0
  514. data/packages/igniter-web/lib/igniter/web/components/view_node.rb +30 -0
  515. data/packages/igniter-web/lib/igniter/web/components/view_screen.rb +34 -0
  516. data/packages/igniter-web/lib/igniter/web/components/view_stream_node.rb +32 -0
  517. data/packages/igniter-web/lib/igniter/web/components/view_zone.rb +26 -0
  518. data/packages/igniter-web/lib/igniter/web/components.rb +10 -0
  519. data/packages/igniter-web/lib/igniter/web/composer.rb +84 -0
  520. data/packages/igniter-web/lib/igniter/web/composition_finding.rb +16 -0
  521. data/packages/igniter-web/lib/igniter/web/composition_policy.rb +88 -0
  522. data/packages/igniter-web/lib/igniter/web/composition_preset.rb +131 -0
  523. data/packages/igniter-web/lib/igniter/web/composition_result.rb +27 -0
  524. data/packages/igniter-web/lib/igniter/web/flow_interaction_adapter.rb +104 -0
  525. data/packages/igniter-web/lib/igniter/web/flow_surface_projection.rb +121 -0
  526. data/packages/igniter-web/lib/igniter/web/interaction_target.rb +50 -0
  527. data/packages/igniter-web/lib/igniter/web/mount_context.rb +80 -0
  528. data/packages/igniter-web/lib/igniter/web/page.rb +110 -0
  529. data/packages/igniter-web/lib/igniter/web/record.rb +54 -0
  530. data/packages/igniter-web/lib/igniter/web/screen_spec.rb +109 -0
  531. data/packages/igniter-web/lib/igniter/web/surface_manifest.rb +370 -0
  532. data/packages/igniter-web/lib/igniter/web/surface_structure.rb +57 -0
  533. data/packages/igniter-web/lib/igniter/web/view_graph.rb +25 -0
  534. data/packages/igniter-web/lib/igniter/web/view_graph_renderer.rb +63 -0
  535. data/packages/igniter-web/lib/igniter/web/view_node.rb +37 -0
  536. data/packages/igniter-web/lib/igniter/web.rb +107 -0
  537. data/packages/igniter-web/lib/igniter-web.rb +3 -0
  538. metadata +547 -308
  539. data/docs/API_V2.md +0 -537
  540. data/docs/APPLICATION_V1.md +0 -253
  541. data/docs/ARCHITECTURE_V2.md +0 -317
  542. data/docs/BACKLOG.md +0 -166
  543. data/docs/BRANCHES_V1.md +0 -213
  544. data/docs/CAPABILITIES_V1.md +0 -207
  545. data/docs/COLLECTIONS_V1.md +0 -303
  546. data/docs/CONSENSUS_V1.md +0 -477
  547. data/docs/CONTENT_ADDRESSING_V1.md +0 -221
  548. data/docs/DATAFLOW_V1.md +0 -274
  549. data/docs/DISTRIBUTED_CONTRACTS_V1.md +0 -493
  550. data/docs/IGNITER_CONCEPTS.md +0 -81
  551. data/docs/LLM_V1.md +0 -335
  552. data/docs/MESH_V1.md +0 -732
  553. data/docs/NODE_CACHE_V1.md +0 -324
  554. data/docs/PATTERNS.md +0 -411
  555. data/docs/PROACTIVE_AGENTS_V1.md +0 -293
  556. data/docs/SERVER_V1.md +0 -512
  557. data/docs/SKILLS_V1.md +0 -213
  558. data/docs/STORE_ADAPTERS.md +0 -154
  559. data/docs/TEMPORAL_V1.md +0 -174
  560. data/docs/TOOLS_V1.md +0 -347
  561. data/docs/TRANSCRIPTION_V1.md +0 -403
  562. data/examples/agents.rb +0 -150
  563. data/examples/async_store.rb +0 -47
  564. data/examples/basic_pricing.rb +0 -27
  565. data/examples/collection.rb +0 -43
  566. data/examples/collection_partial_failure.rb +0 -50
  567. data/examples/composition.rb +0 -39
  568. data/examples/consensus.rb +0 -239
  569. data/examples/dataflow.rb +0 -308
  570. data/examples/diagnostics.rb +0 -28
  571. data/examples/differential.rb +0 -161
  572. data/examples/distributed_server.rb +0 -94
  573. data/examples/distributed_workflow.rb +0 -52
  574. data/examples/effects.rb +0 -184
  575. data/examples/elocal_webhook.rb +0 -1
  576. data/examples/incremental.rb +0 -142
  577. data/examples/invariants.rb +0 -179
  578. data/examples/llm_tools.rb +0 -237
  579. data/examples/marketing_ergonomics.rb +0 -57
  580. data/examples/mesh.rb +0 -239
  581. data/examples/mesh_discovery.rb +0 -267
  582. data/examples/mesh_gossip.rb +0 -162
  583. data/examples/order_pipeline.rb +0 -163
  584. data/examples/provenance.rb +0 -122
  585. data/examples/ringcentral_routing.rb +0 -269
  586. data/examples/saga.rb +0 -110
  587. data/lib/igniter/agent/mailbox.rb +0 -96
  588. data/lib/igniter/agent/message.rb +0 -21
  589. data/lib/igniter/agent/ref.rb +0 -86
  590. data/lib/igniter/agent/runner.rb +0 -129
  591. data/lib/igniter/agent/state_holder.rb +0 -23
  592. data/lib/igniter/agent.rb +0 -155
  593. data/lib/igniter/agents/ai/alert_agent.rb +0 -111
  594. data/lib/igniter/agents/ai/chain_agent.rb +0 -127
  595. data/lib/igniter/agents/ai/critic_agent.rb +0 -163
  596. data/lib/igniter/agents/ai/evaluator_agent.rb +0 -193
  597. data/lib/igniter/agents/ai/evolution_agent.rb +0 -286
  598. data/lib/igniter/agents/ai/health_check_agent.rb +0 -122
  599. data/lib/igniter/agents/ai/observer_agent.rb +0 -184
  600. data/lib/igniter/agents/ai/planner_agent.rb +0 -210
  601. data/lib/igniter/agents/ai/router_agent.rb +0 -131
  602. data/lib/igniter/agents/ai/self_reflection_agent.rb +0 -175
  603. data/lib/igniter/agents/observability/metrics_agent.rb +0 -130
  604. data/lib/igniter/agents/pipeline/batch_processor_agent.rb +0 -131
  605. data/lib/igniter/agents/proactive_agent.rb +0 -208
  606. data/lib/igniter/agents/reliability/retry_agent.rb +0 -99
  607. data/lib/igniter/agents/scheduling/cron_agent.rb +0 -110
  608. data/lib/igniter/agents.rb +0 -56
  609. data/lib/igniter/application/app_config.rb +0 -32
  610. data/lib/igniter/application/autoloader.rb +0 -18
  611. data/lib/igniter/application/generator.rb +0 -157
  612. data/lib/igniter/application/scheduler.rb +0 -109
  613. data/lib/igniter/application/yml_loader.rb +0 -39
  614. data/lib/igniter/application.rb +0 -174
  615. data/lib/igniter/capabilities.rb +0 -68
  616. data/lib/igniter/compiler/compiled_graph.rb +0 -180
  617. data/lib/igniter/compiler/graph_compiler.rb +0 -70
  618. data/lib/igniter/compiler/type_resolver.rb +0 -54
  619. data/lib/igniter/compiler/validation_context.rb +0 -61
  620. data/lib/igniter/compiler/validation_pipeline.rb +0 -32
  621. data/lib/igniter/compiler/validator.rb +0 -19
  622. data/lib/igniter/compiler/validators/await_validator.rb +0 -53
  623. data/lib/igniter/compiler/validators/callable_validator.rb +0 -125
  624. data/lib/igniter/compiler/validators/dependencies_validator.rb +0 -241
  625. data/lib/igniter/compiler/validators/outputs_validator.rb +0 -66
  626. data/lib/igniter/compiler/validators/remote_validator.rb +0 -60
  627. data/lib/igniter/compiler/validators/type_compatibility_validator.rb +0 -84
  628. data/lib/igniter/compiler/validators/uniqueness_validator.rb +0 -60
  629. data/lib/igniter/compiler.rb +0 -20
  630. data/lib/igniter/consensus/cluster.rb +0 -183
  631. data/lib/igniter/consensus/errors.rb +0 -14
  632. data/lib/igniter/consensus/executors.rb +0 -43
  633. data/lib/igniter/consensus/node.rb +0 -320
  634. data/lib/igniter/consensus/read_query.rb +0 -30
  635. data/lib/igniter/consensus/state_machine.rb +0 -58
  636. data/lib/igniter/consensus.rb +0 -58
  637. data/lib/igniter/content_addressing.rb +0 -133
  638. data/lib/igniter/dataflow/aggregate_operators.rb +0 -147
  639. data/lib/igniter/dataflow/aggregate_state.rb +0 -77
  640. data/lib/igniter/dataflow/diff.rb +0 -37
  641. data/lib/igniter/dataflow/diff_state.rb +0 -81
  642. data/lib/igniter/dataflow/incremental_collection_result.rb +0 -39
  643. data/lib/igniter/dataflow/window_filter.rb +0 -48
  644. data/lib/igniter/dataflow.rb +0 -65
  645. data/lib/igniter/diagnostics/auditing/report/console_formatter.rb +0 -80
  646. data/lib/igniter/diagnostics/auditing/report/markdown_formatter.rb +0 -22
  647. data/lib/igniter/diagnostics/introspection/formatters/mermaid_formatter.rb +0 -58
  648. data/lib/igniter/diagnostics/introspection/formatters/text_tree_formatter.rb +0 -44
  649. data/lib/igniter/diagnostics/report.rb +0 -349
  650. data/lib/igniter/diagnostics.rb +0 -8
  651. data/lib/igniter/differential/divergence.rb +0 -29
  652. data/lib/igniter/differential/formatter.rb +0 -96
  653. data/lib/igniter/differential/report.rb +0 -86
  654. data/lib/igniter/differential/runner.rb +0 -130
  655. data/lib/igniter/differential.rb +0 -51
  656. data/lib/igniter/dsl/contract_builder.rb +0 -495
  657. data/lib/igniter/dsl/schema_builder.rb +0 -73
  658. data/lib/igniter/dsl.rb +0 -9
  659. data/lib/igniter/effect.rb +0 -91
  660. data/lib/igniter/effect_registry.rb +0 -78
  661. data/lib/igniter/errors.rb +0 -79
  662. data/lib/igniter/events/bus.rb +0 -44
  663. data/lib/igniter/events/event.rb +0 -82
  664. data/lib/igniter/events.rb +0 -9
  665. data/lib/igniter/execution_report/builder.rb +0 -54
  666. data/lib/igniter/execution_report/formatter.rb +0 -50
  667. data/lib/igniter/execution_report/node_entry.rb +0 -24
  668. data/lib/igniter/execution_report/report.rb +0 -65
  669. data/lib/igniter/execution_report.rb +0 -32
  670. data/lib/igniter/executor.rb +0 -134
  671. data/lib/igniter/executor_registry.rb +0 -44
  672. data/lib/igniter/extensions/auditing/timeline.rb +0 -103
  673. data/lib/igniter/extensions/auditing.rb +0 -10
  674. data/lib/igniter/extensions/capabilities.rb +0 -39
  675. data/lib/igniter/extensions/content_addressing.rb +0 -5
  676. data/lib/igniter/extensions/dataflow.rb +0 -117
  677. data/lib/igniter/extensions/differential.rb +0 -114
  678. data/lib/igniter/extensions/execution_report.rb +0 -27
  679. data/lib/igniter/extensions/incremental.rb +0 -50
  680. data/lib/igniter/extensions/introspection/graph_formatter.rb +0 -103
  681. data/lib/igniter/extensions/introspection/plan_formatter.rb +0 -55
  682. data/lib/igniter/extensions/introspection/runtime_formatter.rb +0 -117
  683. data/lib/igniter/extensions/introspection.rb +0 -12
  684. data/lib/igniter/extensions/invariants.rb +0 -116
  685. data/lib/igniter/extensions/mesh.rb +0 -31
  686. data/lib/igniter/extensions/provenance.rb +0 -45
  687. data/lib/igniter/extensions/reactive/engine.rb +0 -83
  688. data/lib/igniter/extensions/reactive/matcher.rb +0 -21
  689. data/lib/igniter/extensions/reactive/reaction.rb +0 -18
  690. data/lib/igniter/extensions/reactive.rb +0 -12
  691. data/lib/igniter/extensions/saga.rb +0 -74
  692. data/lib/igniter/extensions.rb +0 -10
  693. data/lib/igniter/fingerprint.rb +0 -43
  694. data/lib/igniter/incremental/formatter.rb +0 -81
  695. data/lib/igniter/incremental/result.rb +0 -69
  696. data/lib/igniter/incremental/tracker.rb +0 -108
  697. data/lib/igniter/incremental.rb +0 -50
  698. data/lib/igniter/integrations/agents.rb +0 -18
  699. data/lib/igniter/integrations/llm/config.rb +0 -113
  700. data/lib/igniter/integrations/llm/context.rb +0 -74
  701. data/lib/igniter/integrations/llm/executor.rb +0 -352
  702. data/lib/igniter/integrations/llm/providers/anthropic.rb +0 -181
  703. data/lib/igniter/integrations/llm/providers/base.rb +0 -33
  704. data/lib/igniter/integrations/llm/providers/ollama.rb +0 -137
  705. data/lib/igniter/integrations/llm/providers/openai.rb +0 -182
  706. data/lib/igniter/integrations/llm/transcription/providers/assemblyai.rb +0 -200
  707. data/lib/igniter/integrations/llm/transcription/providers/base.rb +0 -122
  708. data/lib/igniter/integrations/llm/transcription/providers/deepgram.rb +0 -162
  709. data/lib/igniter/integrations/llm/transcription/providers/openai.rb +0 -102
  710. data/lib/igniter/integrations/llm/transcription/transcriber.rb +0 -145
  711. data/lib/igniter/integrations/llm/transcription/transcript_result.rb +0 -29
  712. data/lib/igniter/integrations/llm.rb +0 -95
  713. data/lib/igniter/integrations/rails/cable_adapter.rb +0 -49
  714. data/lib/igniter/integrations/rails/contract_job.rb +0 -76
  715. data/lib/igniter/integrations/rails/generators/contract/contract_generator.rb +0 -22
  716. data/lib/igniter/integrations/rails/generators/install/install_generator.rb +0 -33
  717. data/lib/igniter/integrations/rails/railtie.rb +0 -25
  718. data/lib/igniter/integrations/rails/webhook_concern.rb +0 -49
  719. data/lib/igniter/integrations/rails.rb +0 -12
  720. data/lib/igniter/invariant.rb +0 -50
  721. data/lib/igniter/memory/agent_memory.rb +0 -104
  722. data/lib/igniter/memory/episode.rb +0 -29
  723. data/lib/igniter/memory/fact.rb +0 -27
  724. data/lib/igniter/memory/memorable.rb +0 -90
  725. data/lib/igniter/memory/reflection_cycle.rb +0 -96
  726. data/lib/igniter/memory/reflection_record.rb +0 -28
  727. data/lib/igniter/memory/store.rb +0 -115
  728. data/lib/igniter/memory/stores/in_memory.rb +0 -136
  729. data/lib/igniter/memory/stores/sqlite.rb +0 -284
  730. data/lib/igniter/memory.rb +0 -80
  731. data/lib/igniter/mesh/announcer.rb +0 -55
  732. data/lib/igniter/mesh/config.rb +0 -45
  733. data/lib/igniter/mesh/discovery.rb +0 -39
  734. data/lib/igniter/mesh/errors.rb +0 -31
  735. data/lib/igniter/mesh/gossip.rb +0 -47
  736. data/lib/igniter/mesh/peer.rb +0 -21
  737. data/lib/igniter/mesh/peer_registry.rb +0 -51
  738. data/lib/igniter/mesh/poller.rb +0 -77
  739. data/lib/igniter/mesh/router.rb +0 -109
  740. data/lib/igniter/mesh.rb +0 -85
  741. data/lib/igniter/metrics/collector.rb +0 -131
  742. data/lib/igniter/metrics/prometheus_exporter.rb +0 -104
  743. data/lib/igniter/metrics/snapshot.rb +0 -8
  744. data/lib/igniter/metrics.rb +0 -37
  745. data/lib/igniter/model/aggregate_node.rb +0 -34
  746. data/lib/igniter/model/await_node.rb +0 -21
  747. data/lib/igniter/model/branch_node.rb +0 -46
  748. data/lib/igniter/model/collection_node.rb +0 -32
  749. data/lib/igniter/model/composition_node.rb +0 -22
  750. data/lib/igniter/model/compute_node.rb +0 -90
  751. data/lib/igniter/model/effect_node.rb +0 -37
  752. data/lib/igniter/model/graph.rb +0 -15
  753. data/lib/igniter/model/input_node.rb +0 -27
  754. data/lib/igniter/model/node.rb +0 -22
  755. data/lib/igniter/model/output_node.rb +0 -41
  756. data/lib/igniter/model/remote_node.rb +0 -42
  757. data/lib/igniter/model.rb +0 -18
  758. data/lib/igniter/node_cache.rb +0 -231
  759. data/lib/igniter/property_testing/formatter.rb +0 -66
  760. data/lib/igniter/property_testing/generators.rb +0 -115
  761. data/lib/igniter/property_testing/result.rb +0 -45
  762. data/lib/igniter/property_testing/run.rb +0 -43
  763. data/lib/igniter/property_testing/runner.rb +0 -47
  764. data/lib/igniter/property_testing.rb +0 -64
  765. data/lib/igniter/provenance/builder.rb +0 -97
  766. data/lib/igniter/provenance/lineage.rb +0 -82
  767. data/lib/igniter/provenance/node_trace.rb +0 -65
  768. data/lib/igniter/provenance/text_formatter.rb +0 -70
  769. data/lib/igniter/provenance.rb +0 -29
  770. data/lib/igniter/registry.rb +0 -67
  771. data/lib/igniter/replication/bootstrapper.rb +0 -61
  772. data/lib/igniter/replication/bootstrappers/gem.rb +0 -32
  773. data/lib/igniter/replication/bootstrappers/git.rb +0 -39
  774. data/lib/igniter/replication/bootstrappers/tarball.rb +0 -56
  775. data/lib/igniter/replication/expansion_plan.rb +0 -38
  776. data/lib/igniter/replication/expansion_planner.rb +0 -142
  777. data/lib/igniter/replication/manifest.rb +0 -45
  778. data/lib/igniter/replication/network_topology.rb +0 -123
  779. data/lib/igniter/replication/node_role.rb +0 -42
  780. data/lib/igniter/replication/reflective_replication_agent.rb +0 -238
  781. data/lib/igniter/replication/replication_agent.rb +0 -87
  782. data/lib/igniter/replication/role_registry.rb +0 -73
  783. data/lib/igniter/replication/ssh_session.rb +0 -77
  784. data/lib/igniter/replication.rb +0 -54
  785. data/lib/igniter/runtime/cache.rb +0 -126
  786. data/lib/igniter/runtime/collection_result.rb +0 -111
  787. data/lib/igniter/runtime/deferred_result.rb +0 -40
  788. data/lib/igniter/runtime/execution.rb +0 -416
  789. data/lib/igniter/runtime/input_validator.rb +0 -129
  790. data/lib/igniter/runtime/invalidator.rb +0 -52
  791. data/lib/igniter/runtime/job_worker.rb +0 -18
  792. data/lib/igniter/runtime/node_state.rb +0 -56
  793. data/lib/igniter/runtime/planner.rb +0 -126
  794. data/lib/igniter/runtime/resolver.rb +0 -758
  795. data/lib/igniter/runtime/result.rb +0 -117
  796. data/lib/igniter/runtime/runner_factory.rb +0 -20
  797. data/lib/igniter/runtime/runners/inline_runner.rb +0 -21
  798. data/lib/igniter/runtime/runners/store_runner.rb +0 -29
  799. data/lib/igniter/runtime/runners/thread_pool_runner.rb +0 -37
  800. data/lib/igniter/runtime/stores/active_record_store.rb +0 -53
  801. data/lib/igniter/runtime/stores/file_store.rb +0 -91
  802. data/lib/igniter/runtime/stores/memory_store.rb +0 -93
  803. data/lib/igniter/runtime/stores/redis_store.rb +0 -93
  804. data/lib/igniter/runtime.rb +0 -26
  805. data/lib/igniter/saga/compensation.rb +0 -31
  806. data/lib/igniter/saga/compensation_record.rb +0 -20
  807. data/lib/igniter/saga/executor.rb +0 -85
  808. data/lib/igniter/saga/formatter.rb +0 -49
  809. data/lib/igniter/saga/result.rb +0 -47
  810. data/lib/igniter/saga.rb +0 -56
  811. data/lib/igniter/server/client.rb +0 -166
  812. data/lib/igniter/server/config.rb +0 -34
  813. data/lib/igniter/server/handlers/base.rb +0 -105
  814. data/lib/igniter/server/handlers/contracts_handler.rb +0 -15
  815. data/lib/igniter/server/handlers/event_handler.rb +0 -32
  816. data/lib/igniter/server/handlers/execute_handler.rb +0 -43
  817. data/lib/igniter/server/handlers/health_handler.rb +0 -32
  818. data/lib/igniter/server/handlers/liveness_handler.rb +0 -20
  819. data/lib/igniter/server/handlers/manifest_handler.rb +0 -34
  820. data/lib/igniter/server/handlers/metrics_handler.rb +0 -51
  821. data/lib/igniter/server/handlers/peers_handler.rb +0 -115
  822. data/lib/igniter/server/handlers/readiness_handler.rb +0 -47
  823. data/lib/igniter/server/handlers/status_handler.rb +0 -27
  824. data/lib/igniter/server/http_server.rb +0 -146
  825. data/lib/igniter/server/rack_app.rb +0 -35
  826. data/lib/igniter/server/registry.rb +0 -56
  827. data/lib/igniter/server/router.rb +0 -108
  828. data/lib/igniter/server/server_logger.rb +0 -52
  829. data/lib/igniter/server.rb +0 -73
  830. data/lib/igniter/skill/feedback.rb +0 -116
  831. data/lib/igniter/skill/output_schema.rb +0 -110
  832. data/lib/igniter/skill.rb +0 -218
  833. data/lib/igniter/stream_loop.rb +0 -80
  834. data/lib/igniter/supervisor.rb +0 -167
  835. data/lib/igniter/temporal.rb +0 -84
  836. data/lib/igniter/tool/discoverable.rb +0 -151
  837. data/lib/igniter/tool.rb +0 -52
  838. data/lib/igniter/tool_registry.rb +0 -144
  839. data/lib/igniter/type_system.rb +0 -44
  840. /data/docs/{EXECUTION_MODEL_V2.md → dev/execution-model.md} +0 -0
@@ -0,0 +1,1486 @@
1
+ # frozen_string_literal: true
2
+
3
+ module IgniterExamples
4
+ ROOT = File.expand_path("..", __dir__)
5
+
6
+ Example = Struct.new(
7
+ :id,
8
+ :path,
9
+ :summary,
10
+ :smoke,
11
+ :autonomous,
12
+ :runnable,
13
+ :timeout,
14
+ :args,
15
+ :expected_fragments,
16
+ :skip_reason,
17
+ keyword_init: true
18
+ ) do
19
+ def full_path
20
+ File.expand_path(path, ROOT)
21
+ end
22
+
23
+ def command_args
24
+ Array(args)
25
+ end
26
+
27
+ def smoke?
28
+ smoke
29
+ end
30
+
31
+ def autonomous?
32
+ autonomous
33
+ end
34
+
35
+ def runnable?
36
+ runnable
37
+ end
38
+
39
+ def status
40
+ return :smoke if smoke?
41
+ return :manual if runnable?
42
+
43
+ :unsupported
44
+ end
45
+ end
46
+
47
+ def self.example(id, summary, expected_fragments:, timeout: 10, args: nil, autonomous: true, runnable: true,
48
+ smoke: true, skip_reason: nil)
49
+ Example.new(
50
+ id: id,
51
+ path: "examples/#{id}.rb",
52
+ summary: summary,
53
+ smoke: smoke,
54
+ autonomous: autonomous,
55
+ runnable: runnable,
56
+ timeout: timeout,
57
+ args: args,
58
+ expected_fragments: expected_fragments,
59
+ skip_reason: skip_reason
60
+ )
61
+ end
62
+
63
+ ALL = [
64
+ example(
65
+ "application/layout",
66
+ "Application manifest and canonical user app layout shape.",
67
+ expected_fragments: [
68
+ "application_manifest_name=shop",
69
+ "application_manifest_env=test",
70
+ "application_layout_contracts=app/contracts",
71
+ "application_layout_config=config/igniter.rb",
72
+ "application_manifest_services=pricing_api",
73
+ "application_manifest_contracts=PricingContract",
74
+ "application_manifest_owner=commerce",
75
+ "application_load_present=config,contracts,services",
76
+ "application_load_missing=effects,packs,providers"
77
+ ]
78
+ ),
79
+ example(
80
+ "application/blueprint",
81
+ "Application blueprint as the canonical pre-runtime app shape.",
82
+ expected_fragments: [
83
+ "application_blueprint_name=operator",
84
+ "application_blueprint_env=test",
85
+ "application_blueprint_web=operator_console,agent_chat",
86
+ "application_blueprint_paths=contracts,providers,services,effects,packs,executors,tools,agents,skills,support,web,config,spec",
87
+ "application_blueprint_manifest=true",
88
+ "application_blueprint_owner=operations",
89
+ "application_blueprint_profile_env=test",
90
+ "application_blueprint_profile_web=operator_console,agent_chat",
91
+ "application_blueprint_runtime=test"
92
+ ]
93
+ ),
94
+ example(
95
+ "application/structure_plan",
96
+ "Explicit application structure planning and materialization from a blueprint.",
97
+ expected_fragments: [
98
+ "application_structure_name=operator",
99
+ "application_structure_initial_missing=3",
100
+ "application_structure_applied=3",
101
+ "application_structure_complete_applied=10",
102
+ "application_structure_config=true",
103
+ "application_structure_web=true",
104
+ "application_structure_contracts=true",
105
+ "application_structure_final_present=3",
106
+ "application_structure_final_missing=0",
107
+ "application_structure_complete_present=13"
108
+ ]
109
+ ),
110
+ example(
111
+ "application/capsule_layout",
112
+ "Compact app capsule layout profile with sparse materialization.",
113
+ expected_fragments: [
114
+ "application_capsule_name=pricing",
115
+ "application_capsule_layout=capsule",
116
+ "application_capsule_contracts_path=contracts",
117
+ "application_capsule_config_path=igniter.rb",
118
+ "application_capsule_active_groups=config,contracts,services,spec",
119
+ "application_capsule_sparse_groups=config,contracts,services,spec",
120
+ "application_capsule_applied=4",
121
+ "application_capsule_config=true",
122
+ "application_capsule_web=false",
123
+ "application_capsule_profile_paths=config,contracts,services,spec"
124
+ ]
125
+ ),
126
+ example(
127
+ "application/capsule_manifest",
128
+ "Portable capsule manifest metadata for exports and imports.",
129
+ expected_fragments: [
130
+ "application_capsule_manifest_name=operator",
131
+ "application_capsule_manifest_layout=capsule",
132
+ "application_capsule_manifest_groups=config,contracts,services,spec",
133
+ "application_capsule_manifest_exports=cluster_status,resolve_incident",
134
+ "application_capsule_manifest_imports=incident_runtime,audit_log",
135
+ "application_capsule_manifest_required_imports=incident_runtime",
136
+ "application_capsule_manifest_optional_imports=audit_log",
137
+ "application_capsule_manifest_paths=config,contracts,services,spec"
138
+ ]
139
+ ),
140
+ example(
141
+ "application/flow_session",
142
+ "Application-owned agent-native flow session snapshot and event envelope.",
143
+ expected_fragments: [
144
+ "application_flow_session_kind=flow",
145
+ "application_flow_session_status=waiting_for_user",
146
+ "application_flow_session_pending_inputs=clarification",
147
+ "application_flow_session_pending_actions=approve_plan",
148
+ "application_flow_session_pending_inputs_after=",
149
+ "application_flow_session_pending_actions_after=",
150
+ "application_flow_session_artifacts=draft_plan",
151
+ "application_flow_session_events_before=0",
152
+ "application_flow_session_events_after=2",
153
+ "application_flow_session_event_type=user_reply",
154
+ "application_flow_session_completed_status=completed",
155
+ "application_flow_session_payload_keys=session_id,flow_name,status,current_step,pending_inputs,pending_actions,events,artifacts,metadata,created_at,updated_at"
156
+ ]
157
+ ),
158
+ example(
159
+ "application/feature_flow_report",
160
+ "Application feature-slice report and app-owned flow declaration metadata.",
161
+ expected_fragments: [
162
+ "application_feature_flow_slices=incidents",
163
+ "application_feature_flow_exports=resolve_incident",
164
+ "application_feature_flow_imports=incident_runtime",
165
+ "application_feature_flow_declarations=incident_review",
166
+ "application_feature_flow_pending_inputs=clarification",
167
+ "application_feature_flow_pending_actions=approve_plan",
168
+ "application_feature_flow_status=waiting_for_user",
169
+ "application_feature_flow_web_projection=aligned",
170
+ "application_feature_flow_web_projection_inputs=clarification",
171
+ "application_feature_flow_web_projection_actions=approve_plan",
172
+ "application_feature_flow_surface_metadata=aligned",
173
+ "application_feature_flow_surface_metadata_flows=incident_review"
174
+ ]
175
+ ),
176
+ example(
177
+ "application/capsule_inspection",
178
+ "Application-owned capsule inspection report for non-web and web-capable capsules.",
179
+ expected_fragments: [
180
+ "application_capsule_report_name=operator",
181
+ "application_capsule_report_non_web=true",
182
+ "application_capsule_report_groups=config,contracts,services,spec,web",
183
+ "application_capsule_report_sparse_paths=config,contracts,services,spec,web",
184
+ "application_capsule_report_exports=resolve_incident",
185
+ "application_capsule_report_imports=incident_runtime",
186
+ "application_capsule_report_features=incidents",
187
+ "application_capsule_report_flows=incident_review",
188
+ "application_capsule_report_surfaces=operator_console",
189
+ "application_capsule_report_web_projection=aligned",
190
+ "application_capsule_report_web_projection_flows=incident_review"
191
+ ]
192
+ ),
193
+ example(
194
+ "application/capsule_authoring_dsl",
195
+ "Human capsule authoring DSL that expands to ApplicationBlueprint.",
196
+ expected_fragments: [
197
+ "application_capsule_dsl_name=operator",
198
+ "application_capsule_dsl_equivalent=true",
199
+ "application_capsule_dsl_exports=resolve_incident",
200
+ "application_capsule_dsl_imports=incident_runtime",
201
+ "application_capsule_dsl_features=incidents",
202
+ "application_capsule_dsl_flows=incident_review",
203
+ "application_capsule_dsl_report=operator",
204
+ "application_capsule_dsl_surface=operator_console",
205
+ "application_capsule_dsl_web_projection=aligned"
206
+ ]
207
+ ),
208
+ example(
209
+ "application/capsule_composition",
210
+ "Read-only capsule composition report for explicit exports and imports.",
211
+ expected_fragments: [
212
+ "application_capsule_composition_capsules=incident_core,operator,operator_client",
213
+ "application_capsule_composition_exports=incident_runtime,resolve_incident,operator_console",
214
+ "application_capsule_composition_satisfied=incident_runtime,operator_console",
215
+ "application_capsule_composition_host_satisfied=audit_log",
216
+ "application_capsule_composition_unresolved=",
217
+ "application_capsule_composition_optional_missing=optional_notifier",
218
+ "application_capsule_composition_ready=true",
219
+ "application_capsule_composition_web_exports=operator_console",
220
+ "application_capsule_composition_web_satisfied=operator_console"
221
+ ]
222
+ ),
223
+ example(
224
+ "application/capsule_assembly_plan",
225
+ "Read-only capsule assembly plan over composition readiness and mount intents.",
226
+ expected_fragments: [
227
+ "application_capsule_assembly_capsules=incident_core,operator",
228
+ "application_capsule_assembly_ready=true",
229
+ "application_capsule_assembly_mounts=operator:web:/operator",
230
+ "application_capsule_assembly_composition_ready=true",
231
+ "application_capsule_assembly_unresolved=",
232
+ "application_capsule_assembly_surfaces=operator_console",
233
+ "application_capsule_assembly_surface_kind=web_surface",
234
+ "application_capsule_assembly_web_mount=operator_console:/operator"
235
+ ]
236
+ ),
237
+ example(
238
+ "application/capsule_handoff_manifest",
239
+ "Read-only handoff manifest for portable capsule transfer and wiring review.",
240
+ expected_fragments: [
241
+ "application_capsule_handoff_subject=operator_bundle",
242
+ "application_capsule_handoff_capsules=incident_core,operator",
243
+ "application_capsule_handoff_ready=true",
244
+ "application_capsule_handoff_required=incident_runtime,audit_log",
245
+ "application_capsule_handoff_unresolved=audit_log",
246
+ "application_capsule_handoff_mounts=operator:web:/operator",
247
+ "application_capsule_handoff_surfaces=operator_console",
248
+ "application_capsule_handoff_surface_kind=web_surface",
249
+ "application_capsule_handoff_web_mount=operator_console:/operator"
250
+ ]
251
+ ),
252
+ example(
253
+ "application/capsule_transfer_inventory",
254
+ "Read-only dry-run inventory for declared capsule transfer material.",
255
+ expected_fragments: [
256
+ "application_capsule_transfer_inventory_capsules=operator",
257
+ "application_capsule_transfer_inventory_expected=config,contracts,services,spec,web",
258
+ "application_capsule_transfer_inventory_missing=config,spec,web",
259
+ "application_capsule_transfer_inventory_files=2",
260
+ "application_capsule_transfer_inventory_ready=false",
261
+ "application_capsule_transfer_inventory_surfaces=operator_console",
262
+ "application_capsule_transfer_inventory_surface_path=web",
263
+ "application_capsule_transfer_inventory_web_screens=web/screens"
264
+ ]
265
+ ),
266
+ example(
267
+ "application/capsule_transfer_readiness",
268
+ "Read-only transfer readiness report over handoff manifest and inventory.",
269
+ expected_fragments: [
270
+ "application_capsule_transfer_readiness_ready=false",
271
+ "application_capsule_transfer_readiness_blockers=missing_expected_path,unresolved_required_import",
272
+ "application_capsule_transfer_readiness_warnings=missing_optional_import",
273
+ "application_capsule_transfer_readiness_sources=inventory:3,manifest:2",
274
+ "application_capsule_transfer_readiness_manifest=false",
275
+ "application_capsule_transfer_readiness_inventory=false",
276
+ "application_capsule_transfer_readiness_surfaces=1"
277
+ ]
278
+ ),
279
+ example(
280
+ "application/capsule_transfer_bundle_plan",
281
+ "Read-only transfer bundle plan over readiness and inventory artifacts.",
282
+ expected_fragments: [
283
+ "application_capsule_transfer_bundle_subject=operator_bundle",
284
+ "application_capsule_transfer_bundle_allowed=false",
285
+ "application_capsule_transfer_bundle_capsules=operator",
286
+ "application_capsule_transfer_bundle_files=2",
287
+ "application_capsule_transfer_bundle_blockers=missing_expected_path,unresolved_required_import",
288
+ "application_capsule_transfer_bundle_warnings=missing_optional_import",
289
+ "application_capsule_transfer_bundle_surfaces=1"
290
+ ]
291
+ ),
292
+ example(
293
+ "application/capsule_transfer_bundle_artifact",
294
+ "Explicit transfer bundle artifact writer from an accepted bundle plan.",
295
+ expected_fragments: [
296
+ "application_capsule_transfer_artifact_written=true",
297
+ "application_capsule_transfer_artifact_file=operator_bundle",
298
+ "application_capsule_transfer_artifact_included=2",
299
+ "application_capsule_transfer_artifact_metadata=igniter-transfer-bundle.json",
300
+ "application_capsule_transfer_artifact_refusals=0",
301
+ "application_capsule_transfer_artifact_surfaces=1"
302
+ ]
303
+ ),
304
+ example(
305
+ "application/capsule_transfer_bundle_verification",
306
+ "Read-only verification of a written transfer bundle artifact.",
307
+ expected_fragments: [
308
+ "application_capsule_transfer_verify_valid=true",
309
+ "application_capsule_transfer_verify_included=2",
310
+ "application_capsule_transfer_verify_actual=2",
311
+ "application_capsule_transfer_verify_missing=0",
312
+ "application_capsule_transfer_verify_extra=0",
313
+ "application_capsule_transfer_verify_surfaces=1"
314
+ ]
315
+ ),
316
+ example(
317
+ "application/capsule_transfer_intake_plan",
318
+ "Read-only destination intake plan for a verified transfer bundle artifact.",
319
+ expected_fragments: [
320
+ "application_capsule_transfer_intake_ready=true",
321
+ "application_capsule_transfer_intake_planned=2",
322
+ "application_capsule_transfer_intake_conflicts=0",
323
+ "application_capsule_transfer_intake_blockers=0",
324
+ "application_capsule_transfer_intake_host_wiring=0",
325
+ "application_capsule_transfer_intake_surfaces=1"
326
+ ]
327
+ ),
328
+ example(
329
+ "application/capsule_transfer_apply_plan",
330
+ "Read-only apply operation plan over accepted transfer intake data.",
331
+ expected_fragments: [
332
+ "application_capsule_transfer_apply_executable=true",
333
+ "application_capsule_transfer_apply_operations=4",
334
+ "application_capsule_transfer_apply_blockers=0",
335
+ "application_capsule_transfer_apply_warnings=0",
336
+ "application_capsule_transfer_apply_surfaces=1"
337
+ ]
338
+ ),
339
+ example(
340
+ "application/capsule_transfer_apply_execution",
341
+ "Dry-run-first transfer apply execution over reviewed apply plans.",
342
+ expected_fragments: [
343
+ "application_capsule_transfer_apply_dry_run_committed=false",
344
+ "application_capsule_transfer_apply_commit_committed=true",
345
+ "application_capsule_transfer_apply_applied=4",
346
+ "application_capsule_transfer_apply_refusals=0",
347
+ "application_capsule_transfer_apply_copied=true",
348
+ "application_capsule_transfer_apply_execution_surfaces=1"
349
+ ]
350
+ ),
351
+ example(
352
+ "application/capsule_transfer_applied_verification",
353
+ "Read-only post-apply verification for committed transfer results.",
354
+ expected_fragments: [
355
+ "application_capsule_transfer_applied_verify_valid=true",
356
+ "application_capsule_transfer_applied_verify_committed=true",
357
+ "application_capsule_transfer_applied_verify_verified=4",
358
+ "application_capsule_transfer_applied_verify_findings=0",
359
+ "application_capsule_transfer_applied_verify_refusals=0",
360
+ "application_capsule_transfer_applied_verify_skipped=0",
361
+ "application_capsule_transfer_applied_verify_surfaces=1"
362
+ ]
363
+ ),
364
+ example(
365
+ "application/capsule_transfer_receipt",
366
+ "Read-only transfer receipt over explicit transfer reports.",
367
+ expected_fragments: [
368
+ "application_capsule_transfer_receipt_complete=true",
369
+ "application_capsule_transfer_receipt_valid=true",
370
+ "application_capsule_transfer_receipt_committed=true",
371
+ "application_capsule_transfer_receipt_verified=4",
372
+ "application_capsule_transfer_receipt_findings=0",
373
+ "application_capsule_transfer_receipt_refusals=0",
374
+ "application_capsule_transfer_receipt_skipped=0",
375
+ "application_capsule_transfer_receipt_manual=0",
376
+ "application_capsule_transfer_receipt_surfaces=1"
377
+ ]
378
+ ),
379
+ example(
380
+ "application/capsule_transfer_end_to_end",
381
+ "Complete capsule transfer path from declaration to receipt.",
382
+ expected_fragments: [
383
+ "application_capsule_transfer_end_to_end_ready=true",
384
+ "application_capsule_transfer_end_to_end_bundle_allowed=true",
385
+ "application_capsule_transfer_end_to_end_bundle_verified=true",
386
+ "application_capsule_transfer_end_to_end_intake_accepted=true",
387
+ "application_capsule_transfer_end_to_end_apply_executable=true",
388
+ "application_capsule_transfer_end_to_end_dry_run_committed=false",
389
+ "application_capsule_transfer_end_to_end_committed=true",
390
+ "application_capsule_transfer_end_to_end_applied_valid=true",
391
+ "application_capsule_transfer_end_to_end_receipt_complete=true"
392
+ ]
393
+ ),
394
+ example(
395
+ "application/capsule_agent_transfer",
396
+ "Agent-aware capsule transfer carrying assistant capability evidence.",
397
+ expected_fragments: [
398
+ "application_capsule_agent_transfer_ready=true",
399
+ "application_capsule_agent_transfer_bundle_allowed=true",
400
+ "application_capsule_agent_transfer_receipt_complete=true",
401
+ "application_capsule_agent_transfer_agent=daily_companion",
402
+ "application_capsule_agent_transfer_ai_provider=openai",
403
+ "application_capsule_agent_transfer_tools=complete_reminder",
404
+ "application_capsule_agent_transfer_export=agent"
405
+ ]
406
+ ),
407
+ example(
408
+ "application/capsule_host_activation_readiness",
409
+ "Read-only host activation readiness over explicit host decisions.",
410
+ expected_fragments: [
411
+ "application_capsule_host_activation_ready=true",
412
+ "application_capsule_host_activation_blockers=0",
413
+ "application_capsule_host_activation_warnings=0",
414
+ "application_capsule_host_activation_manual=0",
415
+ "application_capsule_host_activation_mounts=1",
416
+ "application_capsule_host_activation_surfaces=1"
417
+ ]
418
+ ),
419
+ example(
420
+ "application/capsule_host_activation_plan",
421
+ "Read-only host activation review plan over accepted readiness.",
422
+ expected_fragments: [
423
+ "application_capsule_host_activation_plan_executable=true",
424
+ "application_capsule_host_activation_plan_operations=6",
425
+ "application_capsule_host_activation_plan_blockers=0",
426
+ "application_capsule_host_activation_plan_warnings=0",
427
+ "application_capsule_host_activation_plan_mounts=1",
428
+ "application_capsule_host_activation_plan_surfaces=1",
429
+ "application_capsule_host_activation_plan_types=confirm_host_export,confirm_load_path,confirm_provider,confirm_contract,confirm_lifecycle,review_mount_intent"
430
+ ]
431
+ ),
432
+ example(
433
+ "application/capsule_host_activation_plan_verification",
434
+ "Read-only verification of host activation review plans.",
435
+ expected_fragments: [
436
+ "application_capsule_host_activation_plan_verify_valid=true",
437
+ "application_capsule_host_activation_plan_verify_executable=true",
438
+ "application_capsule_host_activation_plan_verify_operations=6",
439
+ "application_capsule_host_activation_plan_verify_verified=6",
440
+ "application_capsule_host_activation_plan_verify_findings=0",
441
+ "application_capsule_host_activation_plan_verify_surfaces=1"
442
+ ]
443
+ ),
444
+ example(
445
+ "application/capsule_host_activation_dry_run",
446
+ "Dry-run-only host activation report over verified plan data.",
447
+ expected_fragments: [
448
+ "application_capsule_host_activation_dry_run=true",
449
+ "application_capsule_host_activation_committed=false",
450
+ "application_capsule_host_activation_executable=true",
451
+ "application_capsule_host_activation_would_apply=4",
452
+ "application_capsule_host_activation_skipped=2",
453
+ "application_capsule_host_activation_refusals=0",
454
+ "application_capsule_host_activation_warnings=0",
455
+ "application_capsule_host_activation_surfaces=1"
456
+ ]
457
+ ),
458
+ example(
459
+ "application/capsule_host_activation_commit_readiness",
460
+ "Read-only host activation commit-readiness over dry-run and adapter evidence.",
461
+ expected_fragments: [
462
+ "application_capsule_host_activation_commit_ready=true",
463
+ "application_capsule_host_activation_commit_allowed=true",
464
+ "application_capsule_host_activation_commit_dry_run=true",
465
+ "application_capsule_host_activation_commit_committed=false",
466
+ "application_capsule_host_activation_commit_blockers=0",
467
+ "application_capsule_host_activation_commit_warnings=0",
468
+ "application_capsule_host_activation_commit_required=3",
469
+ "application_capsule_host_activation_commit_provided=3",
470
+ "application_capsule_host_activation_commit_would_apply=4",
471
+ "application_capsule_host_activation_commit_skipped=2"
472
+ ]
473
+ ),
474
+ example(
475
+ "application/capsule_host_activation_ledger_adapter",
476
+ "File-backed host activation ledger adapter for explicit confirmation acknowledgements.",
477
+ expected_fragments: [
478
+ "application_capsule_host_activation_ledger_committed=true",
479
+ "application_capsule_host_activation_ledger_applied=4",
480
+ "application_capsule_host_activation_ledger_skipped=2",
481
+ "application_capsule_host_activation_ledger_refusals=0",
482
+ "application_capsule_host_activation_ledger_receipts=4",
483
+ "application_capsule_host_activation_ledger_files=4",
484
+ "application_capsule_host_activation_ledger_duplicate=true",
485
+ "application_capsule_host_activation_ledger_readback=4",
486
+ "application_capsule_host_activation_ledger_conflict_committed=false",
487
+ "application_capsule_host_activation_ledger_conflict_refusal=true",
488
+ "application_capsule_host_activation_ledger_digest=true",
489
+ "application_capsule_host_activation_ledger_adapter=file_backed_host_activation_ledger",
490
+ "application_capsule_host_activation_ledger_verify_valid=true",
491
+ "application_capsule_host_activation_ledger_verify_complete=true",
492
+ "application_capsule_host_activation_ledger_verify_findings=0",
493
+ "application_capsule_host_activation_ledger_verify_verified=4",
494
+ "application_capsule_host_activation_receipt_complete=true",
495
+ "application_capsule_host_activation_receipt_valid=true",
496
+ "application_capsule_host_activation_receipt_committed=true",
497
+ "application_capsule_host_activation_receipt_refs=4",
498
+ "application_capsule_host_activation_receipt_host_leftovers=1",
499
+ "application_capsule_host_activation_receipt_web_leftovers=1",
500
+ "application_capsule_host_activation_receipt_separate=true"
501
+ ]
502
+ ),
503
+ example(
504
+ "application/interactive_web_poc",
505
+ "Compact server-backed application/web POC with state-changing interaction.",
506
+ expected_fragments: [
507
+ "interactive_web_poc_initial_status=200",
508
+ "interactive_web_poc_content_type=text/html",
509
+ "interactive_web_poc_initial_open=true",
510
+ "interactive_web_poc_create_form=true",
511
+ "interactive_web_poc_blank_status=303",
512
+ "interactive_web_poc_blank_location=true",
513
+ "interactive_web_poc_blank_refused=true",
514
+ "interactive_web_poc_blank_feedback=true",
515
+ "interactive_web_poc_create_status=303",
516
+ "interactive_web_poc_create_location=true",
517
+ "interactive_web_poc_created_status=200",
518
+ "interactive_web_poc_created_open=true",
519
+ "interactive_web_poc_created_task=true",
520
+ "interactive_web_poc_created_feedback=true",
521
+ "interactive_web_poc_missing_status=303",
522
+ "interactive_web_poc_missing_location=true",
523
+ "interactive_web_poc_post_status=303",
524
+ "interactive_web_poc_resolve_location=true",
525
+ "interactive_web_poc_final_status=200",
526
+ "interactive_web_poc_final_open=true",
527
+ "interactive_web_poc_surface=true",
528
+ "interactive_web_poc_resolve_feedback=true",
529
+ "interactive_web_poc_activity_surface=true",
530
+ "interactive_web_poc_activity_seeded=true",
531
+ "interactive_web_poc_activity_refused=true",
532
+ "interactive_web_poc_activity_created=true",
533
+ "interactive_web_poc_activity_missing=true",
534
+ "interactive_web_poc_activity_resolved=true",
535
+ "interactive_web_poc_resolved=true",
536
+ "interactive_web_poc_events_status=200",
537
+ "interactive_web_poc_events=open=2",
538
+ "interactive_web_poc_events_actions=true",
539
+ "interactive_web_poc_events_seeded=true",
540
+ "interactive_web_poc_events_refused=true",
541
+ "interactive_web_poc_events_created=true",
542
+ "interactive_web_poc_events_missing=true",
543
+ "interactive_web_poc_events_resolved=true",
544
+ "interactive_web_poc_service=operator_task_board"
545
+ ]
546
+ ),
547
+ example(
548
+ "application/signal_inbox_poc",
549
+ "Second application/web POC with signal-specific commands and snapshot rendering.",
550
+ expected_fragments: [
551
+ "signal_inbox_poc_initial_status=200",
552
+ "signal_inbox_poc_content_type=text/html",
553
+ "signal_inbox_poc_initial_open=true",
554
+ "signal_inbox_poc_initial_critical=true",
555
+ "signal_inbox_poc_surface=true",
556
+ "signal_inbox_poc_ack_form=true",
557
+ "signal_inbox_poc_escalate_form=true",
558
+ "signal_inbox_poc_blank_status=303",
559
+ "signal_inbox_poc_blank_location=true",
560
+ "signal_inbox_poc_blank_feedback=true",
561
+ "signal_inbox_poc_missing_status=303",
562
+ "signal_inbox_poc_missing_location=true",
563
+ "signal_inbox_poc_ack_status=303",
564
+ "signal_inbox_poc_ack_location=true",
565
+ "signal_inbox_poc_acknowledged_status=200",
566
+ "signal_inbox_poc_ack_feedback=true",
567
+ "signal_inbox_poc_acknowledged_signal=true",
568
+ "signal_inbox_poc_escalate_status=303",
569
+ "signal_inbox_poc_escalate_location=true",
570
+ "signal_inbox_poc_escalated_status=200",
571
+ "signal_inbox_poc_escalate_feedback=true",
572
+ "signal_inbox_poc_escalated_signal=true",
573
+ "signal_inbox_poc_closed_status=303",
574
+ "signal_inbox_poc_closed_location=true",
575
+ "signal_inbox_poc_final_status=200",
576
+ "signal_inbox_poc_final_open=true",
577
+ "signal_inbox_poc_final_critical=true",
578
+ "signal_inbox_poc_closed_feedback=true",
579
+ "signal_inbox_poc_activity_surface=true",
580
+ "signal_inbox_poc_activity_seeded=true",
581
+ "signal_inbox_poc_activity_blank=true",
582
+ "signal_inbox_poc_activity_missing=true",
583
+ "signal_inbox_poc_activity_acknowledged=true",
584
+ "signal_inbox_poc_activity_escalated=true",
585
+ "signal_inbox_poc_acknowledged=true",
586
+ "signal_inbox_poc_escalated=true",
587
+ "signal_inbox_poc_events_status=200",
588
+ "signal_inbox_poc_events=open=0",
589
+ "signal_inbox_poc_events_actions=true",
590
+ "signal_inbox_poc_events_seeded=true",
591
+ "signal_inbox_poc_events_blank=true",
592
+ "signal_inbox_poc_events_missing=true",
593
+ "signal_inbox_poc_events_acknowledged=true",
594
+ "signal_inbox_poc_events_escalated=true",
595
+ "signal_inbox_poc_service=operator_signal_inbox"
596
+ ]
597
+ ),
598
+ example(
599
+ "application/companion_poc",
600
+ "Ready-to-go Companion app shell with credentials setup state and assistant capsules.",
601
+ expected_fragments: [
602
+ "companion_poc_live_ready=false",
603
+ "companion_poc_open_reminders=2",
604
+ "companion_poc_tracker_logs=1",
605
+ "companion_poc_countdowns=2",
606
+ "companion_poc_store_backend=sqlite",
607
+ "companion_poc_store_file=true",
608
+ "companion_poc_sqlite_persisted=true",
609
+ "companion_poc_summary=true",
610
+ "companion_poc_create_status=303",
611
+ "companion_poc_created_status=200",
612
+ "companion_poc_log_status=303",
613
+ "companion_poc_logged_status=200",
614
+ "companion_poc_complete_status=303",
615
+ "companion_poc_completed_status=200",
616
+ "companion_poc_events_status=200",
617
+ "companion_poc_setup_status=200",
618
+ "companion_poc_hub_status=200",
619
+ "companion_poc_html_status=200",
620
+ "companion_poc_setup_redacted=true",
621
+ "companion_poc_web_surface=true",
622
+ "companion_poc_capsules=true",
623
+ "companion_poc_events_parity=true",
624
+ "companion_poc_agent_capability=true",
625
+ "companion_poc_hub_catalog=horoscope",
626
+ "companion_poc_hub_install=installed",
627
+ "companion_poc_hub_receipt=true"
628
+ ]
629
+ ),
630
+ example(
631
+ "application/lense_poc",
632
+ "One-process Lense codebase intelligence POC core with guided issue receipt.",
633
+ expected_fragments: [
634
+ "lense_poc_scan_id=true",
635
+ "lense_poc_project=sample_shop",
636
+ "lense_poc_ruby_files=2",
637
+ "lense_poc_line_count=50",
638
+ "lense_poc_health_score=68",
639
+ "lense_poc_findings=3",
640
+ "lense_poc_top_finding=complex_file",
641
+ "lense_poc_top_evidence=file:app/services/payment_processor.rb",
642
+ "lense_poc_session_started=session_started",
643
+ "lense_poc_session_id=true",
644
+ "lense_poc_step_done=step_marked_done",
645
+ "lense_poc_note_added=note_added",
646
+ "lense_poc_step_skipped=step_skipped",
647
+ "lense_poc_blank_note=blank_note",
648
+ "lense_poc_missing_finding=finding_not_found",
649
+ "lense_poc_actions=7",
650
+ "lense_poc_receipt_valid=true",
651
+ "lense_poc_receipt_kind=lense_analysis_receipt",
652
+ "lense_poc_receipt_refs=2",
653
+ "lense_poc_receipt_skipped=3",
654
+ "lense_poc_no_mutation=true",
655
+ "lense_poc_service=lense_issue_sessions",
656
+ "lense_poc_web_initial_status=200",
657
+ "lense_poc_web_content_type=text/html",
658
+ "lense_poc_web_surface=true",
659
+ "lense_poc_web_scan_marker=true",
660
+ "lense_poc_web_counts=true",
661
+ "lense_poc_web_findings=true",
662
+ "lense_poc_web_evidence=true",
663
+ "lense_poc_web_report_marker=true",
664
+ "lense_poc_web_refresh_status=303",
665
+ "lense_poc_web_refresh_location=true",
666
+ "lense_poc_web_refresh_feedback=true",
667
+ "lense_poc_web_missing_status=303",
668
+ "lense_poc_web_missing_location=true",
669
+ "lense_poc_web_missing_feedback=true",
670
+ "lense_poc_web_start_status=303",
671
+ "lense_poc_web_start_location=true",
672
+ "lense_poc_web_started_status=200",
673
+ "lense_poc_web_started_feedback=true",
674
+ "lense_poc_web_session=true",
675
+ "lense_poc_web_session_step=true",
676
+ "lense_poc_web_blank_status=303",
677
+ "lense_poc_web_blank_location=true",
678
+ "lense_poc_web_blank_feedback=true",
679
+ "lense_poc_web_invalid_status=303",
680
+ "lense_poc_web_invalid_location=true",
681
+ "lense_poc_web_invalid_feedback=true",
682
+ "lense_poc_web_done_status=303",
683
+ "lense_poc_web_done_location=true",
684
+ "lense_poc_web_done_feedback=true",
685
+ "lense_poc_web_note_status=303",
686
+ "lense_poc_web_note_location=true",
687
+ "lense_poc_web_note_feedback=true",
688
+ "lense_poc_web_skip_status=303",
689
+ "lense_poc_web_skip_location=true",
690
+ "lense_poc_web_final_status=200",
691
+ "lense_poc_web_skip_feedback=true",
692
+ "lense_poc_web_activity=true",
693
+ "lense_poc_web_events_status=200",
694
+ "lense_poc_web_events=scan=lense-scan:",
695
+ "lense_poc_web_events_scan=true",
696
+ "lense_poc_web_events_findings=true",
697
+ "lense_poc_web_events_session=true",
698
+ "lense_poc_web_events_actions=true",
699
+ "lense_poc_web_events_parity=true",
700
+ "lense_poc_web_report_status=200",
701
+ "lense_poc_web_report_valid=true",
702
+ "lense_poc_web_report_endpoint=true"
703
+ ]
704
+ ),
705
+ example(
706
+ "application/chronicle_poc",
707
+ "One-process Chronicle decision compass POC with Web workbench, conflict, and receipt evidence.",
708
+ expected_fragments: [
709
+ "chronicle_poc_missing_proposal=chronicle_unknown_proposal",
710
+ "chronicle_poc_scan=chronicle_scan_created",
711
+ "chronicle_poc_session_id=true",
712
+ "chronicle_poc_proposal=PR-001",
713
+ "chronicle_poc_conflicts=3",
714
+ "chronicle_poc_open_conflicts=2",
715
+ "chronicle_poc_top_conflict=DR-041",
716
+ "chronicle_poc_receipt_not_ready=chronicle_receipt_not_ready",
717
+ "chronicle_poc_acknowledge=chronicle_conflict_acknowledged",
718
+ "chronicle_poc_blank_signer=chronicle_blank_signer",
719
+ "chronicle_poc_signoff=chronicle_signoff_recorded",
720
+ "chronicle_poc_blank_reason=chronicle_blank_reason",
721
+ "chronicle_poc_refusal=chronicle_signoff_refused",
722
+ "chronicle_poc_status=blocked",
723
+ "chronicle_poc_signed=platform",
724
+ "chronicle_poc_refused=security",
725
+ "chronicle_poc_receipt=chronicle_receipt_emitted",
726
+ "chronicle_poc_receipt_id=chronicle-receipt:chronicle-session-pr-001",
727
+ "chronicle_poc_receipt_valid=true",
728
+ "chronicle_poc_events=proposal=PR-001",
729
+ "chronicle_poc_action_count=12",
730
+ "chronicle_poc_fixture_no_mutation=true",
731
+ "chronicle_poc_runtime_sessions=1",
732
+ "chronicle_poc_runtime_receipts=1",
733
+ "chronicle_poc_web_initial_status=200",
734
+ "chronicle_poc_web_content_type=text/html",
735
+ "chronicle_poc_web_surface=true",
736
+ "chronicle_poc_web_initial_proposal=true",
737
+ "chronicle_poc_web_missing_status=303",
738
+ "chronicle_poc_web_missing_location=true",
739
+ "chronicle_poc_web_missing_feedback=true",
740
+ "chronicle_poc_web_scan_status=303",
741
+ "chronicle_poc_web_scan_location=true",
742
+ "chronicle_poc_web_scanned_status=200",
743
+ "chronicle_poc_web_scan_feedback=true",
744
+ "chronicle_poc_web_session=true",
745
+ "chronicle_poc_web_proposal=true",
746
+ "chronicle_poc_web_conflicts=true",
747
+ "chronicle_poc_web_top_conflict=true",
748
+ "chronicle_poc_web_evidence=true",
749
+ "chronicle_poc_web_related=true",
750
+ "chronicle_poc_web_receipt_not_ready_status=303",
751
+ "chronicle_poc_web_receipt_not_ready_location=true",
752
+ "chronicle_poc_web_receipt_not_ready_feedback=true",
753
+ "chronicle_poc_web_ack_status=303",
754
+ "chronicle_poc_web_ack_location=true",
755
+ "chronicle_poc_web_ack_feedback=true",
756
+ "chronicle_poc_web_ack_marker=true",
757
+ "chronicle_poc_web_blank_signer_status=303",
758
+ "chronicle_poc_web_blank_signer_location=true",
759
+ "chronicle_poc_web_blank_signer_feedback=true",
760
+ "chronicle_poc_web_signoff_status=303",
761
+ "chronicle_poc_web_signoff_location=true",
762
+ "chronicle_poc_web_signoff_feedback=true",
763
+ "chronicle_poc_web_signed_marker=true",
764
+ "chronicle_poc_web_blank_reason_status=303",
765
+ "chronicle_poc_web_blank_reason_location=true",
766
+ "chronicle_poc_web_blank_reason_feedback=true",
767
+ "chronicle_poc_web_refusal_status=303",
768
+ "chronicle_poc_web_refusal_location=true",
769
+ "chronicle_poc_web_refusal_feedback=true",
770
+ "chronicle_poc_web_refused_marker=true",
771
+ "chronicle_poc_web_receipt_status=303",
772
+ "chronicle_poc_web_receipt_location=true",
773
+ "chronicle_poc_web_final_status=200",
774
+ "chronicle_poc_web_receipt_feedback=true",
775
+ "chronicle_poc_web_receipt_marker=true",
776
+ "chronicle_poc_web_activity=true",
777
+ "chronicle_poc_web_events_status=200",
778
+ "chronicle_poc_web_events=proposal=PR-001",
779
+ "chronicle_poc_web_events_parity=true",
780
+ "chronicle_poc_web_receipt_endpoint_status=200",
781
+ "chronicle_poc_web_receipt_endpoint=true",
782
+ "chronicle_poc_web_fixture_no_mutation=true",
783
+ "chronicle_poc_web_runtime_sessions=1",
784
+ "chronicle_poc_web_runtime_receipts=1"
785
+ ]
786
+ ),
787
+ example(
788
+ "application/scout_poc",
789
+ "One-process Scout local-source research POC core with provenance receipt evidence.",
790
+ expected_fragments: [
791
+ "scout_poc_blank_topic=scout_blank_topic",
792
+ "scout_poc_no_sources=scout_no_sources",
793
+ "scout_poc_unknown_source=scout_unknown_source",
794
+ "scout_poc_start=scout_session_started",
795
+ "scout_poc_session_id=true",
796
+ "scout_poc_topic=How should engineering teams adopt AI coding assistants?",
797
+ "scout_poc_sources=4",
798
+ "scout_poc_extract=scout_findings_extracted",
799
+ "scout_poc_findings_initial=6",
800
+ "scout_poc_contradictions_initial=1",
801
+ "scout_poc_receipt_not_ready=scout_receipt_not_ready",
802
+ "scout_poc_invalid_checkpoint=scout_invalid_checkpoint",
803
+ "scout_poc_add_source=scout_local_source_added",
804
+ "scout_poc_reextract=scout_findings_extracted",
805
+ "scout_poc_checkpoint=scout_checkpoint_chosen",
806
+ "scout_poc_checkpoint_choice=balanced",
807
+ "scout_poc_status=complete",
808
+ "scout_poc_findings=8",
809
+ "scout_poc_contradictions=1",
810
+ "scout_poc_top_finding=finding-1",
811
+ "scout_poc_top_source=SRC-001#p1",
812
+ "scout_poc_receipt=scout_receipt_emitted",
813
+ "scout_poc_receipt_id=scout-receipt:scout-session-how-should-engineering-teams-adopt-ai-coding-assistants",
814
+ "scout_poc_receipt_valid=true",
815
+ "scout_poc_receipt_citation=true",
816
+ "scout_poc_events=topic=How should engineering teams adopt AI coding assistants?",
817
+ "scout_poc_action_count=16",
818
+ "scout_poc_fixture_no_mutation=true",
819
+ "scout_poc_runtime_sessions=1",
820
+ "scout_poc_runtime_receipts=1",
821
+ "scout_poc_web_initial_status=200",
822
+ "scout_poc_web_content_type=text/html",
823
+ "scout_poc_web_surface=true",
824
+ "scout_poc_web_initial_session=true",
825
+ "scout_poc_web_blank_status=303",
826
+ "scout_poc_web_blank_location=true",
827
+ "scout_poc_web_blank_feedback=true",
828
+ "scout_poc_web_no_sources_status=303",
829
+ "scout_poc_web_no_sources_location=true",
830
+ "scout_poc_web_no_sources_feedback=true",
831
+ "scout_poc_web_unknown_source_status=303",
832
+ "scout_poc_web_unknown_source_location=true",
833
+ "scout_poc_web_unknown_source_feedback=true",
834
+ "scout_poc_web_start_status=303",
835
+ "scout_poc_web_start_location=true",
836
+ "scout_poc_web_started_status=200",
837
+ "scout_poc_web_started_feedback=true",
838
+ "scout_poc_web_session=true",
839
+ "scout_poc_web_topic=true",
840
+ "scout_poc_web_sources=true",
841
+ "scout_poc_web_extract_status=303",
842
+ "scout_poc_web_extract_location=true",
843
+ "scout_poc_web_extracted_status=200",
844
+ "scout_poc_web_extract_feedback=true",
845
+ "scout_poc_web_findings=true",
846
+ "scout_poc_web_provenance=true",
847
+ "scout_poc_web_contradiction=true",
848
+ "scout_poc_web_receipt_not_ready_status=303",
849
+ "scout_poc_web_receipt_not_ready_location=true",
850
+ "scout_poc_web_receipt_not_ready_feedback=true",
851
+ "scout_poc_web_invalid_checkpoint_status=303",
852
+ "scout_poc_web_invalid_checkpoint_location=true",
853
+ "scout_poc_web_invalid_checkpoint_feedback=true",
854
+ "scout_poc_web_add_source_status=303",
855
+ "scout_poc_web_add_source_location=true",
856
+ "scout_poc_web_add_source_feedback=true",
857
+ "scout_poc_web_added_source=true",
858
+ "scout_poc_web_reextract_status=303",
859
+ "scout_poc_web_reextract_location=true",
860
+ "scout_poc_web_reextracted_status=200",
861
+ "scout_poc_web_reextracted_findings=true",
862
+ "scout_poc_web_checkpoint_status=303",
863
+ "scout_poc_web_checkpoint_location=true",
864
+ "scout_poc_web_checkpoint_feedback=true",
865
+ "scout_poc_web_checkpoint_marker=true",
866
+ "scout_poc_web_receipt_status=303",
867
+ "scout_poc_web_receipt_location=true",
868
+ "scout_poc_web_final_status=200",
869
+ "scout_poc_web_receipt_feedback=true",
870
+ "scout_poc_web_receipt_marker=true",
871
+ "scout_poc_web_activity=true",
872
+ "scout_poc_web_events_status=200",
873
+ "scout_poc_web_events=topic=How should engineering teams adopt AI coding assistants?",
874
+ "scout_poc_web_events_parity=true",
875
+ "scout_poc_web_receipt_endpoint_status=200",
876
+ "scout_poc_web_receipt_endpoint=true",
877
+ "scout_poc_web_fixture_no_mutation=true",
878
+ "scout_poc_web_runtime_sessions=1",
879
+ "scout_poc_web_runtime_receipts=1"
880
+ ]
881
+ ),
882
+ example(
883
+ "application/dispatch_poc",
884
+ "One-process Dispatch incident command POC core with handoff receipt evidence.",
885
+ expected_fragments: [
886
+ "dispatch_poc_unknown_incident=dispatch_unknown_incident",
887
+ "dispatch_poc_open=dispatch_incident_opened",
888
+ "dispatch_poc_session_id=true",
889
+ "dispatch_poc_incident=INC-001",
890
+ "dispatch_poc_title=Checkout errors after payments deploy",
891
+ "dispatch_poc_receipt_not_ready=dispatch_receipt_not_ready",
892
+ "dispatch_poc_triage=dispatch_triage_completed",
893
+ "dispatch_poc_severity=critical",
894
+ "dispatch_poc_cause=migration",
895
+ "dispatch_poc_events=4",
896
+ "dispatch_poc_routes=payments-platform,database-oncall",
897
+ "dispatch_poc_unknown_team=dispatch_unknown_team",
898
+ "dispatch_poc_invalid_assignment=dispatch_invalid_assignment",
899
+ "dispatch_poc_blank_escalation=dispatch_blank_escalation_reason",
900
+ "dispatch_poc_assignment=dispatch_owner_assigned",
901
+ "dispatch_poc_assigned_team=payments-platform",
902
+ "dispatch_poc_handoff_ready=true",
903
+ "dispatch_poc_status=complete",
904
+ "dispatch_poc_receipt=dispatch_receipt_emitted",
905
+ "dispatch_poc_receipt_id=dispatch-receipt:dispatch-session-inc-001",
906
+ "dispatch_poc_receipt_valid=true",
907
+ "dispatch_poc_receipt_citation=true",
908
+ "dispatch_poc_receipt_deferred=true",
909
+ "dispatch_poc_events_read=incident=INC-001",
910
+ "dispatch_poc_action_count=15",
911
+ "dispatch_poc_fixture_no_mutation=true",
912
+ "dispatch_poc_runtime_sessions=1",
913
+ "dispatch_poc_runtime_receipts=1",
914
+ "dispatch_poc_web_initial_status=200",
915
+ "dispatch_poc_web_content_type=text/html",
916
+ "dispatch_poc_web_surface=true",
917
+ "dispatch_poc_web_initial_incident=true",
918
+ "dispatch_poc_web_unknown_incident_status=303",
919
+ "dispatch_poc_web_unknown_incident_location=true",
920
+ "dispatch_poc_web_unknown_incident_feedback=true",
921
+ "dispatch_poc_web_open_status=303",
922
+ "dispatch_poc_web_open_location=true",
923
+ "dispatch_poc_web_opened_status=200",
924
+ "dispatch_poc_web_open_feedback=true",
925
+ "dispatch_poc_web_incident=true",
926
+ "dispatch_poc_web_service=true",
927
+ "dispatch_poc_web_receipt_not_ready_status=303",
928
+ "dispatch_poc_web_receipt_not_ready_location=true",
929
+ "dispatch_poc_web_receipt_not_ready_feedback=true",
930
+ "dispatch_poc_web_triage_status=303",
931
+ "dispatch_poc_web_triage_location=true",
932
+ "dispatch_poc_web_triaged_status=200",
933
+ "dispatch_poc_web_triage_feedback=true",
934
+ "dispatch_poc_web_severity=true",
935
+ "dispatch_poc_web_cause=true",
936
+ "dispatch_poc_web_events=true",
937
+ "dispatch_poc_web_event_marker=true",
938
+ "dispatch_poc_web_citation=true",
939
+ "dispatch_poc_web_route=true",
940
+ "dispatch_poc_web_unknown_team_status=303",
941
+ "dispatch_poc_web_unknown_team_location=true",
942
+ "dispatch_poc_web_unknown_team_feedback=true",
943
+ "dispatch_poc_web_invalid_assignment_status=303",
944
+ "dispatch_poc_web_invalid_assignment_location=true",
945
+ "dispatch_poc_web_invalid_assignment_feedback=true",
946
+ "dispatch_poc_web_blank_escalation_status=303",
947
+ "dispatch_poc_web_blank_escalation_location=true",
948
+ "dispatch_poc_web_blank_escalation_feedback=true",
949
+ "dispatch_poc_web_assignment_status=303",
950
+ "dispatch_poc_web_assignment_location=true",
951
+ "dispatch_poc_web_assigned_status=200",
952
+ "dispatch_poc_web_assignment_feedback=true",
953
+ "dispatch_poc_web_assigned_team=true",
954
+ "dispatch_poc_web_handoff_ready=true",
955
+ "dispatch_poc_web_receipt_status=303",
956
+ "dispatch_poc_web_receipt_location=true",
957
+ "dispatch_poc_web_final_status=200",
958
+ "dispatch_poc_web_receipt_feedback=true",
959
+ "dispatch_poc_web_receipt_marker=true",
960
+ "dispatch_poc_web_receipt_valid=true",
961
+ "dispatch_poc_web_activity=true",
962
+ "dispatch_poc_web_events_status=200",
963
+ "dispatch_poc_web_events=incident=INC-001",
964
+ "dispatch_poc_web_events_parity=true",
965
+ "dispatch_poc_web_receipt_endpoint_status=200",
966
+ "dispatch_poc_web_receipt_endpoint=true",
967
+ "dispatch_poc_web_fixture_no_mutation=true",
968
+ "dispatch_poc_web_runtime_sessions=1",
969
+ "dispatch_poc_web_runtime_receipts=1"
970
+ ]
971
+ ),
972
+ example(
973
+ "application/mounts",
974
+ "Generic application mount registry for web, agent, and future interaction surfaces.",
975
+ expected_fragments: [
976
+ "application_mount_names=agent_bus,operator_console",
977
+ "application_mount_web_kind=web",
978
+ "application_mount_web_at=/operator",
979
+ "application_mount_web_capabilities=screen,stream",
980
+ "application_mount_web_target=OperatorConsole",
981
+ "application_mount_manifest=agent_bus,operator_console",
982
+ "application_mount_snapshot=agent,web"
983
+ ]
984
+ ),
985
+ example(
986
+ "application/web_mount",
987
+ "Web-owned mount bound to a finalized application environment.",
988
+ expected_fragments: [
989
+ "application_web_mount_status=200",
990
+ "application_web_mount_content_type=text/html",
991
+ "application_web_mount_manifest=true",
992
+ "application_web_mount_route=true",
993
+ "application_web_mount_service=true",
994
+ "application_web_mount_capabilities=true",
995
+ "application_web_mount_registration=web",
996
+ "application_web_mount_command=contract:Contracts::ResolveIncident",
997
+ "application_web_mount_stream=projection:Projections::ClusterEvents",
998
+ "application_web_mount_command_shape=contract",
999
+ "application_web_mount_stream_shape=projection"
1000
+ ]
1001
+ ),
1002
+ example(
1003
+ "application/web_surface_structure",
1004
+ "Web-owned surface groups inside compact and expanded application capsules.",
1005
+ expected_fragments: [
1006
+ "application_web_surface_compact_root=web",
1007
+ "application_web_surface_expanded_root=app/web",
1008
+ "application_web_surface_compact_screens=web/screens",
1009
+ "application_web_surface_expanded_screens=app/web/screens",
1010
+ "application_web_surface_groups=screens,pages,components,projections,webhooks,assets",
1011
+ "application_web_surface_active_compact=config,spec,web",
1012
+ "application_web_surface_active_non_web=config,contracts,services,spec",
1013
+ "application_web_surface_non_web=false",
1014
+ "application_web_surface_projection_path=web/projections"
1015
+ ]
1016
+ ),
1017
+ example(
1018
+ "application/web_surface_manifest",
1019
+ "Web-owned surface manifest lifted into capsule export metadata.",
1020
+ expected_fragments: [
1021
+ "application_web_manifest_name=operator_console",
1022
+ "application_web_manifest_path=/operator",
1023
+ "application_web_manifest_capsule_export=web_surface:operator_console",
1024
+ "application_web_manifest_exports=page:/,screen:/execution,command:/incidents/:id/resolve,query:/status,stream:/events,screen:execution",
1025
+ "application_web_manifest_pending_inputs=review_note",
1026
+ "application_web_manifest_pending_actions=pause",
1027
+ "application_web_manifest_streams=events",
1028
+ "application_web_manifest_chats=Agents::ProjectLead",
1029
+ "application_web_manifest_contract=true",
1030
+ "application_web_manifest_service=true",
1031
+ "application_web_manifest_projection=true",
1032
+ "application_web_manifest_agent=true"
1033
+ ]
1034
+ ),
1035
+ example(
1036
+ "application/agent_native_plan_review",
1037
+ "Agent-native plan review flow using application sessions and web interaction metadata.",
1038
+ expected_fragments: [
1039
+ "agent_native_plan_review_session_kind=flow",
1040
+ "agent_native_plan_review_status=waiting_for_user",
1041
+ "agent_native_plan_review_pending_inputs=clarification",
1042
+ "agent_native_plan_review_pending_actions=approve_plan",
1043
+ "agent_native_plan_review_artifacts=draft_plan",
1044
+ "agent_native_plan_review_events_before=0",
1045
+ "agent_native_plan_review_events_after=1",
1046
+ "agent_native_plan_review_surface_imports=projection:Projections::PlanReviewEvents,agent:Agents::ProjectLead,contract:Contracts::ApprovePlan",
1047
+ "agent_native_plan_review_surface_exports=screen:/plan-review,screen:plan_review",
1048
+ "agent_native_plan_review_manifest_export=web_surface"
1049
+ ]
1050
+ ),
1051
+ example(
1052
+ "cluster/incidents",
1053
+ "Failover planning plus durable incident history and active incident state.",
1054
+ expected_fragments: [
1055
+ "cluster_incident_plan_targets=order-42",
1056
+ "cluster_incident_failed_status=failed",
1057
+ "cluster_incident_history=2",
1058
+ "cluster_incident_last_resolution=recovered",
1059
+ "cluster_active_incidents_after=0"
1060
+ ]
1061
+ ),
1062
+ example(
1063
+ "cluster/incident_workflow",
1064
+ "Operator workflow actions over durable active incidents.",
1065
+ expected_fragments: [
1066
+ "cluster_incident_workflow_before=silenced",
1067
+ "cluster_incident_workflow_actions=acknowledged,assigned,silenced,resolved",
1068
+ "cluster_incident_workflow_active_before=1",
1069
+ "cluster_incident_workflow_after=resolved",
1070
+ "cluster_incident_workflow_active_after=0"
1071
+ ]
1072
+ ),
1073
+ example(
1074
+ "cluster/mesh_diagnostics",
1075
+ "Mesh execution retry trace, projection report, and operator-facing diagnostics.",
1076
+ expected_fragments: [
1077
+ "cluster_mesh_plan_kind=ownership",
1078
+ "cluster_mesh_status=completed",
1079
+ "cluster_mesh_attempts=pricing_node_a:failed,pricing_node_b:completed",
1080
+ "cluster_mesh_projection_mode=mesh_candidates",
1081
+ "cluster_mesh_diagnostics_events=projection,mesh_attempt,mesh_attempt,mesh",
1082
+ "cluster_mesh_trace_id=mesh/ownership/pricing_node_a/1"
1083
+ ]
1084
+ ),
1085
+ example(
1086
+ "cluster/remediation",
1087
+ "Remediation planning and execution over active cluster incidents.",
1088
+ expected_fragments: [
1089
+ "cluster_remediation_mode=planned",
1090
+ "cluster_remediation_steps=1",
1091
+ "cluster_remediation_actions=retry_failover",
1092
+ "cluster_remediation_target=order-42",
1093
+ "cluster_remediation_status=completed"
1094
+ ]
1095
+ ),
1096
+ example(
1097
+ "cluster/routing",
1098
+ "Cluster routing and remote compose over application transport seams.",
1099
+ expected_fragments: [
1100
+ "cluster_compose_total=120.0",
1101
+ "cluster_route_peer=pricing_node",
1102
+ "cluster_route_mode=capability"
1103
+ ]
1104
+ ),
1105
+ example(
1106
+ "contracts/aggregates",
1107
+ "Lookup and aggregate packs lowered over the contracts kernel.",
1108
+ expected_fragments: ["aggregate_total_amount=60", "aggregate_average_amount=20.0"]
1109
+ ),
1110
+ example(
1111
+ "contracts/auditing",
1112
+ "Audit snapshots and diagnostics over explicit execution results.",
1113
+ expected_fragments: [
1114
+ "contracts_auditing_event_types=[:input_observed, :compute_observed, :output_observed]",
1115
+ "contracts_auditing_state={:status=>:succeeded, :value=>120.0}",
1116
+ "contracts_auditing_sections=baseline_summary,audit_summary"
1117
+ ]
1118
+ ),
1119
+ example(
1120
+ "contracts/branching",
1121
+ "Decision-style branch routing lowered into compute semantics.",
1122
+ expected_fragments: [
1123
+ "contracts_branch_case=international",
1124
+ "contracts_branch_value=priority_international",
1125
+ "contracts_branch_matcher=matches"
1126
+ ]
1127
+ ),
1128
+ example(
1129
+ "contracts/piecewise",
1130
+ "Language pack observable piecewise decision over regular compute nodes.",
1131
+ expected_fragments: [
1132
+ "contracts_piecewise_score=2",
1133
+ "contracts_piecewise_case=heavy",
1134
+ "contracts_piecewise_matcher=between"
1135
+ ]
1136
+ ),
1137
+ example(
1138
+ "contracts/scale",
1139
+ "Language pack observable numeric scaling pipeline over regular compute nodes.",
1140
+ expected_fragments: [
1141
+ "contracts_scale_score=38",
1142
+ "contracts_scale_steps=4",
1143
+ "contracts_scale_last=round"
1144
+ ]
1145
+ ),
1146
+ example(
1147
+ "contracts/formula",
1148
+ "Language pack observable arithmetic formula over dependency values.",
1149
+ expected_fragments: [
1150
+ "contracts_formula_score=93",
1151
+ "contracts_formula_steps=5",
1152
+ "contracts_formula_dependencies=sleep_score,training_score"
1153
+ ]
1154
+ ),
1155
+ example(
1156
+ "contracts/basic_pricing",
1157
+ "Smallest end-to-end pricing flow over igniter-contracts.",
1158
+ expected_fragments: ["contracts_basic_gross_total=120.0", "contracts_basic_updated_gross_total=180.0"]
1159
+ ),
1160
+ example(
1161
+ "contracts/class_pricing",
1162
+ "Human-facing contract class DSL with result readers and input updates.",
1163
+ expected_fragments: [
1164
+ "contracts_class_gross_total=120.0",
1165
+ "contracts_class_output=120.0",
1166
+ "contracts_class_updated_gross_total=180.0",
1167
+ "contracts_class_success=true"
1168
+ ]
1169
+ ),
1170
+ example(
1171
+ "contracts/class_callable",
1172
+ "Contract class DSL using call: to reuse a service object step.",
1173
+ expected_fragments: [
1174
+ "contracts_class_callable_subtotal=40",
1175
+ "contracts_class_callable_total=36.0",
1176
+ "contracts_class_callable_outputs=subtotal,total"
1177
+ ]
1178
+ ),
1179
+ example(
1180
+ "contracts/step_result",
1181
+ "Optional StepResultPack with visible step nodes and fail-fast trace.",
1182
+ expected_fragments: [
1183
+ "contracts_step_result_success=false",
1184
+ "contracts_step_result_failure_code=halted_dependency",
1185
+ "contracts_step_result_halted_dependency=market",
1186
+ "contracts_step_result_trace=validated_params:success,market:failed,business_window:failed"
1187
+ ]
1188
+ ),
1189
+ example(
1190
+ "contracts/lang_foundation",
1191
+ "Additive Igniter Lang Ruby backend wrapper and metadata descriptors.",
1192
+ expected_fragments: [
1193
+ "lang_foundation_latest_price=120.0",
1194
+ "lang_foundation_descriptor=history",
1195
+ "lang_foundation_report_ok=true",
1196
+ "lang_foundation_metadata_declared_not_enforced=true"
1197
+ ]
1198
+ ),
1199
+ example(
1200
+ "contracts/embed_class_registration",
1201
+ "Embed host registration for contract classes with explicit and inferred names.",
1202
+ expected_fragments: [
1203
+ "embed_class_explicit_total=120.0",
1204
+ "embed_class_inferred_total=180.0",
1205
+ "embed_class_registration_kind=class"
1206
+ ]
1207
+ ),
1208
+ example(
1209
+ "contracts/contractable_shadow",
1210
+ "Contractable shadow comparison and observed-service capture over generic services.",
1211
+ expected_fragments: [
1212
+ "contractable_primary_total=120.0",
1213
+ "contractable_shadow_match=false",
1214
+ "contractable_shadow_accepted=true",
1215
+ "contractable_shadow_policy=shape",
1216
+ "contractable_observed_mode=observe"
1217
+ ]
1218
+ ),
1219
+ example(
1220
+ "contracts/contractable_service",
1221
+ "Contractable service protocol called through compute using.",
1222
+ expected_fragments: [
1223
+ "contracts_contractable_service_success=true",
1224
+ "contracts_contractable_service_score=93",
1225
+ "contracts_contractable_service_scalar_score=93",
1226
+ "contracts_contractable_service_observations=sleep_score,training_score"
1227
+ ]
1228
+ ),
1229
+ example(
1230
+ "contracts/embed_human_sugar",
1231
+ "Embed human sugar DSL for host contracts, generated runners, adapters, events, and explicit capabilities.",
1232
+ expected_fragments: [
1233
+ "embed_sugar_primary_total=120.0",
1234
+ "embed_sugar_runner_names=price_quote",
1235
+ "embed_sugar_shadow_match=false",
1236
+ "embed_sugar_shadow_accepted=true",
1237
+ "embed_sugar_redacted_inputs=amount,customer_id",
1238
+ "embed_sugar_divergence_events=1",
1239
+ "embed_sugar_capabilities=logging:contract,reporting:callable_adapter",
1240
+ "embed_sugar_runner_accessor=contractable(:price_quote)"
1241
+ ]
1242
+ ),
1243
+ example(
1244
+ "contracts/build_effect_executor_pack",
1245
+ "Inline effect/executor pack authoring over the public contracts API.",
1246
+ expected_fragments: ["custom_executor_output=15", "custom_result_entries=1"]
1247
+ ),
1248
+ example(
1249
+ "contracts/build_your_own_pack",
1250
+ "Inline custom pack authoring over the public igniter-contracts API.",
1251
+ expected_fragments: ["custom_pack_slug=hello-igniter-contracts", "custom_pack_findings=missing_slug_sources"]
1252
+ ),
1253
+ example(
1254
+ "contracts/capabilities",
1255
+ "Capability declarations, graph requirements, and policy checks.",
1256
+ expected_fragments: [
1257
+ "contracts_capabilities_required={:fetched=>[:network, :database]}",
1258
+ "contracts_capabilities_invalid=true",
1259
+ "contracts_capabilities_violation_kinds=[:denied_capability]"
1260
+ ]
1261
+ ),
1262
+ example(
1263
+ "contracts/commerce",
1264
+ "Commerce preset built from contracts-native extension packs.",
1265
+ expected_fragments: ["commerce_grand_total=38.0", "execution_report_sections=baseline_summary,execution_report"]
1266
+ ),
1267
+ example(
1268
+ "contracts/collection",
1269
+ "Explicit keyed collection execution over Dataflow and Incremental sessions.",
1270
+ expected_fragments: [
1271
+ "contracts_collection_total=36.0",
1272
+ "contracts_collection_keys=a,b",
1273
+ "contracts_collection_summary={:mode=>:incremental, :total=>2"
1274
+ ]
1275
+ ),
1276
+ example(
1277
+ "contracts/compose_your_own_packs",
1278
+ "One custom pack depending on another through the public kernel API.",
1279
+ expected_fragments: ["composed_pack_has_slug=true", "composed_pack_url=https://docs.example.test/hello-pack-composition"]
1280
+ ),
1281
+ example(
1282
+ "contracts/composition",
1283
+ "Explicit nested contract invocation through ComposePack.",
1284
+ expected_fragments: [
1285
+ "contracts_compose_tax=20.0",
1286
+ "contracts_compose_total=120.0",
1287
+ "contracts_compose_nested_outputs=tax,total"
1288
+ ]
1289
+ ),
1290
+ example(
1291
+ "contracts/content_addressing",
1292
+ "Content-addressed pure callable reuse over explicit contracts execution.",
1293
+ expected_fragments: [
1294
+ "contracts_content_addressing_tax=20.0",
1295
+ "contracts_content_addressing_calls=1",
1296
+ "contracts_content_addressing_key=ca:",
1297
+ "contracts_content_addressing_stats={:size=>1, :hits=>1, :misses=>1}"
1298
+ ]
1299
+ ),
1300
+ example(
1301
+ "contracts/create_pack",
1302
+ "CreatorPack scaffold, audit, wizard, and writer workflow.",
1303
+ expected_fragments: [
1304
+ "creator_pack_constant=Acme::IgniterPacks::SlugPack",
1305
+ "creator_report_audit_ok=false",
1306
+ "creator_report_missing_nodes=draft_slug",
1307
+ "creator_workflow_stage=implement_pack",
1308
+ "creator_wizard_current_decision=scope",
1309
+ "creator_wizard_examples=examples/contracts/build_effect_executor_pack.rb,examples/contracts/journal.rb",
1310
+ "creator_writer_files_written=4"
1311
+ ]
1312
+ ),
1313
+ example(
1314
+ "contracts/dataflow",
1315
+ "Dataflow session built on top of IncrementalPack.",
1316
+ expected_fragments: [
1317
+ "contracts_dataflow_round1=added(3)",
1318
+ "contracts_dataflow_total=3",
1319
+ "contracts_dataflow_window_keys=s2,s3,s4"
1320
+ ]
1321
+ ),
1322
+ example(
1323
+ "contracts/debug",
1324
+ "DebugPack report over profile seams, execution, and provenance.",
1325
+ expected_fragments: [
1326
+ "contracts_debug_ok=true",
1327
+ "contracts_debug_output=40.0",
1328
+ "contracts_debug_sections=baseline_summary,execution_report,provenance,debug"
1329
+ ]
1330
+ ),
1331
+ example(
1332
+ "contracts/debug_pack_authoring",
1333
+ "DebugPack audit for an incomplete custom pack before finalize.",
1334
+ expected_fragments: [
1335
+ "contracts_pack_audit_ok=false",
1336
+ "contracts_pack_audit_missing_nodes=draft_slug",
1337
+ "contracts_pack_audit_finalize_error=true"
1338
+ ]
1339
+ ),
1340
+ example(
1341
+ "contracts/diagnostics",
1342
+ "Structured diagnostics report for contracts execution.",
1343
+ expected_fragments: ["contracts_diagnostics_output=120.0",
1344
+ "contracts_diagnostics_sections=baseline_summary,execution_report"]
1345
+ ),
1346
+ example(
1347
+ "contracts/differential",
1348
+ "Differential comparison and explicit shadow execution.",
1349
+ expected_fragments: [
1350
+ "contracts_differential_match=false",
1351
+ "contracts_differential_diverged=[:tax, :total]",
1352
+ "contracts_differential_candidate_only=[:discount]",
1353
+ "contracts_differential_tax_tolerated=true",
1354
+ "contracts_shadow_match=false"
1355
+ ]
1356
+ ),
1357
+ example(
1358
+ "contracts/effects",
1359
+ "Baseline effect node plus effect adapter execution seams.",
1360
+ expected_fragments: [
1361
+ "contracts_effect_payload={:quote_total=>120, :event=>\"quote_requested_direct\"}",
1362
+ "contracts_graph_effect_output={:quote_total=>120, :event=>\"quote_requested\"}",
1363
+ "contracts_effect_entries=2",
1364
+ "contracts_effect_sections=baseline_summary"
1365
+ ]
1366
+ ),
1367
+ example(
1368
+ "contracts/incremental",
1369
+ "Incremental session flows over a compiled graph.",
1370
+ expected_fragments: [
1371
+ "contracts_incremental_output=89.6",
1372
+ "contracts_incremental_skipped=[:tier_discount, :adjusted_price]",
1373
+ "contracts_incremental_recomputed=1"
1374
+ ]
1375
+ ),
1376
+ example(
1377
+ "contracts/introspection",
1378
+ "Structured compilation, result, and diagnostics reports.",
1379
+ expected_fragments: ["contracts_introspection_ok=true",
1380
+ "contracts_introspection_sections=baseline_summary,execution_report"]
1381
+ ),
1382
+ example(
1383
+ "contracts/invariants",
1384
+ "Explicit invariant suites and multi-case verification.",
1385
+ expected_fragments: [
1386
+ "contracts_invariants_valid=true",
1387
+ "contracts_invariants_cases_valid=false",
1388
+ "contracts_invariants_invalid_case_count=1"
1389
+ ]
1390
+ ),
1391
+ example(
1392
+ "contracts/journal",
1393
+ "Operational effect and executor pack over igniter-contracts.",
1394
+ expected_fragments: ["journal_execution_output=15", "journal_result_entries=1"]
1395
+ ),
1396
+ example(
1397
+ "contracts/mcp",
1398
+ "MCP tooling adapter over debug and creator surfaces.",
1399
+ expected_fragments: [
1400
+ "contracts_mcp_session_apply_args=session,updates",
1401
+ "contracts_mcp_wizard_decision=scope",
1402
+ "contracts_mcp_session_ready=true",
1403
+ "contracts_mcp_debug_output=12",
1404
+ "contracts_mcp_write_files=4"
1405
+ ]
1406
+ ),
1407
+ example(
1408
+ "contracts/mcp_host",
1409
+ "JSON-RPC host entrypoint over the MCP adapter package.",
1410
+ expected_fragments: [
1411
+ "contracts_mcp_host_protocol=2024-11-05",
1412
+ "contracts_mcp_host_tools=true",
1413
+ "contracts_mcp_host_decision=scope",
1414
+ "contracts_mcp_host_error=false",
1415
+ "contracts_mcp_host_invalid_code=-32602"
1416
+ ]
1417
+ ),
1418
+ example(
1419
+ "contracts/mcp_server",
1420
+ "Tool-catalog server wrapper over igniter-mcp-adapter.",
1421
+ expected_fragments: [
1422
+ "contracts_mcp_server_required=session,updates",
1423
+ "contracts_mcp_server_tool=creator_session_apply",
1424
+ "contracts_mcp_server_error=false",
1425
+ "contracts_mcp_server_decision=scope"
1426
+ ]
1427
+ ),
1428
+ example(
1429
+ "contracts/provenance",
1430
+ "Lineage and provenance reports over execution results.",
1431
+ expected_fragments: [
1432
+ "contracts_provenance_output=360.0",
1433
+ "contracts_provenance_path=[:grand_total, :subtotal, :base_price]",
1434
+ "contracts_provenance_sections=baseline_summary,provenance"
1435
+ ]
1436
+ ),
1437
+ example(
1438
+ "contracts/reactive",
1439
+ "Explicit subscriptions over execution and incremental change events.",
1440
+ expected_fragments: [
1441
+ "contracts_reactive_status=succeeded",
1442
+ "contracts_reactive_produced=[120.0, 180.0]",
1443
+ "contracts_reactive_event_types=[:execution_succeeded, :output_produced, :output_changed, :execution_exited]"
1444
+ ]
1445
+ ),
1446
+ example(
1447
+ "contracts/saga",
1448
+ "Explicit compensation registry and SagaPack execution.",
1449
+ expected_fragments: [
1450
+ "contracts_saga_success=false",
1451
+ "contracts_saga_failed_node=:charge_card",
1452
+ "contracts_saga_compensations=[:reserve_stock]",
1453
+ "contracts_saga_sections=baseline_summary,execution_report"
1454
+ ]
1455
+ )
1456
+ ].freeze
1457
+
1458
+ def self.all
1459
+ ALL
1460
+ end
1461
+
1462
+ def self.smoke
1463
+ ALL.select(&:smoke?)
1464
+ end
1465
+
1466
+ def self.autonomous
1467
+ ALL.select(&:autonomous?)
1468
+ end
1469
+
1470
+ def self.find(name)
1471
+ normalized = normalize(name)
1472
+
1473
+ ALL.find do |example|
1474
+ normalize(example.id) == normalized ||
1475
+ normalize(example.path) == normalized ||
1476
+ normalize(example.path.sub(%r{\Aexamples/}, "")) == normalized
1477
+ end
1478
+ end
1479
+
1480
+ def self.normalize(name)
1481
+ value = name.to_s
1482
+ value = value.sub(%r{\Aexamples/}, "")
1483
+ value = value.delete_prefix("./")
1484
+ value.sub(/\.rb\z/, "")
1485
+ end
1486
+ end