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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/README.md +150 -658
- data/docs/README.md +59 -0
- data/docs/assets/README.md +8 -0
- data/docs/concepts/README.md +18 -0
- data/docs/concepts/igniter.md +119 -0
- data/docs/dev/README.md +48 -0
- data/docs/dev/agent-orchestra-dna.md +271 -0
- data/docs/dev/ai-agents-target-plan.md +178 -0
- data/docs/dev/application-target-plan.md +45 -0
- data/docs/dev/application-web-integration.md +59 -0
- data/docs/dev/application-web-poc-pattern-guide.md +167 -0
- data/docs/dev/architect-supervisor-bootstrap.md +322 -0
- data/docs/dev/architecture.md +20 -0
- data/docs/dev/cluster-target-plan.md +43 -0
- data/docs/dev/contract-persistence-target-plan.md +426 -0
- data/docs/dev/current-runtime-snapshot.md +73 -0
- data/docs/dev/data-ownership.md +29 -0
- data/docs/dev/document-rotation.md +51 -0
- data/docs/dev/embed-target-plan.md +51 -0
- data/docs/dev/igniter-web-dsl-sketch.md +151 -0
- data/docs/dev/igniter-web-target-plan.md +56 -0
- data/docs/dev/mcp-adapter-package-spec.md +81 -0
- data/docs/dev/module-system.md +46 -0
- data/docs/dev/package-map.md +112 -0
- data/docs/guide/README.md +77 -0
- data/docs/guide/ai-and-tools.md +33 -0
- data/docs/guide/api-and-runtime.md +38 -0
- data/docs/guide/app.md +45 -0
- data/docs/guide/application-capsules.md +139 -0
- data/docs/guide/application-showcase-portfolio.md +181 -0
- data/docs/guide/cli.md +70 -0
- data/docs/guide/cluster.md +55 -0
- data/docs/guide/configuration.md +31 -0
- data/docs/guide/contract-class-dsl.md +154 -0
- data/docs/guide/core-runtime-features.md +34 -0
- data/docs/guide/core.md +43 -0
- data/docs/guide/credentials.md +51 -0
- data/docs/guide/deployment-modes.md +63 -0
- data/docs/guide/distributed-workflows.md +21 -0
- data/docs/guide/getting-started.md +49 -0
- data/docs/guide/how-tos.md +33 -0
- data/docs/guide/igniter-lang-foundation.md +133 -0
- data/docs/guide/integrations.md +47 -0
- data/docs/guide/interactive-app-structure.md +91 -0
- data/docs/guide/store-adapters.md +183 -0
- data/docs/research/README.md +131 -0
- data/docs/research/contract-persistence-landing-zone.md +126 -0
- data/docs/research/contract-persistence-organic-model.md +279 -0
- data/docs/research/contract-persistence-organic-model.ru.md +277 -0
- data/docs/research/horizon-protocol.md +180 -0
- data/docs/research/igniter-lang-convergence-report.md +338 -0
- data/docs/research/project-status-horizon-report.md +363 -0
- data/docs/research/vision-handoff-protocol.md +141 -0
- data/docs/research/wizard-type-spec-architecture.md +293 -0
- data/docs/research/wizard-type-spec-research-request.md +134 -0
- data/docs/store/README.md +7 -0
- data/docs/store/convergence-audit.md +901 -0
- data/examples/README.md +152 -344
- data/examples/catalog.rb +1486 -0
- data/examples/cluster/incident_workflow.rb +70 -0
- data/examples/cluster/incidents.rb +63 -0
- data/examples/cluster/mesh_diagnostics.rb +89 -0
- data/examples/cluster/remediation.rb +63 -0
- data/examples/cluster/routing.rb +65 -0
- data/examples/contracts/aggregates.rb +39 -0
- data/examples/contracts/auditing.rb +35 -0
- data/examples/contracts/basic_pricing.rb +31 -0
- data/examples/contracts/branching.rb +36 -0
- data/examples/contracts/build_effect_executor_pack.rb +88 -0
- data/examples/contracts/build_your_own_pack.rb +82 -0
- data/examples/contracts/capabilities.rb +34 -0
- data/examples/contracts/class_callable.rb +45 -0
- data/examples/contracts/class_pricing.rb +32 -0
- data/examples/contracts/collection.rb +44 -0
- data/examples/contracts/commerce.rb +44 -0
- data/examples/contracts/compose_your_own_packs.rb +110 -0
- data/examples/contracts/composition.rb +61 -0
- data/examples/contracts/content_addressing.rb +33 -0
- data/examples/contracts/contractable_service.rb +43 -0
- data/examples/contracts/contractable_shadow.rb +69 -0
- data/examples/contracts/create_pack.rb +105 -0
- data/examples/contracts/dataflow.rb +57 -0
- data/examples/contracts/debug.rb +32 -0
- data/examples/contracts/debug_pack_authoring.rb +31 -0
- data/examples/contracts/diagnostics.rb +33 -0
- data/examples/contracts/differential.rb +97 -0
- data/examples/contracts/effects.rb +34 -0
- data/examples/contracts/embed_class_registration.rb +40 -0
- data/examples/contracts/embed_human_sugar.rb +106 -0
- data/examples/contracts/formula.rb +32 -0
- data/examples/contracts/incremental.rb +44 -0
- data/examples/contracts/introspection.rb +48 -0
- data/examples/contracts/invariants.rb +54 -0
- data/examples/contracts/journal.rb +37 -0
- data/examples/contracts/lang_foundation.rb +37 -0
- data/examples/contracts/mcp.rb +62 -0
- data/examples/contracts/mcp_host.rb +55 -0
- data/examples/contracts/mcp_server.rb +25 -0
- data/examples/contracts/piecewise.rb +30 -0
- data/examples/contracts/provenance.rb +55 -0
- data/examples/contracts/reactive.rb +62 -0
- data/examples/contracts/saga.rb +56 -0
- data/examples/contracts/scale.rb +30 -0
- data/examples/contracts/step_result.rb +58 -0
- data/examples/run.rb +163 -0
- data/lib/igniter/cluster.rb +3 -0
- data/lib/igniter/contract.rb +1 -326
- data/lib/igniter/monorepo_packages.rb +16 -0
- data/lib/igniter/version.rb +1 -1
- data/lib/igniter/web.rb +3 -0
- data/lib/igniter.rb +51 -43
- data/packages/igniter-agents/README.md +44 -0
- data/packages/igniter-agents/lib/igniter/agents/agent_definition.rb +26 -0
- data/packages/igniter-agents/lib/igniter/agents/agent_run.rb +47 -0
- data/packages/igniter-agents/lib/igniter/agents/agent_turn.rb +34 -0
- data/packages/igniter-agents/lib/igniter/agents/runner.rb +56 -0
- data/packages/igniter-agents/lib/igniter/agents/tool_call.rb +26 -0
- data/packages/igniter-agents/lib/igniter/agents/trace_event.rb +24 -0
- data/packages/igniter-agents/lib/igniter/agents.rb +33 -0
- data/packages/igniter-agents/lib/igniter-agents.rb +3 -0
- data/packages/igniter-ai/README.md +42 -0
- data/packages/igniter-ai/lib/igniter/ai/client.rb +18 -0
- data/packages/igniter-ai/lib/igniter/ai/error.rb +14 -0
- data/packages/igniter-ai/lib/igniter/ai/model_request.rb +28 -0
- data/packages/igniter-ai/lib/igniter/ai/model_response.rb +31 -0
- data/packages/igniter-ai/lib/igniter/ai/providers/fake.rb +24 -0
- data/packages/igniter-ai/lib/igniter/ai/providers/openai_responses.rb +100 -0
- data/packages/igniter-ai/lib/igniter/ai/providers/recorded.rb +40 -0
- data/packages/igniter-ai/lib/igniter/ai/usage.rb +32 -0
- data/packages/igniter-ai/lib/igniter/ai.rb +28 -0
- data/packages/igniter-ai/lib/igniter-ai.rb +3 -0
- data/packages/igniter-application/README.md +194 -0
- data/packages/igniter-application/lib/igniter/application/agent_definition.rb +38 -0
- data/packages/igniter-application/lib/igniter/application/agent_registry.rb +33 -0
- data/packages/igniter-application/lib/igniter/application/agent_runtime.rb +29 -0
- data/packages/igniter-application/lib/igniter/application/agents_builder.rb +26 -0
- data/packages/igniter-application/lib/igniter/application/ai_builder.rb +26 -0
- data/packages/igniter-application/lib/igniter/application/ai_provider_definition.rb +59 -0
- data/packages/igniter-application/lib/igniter/application/ai_registry.rb +34 -0
- data/packages/igniter-application/lib/igniter/application/application_assembly_plan.rb +67 -0
- data/packages/igniter-application/lib/igniter/application/application_blueprint.rb +227 -0
- data/packages/igniter-application/lib/igniter/application/application_capsule_report.rb +61 -0
- data/packages/igniter-application/lib/igniter/application/application_composition_report.rb +161 -0
- data/packages/igniter-application/lib/igniter/application/application_handoff_manifest.rb +100 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_commit_readiness.rb +182 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_dry_run_result.rb +190 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_ledger_commit.rb +285 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_ledger_verification.rb +301 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_operation_digest.rb +68 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_plan.rb +200 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_plan_verification.rb +140 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_readiness.rb +226 -0
- data/packages/igniter-application/lib/igniter/application/application_host_activation_receipt.rb +151 -0
- data/packages/igniter-application/lib/igniter/application/application_layout.rb +91 -0
- data/packages/igniter-application/lib/igniter/application/application_load_path.rb +38 -0
- data/packages/igniter-application/lib/igniter/application/application_load_report.rb +74 -0
- data/packages/igniter-application/lib/igniter/application/application_manifest.rb +65 -0
- data/packages/igniter-application/lib/igniter/application/application_structure_entry.rb +58 -0
- data/packages/igniter-application/lib/igniter/application/application_structure_plan.rb +128 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_applied_verification.rb +301 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_apply_plan.rb +167 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_apply_result.rb +321 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_bundle_artifact.rb +160 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_bundle_plan.rb +125 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_bundle_verification.rb +154 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_intake_plan.rb +195 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_inventory.rb +153 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_readiness.rb +260 -0
- data/packages/igniter-application/lib/igniter/application/application_transfer_receipt.rb +179 -0
- data/packages/igniter-application/lib/igniter/application/artifact_reference.rb +39 -0
- data/packages/igniter-application/lib/igniter/application/boot_phase.rb +27 -0
- data/packages/igniter-application/lib/igniter/application/boot_plan.rb +55 -0
- data/packages/igniter-application/lib/igniter/application/boot_report.rb +70 -0
- data/packages/igniter-application/lib/igniter/application/capsule_builder.rb +396 -0
- data/packages/igniter-application/lib/igniter/application/capsule_export.rb +26 -0
- data/packages/igniter-application/lib/igniter/application/capsule_import.rb +38 -0
- data/packages/igniter-application/lib/igniter/application/collection_invoker.rb +54 -0
- data/packages/igniter-application/lib/igniter/application/collection_transport_adapter.rb +37 -0
- data/packages/igniter-application/lib/igniter/application/compose_invoker.rb +51 -0
- data/packages/igniter-application/lib/igniter/application/compose_transport_adapter.rb +34 -0
- data/packages/igniter-application/lib/igniter/application/config.rb +86 -0
- data/packages/igniter-application/lib/igniter/application/config_builder.rb +69 -0
- data/packages/igniter-application/lib/igniter/application/contract_registry.rb +30 -0
- data/packages/igniter-application/lib/igniter/application/credential_definition.rb +65 -0
- data/packages/igniter-application/lib/igniter/application/credential_store.rb +68 -0
- data/packages/igniter-application/lib/igniter/application/embedded_host.rb +23 -0
- data/packages/igniter-application/lib/igniter/application/environment.rb +1071 -0
- data/packages/igniter-application/lib/igniter/application/feature_slice.rb +61 -0
- data/packages/igniter-application/lib/igniter/application/feature_slice_report.rb +43 -0
- data/packages/igniter-application/lib/igniter/application/file_backed_host_activation_ledger_adapter.rb +138 -0
- data/packages/igniter-application/lib/igniter/application/file_backed_installed_capsule_registry.rb +132 -0
- data/packages/igniter-application/lib/igniter/application/flow_declaration.rb +62 -0
- data/packages/igniter-application/lib/igniter/application/flow_event.rb +50 -0
- data/packages/igniter-application/lib/igniter/application/flow_session_snapshot.rb +98 -0
- data/packages/igniter-application/lib/igniter/application/installed_capsule_entry.rb +47 -0
- data/packages/igniter-application/lib/igniter/application/interface.rb +11 -0
- data/packages/igniter-application/lib/igniter/application/kernel.rb +385 -0
- data/packages/igniter-application/lib/igniter/application/lifecycle_plan_step.rb +38 -0
- data/packages/igniter-application/lib/igniter/application/manual_loader.rb +18 -0
- data/packages/igniter-application/lib/igniter/application/manual_scheduler.rb +15 -0
- data/packages/igniter-application/lib/igniter/application/memory_session_store.rb +33 -0
- data/packages/igniter-application/lib/igniter/application/missing_credential_error.rb +23 -0
- data/packages/igniter-application/lib/igniter/application/mount_intent.rb +48 -0
- data/packages/igniter-application/lib/igniter/application/mount_registration.rb +49 -0
- data/packages/igniter-application/lib/igniter/application/pending_action.rb +39 -0
- data/packages/igniter-application/lib/igniter/application/pending_input.rb +45 -0
- data/packages/igniter-application/lib/igniter/application/plan_executor.rb +93 -0
- data/packages/igniter-application/lib/igniter/application/profile.rb +178 -0
- data/packages/igniter-application/lib/igniter/application/provider.rb +19 -0
- data/packages/igniter-application/lib/igniter/application/provider_lifecycle_report.rb +72 -0
- data/packages/igniter-application/lib/igniter/application/provider_lifecycle_result.rb +54 -0
- data/packages/igniter-application/lib/igniter/application/provider_registration.rb +19 -0
- data/packages/igniter-application/lib/igniter/application/rack_host.rb +311 -0
- data/packages/igniter-application/lib/igniter/application/seam_lifecycle_result.rb +62 -0
- data/packages/igniter-application/lib/igniter/application/service_definition.rb +25 -0
- data/packages/igniter-application/lib/igniter/application/service_registry.rb +58 -0
- data/packages/igniter-application/lib/igniter/application/session_entry.rb +46 -0
- data/packages/igniter-application/lib/igniter/application/shutdown_plan.rb +45 -0
- data/packages/igniter-application/lib/igniter/application/shutdown_report.rb +54 -0
- data/packages/igniter-application/lib/igniter/application/snapshot.rb +35 -0
- data/packages/igniter-application/lib/igniter/application/transport_request.rb +40 -0
- data/packages/igniter-application/lib/igniter/application/transport_response.rb +22 -0
- data/packages/igniter-application/lib/igniter/application.rb +354 -0
- data/packages/igniter-application/lib/igniter-application.rb +3 -0
- data/packages/igniter-cluster/README.md +116 -0
- data/packages/igniter-cluster/lib/igniter/cluster/active_incident_set.rb +40 -0
- data/packages/igniter-cluster/lib/igniter/cluster/admission_policy.rb +158 -0
- data/packages/igniter-cluster/lib/igniter/cluster/admission_result.rb +47 -0
- data/packages/igniter-cluster/lib/igniter/cluster/capability_catalog.rb +66 -0
- data/packages/igniter-cluster/lib/igniter/cluster/capability_definition.rb +42 -0
- data/packages/igniter-cluster/lib/igniter/cluster/capability_query.rb +162 -0
- data/packages/igniter-cluster/lib/igniter/cluster/capability_router.rb +11 -0
- data/packages/igniter-cluster/lib/igniter/cluster/cluster_diagnostics_executor.rb +184 -0
- data/packages/igniter-cluster/lib/igniter/cluster/cluster_diagnostics_report.rb +49 -0
- data/packages/igniter-cluster/lib/igniter/cluster/cluster_event.rb +34 -0
- data/packages/igniter-cluster/lib/igniter/cluster/cluster_event_log.rb +27 -0
- data/packages/igniter-cluster/lib/igniter/cluster/cluster_incident.rb +42 -0
- data/packages/igniter-cluster/lib/igniter/cluster/decision_explanation.rb +31 -0
- data/packages/igniter-cluster/lib/igniter/cluster/direct_placement.rb +11 -0
- data/packages/igniter-cluster/lib/igniter/cluster/discovery_feed.rb +22 -0
- data/packages/igniter-cluster/lib/igniter/cluster/environment.rb +380 -0
- data/packages/igniter-cluster/lib/igniter/cluster/errors.rb +9 -0
- data/packages/igniter-cluster/lib/igniter/cluster/failover_plan.rb +45 -0
- data/packages/igniter-cluster/lib/igniter/cluster/failover_step.rb +32 -0
- data/packages/igniter-cluster/lib/igniter/cluster/health_policy.rb +124 -0
- data/packages/igniter-cluster/lib/igniter/cluster/incident_action.rb +49 -0
- data/packages/igniter-cluster/lib/igniter/cluster/incident_entry.rb +98 -0
- data/packages/igniter-cluster/lib/igniter/cluster/incident_executor.rb +145 -0
- data/packages/igniter-cluster/lib/igniter/cluster/incident_workflow.rb +64 -0
- data/packages/igniter-cluster/lib/igniter/cluster/kernel.rb +75 -0
- data/packages/igniter-cluster/lib/igniter/cluster/kernel_seams.rb +249 -0
- data/packages/igniter-cluster/lib/igniter/cluster/lease_grant.rb +40 -0
- data/packages/igniter-cluster/lib/igniter/cluster/lease_plan.rb +40 -0
- data/packages/igniter-cluster/lib/igniter/cluster/lease_policy.rb +96 -0
- data/packages/igniter-cluster/lib/igniter/cluster/membership_delta.rb +36 -0
- data/packages/igniter-cluster/lib/igniter/cluster/membership_feed.rb +24 -0
- data/packages/igniter-cluster/lib/igniter/cluster/membership_projection.rb +45 -0
- data/packages/igniter-cluster/lib/igniter/cluster/membership_snapshot.rb +64 -0
- data/packages/igniter-cluster/lib/igniter/cluster/memory_incident_registry.rb +169 -0
- data/packages/igniter-cluster/lib/igniter/cluster/memory_peer_registry.rb +24 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_admission.rb +24 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_admission_result.rb +40 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_attempt.rb +51 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_request.rb +71 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_response.rb +28 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_execution_trace.rb +32 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_executor.rb +497 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_membership.rb +89 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_membership_event.rb +32 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_membership_source.rb +49 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_retry_policy.rb +42 -0
- data/packages/igniter-cluster/lib/igniter/cluster/mesh_trust_policy.rb +131 -0
- data/packages/igniter-cluster/lib/igniter/cluster/operator_timeline.rb +33 -0
- data/packages/igniter-cluster/lib/igniter/cluster/ownership_claim.rb +30 -0
- data/packages/igniter-cluster/lib/igniter/cluster/ownership_plan.rb +40 -0
- data/packages/igniter-cluster/lib/igniter/cluster/ownership_policy.rb +100 -0
- data/packages/igniter-cluster/lib/igniter/cluster/peer.rb +86 -0
- data/packages/igniter-cluster/lib/igniter/cluster/peer_discovery.rb +62 -0
- data/packages/igniter-cluster/lib/igniter/cluster/peer_health.rb +55 -0
- data/packages/igniter-cluster/lib/igniter/cluster/peer_profile.rb +102 -0
- data/packages/igniter-cluster/lib/igniter/cluster/peer_topology.rb +62 -0
- data/packages/igniter-cluster/lib/igniter/cluster/peer_view.rb +42 -0
- data/packages/igniter-cluster/lib/igniter/cluster/permissive_admission.rb +11 -0
- data/packages/igniter-cluster/lib/igniter/cluster/placement_decision.rb +38 -0
- data/packages/igniter-cluster/lib/igniter/cluster/placement_policy.rb +131 -0
- data/packages/igniter-cluster/lib/igniter/cluster/plan_action_result.rb +72 -0
- data/packages/igniter-cluster/lib/igniter/cluster/plan_execution_report.rb +57 -0
- data/packages/igniter-cluster/lib/igniter/cluster/plan_executor.rb +314 -0
- data/packages/igniter-cluster/lib/igniter/cluster/policy_admission.rb +18 -0
- data/packages/igniter-cluster/lib/igniter/cluster/policy_placement.rb +69 -0
- data/packages/igniter-cluster/lib/igniter/cluster/policy_router.rb +70 -0
- data/packages/igniter-cluster/lib/igniter/cluster/profile.rb +97 -0
- data/packages/igniter-cluster/lib/igniter/cluster/projection_executor.rb +42 -0
- data/packages/igniter-cluster/lib/igniter/cluster/projection_policy.rb +107 -0
- data/packages/igniter-cluster/lib/igniter/cluster/projection_report.rb +35 -0
- data/packages/igniter-cluster/lib/igniter/cluster/projection_stage.rb +32 -0
- data/packages/igniter-cluster/lib/igniter/cluster/rebalance_move.rb +30 -0
- data/packages/igniter-cluster/lib/igniter/cluster/rebalance_plan.rb +40 -0
- data/packages/igniter-cluster/lib/igniter/cluster/recovery_timeline.rb +33 -0
- data/packages/igniter-cluster/lib/igniter/cluster/registry_membership_source.rb +97 -0
- data/packages/igniter-cluster/lib/igniter/cluster/remediation_plan.rb +45 -0
- data/packages/igniter-cluster/lib/igniter/cluster/remediation_policy.rb +119 -0
- data/packages/igniter-cluster/lib/igniter/cluster/remediation_step.rb +44 -0
- data/packages/igniter-cluster/lib/igniter/cluster/route.rb +34 -0
- data/packages/igniter-cluster/lib/igniter/cluster/route_policy.rb +104 -0
- data/packages/igniter-cluster/lib/igniter/cluster/route_request.rb +61 -0
- data/packages/igniter-cluster/lib/igniter/cluster/topology_policy.rb +154 -0
- data/packages/igniter-cluster/lib/igniter/cluster/transport_adapter.rb +53 -0
- data/packages/igniter-cluster/lib/igniter/cluster.rb +108 -0
- data/packages/igniter-cluster/lib/igniter-cluster.rb +3 -0
- data/packages/igniter-contracts/README.md +239 -0
- data/packages/igniter-contracts/lib/igniter/contracts/api.rb +92 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/baseline_pack.rb +141 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/const_pack.rb +29 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/dsl_keyword.rb +21 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/hook_result_policies.rb +47 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/hook_spec.rb +73 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/hook_specs.rb +74 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/kernel.rb +220 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/node_type.rb +26 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/ordered_registry.rb +55 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/pack.rb +13 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/pack_manifest.rb +131 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/path_access.rb +76 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/profile.rb +133 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/project_pack.rb +42 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/registry.rb +57 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly/step_result_pack.rb +42 -0
- data/packages/igniter-contracts/lib/igniter/contracts/assembly.rb +18 -0
- data/packages/igniter-contracts/lib/igniter/contracts/contract.rb +135 -0
- data/packages/igniter-contracts/lib/igniter/contracts/contractable.rb +288 -0
- data/packages/igniter-contracts/lib/igniter/contracts/environment.rb +51 -0
- data/packages/igniter-contracts/lib/igniter/contracts/errors.rb +47 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/baseline_normalizers.rb +23 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/baseline_runtime.rb +55 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/baseline_validators.rb +113 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/builder.rb +43 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/compilation_report.rb +46 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/compiled_graph.rb +21 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/compiler.rb +66 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/const_runtime.rb +15 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/diagnostics.rb +24 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/diagnostics_report.rb +40 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/diagnostics_section.rb +37 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/effect_invocation.rb +26 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/execution_request.rb +28 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/execution_result.rb +32 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/inline_executor.rb +19 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/mutable_named_values.rb +52 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/named_values.rb +48 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/operation.rb +42 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/runtime.rb +43 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result.rb +51 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result_diagnostics.rb +35 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result_runtime.rb +51 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/step_result_validators.rb +44 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/structured_dump.rb +49 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/validation_finding.rb +28 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution/validation_report.rb +46 -0
- data/packages/igniter-contracts/lib/igniter/contracts/execution.rb +28 -0
- data/packages/igniter-contracts/lib/igniter/contracts.rb +54 -0
- data/packages/igniter-contracts/lib/igniter/lang/backend.rb +19 -0
- data/packages/igniter-contracts/lib/igniter/lang/backends/ruby.rb +42 -0
- data/packages/igniter-contracts/lib/igniter/lang/diagnostic_payload.rb +174 -0
- data/packages/igniter-contracts/lib/igniter/lang/metadata_carrier_manifest.rb +112 -0
- data/packages/igniter-contracts/lib/igniter/lang/metadata_manifest.rb +128 -0
- data/packages/igniter-contracts/lib/igniter/lang/receipt_payload.rb +152 -0
- data/packages/igniter-contracts/lib/igniter/lang/schema_compatibility_diagnostic.rb +300 -0
- data/packages/igniter-contracts/lib/igniter/lang/types.rb +84 -0
- data/packages/igniter-contracts/lib/igniter/lang/verification_report.rb +226 -0
- data/packages/igniter-contracts/lib/igniter/lang.rb +27 -0
- data/packages/igniter-contracts/lib/igniter-contracts.rb +3 -0
- data/packages/igniter-embed/README.md +360 -0
- data/packages/igniter-embed/lib/igniter/embed/config.rb +155 -0
- data/packages/igniter-embed/lib/igniter/embed/container.rb +165 -0
- data/packages/igniter-embed/lib/igniter/embed/contract_handle.rb +23 -0
- data/packages/igniter-embed/lib/igniter/embed/contract_naming.rb +38 -0
- data/packages/igniter-embed/lib/igniter/embed/contractable/acceptance.rb +52 -0
- data/packages/igniter-embed/lib/igniter/embed/contractable/adapters.rb +33 -0
- data/packages/igniter-embed/lib/igniter/embed/contractable/config.rb +234 -0
- data/packages/igniter-embed/lib/igniter/embed/contractable/runner.rb +393 -0
- data/packages/igniter-embed/lib/igniter/embed/contractable/sugar_builder.rb +145 -0
- data/packages/igniter-embed/lib/igniter/embed/contractable.rb +29 -0
- data/packages/igniter-embed/lib/igniter/embed/contracts_builder.rb +54 -0
- data/packages/igniter-embed/lib/igniter/embed/errors.rb +14 -0
- data/packages/igniter-embed/lib/igniter/embed/execution_envelope.rb +50 -0
- data/packages/igniter-embed/lib/igniter/embed/host_builder.rb +39 -0
- data/packages/igniter-embed/lib/igniter/embed/rails.rb +21 -0
- data/packages/igniter-embed/lib/igniter/embed/registry.rb +78 -0
- data/packages/igniter-embed/lib/igniter/embed/sugar_expansion.rb +152 -0
- data/packages/igniter-embed/lib/igniter/embed.rb +38 -0
- data/packages/igniter-embed/lib/igniter-embed.rb +3 -0
- data/packages/igniter-extensions/README.md +381 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/aggregate_pack.rb +103 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit/builder.rb +132 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit/event.rb +34 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit/snapshot.rb +44 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/audit_pack.rb +60 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/branch_pack.rb +199 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/declaration.rb +31 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/error.rb +35 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/policy.rb +20 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/report.rb +47 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities/violation.rb +30 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/capabilities_pack.rb +146 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/collection_pack.rb +212 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/commerce_pack.rb +91 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/compose_pack.rb +213 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing/cache.rb +59 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing/content_key.rb +63 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing/declaration.rb +47 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/content_addressing_pack.rb +90 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/profile.rb +196 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/report.rb +85 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/scaffold.rb +461 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/scope.rb +79 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/wizard.rb +269 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/workflow.rb +189 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/workflow_step.rb +51 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/write_result.rb +48 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/write_step.rb +63 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator/writer.rb +131 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/creator_pack.rb +128 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/aggregate_operators.rb +119 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/aggregate_state.rb +60 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/builder.rb +66 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/collection_result.rb +70 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/diff.rb +37 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/item_result.rb +44 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/result.rb +58 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/session.rb +173 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow/window_filter.rb +49 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/dataflow_pack.rb +66 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/pack_audit.rb +181 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/pack_snapshot.rb +46 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/profile_snapshot.rb +50 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug/report.rb +50 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/debug_pack.rb +115 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/divergence.rb +37 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/formatter.rb +85 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/report.rb +83 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential/runner.rb +136 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/differential_pack.rb +61 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/execution_report_pack.rb +38 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/formatter.rb +60 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/node_state.rb +30 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/result.rb +65 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental/session.rb +146 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/incremental_pack.rb +40 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/builder.rb +27 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/cases_report.rb +47 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/error.rb +34 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/invariant.rb +30 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/report.rb +45 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/suite.rb +36 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants/violation.rb +39 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/invariants_pack.rb +88 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/journal_pack.rb +55 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/language/formula_pack.rb +185 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/language/piecewise_pack.rb +166 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/language/scale_pack.rb +147 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/lookup_pack.rb +50 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/creator_session.rb +105 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/tool_argument.rb +35 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/tool_definition.rb +33 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp/tool_result.rb +28 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/mcp_pack.rb +335 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/builder.rb +80 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/lineage.rb +59 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/node_trace.rb +53 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance/text_formatter.rb +62 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/provenance_pack.rb +52 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/builder.rb +43 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/dispatch_result.rb +59 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/engine.rb +79 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/event.rb +36 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/matcher.rb +20 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/plan.rb +58 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive/subscription.rb +29 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/reactive_pack.rb +169 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/compensation.rb +25 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/compensation_record.rb +28 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/compensation_set.rb +47 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/formatter.rb +39 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/result.rb +56 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga/runner.rb +124 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts/saga_pack.rb +56 -0
- data/packages/igniter-extensions/lib/igniter/extensions/contracts.rb +445 -0
- data/packages/igniter-extensions/lib/igniter/extensions.rb +6 -0
- data/packages/igniter-extensions/lib/igniter-extensions.rb +3 -0
- data/packages/igniter-hub/README.md +25 -0
- data/packages/igniter-hub/lib/igniter/hub/catalog_entry.rb +35 -0
- data/packages/igniter-hub/lib/igniter/hub/local_catalog.rb +51 -0
- data/packages/igniter-hub/lib/igniter/hub.rb +16 -0
- data/packages/igniter-hub/lib/igniter-hub.rb +3 -0
- data/packages/igniter-mcp-adapter/README.md +65 -0
- data/packages/igniter-mcp-adapter/exe/igniter-mcp-adapter +6 -0
- data/packages/igniter-mcp-adapter/lib/igniter/mcp/adapter/host.rb +226 -0
- data/packages/igniter-mcp-adapter/lib/igniter/mcp/adapter/server.rb +148 -0
- data/packages/igniter-mcp-adapter/lib/igniter/mcp/adapter.rb +40 -0
- data/packages/igniter-mcp-adapter/lib/igniter-mcp-adapter.rb +5 -0
- data/packages/igniter-web/README.md +539 -0
- data/packages/igniter-web/lib/igniter/web/api.rb +49 -0
- data/packages/igniter-web/lib/igniter/web/application.rb +99 -0
- data/packages/igniter-web/lib/igniter/web/application_web_mount.rb +162 -0
- data/packages/igniter-web/lib/igniter/web/arbre.rb +41 -0
- data/packages/igniter-web/lib/igniter/web/component.rb +103 -0
- data/packages/igniter-web/lib/igniter/web/components/view_action_node.rb +38 -0
- data/packages/igniter-web/lib/igniter/web/components/view_ask_node.rb +52 -0
- data/packages/igniter-web/lib/igniter/web/components/view_chat_node.rb +34 -0
- data/packages/igniter-web/lib/igniter/web/components/view_compare_node.rb +41 -0
- data/packages/igniter-web/lib/igniter/web/components/view_node.rb +30 -0
- data/packages/igniter-web/lib/igniter/web/components/view_screen.rb +34 -0
- data/packages/igniter-web/lib/igniter/web/components/view_stream_node.rb +32 -0
- data/packages/igniter-web/lib/igniter/web/components/view_zone.rb +26 -0
- data/packages/igniter-web/lib/igniter/web/components.rb +10 -0
- data/packages/igniter-web/lib/igniter/web/composer.rb +84 -0
- data/packages/igniter-web/lib/igniter/web/composition_finding.rb +16 -0
- data/packages/igniter-web/lib/igniter/web/composition_policy.rb +88 -0
- data/packages/igniter-web/lib/igniter/web/composition_preset.rb +131 -0
- data/packages/igniter-web/lib/igniter/web/composition_result.rb +27 -0
- data/packages/igniter-web/lib/igniter/web/flow_interaction_adapter.rb +104 -0
- data/packages/igniter-web/lib/igniter/web/flow_surface_projection.rb +121 -0
- data/packages/igniter-web/lib/igniter/web/interaction_target.rb +50 -0
- data/packages/igniter-web/lib/igniter/web/mount_context.rb +80 -0
- data/packages/igniter-web/lib/igniter/web/page.rb +110 -0
- data/packages/igniter-web/lib/igniter/web/record.rb +54 -0
- data/packages/igniter-web/lib/igniter/web/screen_spec.rb +109 -0
- data/packages/igniter-web/lib/igniter/web/surface_manifest.rb +370 -0
- data/packages/igniter-web/lib/igniter/web/surface_structure.rb +57 -0
- data/packages/igniter-web/lib/igniter/web/view_graph.rb +25 -0
- data/packages/igniter-web/lib/igniter/web/view_graph_renderer.rb +63 -0
- data/packages/igniter-web/lib/igniter/web/view_node.rb +37 -0
- data/packages/igniter-web/lib/igniter/web.rb +107 -0
- data/packages/igniter-web/lib/igniter-web.rb +3 -0
- metadata +547 -308
- data/docs/API_V2.md +0 -537
- data/docs/APPLICATION_V1.md +0 -253
- data/docs/ARCHITECTURE_V2.md +0 -317
- data/docs/BACKLOG.md +0 -166
- data/docs/BRANCHES_V1.md +0 -213
- data/docs/CAPABILITIES_V1.md +0 -207
- data/docs/COLLECTIONS_V1.md +0 -303
- data/docs/CONSENSUS_V1.md +0 -477
- data/docs/CONTENT_ADDRESSING_V1.md +0 -221
- data/docs/DATAFLOW_V1.md +0 -274
- data/docs/DISTRIBUTED_CONTRACTS_V1.md +0 -493
- data/docs/IGNITER_CONCEPTS.md +0 -81
- data/docs/LLM_V1.md +0 -335
- data/docs/MESH_V1.md +0 -732
- data/docs/NODE_CACHE_V1.md +0 -324
- data/docs/PATTERNS.md +0 -411
- data/docs/PROACTIVE_AGENTS_V1.md +0 -293
- data/docs/SERVER_V1.md +0 -512
- data/docs/SKILLS_V1.md +0 -213
- data/docs/STORE_ADAPTERS.md +0 -154
- data/docs/TEMPORAL_V1.md +0 -174
- data/docs/TOOLS_V1.md +0 -347
- data/docs/TRANSCRIPTION_V1.md +0 -403
- data/examples/agents.rb +0 -150
- data/examples/async_store.rb +0 -47
- data/examples/basic_pricing.rb +0 -27
- data/examples/collection.rb +0 -43
- data/examples/collection_partial_failure.rb +0 -50
- data/examples/composition.rb +0 -39
- data/examples/consensus.rb +0 -239
- data/examples/dataflow.rb +0 -308
- data/examples/diagnostics.rb +0 -28
- data/examples/differential.rb +0 -161
- data/examples/distributed_server.rb +0 -94
- data/examples/distributed_workflow.rb +0 -52
- data/examples/effects.rb +0 -184
- data/examples/elocal_webhook.rb +0 -1
- data/examples/incremental.rb +0 -142
- data/examples/invariants.rb +0 -179
- data/examples/llm_tools.rb +0 -237
- data/examples/marketing_ergonomics.rb +0 -57
- data/examples/mesh.rb +0 -239
- data/examples/mesh_discovery.rb +0 -267
- data/examples/mesh_gossip.rb +0 -162
- data/examples/order_pipeline.rb +0 -163
- data/examples/provenance.rb +0 -122
- data/examples/ringcentral_routing.rb +0 -269
- data/examples/saga.rb +0 -110
- data/lib/igniter/agent/mailbox.rb +0 -96
- data/lib/igniter/agent/message.rb +0 -21
- data/lib/igniter/agent/ref.rb +0 -86
- data/lib/igniter/agent/runner.rb +0 -129
- data/lib/igniter/agent/state_holder.rb +0 -23
- data/lib/igniter/agent.rb +0 -155
- data/lib/igniter/agents/ai/alert_agent.rb +0 -111
- data/lib/igniter/agents/ai/chain_agent.rb +0 -127
- data/lib/igniter/agents/ai/critic_agent.rb +0 -163
- data/lib/igniter/agents/ai/evaluator_agent.rb +0 -193
- data/lib/igniter/agents/ai/evolution_agent.rb +0 -286
- data/lib/igniter/agents/ai/health_check_agent.rb +0 -122
- data/lib/igniter/agents/ai/observer_agent.rb +0 -184
- data/lib/igniter/agents/ai/planner_agent.rb +0 -210
- data/lib/igniter/agents/ai/router_agent.rb +0 -131
- data/lib/igniter/agents/ai/self_reflection_agent.rb +0 -175
- data/lib/igniter/agents/observability/metrics_agent.rb +0 -130
- data/lib/igniter/agents/pipeline/batch_processor_agent.rb +0 -131
- data/lib/igniter/agents/proactive_agent.rb +0 -208
- data/lib/igniter/agents/reliability/retry_agent.rb +0 -99
- data/lib/igniter/agents/scheduling/cron_agent.rb +0 -110
- data/lib/igniter/agents.rb +0 -56
- data/lib/igniter/application/app_config.rb +0 -32
- data/lib/igniter/application/autoloader.rb +0 -18
- data/lib/igniter/application/generator.rb +0 -157
- data/lib/igniter/application/scheduler.rb +0 -109
- data/lib/igniter/application/yml_loader.rb +0 -39
- data/lib/igniter/application.rb +0 -174
- data/lib/igniter/capabilities.rb +0 -68
- data/lib/igniter/compiler/compiled_graph.rb +0 -180
- data/lib/igniter/compiler/graph_compiler.rb +0 -70
- data/lib/igniter/compiler/type_resolver.rb +0 -54
- data/lib/igniter/compiler/validation_context.rb +0 -61
- data/lib/igniter/compiler/validation_pipeline.rb +0 -32
- data/lib/igniter/compiler/validator.rb +0 -19
- data/lib/igniter/compiler/validators/await_validator.rb +0 -53
- data/lib/igniter/compiler/validators/callable_validator.rb +0 -125
- data/lib/igniter/compiler/validators/dependencies_validator.rb +0 -241
- data/lib/igniter/compiler/validators/outputs_validator.rb +0 -66
- data/lib/igniter/compiler/validators/remote_validator.rb +0 -60
- data/lib/igniter/compiler/validators/type_compatibility_validator.rb +0 -84
- data/lib/igniter/compiler/validators/uniqueness_validator.rb +0 -60
- data/lib/igniter/compiler.rb +0 -20
- data/lib/igniter/consensus/cluster.rb +0 -183
- data/lib/igniter/consensus/errors.rb +0 -14
- data/lib/igniter/consensus/executors.rb +0 -43
- data/lib/igniter/consensus/node.rb +0 -320
- data/lib/igniter/consensus/read_query.rb +0 -30
- data/lib/igniter/consensus/state_machine.rb +0 -58
- data/lib/igniter/consensus.rb +0 -58
- data/lib/igniter/content_addressing.rb +0 -133
- data/lib/igniter/dataflow/aggregate_operators.rb +0 -147
- data/lib/igniter/dataflow/aggregate_state.rb +0 -77
- data/lib/igniter/dataflow/diff.rb +0 -37
- data/lib/igniter/dataflow/diff_state.rb +0 -81
- data/lib/igniter/dataflow/incremental_collection_result.rb +0 -39
- data/lib/igniter/dataflow/window_filter.rb +0 -48
- data/lib/igniter/dataflow.rb +0 -65
- data/lib/igniter/diagnostics/auditing/report/console_formatter.rb +0 -80
- data/lib/igniter/diagnostics/auditing/report/markdown_formatter.rb +0 -22
- data/lib/igniter/diagnostics/introspection/formatters/mermaid_formatter.rb +0 -58
- data/lib/igniter/diagnostics/introspection/formatters/text_tree_formatter.rb +0 -44
- data/lib/igniter/diagnostics/report.rb +0 -349
- data/lib/igniter/diagnostics.rb +0 -8
- data/lib/igniter/differential/divergence.rb +0 -29
- data/lib/igniter/differential/formatter.rb +0 -96
- data/lib/igniter/differential/report.rb +0 -86
- data/lib/igniter/differential/runner.rb +0 -130
- data/lib/igniter/differential.rb +0 -51
- data/lib/igniter/dsl/contract_builder.rb +0 -495
- data/lib/igniter/dsl/schema_builder.rb +0 -73
- data/lib/igniter/dsl.rb +0 -9
- data/lib/igniter/effect.rb +0 -91
- data/lib/igniter/effect_registry.rb +0 -78
- data/lib/igniter/errors.rb +0 -79
- data/lib/igniter/events/bus.rb +0 -44
- data/lib/igniter/events/event.rb +0 -82
- data/lib/igniter/events.rb +0 -9
- data/lib/igniter/execution_report/builder.rb +0 -54
- data/lib/igniter/execution_report/formatter.rb +0 -50
- data/lib/igniter/execution_report/node_entry.rb +0 -24
- data/lib/igniter/execution_report/report.rb +0 -65
- data/lib/igniter/execution_report.rb +0 -32
- data/lib/igniter/executor.rb +0 -134
- data/lib/igniter/executor_registry.rb +0 -44
- data/lib/igniter/extensions/auditing/timeline.rb +0 -103
- data/lib/igniter/extensions/auditing.rb +0 -10
- data/lib/igniter/extensions/capabilities.rb +0 -39
- data/lib/igniter/extensions/content_addressing.rb +0 -5
- data/lib/igniter/extensions/dataflow.rb +0 -117
- data/lib/igniter/extensions/differential.rb +0 -114
- data/lib/igniter/extensions/execution_report.rb +0 -27
- data/lib/igniter/extensions/incremental.rb +0 -50
- data/lib/igniter/extensions/introspection/graph_formatter.rb +0 -103
- data/lib/igniter/extensions/introspection/plan_formatter.rb +0 -55
- data/lib/igniter/extensions/introspection/runtime_formatter.rb +0 -117
- data/lib/igniter/extensions/introspection.rb +0 -12
- data/lib/igniter/extensions/invariants.rb +0 -116
- data/lib/igniter/extensions/mesh.rb +0 -31
- data/lib/igniter/extensions/provenance.rb +0 -45
- data/lib/igniter/extensions/reactive/engine.rb +0 -83
- data/lib/igniter/extensions/reactive/matcher.rb +0 -21
- data/lib/igniter/extensions/reactive/reaction.rb +0 -18
- data/lib/igniter/extensions/reactive.rb +0 -12
- data/lib/igniter/extensions/saga.rb +0 -74
- data/lib/igniter/extensions.rb +0 -10
- data/lib/igniter/fingerprint.rb +0 -43
- data/lib/igniter/incremental/formatter.rb +0 -81
- data/lib/igniter/incremental/result.rb +0 -69
- data/lib/igniter/incremental/tracker.rb +0 -108
- data/lib/igniter/incremental.rb +0 -50
- data/lib/igniter/integrations/agents.rb +0 -18
- data/lib/igniter/integrations/llm/config.rb +0 -113
- data/lib/igniter/integrations/llm/context.rb +0 -74
- data/lib/igniter/integrations/llm/executor.rb +0 -352
- data/lib/igniter/integrations/llm/providers/anthropic.rb +0 -181
- data/lib/igniter/integrations/llm/providers/base.rb +0 -33
- data/lib/igniter/integrations/llm/providers/ollama.rb +0 -137
- data/lib/igniter/integrations/llm/providers/openai.rb +0 -182
- data/lib/igniter/integrations/llm/transcription/providers/assemblyai.rb +0 -200
- data/lib/igniter/integrations/llm/transcription/providers/base.rb +0 -122
- data/lib/igniter/integrations/llm/transcription/providers/deepgram.rb +0 -162
- data/lib/igniter/integrations/llm/transcription/providers/openai.rb +0 -102
- data/lib/igniter/integrations/llm/transcription/transcriber.rb +0 -145
- data/lib/igniter/integrations/llm/transcription/transcript_result.rb +0 -29
- data/lib/igniter/integrations/llm.rb +0 -95
- data/lib/igniter/integrations/rails/cable_adapter.rb +0 -49
- data/lib/igniter/integrations/rails/contract_job.rb +0 -76
- data/lib/igniter/integrations/rails/generators/contract/contract_generator.rb +0 -22
- data/lib/igniter/integrations/rails/generators/install/install_generator.rb +0 -33
- data/lib/igniter/integrations/rails/railtie.rb +0 -25
- data/lib/igniter/integrations/rails/webhook_concern.rb +0 -49
- data/lib/igniter/integrations/rails.rb +0 -12
- data/lib/igniter/invariant.rb +0 -50
- data/lib/igniter/memory/agent_memory.rb +0 -104
- data/lib/igniter/memory/episode.rb +0 -29
- data/lib/igniter/memory/fact.rb +0 -27
- data/lib/igniter/memory/memorable.rb +0 -90
- data/lib/igniter/memory/reflection_cycle.rb +0 -96
- data/lib/igniter/memory/reflection_record.rb +0 -28
- data/lib/igniter/memory/store.rb +0 -115
- data/lib/igniter/memory/stores/in_memory.rb +0 -136
- data/lib/igniter/memory/stores/sqlite.rb +0 -284
- data/lib/igniter/memory.rb +0 -80
- data/lib/igniter/mesh/announcer.rb +0 -55
- data/lib/igniter/mesh/config.rb +0 -45
- data/lib/igniter/mesh/discovery.rb +0 -39
- data/lib/igniter/mesh/errors.rb +0 -31
- data/lib/igniter/mesh/gossip.rb +0 -47
- data/lib/igniter/mesh/peer.rb +0 -21
- data/lib/igniter/mesh/peer_registry.rb +0 -51
- data/lib/igniter/mesh/poller.rb +0 -77
- data/lib/igniter/mesh/router.rb +0 -109
- data/lib/igniter/mesh.rb +0 -85
- data/lib/igniter/metrics/collector.rb +0 -131
- data/lib/igniter/metrics/prometheus_exporter.rb +0 -104
- data/lib/igniter/metrics/snapshot.rb +0 -8
- data/lib/igniter/metrics.rb +0 -37
- data/lib/igniter/model/aggregate_node.rb +0 -34
- data/lib/igniter/model/await_node.rb +0 -21
- data/lib/igniter/model/branch_node.rb +0 -46
- data/lib/igniter/model/collection_node.rb +0 -32
- data/lib/igniter/model/composition_node.rb +0 -22
- data/lib/igniter/model/compute_node.rb +0 -90
- data/lib/igniter/model/effect_node.rb +0 -37
- data/lib/igniter/model/graph.rb +0 -15
- data/lib/igniter/model/input_node.rb +0 -27
- data/lib/igniter/model/node.rb +0 -22
- data/lib/igniter/model/output_node.rb +0 -41
- data/lib/igniter/model/remote_node.rb +0 -42
- data/lib/igniter/model.rb +0 -18
- data/lib/igniter/node_cache.rb +0 -231
- data/lib/igniter/property_testing/formatter.rb +0 -66
- data/lib/igniter/property_testing/generators.rb +0 -115
- data/lib/igniter/property_testing/result.rb +0 -45
- data/lib/igniter/property_testing/run.rb +0 -43
- data/lib/igniter/property_testing/runner.rb +0 -47
- data/lib/igniter/property_testing.rb +0 -64
- data/lib/igniter/provenance/builder.rb +0 -97
- data/lib/igniter/provenance/lineage.rb +0 -82
- data/lib/igniter/provenance/node_trace.rb +0 -65
- data/lib/igniter/provenance/text_formatter.rb +0 -70
- data/lib/igniter/provenance.rb +0 -29
- data/lib/igniter/registry.rb +0 -67
- data/lib/igniter/replication/bootstrapper.rb +0 -61
- data/lib/igniter/replication/bootstrappers/gem.rb +0 -32
- data/lib/igniter/replication/bootstrappers/git.rb +0 -39
- data/lib/igniter/replication/bootstrappers/tarball.rb +0 -56
- data/lib/igniter/replication/expansion_plan.rb +0 -38
- data/lib/igniter/replication/expansion_planner.rb +0 -142
- data/lib/igniter/replication/manifest.rb +0 -45
- data/lib/igniter/replication/network_topology.rb +0 -123
- data/lib/igniter/replication/node_role.rb +0 -42
- data/lib/igniter/replication/reflective_replication_agent.rb +0 -238
- data/lib/igniter/replication/replication_agent.rb +0 -87
- data/lib/igniter/replication/role_registry.rb +0 -73
- data/lib/igniter/replication/ssh_session.rb +0 -77
- data/lib/igniter/replication.rb +0 -54
- data/lib/igniter/runtime/cache.rb +0 -126
- data/lib/igniter/runtime/collection_result.rb +0 -111
- data/lib/igniter/runtime/deferred_result.rb +0 -40
- data/lib/igniter/runtime/execution.rb +0 -416
- data/lib/igniter/runtime/input_validator.rb +0 -129
- data/lib/igniter/runtime/invalidator.rb +0 -52
- data/lib/igniter/runtime/job_worker.rb +0 -18
- data/lib/igniter/runtime/node_state.rb +0 -56
- data/lib/igniter/runtime/planner.rb +0 -126
- data/lib/igniter/runtime/resolver.rb +0 -758
- data/lib/igniter/runtime/result.rb +0 -117
- data/lib/igniter/runtime/runner_factory.rb +0 -20
- data/lib/igniter/runtime/runners/inline_runner.rb +0 -21
- data/lib/igniter/runtime/runners/store_runner.rb +0 -29
- data/lib/igniter/runtime/runners/thread_pool_runner.rb +0 -37
- data/lib/igniter/runtime/stores/active_record_store.rb +0 -53
- data/lib/igniter/runtime/stores/file_store.rb +0 -91
- data/lib/igniter/runtime/stores/memory_store.rb +0 -93
- data/lib/igniter/runtime/stores/redis_store.rb +0 -93
- data/lib/igniter/runtime.rb +0 -26
- data/lib/igniter/saga/compensation.rb +0 -31
- data/lib/igniter/saga/compensation_record.rb +0 -20
- data/lib/igniter/saga/executor.rb +0 -85
- data/lib/igniter/saga/formatter.rb +0 -49
- data/lib/igniter/saga/result.rb +0 -47
- data/lib/igniter/saga.rb +0 -56
- data/lib/igniter/server/client.rb +0 -166
- data/lib/igniter/server/config.rb +0 -34
- data/lib/igniter/server/handlers/base.rb +0 -105
- data/lib/igniter/server/handlers/contracts_handler.rb +0 -15
- data/lib/igniter/server/handlers/event_handler.rb +0 -32
- data/lib/igniter/server/handlers/execute_handler.rb +0 -43
- data/lib/igniter/server/handlers/health_handler.rb +0 -32
- data/lib/igniter/server/handlers/liveness_handler.rb +0 -20
- data/lib/igniter/server/handlers/manifest_handler.rb +0 -34
- data/lib/igniter/server/handlers/metrics_handler.rb +0 -51
- data/lib/igniter/server/handlers/peers_handler.rb +0 -115
- data/lib/igniter/server/handlers/readiness_handler.rb +0 -47
- data/lib/igniter/server/handlers/status_handler.rb +0 -27
- data/lib/igniter/server/http_server.rb +0 -146
- data/lib/igniter/server/rack_app.rb +0 -35
- data/lib/igniter/server/registry.rb +0 -56
- data/lib/igniter/server/router.rb +0 -108
- data/lib/igniter/server/server_logger.rb +0 -52
- data/lib/igniter/server.rb +0 -73
- data/lib/igniter/skill/feedback.rb +0 -116
- data/lib/igniter/skill/output_schema.rb +0 -110
- data/lib/igniter/skill.rb +0 -218
- data/lib/igniter/stream_loop.rb +0 -80
- data/lib/igniter/supervisor.rb +0 -167
- data/lib/igniter/temporal.rb +0 -84
- data/lib/igniter/tool/discoverable.rb +0 -151
- data/lib/igniter/tool.rb +0 -52
- data/lib/igniter/tool_registry.rb +0 -144
- data/lib/igniter/type_system.rb +0 -44
- /data/docs/{EXECUTION_MODEL_V2.md → dev/execution-model.md} +0 -0
data/docs/guide/core.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Core
|
|
2
|
+
|
|
3
|
+
This document currently describes the embedded/kernel role. In the target
|
|
4
|
+
architecture, the clearer name for that role is `Embed`.
|
|
5
|
+
|
|
6
|
+
Use this section when the thing you care about should still make sense in embedded mode with `require "igniter"`.
|
|
7
|
+
|
|
8
|
+
## Core Means
|
|
9
|
+
|
|
10
|
+
- contract DSL
|
|
11
|
+
- graph model and compilation
|
|
12
|
+
- runtime execution and invalidation
|
|
13
|
+
- diagnostics, introspection, provenance-friendly observation
|
|
14
|
+
- dataflow semantics such as branches, collections, async/deferred execution
|
|
15
|
+
|
|
16
|
+
If a capability stops making sense without hosting, networking, or optional packs, it probably does not belong in core.
|
|
17
|
+
|
|
18
|
+
## Current First Reads
|
|
19
|
+
|
|
20
|
+
- [Guide](../guide/README.md)
|
|
21
|
+
- [Guide: API And Runtime](../guide/api-and-runtime.md)
|
|
22
|
+
- [Guide: Core Runtime Features](../guide/core-runtime-features.md)
|
|
23
|
+
- [Dev: Embed Target Plan](../dev/embed-target-plan.md)
|
|
24
|
+
- [Igniter Concepts](../concepts/igniter.md)
|
|
25
|
+
- [Dev: Architecture](../dev/architecture.md)
|
|
26
|
+
|
|
27
|
+
## Supporting Reference
|
|
28
|
+
|
|
29
|
+
- [Guide: Core Runtime Features](../guide/core-runtime-features.md)
|
|
30
|
+
|
|
31
|
+
## When To Leave Core
|
|
32
|
+
|
|
33
|
+
- Move to [App](./app.md) when you need app runtime/profile concerns.
|
|
34
|
+
- Move to [Cluster](./cluster.md) when you need networking, mesh, routing,
|
|
35
|
+
replication, or resilience.
|
|
36
|
+
- Move to [`igniter-extensions`](../../packages/igniter-extensions/README.md)
|
|
37
|
+
when you need optional packs.
|
|
38
|
+
|
|
39
|
+
Current design direction:
|
|
40
|
+
|
|
41
|
+
- treat this layer as the canonical embedded/contracts-first operating mode
|
|
42
|
+
- do not let it absorb application or cluster concerns by default
|
|
43
|
+
- for the target model, follow the [Embed Target Plan](../dev/embed-target-plan.md)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Credentials
|
|
2
|
+
|
|
3
|
+
Use credentials when an Igniter application needs secrets such as API keys but
|
|
4
|
+
must still boot cleanly without them.
|
|
5
|
+
|
|
6
|
+
## Current Shape
|
|
7
|
+
|
|
8
|
+
Credentials live in `igniter-application` as app runtime configuration. The
|
|
9
|
+
first supported source is an environment variable:
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
environment = Igniter::Application.build_kernel
|
|
13
|
+
.credential(
|
|
14
|
+
:openai_api_key,
|
|
15
|
+
env: "OPENAI_API_KEY",
|
|
16
|
+
required: false
|
|
17
|
+
)
|
|
18
|
+
.then { |kernel| Igniter::Application::Environment.new(profile: kernel.finalize) }
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Application code can ask whether live mode is available:
|
|
22
|
+
|
|
23
|
+
```ruby
|
|
24
|
+
if environment.credentials.configured?(:openai_api_key)
|
|
25
|
+
api_key = environment.credentials.fetch(:openai_api_key)
|
|
26
|
+
else
|
|
27
|
+
# show setup state or run offline mode
|
|
28
|
+
end
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
|
|
33
|
+
- Missing optional credentials should produce setup state, not a crash.
|
|
34
|
+
- Missing required credentials raise `MissingCredentialError` when fetched.
|
|
35
|
+
- `profile.to_h`, manifests, snapshots, reports, and logs must not include
|
|
36
|
+
secret values.
|
|
37
|
+
- Smoke tests should stay offline and deterministic by default.
|
|
38
|
+
- Live provider calls should be opt-in through configured credentials.
|
|
39
|
+
|
|
40
|
+
## Ready-To-Go App Pattern
|
|
41
|
+
|
|
42
|
+
For live LLM applications:
|
|
43
|
+
|
|
44
|
+
- declare `:openai_api_key` against `OPENAI_API_KEY`
|
|
45
|
+
- boot without the key
|
|
46
|
+
- show a visible setup message when the key is missing
|
|
47
|
+
- switch to live mode when the key exists
|
|
48
|
+
- keep offline smoke paths independent from the live provider
|
|
49
|
+
|
|
50
|
+
This keeps examples runnable for everyone while making real API usage one
|
|
51
|
+
configuration step away.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Deployment Modes
|
|
2
|
+
|
|
3
|
+
Igniter has three current operating modes. The same contract can often move
|
|
4
|
+
between them while the surrounding runtime grows.
|
|
5
|
+
|
|
6
|
+
## 1. Embedded
|
|
7
|
+
|
|
8
|
+
Use this when Igniter runs inside an existing host such as Rails, a job, a CLI,
|
|
9
|
+
or a service.
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require "igniter"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Add optional packs explicitly through package entrypoints such as
|
|
16
|
+
`igniter-extensions` or host integration through `igniter-embed`.
|
|
17
|
+
|
|
18
|
+
Choose embedded mode when contracts are called directly and you do not need app
|
|
19
|
+
hosting, web mounting, or distributed execution.
|
|
20
|
+
|
|
21
|
+
## 2. Application
|
|
22
|
+
|
|
23
|
+
Use this when Igniter becomes the local runtime shape of an app.
|
|
24
|
+
|
|
25
|
+
Current package:
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
require "igniter-application"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Use this mode for app profiles, providers, services, capsules, local lifecycle,
|
|
32
|
+
transfer review, activation review, and app-owned session state.
|
|
33
|
+
|
|
34
|
+
## 3. Cluster
|
|
35
|
+
|
|
36
|
+
Use this when the network becomes part of execution.
|
|
37
|
+
|
|
38
|
+
Current package:
|
|
39
|
+
|
|
40
|
+
```ruby
|
|
41
|
+
require "igniter-cluster"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Use this mode for capability routing, peer topology, placement, ownership,
|
|
45
|
+
health, failover, remediation, and distributed diagnostics.
|
|
46
|
+
|
|
47
|
+
## Web Is A Surface
|
|
48
|
+
|
|
49
|
+
`igniter-web` can be used with application mode, but web rendering is not the
|
|
50
|
+
same thing as app hosting. Keep screens, routes, components, and browser
|
|
51
|
+
surfaces web-owned.
|
|
52
|
+
|
|
53
|
+
## Pre-v1 Note
|
|
54
|
+
|
|
55
|
+
Older entrypoint language belongs to private historical context unless a package
|
|
56
|
+
README explicitly documents it as current.
|
|
57
|
+
|
|
58
|
+
## See Also
|
|
59
|
+
|
|
60
|
+
- [Getting Started](./getting-started.md)
|
|
61
|
+
- [Configuration](./configuration.md)
|
|
62
|
+
- [App](./app.md)
|
|
63
|
+
- [Cluster](./cluster.md)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Distributed Workflows
|
|
2
|
+
|
|
3
|
+
Use this page when a contract is no longer just in-process computation and must
|
|
4
|
+
wait for or react to signals that may arrive later or on another node.
|
|
5
|
+
|
|
6
|
+
## Current Mental Model
|
|
7
|
+
|
|
8
|
+
Distributed workflow concerns belong above the embedded kernel:
|
|
9
|
+
|
|
10
|
+
- the contract graph stays explicit
|
|
11
|
+
- correlation keys matter more than process memory
|
|
12
|
+
- waiting on external signals should be visible in workflow state
|
|
13
|
+
- transport stays outside the workflow model
|
|
14
|
+
|
|
15
|
+
## Current Reading Path
|
|
16
|
+
|
|
17
|
+
- [Cluster](./cluster.md)
|
|
18
|
+
- [Guide: Deployment Modes](./deployment-modes.md)
|
|
19
|
+
|
|
20
|
+
Historical distributed-workflow references are private working material under
|
|
21
|
+
`playgrounds/docs/`.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
This is the shortest user-facing path into Igniter.
|
|
4
|
+
|
|
5
|
+
## 1. Start With The Core Idea
|
|
6
|
+
|
|
7
|
+
Read:
|
|
8
|
+
|
|
9
|
+
- [Top-level README](../../README.md)
|
|
10
|
+
- [Igniter Concepts](../concepts/igniter.md)
|
|
11
|
+
- [Core](./core.md)
|
|
12
|
+
|
|
13
|
+
## 2. Run Something Real
|
|
14
|
+
|
|
15
|
+
Use:
|
|
16
|
+
|
|
17
|
+
- [Examples](../../examples/README.md)
|
|
18
|
+
- [Application Showcase Portfolio](./application-showcase-portfolio.md)
|
|
19
|
+
- [Interactive App Structure](./interactive-app-structure.md)
|
|
20
|
+
|
|
21
|
+
## 3. Pick The Runtime Shape
|
|
22
|
+
|
|
23
|
+
- Stay in [Core](./core.md) if you only need embedded contracts and execution.
|
|
24
|
+
- Move to [App](./app.md) if Igniter becomes the runtime of an app.
|
|
25
|
+
- Move to [Cluster](./cluster.md) if execution becomes distributed.
|
|
26
|
+
- Add [Extensions](../../packages/igniter-extensions/README.md) only when
|
|
27
|
+
optional capabilities are needed.
|
|
28
|
+
|
|
29
|
+
Current architecture note:
|
|
30
|
+
|
|
31
|
+
- Igniter is pre-v1 and does not promise backward compatibility yet
|
|
32
|
+
- `Core` here really means the embedded/contracts-first operating mode
|
|
33
|
+
- `App` builds on top of that embedded mode
|
|
34
|
+
- `Cluster` builds on top of embedded/application runtime
|
|
35
|
+
|
|
36
|
+
## 4. Scaffold When You Want The Standard Shape
|
|
37
|
+
|
|
38
|
+
Read:
|
|
39
|
+
|
|
40
|
+
- [CLI](./cli.md)
|
|
41
|
+
- [Application Capsules](./application-capsules.md)
|
|
42
|
+
|
|
43
|
+
Then try:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
bin/igniter-stack new my_app
|
|
47
|
+
bin/igniter-stack new my_hub --profile dashboard
|
|
48
|
+
bin/igniter-stack new mesh_lab --profile cluster
|
|
49
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# How-Tos
|
|
2
|
+
|
|
3
|
+
Use this index for task-oriented documentation rather than architecture-first
|
|
4
|
+
reading.
|
|
5
|
+
|
|
6
|
+
## Build An App
|
|
7
|
+
|
|
8
|
+
- [App](./app.md)
|
|
9
|
+
- [CLI](./cli.md)
|
|
10
|
+
- [Application Showcase Portfolio](./application-showcase-portfolio.md)
|
|
11
|
+
- [Interactive App Structure](./interactive-app-structure.md)
|
|
12
|
+
|
|
13
|
+
## Build A Dashboard Or Human UI
|
|
14
|
+
|
|
15
|
+
- [Application Showcase Portfolio](./application-showcase-portfolio.md)
|
|
16
|
+
- [Interactive App Structure](./interactive-app-structure.md)
|
|
17
|
+
- [`packages/igniter-web/README.md`](../../packages/igniter-web/README.md)
|
|
18
|
+
|
|
19
|
+
## Add Rails Integration
|
|
20
|
+
|
|
21
|
+
- [`packages/igniter-embed/README.md`](../../packages/igniter-embed/README.md)
|
|
22
|
+
- [App](./app.md)
|
|
23
|
+
- [Integrations](./integrations.md)
|
|
24
|
+
|
|
25
|
+
## Move To Distributed Execution
|
|
26
|
+
|
|
27
|
+
- [Cluster](./cluster.md)
|
|
28
|
+
- [Distributed Workflows](./distributed-workflows.md)
|
|
29
|
+
|
|
30
|
+
## Add Optional Capability Packs
|
|
31
|
+
|
|
32
|
+
- [AI And Tool Surfaces](./ai-and-tools.md)
|
|
33
|
+
- [`packages/igniter-extensions/README.md`](../../packages/igniter-extensions/README.md)
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Igniter Lang Foundation
|
|
2
|
+
|
|
3
|
+
Igniter Lang is currently an additive contracts-facing foundation, not a
|
|
4
|
+
separate production language runtime.
|
|
5
|
+
|
|
6
|
+
Use it when you want a small reference surface for:
|
|
7
|
+
|
|
8
|
+
- loading the Lang namespace with `require "igniter/lang"`
|
|
9
|
+
- compiling and executing through the current contracts runtime
|
|
10
|
+
- attaching definition-time descriptors such as `History`, `BiHistory`,
|
|
11
|
+
`OLAPPoint`, and `Forecast`
|
|
12
|
+
- inspecting a read-only `VerificationReport`
|
|
13
|
+
- seeing declared metadata in a report-only `MetadataManifest`
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
Run the compact example:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ruby examples/contracts/lang_foundation.rb
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
For the accepted evaluator proof path, see
|
|
24
|
+
[Getting Started](./getting-started.md).
|
|
25
|
+
|
|
26
|
+
Minimal usage:
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
require "igniter/lang"
|
|
30
|
+
|
|
31
|
+
backend = Igniter::Lang.ruby_backend
|
|
32
|
+
history_type = Igniter::Lang::History[Numeric]
|
|
33
|
+
|
|
34
|
+
compiled = backend.compile do
|
|
35
|
+
input :price_history, type: history_type
|
|
36
|
+
|
|
37
|
+
compute :latest_price,
|
|
38
|
+
depends_on: [:price_history],
|
|
39
|
+
return_type: Numeric,
|
|
40
|
+
deadline: 50,
|
|
41
|
+
wcet: 20 do |price_history:|
|
|
42
|
+
price_history.fetch(:latest)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
output :latest_price
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
result = backend.execute(compiled, inputs: { price_history: { latest: 120.0 } })
|
|
49
|
+
report = backend.verify(compiled)
|
|
50
|
+
|
|
51
|
+
result.output(:latest_price)
|
|
52
|
+
report.metadata_manifest.to_h
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Ruby Backend Wrapper
|
|
56
|
+
|
|
57
|
+
`Igniter::Lang.ruby_backend` returns `Igniter::Lang::Backends::Ruby`, a thin
|
|
58
|
+
wrapper over the existing `Igniter::Contracts` compile, execute, diagnose, and
|
|
59
|
+
verify surfaces.
|
|
60
|
+
|
|
61
|
+
It does not introduce a new compiler, runtime, scheduler, parser, or AST. The
|
|
62
|
+
compiled artifact is still a contracts artifact, and execution behavior stays
|
|
63
|
+
the same as ordinary contracts execution.
|
|
64
|
+
|
|
65
|
+
## Descriptors
|
|
66
|
+
|
|
67
|
+
Descriptors are immutable definition-time metadata objects:
|
|
68
|
+
|
|
69
|
+
```ruby
|
|
70
|
+
Igniter::Lang::History[Numeric]
|
|
71
|
+
Igniter::Lang::BiHistory[String]
|
|
72
|
+
Igniter::Lang::OLAPPoint[Numeric, { region: String }]
|
|
73
|
+
Igniter::Lang::Forecast[Float]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
They can be attached to operation metadata, usually with `type:`. Today they are
|
|
77
|
+
inspectable declarations. They are not physical unit checks, storage adapters,
|
|
78
|
+
OLAP runtime handlers, temporal rules, or inferred type enforcement.
|
|
79
|
+
|
|
80
|
+
## Verification Reports
|
|
81
|
+
|
|
82
|
+
`backend.verify(...)` returns a read-only `Igniter::Lang::VerificationReport`.
|
|
83
|
+
`ok?` follows current compilation findings only.
|
|
84
|
+
|
|
85
|
+
The report exposes:
|
|
86
|
+
|
|
87
|
+
- `descriptors`
|
|
88
|
+
- `findings`
|
|
89
|
+
- `metadata_manifest`
|
|
90
|
+
- `to_h`
|
|
91
|
+
|
|
92
|
+
## Metadata Manifest
|
|
93
|
+
|
|
94
|
+
`Igniter::Lang::MetadataManifest` reports metadata that was already declared on
|
|
95
|
+
operations:
|
|
96
|
+
|
|
97
|
+
- `type:` descriptors
|
|
98
|
+
- `return_type:`
|
|
99
|
+
- `deadline:`
|
|
100
|
+
- `wcet:`
|
|
101
|
+
|
|
102
|
+
Manifest data is declared, not enforced. Requirement-like entries include
|
|
103
|
+
`enforced: false`, and manifest semantics include:
|
|
104
|
+
|
|
105
|
+
```ruby
|
|
106
|
+
{
|
|
107
|
+
report_only: true,
|
|
108
|
+
runtime_enforced: false
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
This means `return_type`, `deadline`, and `wcet` are visible in reports, but
|
|
113
|
+
they do not create runtime checks, warnings, findings, deadline monitoring, or
|
|
114
|
+
execution-result changes.
|
|
115
|
+
|
|
116
|
+
## Deferred
|
|
117
|
+
|
|
118
|
+
These remain future/research phases:
|
|
119
|
+
|
|
120
|
+
- standalone grammar, parser, AST, and `.il` files
|
|
121
|
+
- Rust backend and certified exports
|
|
122
|
+
- store DSL or Lang metadata builder
|
|
123
|
+
- contract persistence lowering to `Store[T]` / `History[T]`
|
|
124
|
+
- OLAP, time-machine, and temporal-rule runtime behavior
|
|
125
|
+
- physical unit algebra enforcement
|
|
126
|
+
- invariant metadata integration
|
|
127
|
+
- deadline/WCET runtime monitoring, warnings, or findings
|
|
128
|
+
|
|
129
|
+
## Related
|
|
130
|
+
|
|
131
|
+
- [Getting Started](./getting-started.md)
|
|
132
|
+
- [Contract Class DSL](./contract-class-dsl.md)
|
|
133
|
+
- [Contract Persistence Target Plan](../dev/contract-persistence-target-plan.md)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Integrations
|
|
2
|
+
|
|
3
|
+
Use this page for environment-specific surfaces that adapt Igniter into a host
|
|
4
|
+
framework or UI/runtime package.
|
|
5
|
+
|
|
6
|
+
## Current Integration Surfaces
|
|
7
|
+
|
|
8
|
+
- `require "igniter/plugins/rails"` for Rails integration
|
|
9
|
+
- `require "igniter-web"` for current human-authored web surfaces
|
|
10
|
+
- schema-driven rendering remains a guide-level authoring direction, not a
|
|
11
|
+
current package entrypoint in this repository
|
|
12
|
+
|
|
13
|
+
## Rails Integration
|
|
14
|
+
|
|
15
|
+
Use `require "igniter/plugins/rails"` when Rails is the host application and
|
|
16
|
+
Igniter is embedded inside it.
|
|
17
|
+
|
|
18
|
+
That entrypoint is intentionally narrow:
|
|
19
|
+
|
|
20
|
+
- it loads the embedded Igniter kernel plus Rails adapters
|
|
21
|
+
- it does not silently pull application hosting, web rendering, or cluster
|
|
22
|
+
coordination
|
|
23
|
+
- it is the canonical public surface; `require "igniter/rails"` is not
|
|
24
|
+
|
|
25
|
+
Reach for it when you want controllers, jobs, or channels to call contracts
|
|
26
|
+
without promoting the whole app into a larger Igniter hosting profile.
|
|
27
|
+
|
|
28
|
+
## Practical Split
|
|
29
|
+
|
|
30
|
+
Use:
|
|
31
|
+
|
|
32
|
+
- runtime layers for execution/hosting concerns
|
|
33
|
+
- extension packs for optional shared capabilities
|
|
34
|
+
- integrations for framework or environment adaptation
|
|
35
|
+
|
|
36
|
+
For Rails specifically:
|
|
37
|
+
|
|
38
|
+
- embedded Rails usage stays in integrations
|
|
39
|
+
- app/server/cluster remain separate runtime choices
|
|
40
|
+
- crossing into those layers should be explicit in code and docs
|
|
41
|
+
|
|
42
|
+
## Current Reading Path
|
|
43
|
+
|
|
44
|
+
- [App](./app.md)
|
|
45
|
+
- [`packages/igniter-embed/README.md`](../../packages/igniter-embed/README.md)
|
|
46
|
+
- [`packages/igniter-web/README.md`](../../packages/igniter-web/README.md)
|
|
47
|
+
- [`packages/igniter-extensions/README.md`](../../packages/igniter-extensions/README.md)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Interactive App Structure
|
|
2
|
+
|
|
3
|
+
Use this guide for small real applications that combine `igniter-application`
|
|
4
|
+
and `igniter-web` without inventing a public framework API.
|
|
5
|
+
|
|
6
|
+
This is a copyable convention, not a compatibility contract.
|
|
7
|
+
|
|
8
|
+
## Current Examples
|
|
9
|
+
|
|
10
|
+
- `examples/application/interactive_operator/`
|
|
11
|
+
- `examples/application/operator_signal_inbox/`
|
|
12
|
+
- `examples/application/lense/`
|
|
13
|
+
- `examples/application/chronicle/`
|
|
14
|
+
- `examples/application/scout/`
|
|
15
|
+
- `examples/application/dispatch/`
|
|
16
|
+
|
|
17
|
+
Run the richer showcases:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ruby examples/application/lense_poc.rb
|
|
21
|
+
ruby examples/application/chronicle_poc.rb
|
|
22
|
+
ruby examples/application/scout_poc.rb
|
|
23
|
+
ruby examples/application/dispatch_poc.rb
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Add `server` for manual browser review. Server mode is example scaffolding, not
|
|
27
|
+
production server behavior.
|
|
28
|
+
|
|
29
|
+
## App Shape
|
|
30
|
+
|
|
31
|
+
- `app.rb` is the composition boundary.
|
|
32
|
+
- `contracts/` owns deterministic business graphs.
|
|
33
|
+
- `services/` owns loading, mutable state, commands, and snapshots.
|
|
34
|
+
- `reports/` owns receipt/report artifacts when the workflow has evidence.
|
|
35
|
+
- `web/` owns the mounted Arbre surface.
|
|
36
|
+
- the launcher script owns smoke and optional server mode.
|
|
37
|
+
|
|
38
|
+
Keep domain names, command results, snapshot fields, feedback codes, markers,
|
|
39
|
+
routes, receipts, thresholds, and readiness rules local until repeated apps
|
|
40
|
+
prove a package API is worth extracting.
|
|
41
|
+
|
|
42
|
+
## Runtime Loop
|
|
43
|
+
|
|
44
|
+
A serious one-process showcase should have:
|
|
45
|
+
|
|
46
|
+
- app-local services that load inputs and own session state
|
|
47
|
+
- one contracts-native graph for core analysis/readiness/payload
|
|
48
|
+
- command routes that return app-local success/refusal results
|
|
49
|
+
- deterministic action facts recorded at command boundaries
|
|
50
|
+
- one detached snapshot shared by Web rendering, `/events`, and smoke
|
|
51
|
+
- one receipt/report artifact when the workflow reaches a useful checkpoint
|
|
52
|
+
- explicit mutation-boundary proof
|
|
53
|
+
|
|
54
|
+
Do not imply hidden LLM calls, external connectors, schedulers, databases,
|
|
55
|
+
auth, live transport, production hosting, or cluster placement in the first
|
|
56
|
+
slice.
|
|
57
|
+
|
|
58
|
+
## Web Surface
|
|
59
|
+
|
|
60
|
+
Use one mounted web surface:
|
|
61
|
+
|
|
62
|
+
- mount through `Igniter::Web.mount` and app-local `mount_web`
|
|
63
|
+
- read state through `MountContext`
|
|
64
|
+
- render from one app-owned snapshot
|
|
65
|
+
- keep command routes in `app.rb`
|
|
66
|
+
- expose stable app-local `data-` markers for smoke and manual review
|
|
67
|
+
- keep `/events` on the same snapshot shape as the visible surface
|
|
68
|
+
- add `/report` or `/receipt` only when the app owns a stable artifact
|
|
69
|
+
|
|
70
|
+
Marker vocabulary is local. Do not extract a UI kit, marker DSL, route DSL, or
|
|
71
|
+
`interactive_app` facade until repetition makes local readability worse.
|
|
72
|
+
|
|
73
|
+
## Proof Checklist
|
|
74
|
+
|
|
75
|
+
The smoke path should prove:
|
|
76
|
+
|
|
77
|
+
- initial HTML render and top-level surface marker
|
|
78
|
+
- one successful command path
|
|
79
|
+
- one refusal path when the app has one
|
|
80
|
+
- feedback marker and feedback code
|
|
81
|
+
- domain counters/records through app-local `data-` markers
|
|
82
|
+
- recent activity from the same snapshot
|
|
83
|
+
- `/events` parity
|
|
84
|
+
- receipt/report validity when present
|
|
85
|
+
- no unintended fixture or target mutation
|
|
86
|
+
|
|
87
|
+
Manual browser review should confirm the same seams through the printed local
|
|
88
|
+
URL.
|
|
89
|
+
|
|
90
|
+
For the showcase map, see
|
|
91
|
+
[Application Showcase Portfolio](./application-showcase-portfolio.md).
|