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,151 @@
1
+ # Igniter Web DSL Sketch
2
+
3
+ This note captures the current authoring-first direction for `igniter-web`.
4
+
5
+ It complements:
6
+
7
+ - [Igniter Web Target Plan](./igniter-web-target-plan.md)
8
+
9
+ ## DSL Thesis
10
+
11
+ Design `igniter-web` from the shape we want users to write, not from the
12
+ internal routing primitives first.
13
+
14
+ The package should feel:
15
+
16
+ - compact
17
+ - expressive
18
+ - low-boilerplate
19
+ - pleasant to scan
20
+ - friendly to long-lived, stream-heavy, non-CRUD web surfaces
21
+
22
+ ## Current Preferred Feel
23
+
24
+ The intended tone is closer to:
25
+
26
+ - Sinatra for compactness
27
+ - Rails for pleasant conventions
28
+ - Igniter for contracts/process/stream semantics
29
+
30
+ Not:
31
+
32
+ - a controller-heavy ceremony-first framework
33
+ - an ORM-centered CRUD shell
34
+
35
+ ## Initial Authoring Shape
36
+
37
+ The first DSL pass should make examples like this feel natural:
38
+
39
+ ```ruby
40
+ app = Igniter::Web.application do
41
+ root title: "Operator" do
42
+ main class: "shell" do
43
+ h1 "Operator"
44
+ para "Cluster is healthy"
45
+ end
46
+ end
47
+
48
+ page "/projects/:id", title: "Project" do
49
+ main do
50
+ h1 assigns[:project_name]
51
+ para assigns[:status]
52
+ end
53
+ end
54
+
55
+ command "/projects/:id/advance", to: Contracts::AdvanceProject
56
+ stream "/projects/:id/events", to: Projections::ProjectEvents
57
+ end
58
+ ```
59
+
60
+ This is intentionally more compact than:
61
+
62
+ - explicit controller classes
63
+ - explicit template file wiring for every first page
64
+ - multiple ceremony objects before the screen can exist
65
+
66
+ For agent-managed and process-oriented surfaces, the DSL should also support
67
+ screen intent that can be composed before rendering:
68
+
69
+ ```ruby
70
+ screen :plan_review, intent: :human_decision do
71
+ title "Plan review"
72
+
73
+ show :plan_summary
74
+ show :risk_panel
75
+ compare :current_plan, :proposed_plan
76
+
77
+ action :approve, run: Contracts::ApprovePlan
78
+ action :revise, run: Contracts::RequestRevision
79
+ chat with: Agents::ProjectLead
80
+
81
+ compose with: :decision_workspace
82
+ end
83
+ ```
84
+
85
+ ## DSL Priorities
86
+
87
+ Prioritize these authoring wins early:
88
+
89
+ - `root` and `page` as first-class route + page sugar
90
+ - inline page blocks
91
+ - easy promotion path from inline page to dedicated page class
92
+ - Arbre-backed HTML authoring
93
+ - simple layout defaults
94
+ - compact route declarations for `command`, `query`, `stream`, and `webhook`
95
+
96
+ ## Promotion Path
97
+
98
+ The DSL should support growth from tiny apps to richer apps without punishing
99
+ the simple case.
100
+
101
+ Start small:
102
+
103
+ ```ruby
104
+ page "/chat", title: "Chat" do
105
+ h1 "Chat"
106
+ end
107
+ ```
108
+
109
+ Promote later:
110
+
111
+ ```ruby
112
+ class ChatPage < Igniter::Web::Page
113
+ title "Chat"
114
+
115
+ body do
116
+ main do
117
+ h1 "Chat"
118
+ end
119
+ end
120
+ end
121
+
122
+ page "/chat", to: ChatPage
123
+ ```
124
+
125
+ That gives the package a useful spectrum:
126
+
127
+ - inline for small surfaces
128
+ - classes for reusable or larger surfaces
129
+
130
+ ## First-Class Authoring Objects
131
+
132
+ The current DSL lane should revolve around:
133
+
134
+ - `Application`
135
+ - `Page`
136
+ - `Component`
137
+ - `Api`
138
+ - `Record`
139
+
140
+ The shape is intentionally:
141
+
142
+ - `Application` for route drawing and web composition
143
+ - `Page` for full-screen HTML surfaces
144
+ - `Component` for reusable UI vocabulary
145
+ - `Api` for contracts-first transport declarations
146
+ - `Record` for optional persistence convenience
147
+
148
+ ## Working Rule
149
+
150
+ If a proposed API makes small web surfaces longer, noisier, or more ceremonial
151
+ without buying a real capability, it is probably the wrong default DSL.
@@ -0,0 +1,56 @@
1
+ # Igniter Web Target Plan
2
+
3
+ This note defines the current public target for `igniter-web`.
4
+
5
+ ## Thesis
6
+
7
+ `igniter-web` should be the contracts-first web layer for Igniter applications.
8
+ It should make app-owned state visible and operable without turning Igniter into
9
+ a CRUD-first Rails clone.
10
+
11
+ The primary surfaces are:
12
+
13
+ - dashboards
14
+ - operator workspaces
15
+ - command/refusal flows
16
+ - chats and streams when they are backed by explicit app contracts
17
+ - receipt, report, and event review screens
18
+
19
+ ## Ownership
20
+
21
+ `igniter-web` owns:
22
+
23
+ - mounted web surfaces
24
+ - request handling for example/review surfaces
25
+ - screen composition primitives
26
+ - `MountContext`
27
+ - surface structure and surface manifest metadata
28
+
29
+ It does not own:
30
+
31
+ - application boot
32
+ - provider or service registration
33
+ - contract registration
34
+ - app mutation policy
35
+ - production deployment behavior
36
+ - cluster placement
37
+
38
+ Those remain application, host, or cluster concerns.
39
+
40
+ ## Current Proof
41
+
42
+ The current proof comes from Lense, Chronicle, Scout, and Dispatch. Each app
43
+ mounts one web surface, renders from an app-owned snapshot, exposes `/events`,
44
+ and emits `/report` or `/receipt` evidence.
45
+
46
+ Public review path:
47
+
48
+ - [Application Showcase Portfolio](../guide/application-showcase-portfolio.md)
49
+ - [Application Showcase Portfolio](../guide/application-showcase-portfolio.md)
50
+ - [Interactive App Structure](../guide/interactive-app-structure.md)
51
+
52
+ ## Extraction Rule
53
+
54
+ Keep repeated web shapes local until the showcase portfolio proves a stable
55
+ abstraction. Public package APIs should be promoted only when they preserve
56
+ clear ownership between application state, command handling, and web rendering.
@@ -0,0 +1,81 @@
1
+ # MCP Adapter Package
2
+
3
+ ## Purpose
4
+
5
+ `igniter-mcp-adapter` is the transport-facing package that sits on top of the
6
+ tooling semantics already defined in `igniter-extensions`.
7
+
8
+ Its job is not to invent new tools. Its job is to adapt the existing catalog
9
+ and invocation surface into a package that can host:
10
+
11
+ - a real MCP server
12
+ - CLI wrappers
13
+ - editor integrations
14
+ - agent-facing bridges
15
+
16
+ ## Source Of Truth
17
+
18
+ The semantic source of truth stays in `igniter-extensions`:
19
+
20
+ - `Igniter::Extensions::Contracts.mcp_tools`
21
+ - `Igniter::Extensions::Contracts.mcp_call(...)`
22
+ - `Igniter::Extensions::Contracts.mcp_creator_session(...)`
23
+
24
+ The adapter package should treat those as authoritative.
25
+
26
+ ## Why A Separate Package
27
+
28
+ This split gives us scalability by default:
29
+
30
+ - `igniter-extensions` owns debug/creator/tooling semantics
31
+ - `igniter-mcp-adapter` owns transport/runtime integration concerns
32
+ - future adapters can reuse the same semantic surface without duplicating logic
33
+
34
+ That means we can add more than one adapter later:
35
+
36
+ - MCP server adapter
37
+ - CLI adapter
38
+ - IDE adapter
39
+ - web/dev console adapter
40
+
41
+ ## Package Boundary
42
+
43
+ `igniter-mcp-adapter`:
44
+
45
+ - depends on `igniter-extensions`
46
+ - should not depend directly on `igniter-contracts` internals
47
+ - should not define new creator/debug semantics
48
+ - should not become a second tool catalog source
49
+
50
+ ## Minimal Public Surface
51
+
52
+ Near-term public surface:
53
+
54
+ - `Igniter::MCP::Adapter.tool_catalog`
55
+ - `Igniter::MCP::Adapter.tool_names`
56
+ - `Igniter::MCP::Adapter.tool_definition(name)`
57
+ - `Igniter::MCP::Adapter.invoke(name, ...)`
58
+ - `Igniter::MCP::Adapter.creator_session(...)`
59
+
60
+ This is intentionally thin. It keeps the adapter package honest.
61
+
62
+ ## Current State
63
+
64
+ This is already real in the monorepo:
65
+
66
+ - `Igniter::MCP::Adapter`
67
+ thin delegation over the semantic tooling surface
68
+ - `Igniter::MCP::Adapter::Server`
69
+ transport-ready tool definitions and tool result envelopes
70
+ - `Igniter::MCP::Adapter::Host`
71
+ stdio JSON-RPC host over the server wrapper
72
+
73
+ So this package is no longer only a design placeholder.
74
+
75
+ ## Next Likely Steps
76
+
77
+ 1. decide whether we want additional MCP surfaces like `resources/list` or
78
+ `prompts/list`, or whether tools-only is the right first stable contract
79
+ 2. keep request validation aligned with generated schemas
80
+ 3. only add transport/runtime concerns that do not create a second semantic source
81
+ 4. use this package as the only place where MCP transport specifics evolve
@@ -0,0 +1,46 @@
1
+ # Module System
2
+
3
+ Igniter's public module map is pre-v1 and package-first.
4
+
5
+ ## Current Axes
6
+
7
+ - `igniter-contracts`
8
+ embedded graph kernel: DSL, compilation, execution, diagnostics
9
+ - `igniter-extensions`
10
+ optional packs over contracts: dataflow, differential, reporting, tooling
11
+ - `igniter-embed`
12
+ host integration and configuration, especially Rails-style embedding
13
+ - `igniter-application`
14
+ local app profile, providers, services, capsules, transfer, activation review
15
+ - `igniter-web`
16
+ contracts-first web surfaces and app-local interactive screens
17
+ - `igniter-cluster`
18
+ distributed routing, placement, ownership, health, and remediation
19
+ - `igniter-mcp-adapter`
20
+ MCP-facing tool catalog and invocation surface
21
+
22
+ ## Rules
23
+
24
+ - Lower layers must not know about upper layers.
25
+ - Optional behavior should be an explicit pack, not hidden boot mutation.
26
+ - Integrations adapt Igniter to a host; they are not runtime layers.
27
+ - Web owns rendering; application owns app profile and lifecycle.
28
+ - Cluster owns distribution; contracts stay local-first and host-agnostic.
29
+
30
+ ## Rails Boundary
31
+
32
+ Rails embedding should use `igniter-embed` / Rails integration surfaces. It
33
+ should not implicitly load application hosting, web rendering, or cluster
34
+ coordination.
35
+
36
+ ## Placement Heuristic
37
+
38
+ Ask in this order:
39
+
40
+ 1. Is it executable graph semantics? Put it in `igniter-contracts`.
41
+ 2. Is it optional reusable behavior over contracts? Put it in
42
+ `igniter-extensions`.
43
+ 3. Is it host integration? Put it in `igniter-embed` or a specific adapter.
44
+ 4. Is it local app runtime? Put it in `igniter-application`.
45
+ 5. Is it human/browser interaction? Put it in `igniter-web`.
46
+ 6. Is it distributed execution or coordination? Put it in `igniter-cluster`.
@@ -0,0 +1,112 @@
1
+ # Package Map
2
+
3
+ This is the target ownership map for the new runtime family.
4
+
5
+ ## Root
6
+
7
+ Root should stay thin:
8
+
9
+ - umbrella gem wiring
10
+ - load-path/package registration
11
+ - top-level onboarding docs
12
+ - cross-package entrypoints that are intentionally thin
13
+
14
+ ## Runtime Pillars
15
+
16
+ - `igniter-contracts`
17
+ canonical embedded kernel: DSL, compile/runtime spine, profiles, execution,
18
+ diagnostics, extension seams
19
+ - `igniter-extensions`
20
+ packs, language additions, tooling, operational behavior, and domain behavior
21
+ over `igniter-contracts`
22
+ - `igniter-application`
23
+ contracts-native local runtime host: config, providers, services, loaders,
24
+ schedulers, host adapters, boot lifecycle
25
+ - `igniter-ai`
26
+ provider-neutral AI execution: request/response envelopes, provider clients,
27
+ credentials-aware configuration, fake/live/recorded modes, transcripts,
28
+ usage, errors, and replay seams
29
+ - `igniter-agents`
30
+ agent runtime semantics over contracts and AI: agent definitions, runs,
31
+ turns, traces, tool-call evidence, and single-turn assistant execution
32
+ - `igniter-hub`
33
+ local capsule catalog discovery and transfer bundle metadata; applications
34
+ still install through `igniter-application` transfer APIs
35
+ - `igniter-cluster`
36
+ contracts-native distributed runtime: remote execution, routing, admission,
37
+ placement, peer registry, topology, distributed diagnostics
38
+ - `igniter-ledger`
39
+ experimental contract-native hot fact engine: immutable facts, time-travel,
40
+ access paths, reactive invalidation, retention/compaction, LedgerServer
41
+ transport, and future hot/cold sync experiments
42
+ - `igniter-durable-model`
43
+ experimental typed Record/History facade over `igniter-ledger`; owns
44
+ app-facing Store/History ergonomics and pressure from Companion manifests,
45
+ while avoiding core persistence API promises
46
+
47
+ ## Planned Runtime Packages
48
+
49
+ - richer agent memory/context, handoff, human gates, contracts-first tool
50
+ execution, and supervisor vocabulary
51
+ - stable contract persistence capability may still graduate later through
52
+ `igniter-extensions` / `igniter-application` / future `igniter-persistence`;
53
+ current `igniter-ledger` and `igniter-durable-model` remain pressure packages, not
54
+ final public persistence API
55
+
56
+ ## Current Supporting Packages
57
+
58
+ - `igniter-mcp-adapter`
59
+ MCP adapter over contracts-native tooling and host integration
60
+ - `igniter-web`
61
+ supporting web/UI package; active, but not a runtime pillar
62
+
63
+ ## Supporting Lanes
64
+
65
+ - `legacy`
66
+ reference-only implementation material until deletion
67
+ - adapter packages
68
+ MCP, HTTP, IDE, transport, protocol, and external integration surfaces
69
+ - framework/plugin packages
70
+ Rails and other host-specific integrations
71
+ - frontend packages
72
+ human-authored UI surfaces
73
+
74
+ ## Placement Heuristics
75
+
76
+ - Put code in `igniter-contracts` if it defines canonical embedded graph
77
+ semantics, service execution protocols, or kernel extension seams.
78
+ - Put code in `igniter-extensions` if it is optional behavior, tooling, or
79
+ domain vocabulary over the contracts kernel. Language-changing DSL packs such
80
+ as observable branching, formulas, scaling, and scoring primitives also live
81
+ here.
82
+ - Put code in `igniter-application` if it is about local runtime hosting,
83
+ providers, services, boot, config, loading, or scheduling.
84
+ - Put early contract-persistence experiments in `igniter-extensions` when they
85
+ add optional contract DSL/semantics, or in `igniter-application` when they
86
+ are app-host/back-end boundary behavior. Do not promote a separate package
87
+ until the target plan has repeated implementation evidence.
88
+ - Put code in `igniter-cluster` if the network is part of the execution model.
89
+ - Put immutable fact log, time-travel, access path, retention, LedgerServer,
90
+ sync-hub, and transport-backend experiments in `igniter-ledger`; do not put
91
+ contract business logic execution there.
92
+ - Put app-facing generated Record/History classes, receipts, manifest-to-store
93
+ facades, and Companion pressure adapters in `igniter-durable-model`; do not put
94
+ core DSL promotion there.
95
+ - Put provider clients, model envelopes, transcripts, usage, and replay seams in
96
+ `igniter-ai`.
97
+ - Put agent loops, run state, tool policy, memory/context, handoff, and human
98
+ gates in `igniter-agents`.
99
+ - Put capsule catalog discovery and bundle metadata in `igniter-hub`; keep
100
+ verification, intake, apply, receipts, and installed-capsule registries in
101
+ `igniter-application`.
102
+ - Put transport and protocol work in adapter packages unless it is truly a
103
+ cluster semantic concern.
104
+ - Touch legacy packages only for reference, parity, migration, or retirement
105
+ cleanup.
106
+ - Put package-specific user docs next to the package README.
107
+
108
+ ## Explicit Non-Goals
109
+
110
+ - do not treat `server` as a primary runtime pillar
111
+ - do not treat stack orchestration as the default local app model
112
+ - do not keep growing legacy packages as if they were still the target
@@ -0,0 +1,77 @@
1
+ # Igniter Guide
2
+
3
+ Use this section for user-facing documentation: learning the framework, choosing
4
+ entrypoints, configuring runtime behavior, and building applications on top of
5
+ Igniter.
6
+
7
+ Current loading guidance:
8
+
9
+ - prefer `require "igniter"` for embedded/default usage
10
+ - prefer contracts-facing entrypoints when you are evaluating the migration path
11
+ - use package README files for package-specific entrypoints
12
+ - treat legacy entrypoints as private/reference context, not onboarding
13
+
14
+ Pre-v1 status: Igniter intentionally does not promise backward compatibility or
15
+ a stable public API yet. Public docs describe the current direction, not a
16
+ compatibility contract.
17
+
18
+ ## What Belongs Here
19
+
20
+ - getting started and first contract/app flows
21
+ - public API and entrypoint guidance
22
+ - how-to guides and cookbook material
23
+ - configuration and operational usage
24
+ - examples and package selection guidance
25
+
26
+ ## Canonical Guide Docs
27
+
28
+ - [Top-level README](../../README.md)
29
+ - [Getting Started](./getting-started.md)
30
+ - [API And Runtime](./api-and-runtime.md)
31
+ - [Contract Class DSL](./contract-class-dsl.md)
32
+ - [Igniter Lang Foundation](./igniter-lang-foundation.md)
33
+ - [Application Capsules](./application-capsules.md)
34
+ - [Application Showcase Portfolio](./application-showcase-portfolio.md)
35
+ - [Interactive App Structure](./interactive-app-structure.md)
36
+ - [How-Tos](./how-tos.md)
37
+ - [Configuration](./configuration.md)
38
+ - [Credentials](./credentials.md)
39
+ - [Deployment Modes](./deployment-modes.md)
40
+ - [Integrations](./integrations.md)
41
+ - [Distributed Workflows](./distributed-workflows.md)
42
+ - [Core Runtime Features](./core-runtime-features.md)
43
+ - [AI And Tool Surfaces](./ai-and-tools.md)
44
+ - [Embedded Kernel](./core.md)
45
+ - [App](./app.md)
46
+ - [Cluster](./cluster.md)
47
+ - [CLI](./cli.md)
48
+ - [Store Adapters](./store-adapters.md)
49
+ - [Contract Persistence Target Plan](../dev/contract-persistence-target-plan.md)
50
+
51
+ ## Core Guide References
52
+
53
+ - [Concepts](../concepts/README.md)
54
+ - [Igniter Concepts](../concepts/igniter.md)
55
+ - [Examples](../../examples/README.md)
56
+ - [Application Showcase Portfolio](./application-showcase-portfolio.md)
57
+
58
+ ## Package-Level Docs
59
+
60
+ Package-specific quick reference should live next to the gem that owns the
61
+ surface:
62
+
63
+ - [`packages/igniter-contracts/README.md`](../../packages/igniter-contracts/README.md)
64
+ - [`packages/igniter-embed/README.md`](../../packages/igniter-embed/README.md)
65
+ - [`packages/igniter-application/README.md`](../../packages/igniter-application/README.md)
66
+ - [`packages/igniter-cluster/README.md`](../../packages/igniter-cluster/README.md)
67
+ - [`packages/igniter-web/README.md`](../../packages/igniter-web/README.md)
68
+ - [`packages/igniter-extensions/README.md`](../../packages/igniter-extensions/README.md)
69
+ - [`packages/igniter-mcp-adapter/README.md`](../../packages/igniter-mcp-adapter/README.md)
70
+
71
+ Cross-package narratives and tutorials stay here in `docs/guide/`.
72
+
73
+ ## Legacy Boundary
74
+
75
+ Legacy deep references are private working material under `playgrounds/docs/`.
76
+ Public onboarding should start from the current guide, package READMEs,
77
+ examples, and application showcase path.
@@ -0,0 +1,33 @@
1
+ # AI And Tool Surfaces
2
+
3
+ Use this page when you need optional AI-facing, agent-facing, or tool-facing
4
+ surfaces around contracts.
5
+
6
+ Public AI and agent APIs are not stable before v1. Current examples may prove
7
+ the shape locally; reusable provider and agent behavior should graduate into
8
+ `igniter-ai` and `igniter-agents`.
9
+
10
+ ## Current Surface Areas
11
+
12
+ - tools for callable operations and tool schemas
13
+ - skills for multi-step callable sub-agents
14
+ - channels for transport-neutral outbound delivery
15
+ - transcription for audio-to-text pipelines
16
+
17
+ ## Practical Split
18
+
19
+ - use a tool for one atomic callable operation
20
+ - use a skill for a bounded multi-step callable unit
21
+ - use a channel for outbound delivery/notification
22
+ - use transcription when audio becomes input to a graph
23
+
24
+ ## Reading Path
25
+
26
+ - [Guide: How-Tos](./how-tos.md)
27
+ - [Guide: Integrations](./integrations.md)
28
+ - [`packages/igniter-extensions/README.md`](../../packages/igniter-extensions/README.md)
29
+ - [`packages/igniter-mcp-adapter/README.md`](../../packages/igniter-mcp-adapter/README.md)
30
+ - [AI And Agents Target Plan](../dev/ai-agents-target-plan.md)
31
+
32
+ Historical AI/tool references are private working material under
33
+ `playgrounds/docs/`.
@@ -0,0 +1,38 @@
1
+ # API And Runtime
2
+
3
+ Use this index when you already understand the basic idea and want the public
4
+ surface area.
5
+
6
+ ## Canonical Public Reads
7
+
8
+ - [Contract Class DSL](./contract-class-dsl.md)
9
+ - [Core Runtime Features](./core-runtime-features.md)
10
+ - [Getting Started](./getting-started.md)
11
+
12
+ ## Layer Entry Points
13
+
14
+ - [Core](./core.md)
15
+ - [App](./app.md)
16
+ - [Cluster](./cluster.md)
17
+
18
+ Operating modes to keep in mind:
19
+
20
+ - `Embed` / contracts-first local runtime
21
+ - `Application` / local host profile over embed
22
+ - `Cluster` / distributed runtime over embed/application
23
+
24
+ ## Focused Topics
25
+
26
+ - [Contract Class DSL](./contract-class-dsl.md)
27
+ - [Igniter Lang Foundation](./igniter-lang-foundation.md)
28
+ - [Store Adapters](./store-adapters.md)
29
+ - [Deployment Modes](./deployment-modes.md)
30
+
31
+ ## Package Quick Reference
32
+
33
+ Package-specific entrypoints live next to the owning gem:
34
+
35
+ - [`packages/igniter-contracts/README.md`](../../packages/igniter-contracts/README.md)
36
+ - [`packages/igniter-embed/README.md`](../../packages/igniter-embed/README.md)
37
+ - [`packages/igniter-application/README.md`](../../packages/igniter-application/README.md)
38
+ - [`packages/igniter-cluster/README.md`](../../packages/igniter-cluster/README.md)
data/docs/guide/app.md ADDED
@@ -0,0 +1,45 @@
1
+ # App
2
+
3
+ Use this section when Igniter becomes the runtime shape of an application, not
4
+ only an embedded contract kernel.
5
+
6
+ ## Current Direction
7
+
8
+ The target application model is contracts-native:
9
+
10
+ - application capsules are the portability boundary
11
+ - app-local code stays inside the app that owns it
12
+ - optional web/UI surfaces live under the app, usually through `igniter-web`
13
+ - stack-level shared code is reserved for code that is truly shared
14
+ - hardcoded HTML strings in Ruby are not the recommended frontend path
15
+
16
+ For new work, start with [Application Capsules](./application-capsules.md).
17
+ For small interactive apps that combine `igniter-application` and
18
+ `igniter-web`, use [Interactive App Structure](./interactive-app-structure.md).
19
+
20
+ ## Runtime Shape
21
+
22
+ The preferred app/runtime shape is:
23
+
24
+ - `stack.rb` defines apps and mounts
25
+ - `stack.yml` defines server defaults, persistence, and optional node profiles
26
+ - `bin/start`, `bin/dev`, and `bin/console` are the runtime entry points
27
+ - `Igniter::Stack` owns mounted coordination
28
+ - `Igniter::App` stays a portable mounted module
29
+
30
+ Graduate to cluster behavior only when distributed execution is actually
31
+ needed.
32
+
33
+ ## First Reads
34
+
35
+ - [Application Capsules](./application-capsules.md)
36
+ - [Interactive App Structure](./interactive-app-structure.md)
37
+ - [Application Showcase Portfolio](./application-showcase-portfolio.md)
38
+ - [Application Target Plan](../dev/application-target-plan.md)
39
+ - [Igniter Web Target Plan](../dev/igniter-web-target-plan.md)
40
+ - [CLI](./cli.md)
41
+ - [Configuration](./configuration.md)
42
+ - [Integrations](./integrations.md)
43
+
44
+ Legacy deep references and older app/stack notes are private working material
45
+ under `playgrounds/docs/`.