igniter 0.5.1 → 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/README.md +169 -215
- data/docs/README.md +12 -15
- 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/execution-model.md +324 -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 +148 -65
- data/examples/catalog.rb +1374 -300
- 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 +9 -9
- data/lib/igniter/cluster.rb +3 -0
- data/lib/igniter/contract.rb +3 -0
- data/lib/igniter/monorepo_packages.rb +8 -9
- data/lib/igniter/version.rb +5 -0
- data/lib/igniter/web.rb +3 -0
- data/lib/igniter.rb +46 -54
- data/packages/igniter-agents/README.md +37 -15
- 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 +25 -15
- data/packages/igniter-agents/lib/igniter-agents.rb +0 -4
- data/packages/igniter-ai/README.md +35 -13
- 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 +14 -84
- 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 +112 -5
- 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 +94 -57
- 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 +364 -4
- 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 +0 -2
- 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 +531 -641
- data/bin/igniter-stack +0 -94
- data/examples/agent_orchestration.rb +0 -76
- data/examples/agents.rb +0 -151
- 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 -241
- data/examples/dataflow.rb +0 -309
- 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 -185
- data/examples/elocal_webhook.rb +0 -1
- data/examples/incremental.rb +0 -143
- data/examples/introspection.rb +0 -49
- data/examples/invariants.rb +0 -180
- data/examples/llm_tools.rb +0 -237
- data/examples/marketing_ergonomics.rb +0 -57
- data/examples/mesh.rb +0 -241
- data/examples/mesh_discovery.rb +0 -287
- data/examples/mesh_gossip.rb +0 -164
- data/examples/order_pipeline.rb +0 -163
- data/examples/provenance.rb +0 -122
- data/examples/reactive_auditing.rb +0 -50
- data/examples/ringcentral_routing.rb +0 -269
- data/examples/saga.rb +0 -110
- data/lib/igniter/stack.rb +0 -5
- data/packages/igniter-agents/lib/igniter/agent/mailbox.rb +0 -96
- data/packages/igniter-agents/lib/igniter/agent/message.rb +0 -21
- data/packages/igniter-agents/lib/igniter/agent/ref.rb +0 -87
- data/packages/igniter-agents/lib/igniter/agent/runner.rb +0 -141
- data/packages/igniter-agents/lib/igniter/agent/state_holder.rb +0 -23
- data/packages/igniter-agents/lib/igniter/agent.rb +0 -161
- data/packages/igniter-agents/lib/igniter/agents/observability/metrics_agent.rb +0 -130
- data/packages/igniter-agents/lib/igniter/agents/pipeline/batch_processor_agent.rb +0 -131
- data/packages/igniter-agents/lib/igniter/agents/proactive/alert_agent.rb +0 -111
- data/packages/igniter-agents/lib/igniter/agents/proactive/health_check_agent.rb +0 -122
- data/packages/igniter-agents/lib/igniter/agents/proactive_agent.rb +0 -208
- data/packages/igniter-agents/lib/igniter/agents/reliability/retry_agent.rb +0 -99
- data/packages/igniter-agents/lib/igniter/agents/scheduling/cron_agent.rb +0 -110
- data/packages/igniter-agents/lib/igniter/ai/agents/chain_agent.rb +0 -129
- data/packages/igniter-agents/lib/igniter/ai/agents/critic_agent.rb +0 -165
- data/packages/igniter-agents/lib/igniter/ai/agents/evaluator_agent.rb +0 -195
- data/packages/igniter-agents/lib/igniter/ai/agents/evolution_agent.rb +0 -288
- data/packages/igniter-agents/lib/igniter/ai/agents/observer_agent.rb +0 -186
- data/packages/igniter-agents/lib/igniter/ai/agents/planner_agent.rb +0 -212
- data/packages/igniter-agents/lib/igniter/ai/agents/router_agent.rb +0 -133
- data/packages/igniter-agents/lib/igniter/ai/agents/self_reflection_agent.rb +0 -177
- data/packages/igniter-agents/lib/igniter/ai/agents.rb +0 -25
- data/packages/igniter-agents/lib/igniter/registry.rb +0 -69
- data/packages/igniter-agents/lib/igniter/runtime/registry_agent_adapter.rb +0 -102
- data/packages/igniter-agents/lib/igniter/supervisor.rb +0 -170
- data/packages/igniter-ai/lib/igniter/ai/config.rb +0 -113
- data/packages/igniter-ai/lib/igniter/ai/context.rb +0 -74
- data/packages/igniter-ai/lib/igniter/ai/executor.rb +0 -352
- data/packages/igniter-ai/lib/igniter/ai/providers/anthropic.rb +0 -181
- data/packages/igniter-ai/lib/igniter/ai/providers/base.rb +0 -33
- data/packages/igniter-ai/lib/igniter/ai/providers/ollama.rb +0 -137
- data/packages/igniter-ai/lib/igniter/ai/providers/openai.rb +0 -182
- data/packages/igniter-ai/lib/igniter/ai/skill/feedback.rb +0 -116
- data/packages/igniter-ai/lib/igniter/ai/skill/output_schema.rb +0 -110
- data/packages/igniter-ai/lib/igniter/ai/skill/runtime_contract.rb +0 -87
- data/packages/igniter-ai/lib/igniter/ai/skill.rb +0 -107
- data/packages/igniter-ai/lib/igniter/ai/tool_registry.rb +0 -79
- data/packages/igniter-ai/lib/igniter/ai/transcription/providers/assemblyai.rb +0 -200
- data/packages/igniter-ai/lib/igniter/ai/transcription/providers/base.rb +0 -122
- data/packages/igniter-ai/lib/igniter/ai/transcription/providers/deepgram.rb +0 -162
- data/packages/igniter-ai/lib/igniter/ai/transcription/providers/openai.rb +0 -102
- data/packages/igniter-ai/lib/igniter/ai/transcription/transcriber.rb +0 -145
- data/packages/igniter-ai/lib/igniter/ai/transcription/transcript_result.rb +0 -29
- data/packages/igniter-app/README.md +0 -19
- data/packages/igniter-app/lib/igniter/app/app_config.rb +0 -43
- data/packages/igniter-app/lib/igniter/app/app_host.rb +0 -56
- data/packages/igniter-app/lib/igniter/app/app_host_config.rb +0 -27
- data/packages/igniter-app/lib/igniter/app/app_host_pack.rb +0 -13
- data/packages/igniter-app/lib/igniter/app/autoloader.rb +0 -18
- data/packages/igniter-app/lib/igniter/app/cluster_app_host.rb +0 -95
- data/packages/igniter-app/lib/igniter/app/cluster_app_host_config.rb +0 -78
- data/packages/igniter-app/lib/igniter/app/credentials/config_loader.rb +0 -152
- data/packages/igniter-app/lib/igniter/app/credentials/credential.rb +0 -48
- data/packages/igniter-app/lib/igniter/app/credentials/credential_policy.rb +0 -38
- data/packages/igniter-app/lib/igniter/app/credentials/events/credential_event.rb +0 -179
- data/packages/igniter-app/lib/igniter/app/credentials/events.rb +0 -12
- data/packages/igniter-app/lib/igniter/app/credentials/lease_request.rb +0 -153
- data/packages/igniter-app/lib/igniter/app/credentials/policies/ephemeral_lease_policy.rb +0 -35
- data/packages/igniter-app/lib/igniter/app/credentials/policies/local_only_policy.rb +0 -33
- data/packages/igniter-app/lib/igniter/app/credentials/policies.rb +0 -13
- data/packages/igniter-app/lib/igniter/app/credentials/store.rb +0 -21
- data/packages/igniter-app/lib/igniter/app/credentials/stores/file_store.rb +0 -114
- data/packages/igniter-app/lib/igniter/app/credentials/trail.rb +0 -254
- data/packages/igniter-app/lib/igniter/app/credentials.rb +0 -20
- data/packages/igniter-app/lib/igniter/app/dev_output_sync.rb +0 -4
- data/packages/igniter-app/lib/igniter/app/diagnostics/app_host_contributor.rb +0 -71
- data/packages/igniter-app/lib/igniter/app/diagnostics/cluster_app_host_contributor.rb +0 -97
- data/packages/igniter-app/lib/igniter/app/diagnostics/credential_contributor.rb +0 -66
- data/packages/igniter-app/lib/igniter/app/diagnostics/evolution_contributor.rb +0 -74
- data/packages/igniter-app/lib/igniter/app/diagnostics/ignite_contributor.rb +0 -121
- data/packages/igniter-app/lib/igniter/app/diagnostics/loader_contributor.rb +0 -68
- data/packages/igniter-app/lib/igniter/app/diagnostics/orchestration_contributor.rb +0 -200
- data/packages/igniter-app/lib/igniter/app/diagnostics/runtime_contributor.rb +0 -68
- data/packages/igniter-app/lib/igniter/app/diagnostics/scheduler_contributor.rb +0 -72
- data/packages/igniter-app/lib/igniter/app/diagnostics/sdk_contributor.rb +0 -284
- data/packages/igniter-app/lib/igniter/app/diagnostics.rb +0 -62
- data/packages/igniter-app/lib/igniter/app/evolution/approval_decision.rb +0 -115
- data/packages/igniter-app/lib/igniter/app/evolution/approval_request.rb +0 -36
- data/packages/igniter-app/lib/igniter/app/evolution/plan.rb +0 -72
- data/packages/igniter-app/lib/igniter/app/evolution/planner.rb +0 -85
- data/packages/igniter-app/lib/igniter/app/evolution/result.rb +0 -45
- data/packages/igniter-app/lib/igniter/app/evolution/runner.rb +0 -102
- data/packages/igniter-app/lib/igniter/app/evolution/store.rb +0 -21
- data/packages/igniter-app/lib/igniter/app/evolution/stores/file_store.rb +0 -241
- data/packages/igniter-app/lib/igniter/app/evolution/trail.rb +0 -108
- data/packages/igniter-app/lib/igniter/app/evolution.rb +0 -11
- data/packages/igniter-app/lib/igniter/app/filesystem_loader_adapter.rb +0 -21
- data/packages/igniter-app/lib/igniter/app/generator.rb +0 -636
- data/packages/igniter-app/lib/igniter/app/generators/cluster.rb +0 -1367
- data/packages/igniter-app/lib/igniter/app/generators/dashboard.rb +0 -152
- data/packages/igniter-app/lib/igniter/app/generators/playground.rb +0 -1227
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/README.md.erb +0 -37
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/app.rb.erb +0 -19
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/contexts/home_context.rb.erb +0 -54
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/frontend/application.js.erb +0 -3
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/spec/dashboard_app_spec.rb.erb +0 -79
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/support/stack_overview.rb.erb +0 -23
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/web/handlers/home_handler.rb.erb +0 -27
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/web/views/home_page.arb.erb +0 -44
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/web/views/home_page.rb.erb +0 -56
- data/packages/igniter-app/lib/igniter/app/generators/templates/dashboard/web/views/layout.arb.erb +0 -17
- data/packages/igniter-app/lib/igniter/app/host_adapter.rb +0 -26
- data/packages/igniter-app/lib/igniter/app/host_config.rb +0 -40
- data/packages/igniter-app/lib/igniter/app/host_registry.rb +0 -43
- data/packages/igniter-app/lib/igniter/app/loader_adapter.rb +0 -15
- data/packages/igniter-app/lib/igniter/app/loader_pack.rb +0 -8
- data/packages/igniter-app/lib/igniter/app/loader_registry.rb +0 -39
- data/packages/igniter-app/lib/igniter/app/observability/operator_action_handler.rb +0 -147
- data/packages/igniter-app/lib/igniter/app/observability/operator_console_handler.rb +0 -747
- data/packages/igniter-app/lib/igniter/app/observability/operator_overview_handler.rb +0 -350
- data/packages/igniter-app/lib/igniter/app/observability.rb +0 -5
- data/packages/igniter-app/lib/igniter/app/observability_pack.rb +0 -71
- data/packages/igniter-app/lib/igniter/app/operator/dispatcher.rb +0 -40
- data/packages/igniter-app/lib/igniter/app/operator/handler_registry.rb +0 -40
- data/packages/igniter-app/lib/igniter/app/operator/handler_result.rb +0 -67
- data/packages/igniter-app/lib/igniter/app/operator/handlers/base.rb +0 -79
- data/packages/igniter-app/lib/igniter/app/operator/handlers/ignite_handler.rb +0 -108
- data/packages/igniter-app/lib/igniter/app/operator/handlers/orchestration_handler.rb +0 -33
- data/packages/igniter-app/lib/igniter/app/operator/handlers.rb +0 -5
- data/packages/igniter-app/lib/igniter/app/operator/lifecycle_contract.rb +0 -55
- data/packages/igniter-app/lib/igniter/app/operator/policy.rb +0 -157
- data/packages/igniter-app/lib/igniter/app/operator.rb +0 -17
- data/packages/igniter-app/lib/igniter/app/orchestration/action_result_builder.rb +0 -65
- data/packages/igniter-app/lib/igniter/app/orchestration/followup_request.rb +0 -36
- data/packages/igniter-app/lib/igniter/app/orchestration/handler_registry.rb +0 -58
- data/packages/igniter-app/lib/igniter/app/orchestration/handlers.rb +0 -106
- data/packages/igniter-app/lib/igniter/app/orchestration/inbox.rb +0 -283
- data/packages/igniter-app/lib/igniter/app/orchestration/inbox_query.rb +0 -293
- data/packages/igniter-app/lib/igniter/app/orchestration/lane_registry.rb +0 -100
- data/packages/igniter-app/lib/igniter/app/orchestration/operator_query.rb +0 -449
- data/packages/igniter-app/lib/igniter/app/orchestration/plan.rb +0 -68
- data/packages/igniter-app/lib/igniter/app/orchestration/planner.rb +0 -89
- data/packages/igniter-app/lib/igniter/app/orchestration/policies.rb +0 -125
- data/packages/igniter-app/lib/igniter/app/orchestration/policy_registry.rb +0 -63
- data/packages/igniter-app/lib/igniter/app/orchestration/result.rb +0 -43
- data/packages/igniter-app/lib/igniter/app/orchestration/routing_registry.rb +0 -43
- data/packages/igniter-app/lib/igniter/app/orchestration/runner.rb +0 -50
- data/packages/igniter-app/lib/igniter/app/orchestration/runtime_event_query.rb +0 -205
- data/packages/igniter-app/lib/igniter/app/orchestration/runtime_overview_builder.rb +0 -286
- data/packages/igniter-app/lib/igniter/app/orchestration/runtime_query_overview_builder.rb +0 -20
- data/packages/igniter-app/lib/igniter/app/orchestration/runtime_result_builder.rb +0 -23
- data/packages/igniter-app/lib/igniter/app/orchestration.rb +0 -113
- data/packages/igniter-app/lib/igniter/app/runtime.rb +0 -4
- data/packages/igniter-app/lib/igniter/app/runtime_context.rb +0 -101
- data/packages/igniter-app/lib/igniter/app/runtime_pack.rb +0 -16
- data/packages/igniter-app/lib/igniter/app/scaffold_pack.rb +0 -6
- data/packages/igniter-app/lib/igniter/app/scheduler.rb +0 -109
- data/packages/igniter-app/lib/igniter/app/scheduler_adapter.rb +0 -17
- data/packages/igniter-app/lib/igniter/app/scheduler_pack.rb +0 -8
- data/packages/igniter-app/lib/igniter/app/scheduler_registry.rb +0 -39
- data/packages/igniter-app/lib/igniter/app/stack.rb +0 -1726
- data/packages/igniter-app/lib/igniter/app/stack_pack.rb +0 -3
- data/packages/igniter-app/lib/igniter/app/threaded_scheduler_adapter.rb +0 -35
- data/packages/igniter-app/lib/igniter/app/yml_loader.rb +0 -43
- data/packages/igniter-app/lib/igniter/app.rb +0 -2367
- data/packages/igniter-app/lib/igniter/ignite/bootstrap_agent.rb +0 -334
- data/packages/igniter-app/lib/igniter/ignite/bootstrap_target.rb +0 -79
- data/packages/igniter-app/lib/igniter/ignite/deployment_intent.rb +0 -82
- data/packages/igniter-app/lib/igniter/ignite/ignition_agent.rb +0 -1011
- data/packages/igniter-app/lib/igniter/ignite/ignition_plan.rb +0 -83
- data/packages/igniter-app/lib/igniter/ignite/ignition_report.rb +0 -144
- data/packages/igniter-app/lib/igniter/ignite/store.rb +0 -19
- data/packages/igniter-app/lib/igniter/ignite/stores/file_store.rb +0 -112
- data/packages/igniter-app/lib/igniter/ignite/trail.rb +0 -215
- data/packages/igniter-app/lib/igniter/ignite.rb +0 -11
- data/packages/igniter-app/lib/igniter-app.rb +0 -5
- data/packages/igniter-cluster/lib/igniter/cluster/agent_route_resolver.rb +0 -58
- data/packages/igniter-cluster/lib/igniter/cluster/consensus/cluster.rb +0 -187
- data/packages/igniter-cluster/lib/igniter/cluster/consensus/errors.rb +0 -16
- data/packages/igniter-cluster/lib/igniter/cluster/consensus/executors.rb +0 -45
- data/packages/igniter-cluster/lib/igniter/cluster/consensus/node.rb +0 -322
- data/packages/igniter-cluster/lib/igniter/cluster/consensus/read_query.rb +0 -32
- data/packages/igniter-cluster/lib/igniter/cluster/consensus/state_machine.rb +0 -60
- data/packages/igniter-cluster/lib/igniter/cluster/consensus.rb +0 -18
- data/packages/igniter-cluster/lib/igniter/cluster/diagnostics/governance_contributor.rb +0 -90
- data/packages/igniter-cluster/lib/igniter/cluster/diagnostics/identity_contributor.rb +0 -98
- data/packages/igniter-cluster/lib/igniter/cluster/diagnostics/routing_contributor.rb +0 -674
- data/packages/igniter-cluster/lib/igniter/cluster/diagnostics.rb +0 -24
- data/packages/igniter-cluster/lib/igniter/cluster/events/envelope.rb +0 -136
- data/packages/igniter-cluster/lib/igniter/cluster/events/hook_support.rb +0 -33
- data/packages/igniter-cluster/lib/igniter/cluster/events/log.rb +0 -102
- data/packages/igniter-cluster/lib/igniter/cluster/events/projection_feed.rb +0 -98
- data/packages/igniter-cluster/lib/igniter/cluster/events/read_model_projector.rb +0 -32
- data/packages/igniter-cluster/lib/igniter/cluster/events.rb +0 -131
- data/packages/igniter-cluster/lib/igniter/cluster/governance/admission_decision.rb +0 -41
- data/packages/igniter-cluster/lib/igniter/cluster/governance/admission_policy.rb +0 -66
- data/packages/igniter-cluster/lib/igniter/cluster/governance/admission_queue.rb +0 -88
- data/packages/igniter-cluster/lib/igniter/cluster/governance/admission_request.rb +0 -62
- data/packages/igniter-cluster/lib/igniter/cluster/governance/admission_workflow.rb +0 -214
- data/packages/igniter-cluster/lib/igniter/cluster/governance/checkpoint.rb +0 -141
- data/packages/igniter-cluster/lib/igniter/cluster/governance/compaction_record.rb +0 -33
- data/packages/igniter-cluster/lib/igniter/cluster/governance/stores/checkpoint_store.rb +0 -89
- data/packages/igniter-cluster/lib/igniter/cluster/governance/stores/file_store.rb +0 -249
- data/packages/igniter-cluster/lib/igniter/cluster/governance/trail.rb +0 -164
- data/packages/igniter-cluster/lib/igniter/cluster/governance.rb +0 -12
- data/packages/igniter-cluster/lib/igniter/cluster/identity/capability_attestation.rb +0 -114
- data/packages/igniter-cluster/lib/igniter/cluster/identity/manifest.rb +0 -139
- data/packages/igniter-cluster/lib/igniter/cluster/identity/node_identity.rb +0 -106
- data/packages/igniter-cluster/lib/igniter/cluster/identity.rb +0 -5
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/announcer.rb +0 -88
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/checkpoint_gossip.rb +0 -60
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/config.rb +0 -146
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/discovery.rb +0 -44
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/errors.rb +0 -36
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/gossip.rb +0 -62
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/mesh_ql.rb +0 -470
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/node_observation.rb +0 -281
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/observation_query.rb +0 -284
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/peer.rb +0 -51
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/peer_capacity_report.rb +0 -42
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/peer_identity_envelope.rb +0 -158
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/peer_metadata.rb +0 -122
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/peer_registry.rb +0 -81
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/placement_decision.rb +0 -64
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/placement_planner.rb +0 -154
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/placement_policy.rb +0 -103
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/poller.rb +0 -92
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/rebalance_plan.rb +0 -66
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/rebalance_planner.rb +0 -153
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/repair_loop.rb +0 -169
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/router.rb +0 -306
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/workload_signal.rb +0 -46
- data/packages/igniter-cluster/lib/igniter/cluster/mesh/workload_tracker.rb +0 -215
- data/packages/igniter-cluster/lib/igniter/cluster/mesh.rb +0 -452
- data/packages/igniter-cluster/lib/igniter/cluster/ownership/claim.rb +0 -69
- data/packages/igniter-cluster/lib/igniter/cluster/ownership/errors.rb +0 -19
- data/packages/igniter-cluster/lib/igniter/cluster/ownership/owner_client.rb +0 -76
- data/packages/igniter-cluster/lib/igniter/cluster/ownership/registry.rb +0 -98
- data/packages/igniter-cluster/lib/igniter/cluster/ownership/resolver.rb +0 -62
- data/packages/igniter-cluster/lib/igniter/cluster/ownership.rb +0 -81
- data/packages/igniter-cluster/lib/igniter/cluster/projection_store.rb +0 -62
- data/packages/igniter-cluster/lib/igniter/cluster/rag/chunk.rb +0 -49
- data/packages/igniter-cluster/lib/igniter/cluster/rag/fanout_retriever.rb +0 -93
- data/packages/igniter-cluster/lib/igniter/cluster/rag/knowledge_shard.rb +0 -140
- data/packages/igniter-cluster/lib/igniter/cluster/rag/net_http_adapter.rb +0 -85
- data/packages/igniter-cluster/lib/igniter/cluster/rag/ranker.rb +0 -46
- data/packages/igniter-cluster/lib/igniter/cluster/rag/retrieval_query.rb +0 -30
- data/packages/igniter-cluster/lib/igniter/cluster/rag/retrieval_result.rb +0 -77
- data/packages/igniter-cluster/lib/igniter/cluster/rag.rb +0 -38
- data/packages/igniter-cluster/lib/igniter/cluster/remote_adapter.rb +0 -101
- data/packages/igniter-cluster/lib/igniter/cluster/replication/bootstrapper.rb +0 -63
- data/packages/igniter-cluster/lib/igniter/cluster/replication/bootstrappers/gem.rb +0 -39
- data/packages/igniter-cluster/lib/igniter/cluster/replication/bootstrappers/git.rb +0 -46
- data/packages/igniter-cluster/lib/igniter/cluster/replication/bootstrappers/tarball.rb +0 -62
- data/packages/igniter-cluster/lib/igniter/cluster/replication/capability_query.rb +0 -675
- data/packages/igniter-cluster/lib/igniter/cluster/replication/expansion_plan.rb +0 -40
- data/packages/igniter-cluster/lib/igniter/cluster/replication/expansion_planner.rb +0 -154
- data/packages/igniter-cluster/lib/igniter/cluster/replication/manifest.rb +0 -47
- data/packages/igniter-cluster/lib/igniter/cluster/replication/network_topology.rb +0 -150
- data/packages/igniter-cluster/lib/igniter/cluster/replication/node_profile.rb +0 -134
- data/packages/igniter-cluster/lib/igniter/cluster/replication/reflective_replication_agent.rb +0 -259
- data/packages/igniter-cluster/lib/igniter/cluster/replication/replication_agent.rb +0 -89
- data/packages/igniter-cluster/lib/igniter/cluster/replication/ssh_session.rb +0 -79
- data/packages/igniter-cluster/lib/igniter/cluster/replication.rb +0 -38
- data/packages/igniter-cluster/lib/igniter/cluster/routed_agent_adapter.rb +0 -79
- data/packages/igniter-cluster/lib/igniter/cluster/routing_plan_executor.rb +0 -427
- data/packages/igniter-cluster/lib/igniter/cluster/routing_plan_result.rb +0 -38
- data/packages/igniter-cluster/lib/igniter/cluster/trust/admission_plan.rb +0 -34
- data/packages/igniter-cluster/lib/igniter/cluster/trust/admission_planner.rb +0 -76
- data/packages/igniter-cluster/lib/igniter/cluster/trust/admission_result.rb +0 -34
- data/packages/igniter-cluster/lib/igniter/cluster/trust/admission_runner.rb +0 -125
- data/packages/igniter-cluster/lib/igniter/cluster/trust/trust_assessment.rb +0 -37
- data/packages/igniter-cluster/lib/igniter/cluster/trust/trust_store.rb +0 -58
- data/packages/igniter-cluster/lib/igniter/cluster/trust/verifier.rb +0 -80
- data/packages/igniter-cluster/lib/igniter/cluster/trust.rb +0 -9
- data/packages/igniter-core/README.md +0 -21
- data/packages/igniter-core/lib/igniter/core/capabilities.rb +0 -70
- data/packages/igniter-core/lib/igniter/core/compiler/compiled_graph.rb +0 -218
- data/packages/igniter-core/lib/igniter/core/compiler/graph_compiler.rb +0 -70
- data/packages/igniter-core/lib/igniter/core/compiler/type_resolver.rb +0 -54
- data/packages/igniter-core/lib/igniter/core/compiler/validation_context.rb +0 -61
- data/packages/igniter-core/lib/igniter/core/compiler/validation_pipeline.rb +0 -33
- data/packages/igniter-core/lib/igniter/core/compiler/validator.rb +0 -19
- data/packages/igniter-core/lib/igniter/core/compiler/validators/agent_validator.rb +0 -142
- data/packages/igniter-core/lib/igniter/core/compiler/validators/await_validator.rb +0 -53
- data/packages/igniter-core/lib/igniter/core/compiler/validators/callable_validator.rb +0 -125
- data/packages/igniter-core/lib/igniter/core/compiler/validators/dependencies_validator.rb +0 -280
- data/packages/igniter-core/lib/igniter/core/compiler/validators/outputs_validator.rb +0 -66
- data/packages/igniter-core/lib/igniter/core/compiler/validators/remote_validator.rb +0 -60
- data/packages/igniter-core/lib/igniter/core/compiler/validators/type_compatibility_validator.rb +0 -84
- data/packages/igniter-core/lib/igniter/core/compiler/validators/uniqueness_validator.rb +0 -60
- data/packages/igniter-core/lib/igniter/core/compiler.rb +0 -21
- data/packages/igniter-core/lib/igniter/core/content_addressing.rb +0 -133
- data/packages/igniter-core/lib/igniter/core/contract.rb +0 -398
- data/packages/igniter-core/lib/igniter/core/dataflow/aggregate_operators.rb +0 -147
- data/packages/igniter-core/lib/igniter/core/dataflow/aggregate_state.rb +0 -77
- data/packages/igniter-core/lib/igniter/core/dataflow/diff.rb +0 -37
- data/packages/igniter-core/lib/igniter/core/dataflow/diff_state.rb +0 -81
- data/packages/igniter-core/lib/igniter/core/dataflow/incremental_collection_result.rb +0 -39
- data/packages/igniter-core/lib/igniter/core/dataflow/window_filter.rb +0 -48
- data/packages/igniter-core/lib/igniter/core/dataflow.rb +0 -65
- data/packages/igniter-core/lib/igniter/core/diagnostics/agent_contributor.rb +0 -241
- data/packages/igniter-core/lib/igniter/core/diagnostics/auditing/report/console_formatter.rb +0 -80
- data/packages/igniter-core/lib/igniter/core/diagnostics/auditing/report/markdown_formatter.rb +0 -22
- data/packages/igniter-core/lib/igniter/core/diagnostics/capability_contributor.rb +0 -162
- data/packages/igniter-core/lib/igniter/core/diagnostics/introspection/formatters/mermaid_formatter.rb +0 -58
- data/packages/igniter-core/lib/igniter/core/diagnostics/introspection/formatters/text_tree_formatter.rb +0 -44
- data/packages/igniter-core/lib/igniter/core/diagnostics/orchestration_contributor.rb +0 -75
- data/packages/igniter-core/lib/igniter/core/diagnostics/report.rb +0 -424
- data/packages/igniter-core/lib/igniter/core/diagnostics.rb +0 -58
- data/packages/igniter-core/lib/igniter/core/differential/divergence.rb +0 -29
- data/packages/igniter-core/lib/igniter/core/differential/formatter.rb +0 -96
- data/packages/igniter-core/lib/igniter/core/differential/report.rb +0 -86
- data/packages/igniter-core/lib/igniter/core/differential/runner.rb +0 -130
- data/packages/igniter-core/lib/igniter/core/differential.rb +0 -51
- data/packages/igniter-core/lib/igniter/core/dsl/contract_builder.rb +0 -652
- data/packages/igniter-core/lib/igniter/core/dsl/schema_builder.rb +0 -73
- data/packages/igniter-core/lib/igniter/core/dsl.rb +0 -9
- data/packages/igniter-core/lib/igniter/core/dto/record.rb +0 -189
- data/packages/igniter-core/lib/igniter/core/dto.rb +0 -8
- data/packages/igniter-core/lib/igniter/core/effect.rb +0 -95
- data/packages/igniter-core/lib/igniter/core/effect_registry.rb +0 -78
- data/packages/igniter-core/lib/igniter/core/errors.rb +0 -102
- data/packages/igniter-core/lib/igniter/core/events/bus.rb +0 -44
- data/packages/igniter-core/lib/igniter/core/events/event.rb +0 -82
- data/packages/igniter-core/lib/igniter/core/events.rb +0 -9
- data/packages/igniter-core/lib/igniter/core/execution_report/builder.rb +0 -54
- data/packages/igniter-core/lib/igniter/core/execution_report/formatter.rb +0 -50
- data/packages/igniter-core/lib/igniter/core/execution_report/node_entry.rb +0 -24
- data/packages/igniter-core/lib/igniter/core/execution_report/report.rb +0 -65
- data/packages/igniter-core/lib/igniter/core/execution_report.rb +0 -32
- data/packages/igniter-core/lib/igniter/core/executor.rb +0 -134
- data/packages/igniter-core/lib/igniter/core/executor_registry.rb +0 -44
- data/packages/igniter-core/lib/igniter/core/extensions/auditing/timeline.rb +0 -103
- data/packages/igniter-core/lib/igniter/core/extensions/auditing.rb +0 -10
- data/packages/igniter-core/lib/igniter/core/extensions/introspection/graph_formatter.rb +0 -134
- data/packages/igniter-core/lib/igniter/core/extensions/introspection/plan_formatter.rb +0 -85
- data/packages/igniter-core/lib/igniter/core/extensions/introspection/runtime_formatter.rb +0 -143
- data/packages/igniter-core/lib/igniter/core/extensions/introspection.rb +0 -12
- data/packages/igniter-core/lib/igniter/core/extensions/invariants.rb +0 -70
- data/packages/igniter-core/lib/igniter/core/extensions/reactive/engine.rb +0 -83
- data/packages/igniter-core/lib/igniter/core/extensions/reactive/matcher.rb +0 -21
- data/packages/igniter-core/lib/igniter/core/extensions/reactive/reaction.rb +0 -18
- data/packages/igniter-core/lib/igniter/core/extensions/reactive.rb +0 -12
- data/packages/igniter-core/lib/igniter/core/extensions.rb +0 -10
- data/packages/igniter-core/lib/igniter/core/fingerprint.rb +0 -43
- data/packages/igniter-core/lib/igniter/core/incremental/formatter.rb +0 -81
- data/packages/igniter-core/lib/igniter/core/incremental/result.rb +0 -69
- data/packages/igniter-core/lib/igniter/core/incremental/tracker.rb +0 -108
- data/packages/igniter-core/lib/igniter/core/incremental.rb +0 -50
- data/packages/igniter-core/lib/igniter/core/invariant.rb +0 -50
- data/packages/igniter-core/lib/igniter/core/memory/agent_memory.rb +0 -104
- data/packages/igniter-core/lib/igniter/core/memory/episode.rb +0 -29
- data/packages/igniter-core/lib/igniter/core/memory/fact.rb +0 -27
- data/packages/igniter-core/lib/igniter/core/memory/memorable.rb +0 -90
- data/packages/igniter-core/lib/igniter/core/memory/reflection_cycle.rb +0 -96
- data/packages/igniter-core/lib/igniter/core/memory/reflection_record.rb +0 -28
- data/packages/igniter-core/lib/igniter/core/memory/store.rb +0 -115
- data/packages/igniter-core/lib/igniter/core/memory/stores/in_memory.rb +0 -136
- data/packages/igniter-core/lib/igniter/core/memory/stores/sqlite.rb +0 -286
- data/packages/igniter-core/lib/igniter/core/memory.rb +0 -80
- data/packages/igniter-core/lib/igniter/core/metrics/collector.rb +0 -131
- data/packages/igniter-core/lib/igniter/core/metrics/prometheus_exporter.rb +0 -104
- data/packages/igniter-core/lib/igniter/core/metrics/snapshot.rb +0 -8
- data/packages/igniter-core/lib/igniter/core/metrics.rb +0 -37
- data/packages/igniter-core/lib/igniter/core/model/agent_interaction_contract.rb +0 -172
- data/packages/igniter-core/lib/igniter/core/model/agent_node.rb +0 -86
- data/packages/igniter-core/lib/igniter/core/model/aggregate_node.rb +0 -34
- data/packages/igniter-core/lib/igniter/core/model/await_node.rb +0 -21
- data/packages/igniter-core/lib/igniter/core/model/branch_node.rb +0 -82
- data/packages/igniter-core/lib/igniter/core/model/collection_node.rb +0 -32
- data/packages/igniter-core/lib/igniter/core/model/composition_node.rb +0 -22
- data/packages/igniter-core/lib/igniter/core/model/compute_node.rb +0 -90
- data/packages/igniter-core/lib/igniter/core/model/effect_node.rb +0 -37
- data/packages/igniter-core/lib/igniter/core/model/graph.rb +0 -15
- data/packages/igniter-core/lib/igniter/core/model/input_node.rb +0 -27
- data/packages/igniter-core/lib/igniter/core/model/node.rb +0 -22
- data/packages/igniter-core/lib/igniter/core/model/output_node.rb +0 -41
- data/packages/igniter-core/lib/igniter/core/model/remote_node.rb +0 -91
- data/packages/igniter-core/lib/igniter/core/model.rb +0 -20
- data/packages/igniter-core/lib/igniter/core/node_cache.rb +0 -231
- data/packages/igniter-core/lib/igniter/core/property_testing/formatter.rb +0 -66
- data/packages/igniter-core/lib/igniter/core/property_testing/generators.rb +0 -115
- data/packages/igniter-core/lib/igniter/core/property_testing/result.rb +0 -45
- data/packages/igniter-core/lib/igniter/core/property_testing/run.rb +0 -43
- data/packages/igniter-core/lib/igniter/core/property_testing/runner.rb +0 -47
- data/packages/igniter-core/lib/igniter/core/property_testing.rb +0 -64
- data/packages/igniter-core/lib/igniter/core/provenance/builder.rb +0 -126
- data/packages/igniter-core/lib/igniter/core/provenance/lineage.rb +0 -82
- data/packages/igniter-core/lib/igniter/core/provenance/node_trace.rb +0 -65
- data/packages/igniter-core/lib/igniter/core/provenance/text_formatter.rb +0 -70
- data/packages/igniter-core/lib/igniter/core/provenance.rb +0 -29
- data/packages/igniter-core/lib/igniter/core/runtime/agent_adapter.rb +0 -41
- data/packages/igniter-core/lib/igniter/core/runtime/agent_result_contract.rb +0 -91
- data/packages/igniter-core/lib/igniter/core/runtime/agent_route.rb +0 -60
- data/packages/igniter-core/lib/igniter/core/runtime/agent_route_resolver.rb +0 -26
- data/packages/igniter-core/lib/igniter/core/runtime/agent_session.rb +0 -922
- data/packages/igniter-core/lib/igniter/core/runtime/agent_session_query.rb +0 -379
- data/packages/igniter-core/lib/igniter/core/runtime/agent_transport.rb +0 -30
- data/packages/igniter-core/lib/igniter/core/runtime/cache.rb +0 -129
- data/packages/igniter-core/lib/igniter/core/runtime/collection_result.rb +0 -111
- data/packages/igniter-core/lib/igniter/core/runtime/deferred_result.rb +0 -66
- data/packages/igniter-core/lib/igniter/core/runtime/execution.rb +0 -913
- data/packages/igniter-core/lib/igniter/core/runtime/input_validator.rb +0 -129
- data/packages/igniter-core/lib/igniter/core/runtime/invalidator.rb +0 -52
- data/packages/igniter-core/lib/igniter/core/runtime/job_worker.rb +0 -39
- data/packages/igniter-core/lib/igniter/core/runtime/node_state.rb +0 -58
- data/packages/igniter-core/lib/igniter/core/runtime/orchestration_overview.rb +0 -213
- data/packages/igniter-core/lib/igniter/core/runtime/orchestration_runtime_state.rb +0 -176
- data/packages/igniter-core/lib/igniter/core/runtime/orchestration_transition_query.rb +0 -208
- data/packages/igniter-core/lib/igniter/core/runtime/planner.rb +0 -301
- data/packages/igniter-core/lib/igniter/core/runtime/proxy_agent_adapter.rb +0 -124
- data/packages/igniter-core/lib/igniter/core/runtime/remote_adapter.rb +0 -26
- data/packages/igniter-core/lib/igniter/core/runtime/resolver.rb +0 -951
- data/packages/igniter-core/lib/igniter/core/runtime/result.rb +0 -119
- data/packages/igniter-core/lib/igniter/core/runtime/runner_factory.rb +0 -20
- data/packages/igniter-core/lib/igniter/core/runtime/runners/inline_runner.rb +0 -21
- data/packages/igniter-core/lib/igniter/core/runtime/runners/store_runner.rb +0 -29
- data/packages/igniter-core/lib/igniter/core/runtime/runners/thread_pool_runner.rb +0 -37
- data/packages/igniter-core/lib/igniter/core/runtime/stores/active_record_store.rb +0 -53
- data/packages/igniter-core/lib/igniter/core/runtime/stores/file_store.rb +0 -91
- data/packages/igniter-core/lib/igniter/core/runtime/stores/memory_store.rb +0 -93
- data/packages/igniter-core/lib/igniter/core/runtime/stores/redis_store.rb +0 -93
- data/packages/igniter-core/lib/igniter/core/runtime/stores/sqlite_store.rb +0 -155
- data/packages/igniter-core/lib/igniter/core/runtime/stream_result.rb +0 -171
- data/packages/igniter-core/lib/igniter/core/runtime.rb +0 -41
- data/packages/igniter-core/lib/igniter/core/saga/compensation.rb +0 -31
- data/packages/igniter-core/lib/igniter/core/saga/compensation_record.rb +0 -20
- data/packages/igniter-core/lib/igniter/core/saga/executor.rb +0 -85
- data/packages/igniter-core/lib/igniter/core/saga/formatter.rb +0 -49
- data/packages/igniter-core/lib/igniter/core/saga/result.rb +0 -47
- data/packages/igniter-core/lib/igniter/core/saga.rb +0 -56
- data/packages/igniter-core/lib/igniter/core/stream_loop.rb +0 -80
- data/packages/igniter-core/lib/igniter/core/temporal.rb +0 -84
- data/packages/igniter-core/lib/igniter/core/tool/discoverable.rb +0 -151
- data/packages/igniter-core/lib/igniter/core/tool.rb +0 -56
- data/packages/igniter-core/lib/igniter/core/type_system.rb +0 -44
- data/packages/igniter-core/lib/igniter/core/version.rb +0 -5
- data/packages/igniter-core/lib/igniter/core.rb +0 -23
- data/packages/igniter-core/lib/igniter-core.rb +0 -3
- data/packages/igniter-extensions/lib/igniter/extensions/auditing.rb +0 -3
- data/packages/igniter-extensions/lib/igniter/extensions/capabilities.rb +0 -39
- data/packages/igniter-extensions/lib/igniter/extensions/content_addressing.rb +0 -5
- data/packages/igniter-extensions/lib/igniter/extensions/dataflow.rb +0 -117
- data/packages/igniter-extensions/lib/igniter/extensions/differential.rb +0 -114
- data/packages/igniter-extensions/lib/igniter/extensions/execution_report.rb +0 -27
- data/packages/igniter-extensions/lib/igniter/extensions/incremental.rb +0 -50
- data/packages/igniter-extensions/lib/igniter/extensions/introspection.rb +0 -3
- data/packages/igniter-extensions/lib/igniter/extensions/invariants.rb +0 -3
- data/packages/igniter-extensions/lib/igniter/extensions/provenance.rb +0 -45
- data/packages/igniter-extensions/lib/igniter/extensions/reactive.rb +0 -3
- data/packages/igniter-extensions/lib/igniter/extensions/saga.rb +0 -74
- data/packages/igniter-frontend/README.md +0 -224
- data/packages/igniter-frontend/lib/igniter/frontend/app.rb +0 -90
- data/packages/igniter-frontend/lib/igniter/frontend/app_access.rb +0 -36
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/component.rb +0 -120
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/action_group.rb +0 -53
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/badge.rb +0 -91
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/boolean.rb +0 -53
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/breadcrumbs.rb +0 -71
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/card.rb +0 -114
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/conversation_panel.rb +0 -61
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/datetime.rb +0 -42
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/display_value_support.rb +0 -38
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/empty_state.rb +0 -39
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/event_list.rb +0 -44
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/filters.rb +0 -183
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/indicator.rb +0 -59
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/json_panel.rb +0 -36
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/key_value_list.rb +0 -40
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/loading_state.rb +0 -43
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/metric_grid.rb +0 -37
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/number.rb +0 -53
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/page_header.rb +0 -53
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/pagination.rb +0 -143
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/panel.rb +0 -67
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/percentage.rb +0 -79
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/resource_list.rb +0 -38
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/scenario_card.rb +0 -48
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/shell_columns.rb +0 -67
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/sidebar_shell.rb +0 -106
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/table_with.rb +0 -203
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/tabs.rb +0 -147
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/components/viz.rb +0 -185
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/page.rb +0 -74
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/raw_text_node.rb +0 -40
- data/packages/igniter-frontend/lib/igniter/frontend/arbre/template_page.rb +0 -243
- data/packages/igniter-frontend/lib/igniter/frontend/arbre.rb +0 -48
- data/packages/igniter-frontend/lib/igniter/frontend/arbre_page.rb +0 -7
- data/packages/igniter-frontend/lib/igniter/frontend/assets.rb +0 -101
- data/packages/igniter-frontend/lib/igniter/frontend/builder.rb +0 -124
- data/packages/igniter-frontend/lib/igniter/frontend/component.rb +0 -24
- data/packages/igniter-frontend/lib/igniter/frontend/components.rb +0 -7
- data/packages/igniter-frontend/lib/igniter/frontend/context.rb +0 -53
- data/packages/igniter-frontend/lib/igniter/frontend/form_builder.rb +0 -63
- data/packages/igniter-frontend/lib/igniter/frontend/handler.rb +0 -92
- data/packages/igniter-frontend/lib/igniter/frontend/javascript.rb +0 -353
- data/packages/igniter-frontend/lib/igniter/frontend/page.rb +0 -24
- data/packages/igniter-frontend/lib/igniter/frontend/request.rb +0 -61
- data/packages/igniter-frontend/lib/igniter/frontend/response.rb +0 -67
- data/packages/igniter-frontend/lib/igniter/frontend/tailwind/realtime/adapters.rb +0 -226
- data/packages/igniter-frontend/lib/igniter/frontend/tailwind/realtime/presets.rb +0 -147
- data/packages/igniter-frontend/lib/igniter/frontend/tailwind/realtime.rb +0 -259
- data/packages/igniter-frontend/lib/igniter/frontend/tailwind/surfaces.rb +0 -1074
- data/packages/igniter-frontend/lib/igniter/frontend/tailwind/ui.rb +0 -1438
- data/packages/igniter-frontend/lib/igniter/frontend/tailwind.rb +0 -180
- data/packages/igniter-frontend/lib/igniter/frontend/version.rb +0 -9
- data/packages/igniter-frontend/lib/igniter/frontend.rb +0 -35
- data/packages/igniter-frontend/lib/igniter-frontend.rb +0 -3
- data/packages/igniter-rails/README.md +0 -96
- data/packages/igniter-rails/lib/igniter/plugins/rails/cable_adapter.rb +0 -49
- data/packages/igniter-rails/lib/igniter/plugins/rails/contract_job.rb +0 -76
- data/packages/igniter-rails/lib/igniter/plugins/rails/generators/contract/contract_generator.rb +0 -22
- data/packages/igniter-rails/lib/igniter/plugins/rails/generators/contract/templates/contract.rb.tt +0 -22
- data/packages/igniter-rails/lib/igniter/plugins/rails/generators/install/install_generator.rb +0 -33
- data/packages/igniter-rails/lib/igniter/plugins/rails/generators/install/templates/igniter.rb.tt +0 -16
- data/packages/igniter-rails/lib/igniter/plugins/rails/railtie.rb +0 -25
- data/packages/igniter-rails/lib/igniter/plugins/rails/webhook_concern.rb +0 -49
- data/packages/igniter-rails/lib/igniter/plugins/rails.rb +0 -12
- data/packages/igniter-rails/lib/igniter-rails.rb +0 -3
- data/packages/igniter-schema-rendering/README.md +0 -27
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/page.rb +0 -35
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/patcher.rb +0 -47
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/renderer.rb +0 -268
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/schema.rb +0 -172
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/store.rb +0 -53
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/submission_normalizer.rb +0 -117
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/submission_processor.rb +0 -91
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/submission_validator.rb +0 -62
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering/version.rb +0 -9
- data/packages/igniter-schema-rendering/lib/igniter/schema_rendering.rb +0 -20
- data/packages/igniter-schema-rendering/lib/igniter-schema-rendering.rb +0 -3
- data/packages/igniter-sdk/README.md +0 -25
- data/packages/igniter-sdk/lib/igniter/sdk/channels/base.rb +0 -84
- data/packages/igniter-sdk/lib/igniter/sdk/channels/delivery_result.rb +0 -61
- data/packages/igniter-sdk/lib/igniter/sdk/channels/message.rb +0 -101
- data/packages/igniter-sdk/lib/igniter/sdk/channels/telegram.rb +0 -161
- data/packages/igniter-sdk/lib/igniter/sdk/channels/webhook.rb +0 -213
- data/packages/igniter-sdk/lib/igniter/sdk/channels.rb +0 -17
- data/packages/igniter-sdk/lib/igniter/sdk/data/store.rb +0 -31
- data/packages/igniter-sdk/lib/igniter/sdk/data/stores/file.rb +0 -113
- data/packages/igniter-sdk/lib/igniter/sdk/data/stores/in_memory.rb +0 -63
- data/packages/igniter-sdk/lib/igniter/sdk/data/stores/sqlite.rb +0 -144
- data/packages/igniter-sdk/lib/igniter/sdk/data.rb +0 -34
- data/packages/igniter-sdk/lib/igniter/sdk/tools/agent_bootstrap_tool.rb +0 -151
- data/packages/igniter-sdk/lib/igniter/sdk/tools/local_workflow_selector_tool.rb +0 -269
- data/packages/igniter-sdk/lib/igniter/sdk/tools/system_discovery_tool.rb +0 -198
- data/packages/igniter-sdk/lib/igniter/sdk/tools.rb +0 -9
- data/packages/igniter-sdk/lib/igniter/sdk.rb +0 -86
- data/packages/igniter-sdk/lib/igniter-sdk.rb +0 -3
- data/packages/igniter-server/README.md +0 -9
- data/packages/igniter-server/lib/igniter/server/agent_session_store.rb +0 -98
- data/packages/igniter-server/lib/igniter/server/agent_transport.rb +0 -95
- data/packages/igniter-server/lib/igniter/server/app_host.rb +0 -3
- data/packages/igniter-server/lib/igniter/server/client.rb +0 -256
- data/packages/igniter-server/lib/igniter/server/config.rb +0 -70
- data/packages/igniter-server/lib/igniter/server/handlers/agent_message_handler.rb +0 -107
- data/packages/igniter-server/lib/igniter/server/handlers/agent_session_handler.rb +0 -125
- data/packages/igniter-server/lib/igniter/server/handlers/base.rb +0 -105
- data/packages/igniter-server/lib/igniter/server/handlers/contracts_handler.rb +0 -15
- data/packages/igniter-server/lib/igniter/server/handlers/event_handler.rb +0 -32
- data/packages/igniter-server/lib/igniter/server/handlers/execute_handler.rb +0 -43
- data/packages/igniter-server/lib/igniter/server/handlers/health_handler.rb +0 -32
- data/packages/igniter-server/lib/igniter/server/handlers/liveness_handler.rb +0 -20
- data/packages/igniter-server/lib/igniter/server/handlers/manifest_handler.rb +0 -77
- data/packages/igniter-server/lib/igniter/server/handlers/metrics_handler.rb +0 -51
- data/packages/igniter-server/lib/igniter/server/handlers/peers_handler.rb +0 -136
- data/packages/igniter-server/lib/igniter/server/handlers/readiness_handler.rb +0 -47
- data/packages/igniter-server/lib/igniter/server/handlers/status_handler.rb +0 -27
- data/packages/igniter-server/lib/igniter/server/http_server.rb +0 -222
- data/packages/igniter-server/lib/igniter/server/rack_app.rb +0 -60
- data/packages/igniter-server/lib/igniter/server/registry.rb +0 -56
- data/packages/igniter-server/lib/igniter/server/remote_adapter.rb +0 -27
- data/packages/igniter-server/lib/igniter/server/router.rb +0 -291
- data/packages/igniter-server/lib/igniter/server/server_logger.rb +0 -54
- data/packages/igniter-server/lib/igniter/server.rb +0 -130
- data/packages/igniter-server/lib/igniter-server.rb +0 -3
|
@@ -0,0 +1,901 @@
|
|
|
1
|
+
# Inter-Agent Compact Handoff
|
|
2
|
+
|
|
3
|
+
Status date: 2026-04-30.
|
|
4
|
+
Status: active working protocol for parallel research/implementation agents.
|
|
5
|
+
Scope: coordination between `[Architect Supervisor / Codex]` and focused agents
|
|
6
|
+
working on adjacent slices. This is not a runtime protocol, public API, package
|
|
7
|
+
contract, or app feature.
|
|
8
|
+
|
|
9
|
+
## Claim
|
|
10
|
+
|
|
11
|
+
Parallel agents should exchange pressure packets, not long narratives.
|
|
12
|
+
|
|
13
|
+
The packet exists to keep ownership clean while preserving architectural
|
|
14
|
+
continuity:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
agent A proves a slice
|
|
18
|
+
-> agent B accepts or adapts the pressure boundary
|
|
19
|
+
-> supervisor records the resolved/open state
|
|
20
|
+
-> next slice starts from evidence, not rediscovery
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Packet Shape
|
|
24
|
+
|
|
25
|
+
Use this shape when handing work between active agents:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
[Compact Handoff / <sender> -> <recipient>]
|
|
29
|
+
Track:
|
|
30
|
+
Owner:
|
|
31
|
+
Touched:
|
|
32
|
+
Resolved:
|
|
33
|
+
Open Pressure:
|
|
34
|
+
Boundary:
|
|
35
|
+
Evidence:
|
|
36
|
+
Do Not Touch:
|
|
37
|
+
Suggested Next:
|
|
38
|
+
Return Shape:
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Field meanings:
|
|
42
|
+
|
|
43
|
+
- `Track`: the named research/development thread.
|
|
44
|
+
- `Owner`: current owner of the next implementation move.
|
|
45
|
+
- `Touched`: files, packages, endpoints, or docs changed.
|
|
46
|
+
- `Resolved`: questions now closed by evidence.
|
|
47
|
+
- `Open Pressure`: the next unresolved architectural question.
|
|
48
|
+
- `Boundary`: what this packet does not authorize.
|
|
49
|
+
- `Evidence`: specs, smoke commands, endpoints, or manifest facts.
|
|
50
|
+
- `Do Not Touch`: active ownership zones for other agents.
|
|
51
|
+
- `Suggested Next`: the smallest reversible move.
|
|
52
|
+
- `Return Shape`: the compact response expected back.
|
|
53
|
+
|
|
54
|
+
## Current Persistence Packet
|
|
55
|
+
|
|
56
|
+
Use this packet for the current Companion / Store convergence loop:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
[Compact Handoff / Architect Supervisor -> package agent]
|
|
60
|
+
Track: companion-store-convergence
|
|
61
|
+
Owner: package agent owns packages/igniter-companion + packages/igniter-store
|
|
62
|
+
Touched: app-local sidecar only reads package facade; docs record pressure
|
|
63
|
+
Resolved:
|
|
64
|
+
- manifest_generated_record_history_classes
|
|
65
|
+
- normalized_store_receipts_v2
|
|
66
|
+
- history_partition_key
|
|
67
|
+
- store_name_in_manifest
|
|
68
|
+
Open Pressure: effect_metadata
|
|
69
|
+
Boundary:
|
|
70
|
+
- no full Companion backend migration
|
|
71
|
+
- no public API promise
|
|
72
|
+
- no core graph-node promotion
|
|
73
|
+
- no app-local rewrites inside package slice
|
|
74
|
+
Evidence:
|
|
75
|
+
- /setup/store-convergence-sidecar.json status=stable
|
|
76
|
+
- sidecar checks=22
|
|
77
|
+
- igniter-companion specs pass
|
|
78
|
+
- igniter-store specs pass
|
|
79
|
+
Do Not Touch:
|
|
80
|
+
- package agent owns package facade implementation
|
|
81
|
+
- Architect Supervisor owns app-local pressure packets and docs
|
|
82
|
+
Suggested Next:
|
|
83
|
+
- prove one tiny app-flow through Igniter::Companion::Store and normalized receipt
|
|
84
|
+
- keep SQLite JSON backend as the app default during the proof
|
|
85
|
+
Return Shape:
|
|
86
|
+
- Changed
|
|
87
|
+
- Evidence
|
|
88
|
+
- Resolved
|
|
89
|
+
- New Pressure
|
|
90
|
+
- Boundary Risk
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Return Shape
|
|
94
|
+
|
|
95
|
+
Agents should return:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
[Compact Handoff / <sender> -> Architect Supervisor]
|
|
99
|
+
Track:
|
|
100
|
+
Changed:
|
|
101
|
+
Evidence:
|
|
102
|
+
Resolved:
|
|
103
|
+
New Pressure:
|
|
104
|
+
Boundary Risk:
|
|
105
|
+
Needs:
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
`Boundary Risk` must be explicit. If it is non-empty, the supervisor decides
|
|
109
|
+
whether to narrow, accept, or split the next slice.
|
|
110
|
+
|
|
111
|
+
## Rules
|
|
112
|
+
|
|
113
|
+
- Prefer one compact packet per slice, not a running log.
|
|
114
|
+
- Link to deeper docs only when needed.
|
|
115
|
+
- Treat `Resolved` as provisional until evidence is named.
|
|
116
|
+
- Treat `Open Pressure` as a question, not a mandate.
|
|
117
|
+
- Keep package ownership and app-local ownership separate unless the user
|
|
118
|
+
explicitly asks to merge the work.
|
|
119
|
+
- If two agents touch adjacent files, the second packet must name the overlap.
|
|
120
|
+
|
|
121
|
+
## Handoff
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
[Architect Supervisor / Codex]
|
|
125
|
+
Track: docs/research/inter-agent-compact-handoff.md
|
|
126
|
+
Status: compact protocol accepted for parallel Companion / Store convergence.
|
|
127
|
+
[D] Use pressure packets between agents instead of long context dumps.
|
|
128
|
+
[R] Every packet names ownership, resolved questions, open pressure, evidence,
|
|
129
|
+
boundary, and do-not-touch zones.
|
|
130
|
+
[R] For the current persistence loop, package agent owns package facade work;
|
|
131
|
+
Architect Supervisor owns app-local pressure packets and docs.
|
|
132
|
+
[S] Current open pressure is companion_store_backed_app_flow.
|
|
133
|
+
Next: use this packet in the next package/app-local exchange and revise only
|
|
134
|
+
after real coordination friction appears.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Return Packet
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
141
|
+
Track: companion-store-convergence
|
|
142
|
+
Changed:
|
|
143
|
+
- packages/igniter-companion/lib/igniter/companion/record.rb
|
|
144
|
+
Record.from_manifest(manifest, store: nil) — optional store:, fallback to storage.name
|
|
145
|
+
- packages/igniter-companion/lib/igniter/companion/history.rb
|
|
146
|
+
History.from_manifest(manifest, store: nil) — partition_key from manifest.history.key
|
|
147
|
+
- packages/igniter-companion/lib/igniter/companion.rb
|
|
148
|
+
Companion.from_manifest(manifest, store: nil) — shape dispatch + name fallback
|
|
149
|
+
- packages/igniter-companion/lib/igniter/companion/receipts.rb
|
|
150
|
+
WriteReceipt, AppendReceipt — normalized metadata + method_missing delegation
|
|
151
|
+
- packages/igniter-companion/lib/igniter/companion/store.rb
|
|
152
|
+
write → WriteReceipt, append → AppendReceipt, replay(partition:)
|
|
153
|
+
- examples/application/companion/contracts.rb
|
|
154
|
+
persistence_manifest_for: infer_store_name + storage[:name]
|
|
155
|
+
- examples/application/companion/services/store_convergence_sidecar.rb
|
|
156
|
+
uses Companion.from_manifest(manifest) — no explicit store: arg
|
|
157
|
+
- examples/application/companion/services/companion_store_app_flow_sidecar.rb [NEW]
|
|
158
|
+
isolated adapter slice proving one app-pattern write through package facade
|
|
159
|
+
- examples/application/companion/contracts/store_convergence_sidecar_contract.rb
|
|
160
|
+
20 checks (added manifest_generated, store_name_in_manifest)
|
|
161
|
+
Evidence:
|
|
162
|
+
- igniter-companion: 41 specs, 0 failures
|
|
163
|
+
- igniter-store: 16 specs, 0 failures
|
|
164
|
+
- store_convergence_sidecar: 20/20 checks stable
|
|
165
|
+
- companion_store_app_flow_sidecar: proof passes
|
|
166
|
+
- Companion.from_manifest(manifest) works without store: arg
|
|
167
|
+
Resolved:
|
|
168
|
+
- manifest_generated_record_history_classes
|
|
169
|
+
- normalized_store_receipts_v2
|
|
170
|
+
- history_partition_key
|
|
171
|
+
- store_name_in_manifest
|
|
172
|
+
- companion_store_backed_app_flow (isolated adapter slice, not full migration)
|
|
173
|
+
- portable_field_types (annotation-only: type:/values: in _fields, no coercion)
|
|
174
|
+
New Pressure:
|
|
175
|
+
- mutation_intent_to_app_boundary: should WriteReceipt.mutation_intent feed the
|
|
176
|
+
app-local action history model directly, or need a projection layer?
|
|
177
|
+
- field_type_coercion: type: is metadata only; `:datetime` fields return strings,
|
|
178
|
+
`:integer` fields may return floats on JSON round-trip — coercion deferred
|
|
179
|
+
- storage_name_convention: snake_plural inference is naive; acronyms and
|
|
180
|
+
irregular plurals will fail silently (HTTP -> h_t_t_ps)
|
|
181
|
+
Boundary Risk:
|
|
182
|
+
- storage.name inference uses convention; no explicit DSL declaration yet —
|
|
183
|
+
risk if contract class names are ambiguous or project uses custom names
|
|
184
|
+
- companion_store_app_flow_sidecar does NOT replace the SQLite backend; the main
|
|
185
|
+
app still uses blob-JSON SQLite; this is report-only
|
|
186
|
+
Do Not Touch:
|
|
187
|
+
- Architect Supervisor owns app-local pressure packets, docs, companion app services
|
|
188
|
+
- Package Agent owns packages/igniter-companion + packages/igniter-store implementation
|
|
189
|
+
Needs:
|
|
190
|
+
- Architect Supervisor decision: which manifest descriptor to mirror next
|
|
191
|
+
(field types, index, command metadata, or relations)?
|
|
192
|
+
- Is the isolated adapter slice sufficient for companion_store_backed_app_flow,
|
|
193
|
+
or is a wired service required before closing this pressure?
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Supervisor Receipt
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
200
|
+
Track: companion-store-convergence
|
|
201
|
+
Accepted:
|
|
202
|
+
- companion_store_backed_app_flow is sufficient as an isolated proof
|
|
203
|
+
- it does not imply full app backend migration
|
|
204
|
+
Resolved:
|
|
205
|
+
- companion_store_backed_app_flow
|
|
206
|
+
New Pressure:
|
|
207
|
+
- package facade: portable_field_types
|
|
208
|
+
- app boundary: mutation_intent_to_app_boundary
|
|
209
|
+
Boundary:
|
|
210
|
+
- keep SQLite JSON backend as Companion default
|
|
211
|
+
- keep package implementation ownership with Package Agent
|
|
212
|
+
- keep app-local setup packets/docs with Architect Supervisor
|
|
213
|
+
Evidence Added:
|
|
214
|
+
- /setup/companion-store-app-flow-sidecar(.json)
|
|
215
|
+
- companion_poc_companion_store_app_flow_sidecar_contract=true
|
|
216
|
+
Suggested Next:
|
|
217
|
+
- Package Agent may explore portable field type descriptors in from_manifest
|
|
218
|
+
- Architect Supervisor may explore receipt projection into action history
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Supervisor Receipt: Portable Field Types
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
225
|
+
Track: companion-store-convergence
|
|
226
|
+
Accepted:
|
|
227
|
+
- portable_field_types is sufficient as annotation-only package metadata
|
|
228
|
+
- type coercion remains deferred
|
|
229
|
+
Resolved:
|
|
230
|
+
- portable_field_types
|
|
231
|
+
New Pressure:
|
|
232
|
+
- app boundary: mutation_intent_to_app_boundary
|
|
233
|
+
- future package pressure: field_type_coercion after app pressure repeats
|
|
234
|
+
Boundary:
|
|
235
|
+
- do not add coercion yet
|
|
236
|
+
- do not make type metadata a validation gate
|
|
237
|
+
- keep Companion backend unchanged
|
|
238
|
+
Evidence Accepted:
|
|
239
|
+
- Record/History field metadata mirrors type:/values:
|
|
240
|
+
- app-flow sidecar has 13/13 checks stable
|
|
241
|
+
- convergence pressure now points to mutation_intent_to_app_boundary
|
|
242
|
+
Suggested Next:
|
|
243
|
+
- Architect Supervisor should test receipt projection into action history
|
|
244
|
+
- Package Agent should wait for repeated pressure before coercion/index work
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Supervisor Receipt: Mutation Intent To App Boundary
|
|
248
|
+
|
|
249
|
+
```text
|
|
250
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
251
|
+
Track: companion-store-convergence
|
|
252
|
+
Accepted:
|
|
253
|
+
- mutation_intent_to_app_boundary is resolved app-locally by projection
|
|
254
|
+
- package WriteReceipt remains evidence; action history receives a small app receipt
|
|
255
|
+
Resolved:
|
|
256
|
+
- mutation_intent_to_app_boundary
|
|
257
|
+
New Pressure:
|
|
258
|
+
- package facade: index_metadata
|
|
259
|
+
Boundary:
|
|
260
|
+
- do not expose fact_id/value_hash in CompanionAction
|
|
261
|
+
- do not consume package receipts directly as app history rows
|
|
262
|
+
- keep projection report-only until repeated app pressure appears
|
|
263
|
+
Evidence Added:
|
|
264
|
+
- /setup/companion-receipt-projection-sidecar(.json)
|
|
265
|
+
- companion_poc_companion_receipt_projection_sidecar_contract=true
|
|
266
|
+
- convergence pressure now points to index_metadata
|
|
267
|
+
Suggested Next:
|
|
268
|
+
- Package Agent may explore index metadata mirroring in from_manifest
|
|
269
|
+
- Architect Supervisor keeps receipt projection as the app-boundary pattern
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## Supervisor Pressure: Index Metadata
|
|
273
|
+
|
|
274
|
+
```text
|
|
275
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
276
|
+
Track: companion-store-convergence
|
|
277
|
+
Status:
|
|
278
|
+
- superseded by Return Packet: Index Metadata + Push Layer
|
|
279
|
+
- index_metadata was app-local pressure and is now package-closed
|
|
280
|
+
Observed:
|
|
281
|
+
- Reminder and Article manifests both declare index :status
|
|
282
|
+
- index descriptors normalize to fields: [:status]
|
|
283
|
+
- open/drafts/published scopes can explain coverage from status indexes
|
|
284
|
+
Gap:
|
|
285
|
+
- closed by generated Record._indexes metadata
|
|
286
|
+
Boundary:
|
|
287
|
+
- no SQL index promise
|
|
288
|
+
- no adapter migration
|
|
289
|
+
- no runtime query planner change
|
|
290
|
+
- keep scope queries as access paths
|
|
291
|
+
Evidence Added:
|
|
292
|
+
- /setup/companion-index-metadata-sidecar(.json)
|
|
293
|
+
- companion_poc_companion_index_metadata_sidecar_contract=true
|
|
294
|
+
Package Request:
|
|
295
|
+
- mirror manifest indexes as generated Record metadata
|
|
296
|
+
- preserve `index_metadata -> Store[T] access-path metadata`, not DB schema
|
|
297
|
+
Suggested Next:
|
|
298
|
+
- Architect Supervisor should move current pressure to command_metadata
|
|
299
|
+
- keep effect/relation metadata queued behind command metadata
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## Supervisor Pressure: Store Server Topology
|
|
303
|
+
|
|
304
|
+
```text
|
|
305
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
306
|
+
Track: companion-store-convergence
|
|
307
|
+
Status:
|
|
308
|
+
- store_server_topology is now an app-local pressure packet
|
|
309
|
+
- it is parallel to index_metadata, not a replacement for it
|
|
310
|
+
Observed:
|
|
311
|
+
- Companion Store has backend shape :memory / :file / :network
|
|
312
|
+
- StoreServer owns durable facts, WAL, replay, snapshot
|
|
313
|
+
- app process keeps contract computation and typed facade
|
|
314
|
+
- clients replay facts and rebuild local read indices
|
|
315
|
+
Gap:
|
|
316
|
+
- current runtime is NATIVE=true
|
|
317
|
+
- NetworkBackend / StoreServer are Ruby Phase 1 only under current package guard
|
|
318
|
+
- native wire deserialization needs Fact construction from existing wire fields
|
|
319
|
+
Boundary:
|
|
320
|
+
- no network execution in Companion POC
|
|
321
|
+
- no app backend migration
|
|
322
|
+
- no contract logic RPC
|
|
323
|
+
- no public API promise
|
|
324
|
+
Evidence Added:
|
|
325
|
+
- /setup/companion-store-server-topology-sidecar(.json)
|
|
326
|
+
- companion_poc_companion_store_server_topology_sidecar_contract=true
|
|
327
|
+
Package Request:
|
|
328
|
+
- add native fact deserialization for wire/replay payloads
|
|
329
|
+
- preserve NetworkBackend as backend swap, not logic transport
|
|
330
|
+
Suggested Next:
|
|
331
|
+
- Package Agent can keep index_metadata primary
|
|
332
|
+
- Store Agent can use this packet when planning Rust network parity
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
## Supervisor Pressure: Store Server Lifecycle + Push
|
|
336
|
+
|
|
337
|
+
```text
|
|
338
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
339
|
+
Track: companion-store-convergence
|
|
340
|
+
Status:
|
|
341
|
+
- StoreServer progressed from topology proof to operational lifecycle proof
|
|
342
|
+
- Companion topology sidecar now tracks this without executing network I/O
|
|
343
|
+
Observed:
|
|
344
|
+
- ServerConfig / ServerLogger / SubscriptionRegistry are loaded under NATIVE
|
|
345
|
+
- StoreServer Ruby Phase 1 adds wait_until_ready, graceful drain, stats,
|
|
346
|
+
active connection count, pid file lifecycle, and standalone exe
|
|
347
|
+
- Network push now has subscribe(stores:) -> fact_written delivery and close
|
|
348
|
+
Gap:
|
|
349
|
+
- StoreServer / NetworkBackend constants are still absent under NATIVE
|
|
350
|
+
- wire deserialization still needs native Fact construction from wire fields
|
|
351
|
+
Boundary:
|
|
352
|
+
- subscriptions are delivery/capability surface, not contract logic callbacks
|
|
353
|
+
- stats are operational observability, not app-level domain state
|
|
354
|
+
- index_metadata remains the primary package convergence request
|
|
355
|
+
Evidence Added:
|
|
356
|
+
- /setup/companion-store-server-topology-sidecar(.json) now reports 15 checks
|
|
357
|
+
- readiness=wait_until_ready
|
|
358
|
+
- subscription_boundary.registry=subscription_registry
|
|
359
|
+
Package Request:
|
|
360
|
+
- keep lifecycle/delivery semantics below Store[T]/History[T]
|
|
361
|
+
- after native wire parity, define whether subscribe is backend capability,
|
|
362
|
+
projection invalidation primitive, or both
|
|
363
|
+
Suggested Next:
|
|
364
|
+
- Package Agent can continue index_metadata while Store Agent closes native wire
|
|
365
|
+
- Architect Supervisor can next model app-level invalidation receipts over push
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Return Packet: Index Metadata + Push Layer
|
|
369
|
+
|
|
370
|
+
```text
|
|
371
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
372
|
+
Track: companion-store-convergence
|
|
373
|
+
Changed:
|
|
374
|
+
- packages/igniter-store/lib/igniter/store/subscription_registry.rb [NEW]
|
|
375
|
+
SubscriptionRecord { id, stores, handler } — callables-only routing layer
|
|
376
|
+
fan_out: dispatches to matching handlers, removes dead handlers on raise
|
|
377
|
+
subscriber_count(store) for observability
|
|
378
|
+
- packages/igniter-store/lib/igniter/store/store_server.rb
|
|
379
|
+
handle_subscription_mode: TCP push adapter lambda wired to registry
|
|
380
|
+
@registry.fan_out(fact) after every write_fact dispatch
|
|
381
|
+
subscription_count(store) public accessor
|
|
382
|
+
- packages/igniter-store/lib/igniter/store/network_backend.rb
|
|
383
|
+
NetworkBackend::Subscription { socket, thread } — closeable handle
|
|
384
|
+
subscribe(stores:, &callback) → dedicated second connection for push events
|
|
385
|
+
- packages/igniter-companion/lib/igniter/companion/record.rb
|
|
386
|
+
index(name, fields:, unique: false) DSL on ClassMethods
|
|
387
|
+
_indexes reader returning { name => { fields:, unique: } }
|
|
388
|
+
from_manifest mirrors manifest[:indexes] into generated Record class
|
|
389
|
+
- examples/application/companion/services/companion_index_metadata_sidecar.rb
|
|
390
|
+
pressure: next_question → :command_metadata, resolved: :index_metadata
|
|
391
|
+
- examples/application/companion/contracts/companion_index_metadata_sidecar_contract.rb
|
|
392
|
+
:package_index_gap_detected → :package_index_gap_closed (gap now verified closed)
|
|
393
|
+
:pressure_ready checks next_question==:command_metadata, resolved==:index_metadata
|
|
394
|
+
- examples/application/companion/runtime.rb
|
|
395
|
+
companion_index_metadata_sidecar_contract? reflects closed gap
|
|
396
|
+
endpoint checkers updated to match new pressure shape
|
|
397
|
+
Evidence:
|
|
398
|
+
- igniter-store: 97 specs, 0 failures (88 → +9 subscription specs)
|
|
399
|
+
- igniter-companion: 47 specs, 0 failures
|
|
400
|
+
- CompanionIndexMetadataSidecar.packet: stable, 12/12 checks, gap=closed
|
|
401
|
+
- generated._indexes.keys includes :status index from manifest
|
|
402
|
+
- SubscriptionRegistry fan_out: 5 integration specs pass (multi-store, multi-subscriber, count lifecycle)
|
|
403
|
+
Resolved:
|
|
404
|
+
- index_metadata: Record._indexes + from_manifest mirroring
|
|
405
|
+
- subscription_registry_push: three-layer architecture (registry → adapter lambda → transport)
|
|
406
|
+
New Pressure:
|
|
407
|
+
- command_metadata: manifest command/effect descriptors not yet mirrored into Record/History
|
|
408
|
+
- subscription_delivery_semantics: after native wire parity, define whether subscribe
|
|
409
|
+
is a backend capability, projection invalidation primitive, or both
|
|
410
|
+
Boundary Risk:
|
|
411
|
+
- _indexes is metadata-only; no runtime query planner uses it yet — acceptable per boundary
|
|
412
|
+
- push subscribe uses dedicated second connection; no multiplexing with RPC — safe for Phase 1
|
|
413
|
+
- store convergence sidecar should report next_question=:command_metadata (Supervisor's domain)
|
|
414
|
+
Needs:
|
|
415
|
+
- Supervisor decision: which manifest descriptor to mirror next (command or effect metadata)?
|
|
416
|
+
- Is subscription_delivery_semantics a package-level pressure now, or queued after native wire?
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
## Supervisor Decision: Command Metadata Next
|
|
420
|
+
|
|
421
|
+
```text
|
|
422
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
423
|
+
Track: companion-store-convergence
|
|
424
|
+
Decision:
|
|
425
|
+
- index_metadata is accepted as resolved
|
|
426
|
+
- next package-facing descriptor pressure is command_metadata
|
|
427
|
+
- subscription_delivery_semantics is queued behind native wire parity
|
|
428
|
+
Why:
|
|
429
|
+
- command metadata already exists in app manifests and normalized operation intent
|
|
430
|
+
- mirroring command descriptors keeps persistence capability graph-shaped
|
|
431
|
+
- executing commands in Store is still a non-goal
|
|
432
|
+
Updated Evidence:
|
|
433
|
+
- /setup/store-convergence-sidecar.json now reports checks=21
|
|
434
|
+
- pressure.next_question=:command_metadata
|
|
435
|
+
- pressure.resolved includes :index_metadata
|
|
436
|
+
- record.generated_index_names includes :status
|
|
437
|
+
- /setup/companion-index-metadata-sidecar.json reports package_gap=:closed
|
|
438
|
+
Package Request:
|
|
439
|
+
- add metadata-only command descriptor surface on generated Record/History
|
|
440
|
+
- preserve lowering: command metadata -> mutation_intent -> app boundary
|
|
441
|
+
- no store-side command execution, no adapter-specific action API
|
|
442
|
+
Queued:
|
|
443
|
+
- effect metadata after command descriptor shape is stable
|
|
444
|
+
- relation metadata after command/effect descriptors
|
|
445
|
+
- subscription_delivery_semantics after native wire parity
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
## Return Packet: Command Metadata
|
|
449
|
+
|
|
450
|
+
```text
|
|
451
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
452
|
+
Track: companion-store-convergence
|
|
453
|
+
Changed:
|
|
454
|
+
- packages/igniter-companion/lib/igniter/companion/record.rb
|
|
455
|
+
command(name, **attrs) DSL on ClassMethods
|
|
456
|
+
_commands reader returning { name => { operation:, changes:, ... } }
|
|
457
|
+
from_manifest mirrors manifest[:commands] into generated Record class
|
|
458
|
+
- examples/application/companion/services/companion_command_metadata_sidecar.rb [NEW]
|
|
459
|
+
proof: command_count, commands (name/operation/changes/lowers_to), lowering_preserved
|
|
460
|
+
package_gap: status closed once _commands present
|
|
461
|
+
pressure: next_question=:effect_metadata, resolved=:command_metadata
|
|
462
|
+
- examples/application/companion/contracts/companion_command_metadata_sidecar_contract.rb [NEW]
|
|
463
|
+
12 checks: report_only, no_runtime_gate, no_backend_replacement, no_main_state_mutation,
|
|
464
|
+
no_store_side_execution, manifest_commands_present, command_operations_declared,
|
|
465
|
+
command_lowering_preserved, generated_command_api_present, generated_command_names_match,
|
|
466
|
+
package_command_gap_closed, pressure_ready
|
|
467
|
+
- examples/application/companion/services/companion_store.rb
|
|
468
|
+
companion_command_metadata_sidecar method
|
|
469
|
+
- examples/application/companion/app_dsl.rb
|
|
470
|
+
snapshot entry + GET /setup/companion-command-metadata-sidecar{,.json} routes
|
|
471
|
+
- examples/application/companion/runtime.rb
|
|
472
|
+
HTTP calls, body joins, status/endpoint out.puts, contract key,
|
|
473
|
+
companion_command_metadata_sidecar_contract? and endpoint validation methods
|
|
474
|
+
Evidence:
|
|
475
|
+
- igniter-companion: 47 specs, 0 failures
|
|
476
|
+
- CompanionCommandMetadataSidecar.packet: stable, 12/12 checks, gap=closed
|
|
477
|
+
- Reminder._commands.keys = [:complete], Article._commands.keys = [:publish]
|
|
478
|
+
- lowering_preserved=true for all records
|
|
479
|
+
- command_metadata lowers to :mutation_intent (no store-side execution)
|
|
480
|
+
Resolved:
|
|
481
|
+
- command_metadata: Record._commands + from_manifest mirroring, lowering verified
|
|
482
|
+
New Pressure:
|
|
483
|
+
- effect_metadata: manifest effect descriptors not yet mirrored (queued per Supervisor)
|
|
484
|
+
Boundary Risk:
|
|
485
|
+
- _commands is metadata-only; no store-side dispatch, no adapter action API — within boundary
|
|
486
|
+
- store convergence sidecar still showed :command_metadata before Supervisor update
|
|
487
|
+
Needs:
|
|
488
|
+
- Supervisor decision now follows in the next packet
|
|
489
|
+
- Store convergence should check command metadata gap status in the central packet
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
## Supervisor Decision: Effect Metadata Next
|
|
493
|
+
|
|
494
|
+
```text
|
|
495
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
496
|
+
Track: companion-store-convergence
|
|
497
|
+
Decision:
|
|
498
|
+
- command_metadata is accepted as resolved
|
|
499
|
+
- next package-facing descriptor pressure is effect_metadata
|
|
500
|
+
- relation_metadata stays queued behind effect metadata
|
|
501
|
+
- subscription_delivery_semantics stays queued behind native wire parity
|
|
502
|
+
Why:
|
|
503
|
+
- commands now mirror as metadata-only _commands and still lower to mutation_intent
|
|
504
|
+
- effect descriptors are the next closest boundary to store_write/store_append
|
|
505
|
+
- relation metadata should follow after command/effect descriptor vocabulary settles
|
|
506
|
+
Updated Evidence:
|
|
507
|
+
- /setup/store-convergence-sidecar.json now reports checks=22
|
|
508
|
+
- pressure.next_question=:effect_metadata
|
|
509
|
+
- pressure.resolved includes :command_metadata
|
|
510
|
+
- record.generated_command_names includes :complete
|
|
511
|
+
- /setup/companion-command-metadata-sidecar.json reports package_gap=:closed
|
|
512
|
+
Package Request:
|
|
513
|
+
- add metadata-only effect descriptor surface on generated Record/History
|
|
514
|
+
- preserve lowering: effect metadata -> typed store_write/store_append intent -> app boundary
|
|
515
|
+
- no store-side effect execution, no adapter action API
|
|
516
|
+
Queued:
|
|
517
|
+
- relation metadata after effect descriptors
|
|
518
|
+
- subscription_delivery_semantics after native wire parity
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
## Return Packet: Effect Metadata
|
|
522
|
+
|
|
523
|
+
```text
|
|
524
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
525
|
+
Track: companion-store-convergence
|
|
526
|
+
Changed:
|
|
527
|
+
- packages/igniter-companion/lib/igniter/companion/record.rb
|
|
528
|
+
EFFECT_KIND_MAP constant: record_append→store_write/insert/store_t,
|
|
529
|
+
record_update→store_write/update/store_t, history_append→store_append/append/history_t
|
|
530
|
+
_effects computed from _commands — no new DSL, no manifest changes needed
|
|
531
|
+
- examples/application/companion/services/companion_effect_metadata_sidecar.rb [NEW]
|
|
532
|
+
proof: effect_count, effects (name/store_op/write_kind/lowers_to/source_operation),
|
|
533
|
+
effects_cover_commands, lowering_preserved, store_write_effects, store_append_effects
|
|
534
|
+
package_gap: status closed, derivation_strategy=derived_from_commands
|
|
535
|
+
pressure: next_question=:relation_metadata, resolved=:effect_metadata
|
|
536
|
+
- examples/application/companion/contracts/companion_effect_metadata_sidecar_contract.rb [NEW]
|
|
537
|
+
12 checks: report_only, no_runtime_gate, no_backend_replacement, no_main_state_mutation,
|
|
538
|
+
no_store_side_execution, effects_derived_from_commands, manifest_effects_present,
|
|
539
|
+
effects_cover_commands, store_write_intent_present, lowering_chain_preserved,
|
|
540
|
+
package_effect_gap_closed, pressure_ready
|
|
541
|
+
- examples/application/companion/services/companion_store.rb
|
|
542
|
+
companion_effect_metadata_sidecar method
|
|
543
|
+
- examples/application/companion/app_dsl.rb
|
|
544
|
+
snapshot entry + GET /setup/companion-effect-metadata-sidecar{,.json} routes
|
|
545
|
+
- examples/application/companion/runtime.rb
|
|
546
|
+
HTTP calls, body joins, status/endpoint out.puts, contract key,
|
|
547
|
+
companion_effect_metadata_sidecar_contract? and endpoint validation methods
|
|
548
|
+
Evidence:
|
|
549
|
+
- igniter-companion: 47 specs, 0 failures
|
|
550
|
+
- CompanionEffectMetadataSidecar.packet: stable, 12/12 checks, gap=closed
|
|
551
|
+
- Reminder._effects=[:complete]→{store_op: :store_write, write_kind: :update, lowers_to: :store_t}
|
|
552
|
+
- Article._effects=[:publish]→{store_op: :store_write, write_kind: :update, lowers_to: :store_t}
|
|
553
|
+
- No new DSL in contracts.rb — derivation is purely computed from _commands
|
|
554
|
+
Resolved:
|
|
555
|
+
- effect_metadata: _effects computed from _commands, lowering chain verified
|
|
556
|
+
New Pressure:
|
|
557
|
+
- relation_metadata: manifest relation descriptors not yet mirrored (queued per Supervisor)
|
|
558
|
+
Boundary Risk:
|
|
559
|
+
- _effects is derived, not declared — if a command has an unknown operation, store_op=:none
|
|
560
|
+
(handled by EFFECT_KIND_MAP __unknown__ fallback; no silent data loss)
|
|
561
|
+
- store convergence sidecar next_question may still show :effect_metadata (Supervisor's domain)
|
|
562
|
+
Needs:
|
|
563
|
+
- Supervisor decision now follows in the next packet
|
|
564
|
+
- Store convergence should check effect metadata gap status in the central packet
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
## Supervisor Decision: Relation Metadata Next
|
|
568
|
+
|
|
569
|
+
```text
|
|
570
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
571
|
+
Track: companion-store-convergence
|
|
572
|
+
Decision:
|
|
573
|
+
- effect_metadata is accepted as resolved
|
|
574
|
+
- next package-facing descriptor pressure is relation_metadata
|
|
575
|
+
- subscription_delivery_semantics stays queued behind native wire parity
|
|
576
|
+
Why:
|
|
577
|
+
- effects are derived metadata from _commands, not a new DSL surface
|
|
578
|
+
- _effects preserves the lowering chain to store_write/store_append intent
|
|
579
|
+
- relation descriptors are now the next unresolved manifest vocabulary
|
|
580
|
+
Updated Evidence:
|
|
581
|
+
- /setup/store-convergence-sidecar.json now reports checks=23
|
|
582
|
+
- pressure.next_question=:relation_metadata
|
|
583
|
+
- pressure.resolved includes :effect_metadata
|
|
584
|
+
- record.generated_effect_names includes :complete
|
|
585
|
+
- record.generated_effect_store_ops includes :store_write
|
|
586
|
+
- /setup/companion-effect-metadata-sidecar.json reports package_gap=:closed
|
|
587
|
+
Package Request:
|
|
588
|
+
- add metadata-only relation descriptor surface on generated Record/History
|
|
589
|
+
- preserve relation health/reporting above Store[T]/History[T]
|
|
590
|
+
- no store-side joins, no adapter relation execution API
|
|
591
|
+
Queued:
|
|
592
|
+
- subscription_delivery_semantics after native wire parity
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
## Return Packet: OP1-OP4 Protocol Horizon
|
|
596
|
+
|
|
597
|
+
```text
|
|
598
|
+
[Compact Handoff / Architect Supervisor]
|
|
599
|
+
Track: companion-store-convergence
|
|
600
|
+
Status:
|
|
601
|
+
- current Store/Companion protocol pressure packet is closed for this POC slice
|
|
602
|
+
- StoreConvergenceSidecar reports pressure.next_question=nil
|
|
603
|
+
Changed:
|
|
604
|
+
- Companion relation auto-wire registers one_to_many relation descriptors as
|
|
605
|
+
Store RelationRule-backed indexes
|
|
606
|
+
- Companion resolve now returns typed source records when schema is known and
|
|
607
|
+
supports as_of point-in-time relation resolution
|
|
608
|
+
- OP1 descriptor packet import supports store/history/access_path/relation/
|
|
609
|
+
projection/derivation/subscription descriptors with receipts and dedup
|
|
610
|
+
- OP2 metadata_snapshot exposes stores, histories, access paths, relations,
|
|
611
|
+
projections, derivations, scatters, subscriptions, and retention
|
|
612
|
+
- OP3 WireEnvelope routes register/write/read/query/resolve/metadata/replay
|
|
613
|
+
across process-boundary packet hashes
|
|
614
|
+
- OP4 SyncProfile packages descriptors, fact replay, retention, compaction
|
|
615
|
+
receipts, cursor, and incremental sync shape
|
|
616
|
+
- CompanionStore exposes metadata_snapshot and descriptor_snapshot over the
|
|
617
|
+
protocol surface
|
|
618
|
+
Evidence:
|
|
619
|
+
- examples smoke: 87 passed, 0 failed, 0 skipped
|
|
620
|
+
- packages/igniter-store/spec: 327 examples, 0 failures, 2 pending
|
|
621
|
+
- packages/igniter-companion/spec with RUBYLIB: 89 examples, 0 failures
|
|
622
|
+
- companion_poc convergence/projection/topology predicates are true
|
|
623
|
+
Boundary:
|
|
624
|
+
- not a public API promise
|
|
625
|
+
- StoreServer remains fact/projection host, not contract-logic RPC
|
|
626
|
+
- sync hub profile is packet shape, not hot write-path dependency
|
|
627
|
+
- native Fact#producer persistence remains Phase 2 pending
|
|
628
|
+
Next:
|
|
629
|
+
- architect should choose the next slice explicitly: protocol conformance kit,
|
|
630
|
+
StoreServer envelope integration, app-local protocol adoption, or sync-hub
|
|
631
|
+
follow-through
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
## Return Packet: Projection Mirroring + Reactive Derivation
|
|
635
|
+
|
|
636
|
+
```text
|
|
637
|
+
[Compact Handoff / Architect Supervisor]
|
|
638
|
+
Track: companion-store-convergence
|
|
639
|
+
Status:
|
|
640
|
+
- projection_descriptor_mirroring is now resolved as package metadata evidence
|
|
641
|
+
- reactive_derivation was the active next pressure for this packet
|
|
642
|
+
Changed:
|
|
643
|
+
- packages/igniter-store:
|
|
644
|
+
AccessPath adds ProjectionPath and DerivationRule
|
|
645
|
+
SchemaGraph adds projection registry/snapshot and derivation registry/snapshot
|
|
646
|
+
IgniterStore adds register_projection, register_derivation, derivation runner,
|
|
647
|
+
and lineage(store:, key:) with derived_by + proof_hash evidence
|
|
648
|
+
- packages/igniter-companion:
|
|
649
|
+
Store exposes register_projection and _projections over SchemaGraph
|
|
650
|
+
- examples/application/companion:
|
|
651
|
+
companion_store_projection_metadata_sidecar now verifies _projections and
|
|
652
|
+
reports package_gap=:closed
|
|
653
|
+
store_convergence_sidecar pressure.next_question=:reactive_derivation
|
|
654
|
+
Evidence:
|
|
655
|
+
- packages/igniter-store/spec: 221 examples, 0 failures
|
|
656
|
+
- packages/igniter-companion/spec: 47 examples, 0 failures
|
|
657
|
+
- companion_poc convergence/projection/topology runtime predicates are true
|
|
658
|
+
Boundary:
|
|
659
|
+
- no query planner
|
|
660
|
+
- no adapter projection execution
|
|
661
|
+
- no app backend migration
|
|
662
|
+
- derivation exists as Store substrate proof, not yet as Companion app lowering
|
|
663
|
+
Next:
|
|
664
|
+
- prove app projection/read-model intent can lower to DerivationRule without
|
|
665
|
+
moving business contract logic into Store
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
## Return Packet: Retention + Scatter Derivation
|
|
669
|
+
|
|
670
|
+
```text
|
|
671
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
672
|
+
Track: igniter-store-reactive-derivation
|
|
673
|
+
Status:
|
|
674
|
+
- Store substrate advanced beyond gather derivation into retention/compaction
|
|
675
|
+
and scatter derivation
|
|
676
|
+
Changed:
|
|
677
|
+
- RetentionPolicy: strategy=:permanent/:ephemeral/:rolling_window, duration
|
|
678
|
+
- SchemaGraph: retention registry/snapshot, scatter registry/snapshot
|
|
679
|
+
- IgniterStore#set_retention, compact, compaction_receipts
|
|
680
|
+
- IgniterStore#register_scatter with partition_by -> target_store index entry
|
|
681
|
+
Evidence:
|
|
682
|
+
- packages/igniter-store/spec: 221 examples, 0 failures
|
|
683
|
+
- compaction receipts are written to :__compaction_receipts before log rebuild
|
|
684
|
+
- compaction keeps latest per key and clears cache/scope/history indices
|
|
685
|
+
- scatter accumulates per-partition index facts and coexists with gather
|
|
686
|
+
derivations under separate cycle guards
|
|
687
|
+
Boundary:
|
|
688
|
+
- compaction is explicit, not automatic scheduler/runtime policy
|
|
689
|
+
- scatter is substrate/index maintenance, not app projection business logic
|
|
690
|
+
- no public contract DSL promise yet
|
|
691
|
+
Next:
|
|
692
|
+
- app-local proof should decide which projection/relation index intent maps to
|
|
693
|
+
gather DerivationRule versus scatter ScatterRule
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
## Return Packet: Companion Scatter Facade
|
|
697
|
+
|
|
698
|
+
```text
|
|
699
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
700
|
+
Track: companion-store-convergence
|
|
701
|
+
Status:
|
|
702
|
+
- reactive_derivation and scatter_derivation are now treated as resolved
|
|
703
|
+
package/facade substrate evidence
|
|
704
|
+
- next pressure is relation_rule_dsl
|
|
705
|
+
Changed:
|
|
706
|
+
- Igniter::Companion::Store exposes register_scatter(source_schema,
|
|
707
|
+
partition_by:, target_store:, rule:) and _scatters
|
|
708
|
+
- StoreConvergenceSidecar pressure now includes:
|
|
709
|
+
resolved += reactive_derivation, scatter_derivation
|
|
710
|
+
facade_input_ready += derivation_rules, scatter_rules
|
|
711
|
+
next_question = relation_rule_dsl
|
|
712
|
+
Evidence:
|
|
713
|
+
- packages/igniter-store/spec: 221 examples, 0 failures
|
|
714
|
+
- packages/igniter-companion/spec: 47 examples, 0 failures
|
|
715
|
+
Boundary:
|
|
716
|
+
- this is a facade bridge, not yet relation DSL lowering
|
|
717
|
+
- target_store remains a raw Symbol index store
|
|
718
|
+
- rule callable is still developer/app supplied, not manifest-generated
|
|
719
|
+
Next:
|
|
720
|
+
- prove a relation declaration can lower to a gather/scatter rule descriptor
|
|
721
|
+
without making Store responsible for business relation semantics
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
## Return Packet: Store RelationRule Primitive
|
|
725
|
+
|
|
726
|
+
```text
|
|
727
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
728
|
+
Track: relation-rule-dsl
|
|
729
|
+
Status:
|
|
730
|
+
- relation_rule_dsl advanced from pressure to first Store package primitive
|
|
731
|
+
Changed:
|
|
732
|
+
- Igniter::Store::RelationRule(name, source, partition, target)
|
|
733
|
+
- IgniterStore#register_relation(name, source:, partition:, target:)
|
|
734
|
+
- IgniterStore#resolve(name, from:)
|
|
735
|
+
- SchemaGraph relation registry + relation_snapshot
|
|
736
|
+
- CompanionStore register_relation/resolve/_relations facade
|
|
737
|
+
Evidence:
|
|
738
|
+
- packages/igniter-store/spec: 221 examples, 0 failures
|
|
739
|
+
- packages/igniter-companion/spec: 47 examples, 0 failures
|
|
740
|
+
- companion_poc convergence/projection/topology predicates are true
|
|
741
|
+
Boundary:
|
|
742
|
+
- relation index is G-Set append-only over :__rel_<name>
|
|
743
|
+
- target is metadata/informational; Store does not enforce FK/cardinality
|
|
744
|
+
- resolve returns current source values, not typed app records yet
|
|
745
|
+
- app contract relation DSL lowering is not proven
|
|
746
|
+
Next:
|
|
747
|
+
- decide app-local lowering from relation descriptors to RelationRule while
|
|
748
|
+
preserving relation semantics above Store[T]/History[T]
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
## Supervisor Pressure: Store SchemaGraph Metadata Snapshot
|
|
752
|
+
|
|
753
|
+
```text
|
|
754
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
755
|
+
Track: companion-store-convergence
|
|
756
|
+
Decision:
|
|
757
|
+
- Store-side access-path metadata evidence is now closed app-locally
|
|
758
|
+
- SchemaGraph#metadata_snapshot is accepted as metadata evidence, not planner API
|
|
759
|
+
- projection_descriptor_mirroring remains the active package-facing ask
|
|
760
|
+
Changed:
|
|
761
|
+
- examples/application/companion/services/companion_store_schema_graph_metadata_sidecar.rb [NEW]
|
|
762
|
+
reads Companion access_path_plan record scope paths
|
|
763
|
+
lowers them to Igniter::Store::AccessPath entries in SchemaGraph
|
|
764
|
+
emits metadata_snapshot with store/scope/lookup/filters/cache_ttl/consumer_count
|
|
765
|
+
- examples/application/companion/contracts/companion_store_schema_graph_metadata_sidecar_contract.rb [NEW]
|
|
766
|
+
14 checks: report_only, no runtime gate, no backend replacement, no main state mutation,
|
|
767
|
+
no store-side execution, no query planner promise, SchemaGraph availability,
|
|
768
|
+
manifest scope path count, snapshot path count, store matching, filter preservation,
|
|
769
|
+
no consumer callback leak, package gap closed, pressure ready
|
|
770
|
+
- /setup/companion-store-schema-graph-metadata-sidecar{,.json}
|
|
771
|
+
Evidence:
|
|
772
|
+
- ruby examples/application/companion_poc.rb: green
|
|
773
|
+
- endpoint reports status=stable, checks=14, package_gap.status=closed
|
|
774
|
+
- /setup/store-convergence-sidecar.json resolved includes :store_schema_graph_metadata_snapshot
|
|
775
|
+
Boundary:
|
|
776
|
+
- no query planner
|
|
777
|
+
- no db index generation
|
|
778
|
+
- no projection execution
|
|
779
|
+
- no app backend migration
|
|
780
|
+
Package Request:
|
|
781
|
+
- use SchemaGraph metadata_snapshot as Store-side evidence when mirroring projection/read descriptors
|
|
782
|
+
- keep index descriptors facade/manifest metadata until a later accepted AccessPath decision
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
## Return Packet: Relation Metadata
|
|
786
|
+
|
|
787
|
+
```text
|
|
788
|
+
[Compact Handoff / Package Agent (pkg:companion-store) -> Architect Supervisor]
|
|
789
|
+
Track: companion-store-convergence
|
|
790
|
+
Changed:
|
|
791
|
+
- examples/application/companion/contracts.rb
|
|
792
|
+
PersistenceSketchPack: added relation keyword to manifest registry + install_into
|
|
793
|
+
relation_keyword method: creates __relation_#{name} const operations
|
|
794
|
+
persistence_manifest_for: extracts relations from operations, returns relations: key
|
|
795
|
+
- examples/application/companion/contracts/article_record_contract.rb
|
|
796
|
+
relation :comments_by_article, kind: :event_owner, to: :comments,
|
|
797
|
+
join: { id: :article_id }, cardinality: :one_to_many
|
|
798
|
+
- packages/igniter-companion/lib/igniter/companion/record.rb
|
|
799
|
+
ClassMethods: relation(name, **attrs) DSL + _relations reader
|
|
800
|
+
from_manifest: mirrors manifest[:relations] into generated Record class
|
|
801
|
+
- examples/application/companion/services/companion_relation_metadata_sidecar.rb [NEW]
|
|
802
|
+
proof: relation_count, relations (name/kind/to/cardinality/join/lowers_to),
|
|
803
|
+
generated_relation_api_present, generated_relation_names, lowering_preserved
|
|
804
|
+
package_gap: status closed, declaration_strategy=per_record_contract_dsl
|
|
805
|
+
pressure: next_question=:store_projection_metadata, resolved=:relation_metadata
|
|
806
|
+
- examples/application/companion/contracts/companion_relation_metadata_sidecar_contract.rb [NEW]
|
|
807
|
+
12 checks: report_only, no_runtime_gate, no_backend_replacement, no_main_state_mutation,
|
|
808
|
+
no_store_side_execution, relation_declared_in_contract_dsl, manifest_relations_present,
|
|
809
|
+
relation_descriptor_shape_preserved, generated_relation_api_present,
|
|
810
|
+
generated_relation_names_match, package_relation_gap_closed, pressure_ready
|
|
811
|
+
- examples/application/companion/services/companion_store.rb
|
|
812
|
+
companion_relation_metadata_sidecar method
|
|
813
|
+
- examples/application/companion/app_dsl.rb
|
|
814
|
+
snapshot entry + GET /setup/companion-relation-metadata-sidecar{,.json} routes
|
|
815
|
+
- examples/application/companion/runtime.rb
|
|
816
|
+
HTTP calls, body joins, status/endpoint out.puts, contract key,
|
|
817
|
+
companion_relation_metadata_sidecar_contract? and endpoint validation methods
|
|
818
|
+
- examples/catalog.rb
|
|
819
|
+
companion_poc_countdowns=2 (pre-existing stale fragment, corrected)
|
|
820
|
+
Evidence:
|
|
821
|
+
- igniter-companion: 47 specs, 0 failures
|
|
822
|
+
- example_scripts: 87 specs, 0 failures
|
|
823
|
+
- CompanionRelationMetadataSidecar.packet: stable, 12/12 checks, gap=closed
|
|
824
|
+
- Article._relations={comments_by_article: {kind: :event_owner, to: :comments, ...}}
|
|
825
|
+
- Reminder._relations={} (no relations declared — Reminder has no history children)
|
|
826
|
+
- _relations reader works on both seeded (Article) and empty (Reminder) cases
|
|
827
|
+
- No store-side joins, no adapter relation execution API — pure metadata descriptors
|
|
828
|
+
Resolved:
|
|
829
|
+
- relation_metadata: per-record DSL relation keyword, manifest extraction, Record mirroring
|
|
830
|
+
New Pressure:
|
|
831
|
+
- store_projection_metadata: next unresolved descriptor vocabulary (Supervisor to decide scope)
|
|
832
|
+
Boundary Risk:
|
|
833
|
+
- Only Article has relations declared; Reminder stays clean (empty _relations hash)
|
|
834
|
+
- lowers_to=:relation_descriptor is metadata-only — no query planner, no adapter API
|
|
835
|
+
- relation keyword is app-local (PersistenceSketchPack); not in igniter-companion DSL
|
|
836
|
+
Needs:
|
|
837
|
+
- Supervisor decision on store_projection_metadata scope
|
|
838
|
+
- Store convergence sidecar should eventually reflect relation_metadata gap as closed
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
## Supervisor Decision: Store Projection Metadata Next
|
|
842
|
+
|
|
843
|
+
```text
|
|
844
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
845
|
+
Track: companion-store-convergence
|
|
846
|
+
Decision:
|
|
847
|
+
- relation_metadata is accepted as resolved
|
|
848
|
+
- next package-facing descriptor pressure is store_projection_metadata
|
|
849
|
+
- subscription_delivery_semantics stays queued behind native wire parity
|
|
850
|
+
Why:
|
|
851
|
+
- relation descriptors now mirror as metadata-only _relations
|
|
852
|
+
- no store-side joins or adapter relation API were introduced
|
|
853
|
+
- projection/read-model descriptors are the next unresolved metadata vocabulary
|
|
854
|
+
Updated Evidence:
|
|
855
|
+
- /setup/store-convergence-sidecar.json now reports checks=24
|
|
856
|
+
- pressure.next_question=:store_projection_metadata
|
|
857
|
+
- pressure.resolved includes :relation_metadata
|
|
858
|
+
- relation.generated_relation_names includes :comments_by_article
|
|
859
|
+
- /setup/companion-relation-metadata-sidecar.json reports package_gap=:closed
|
|
860
|
+
Package Request:
|
|
861
|
+
- define metadata-only store projection/read-model descriptor surface
|
|
862
|
+
- preserve projection computation above Store[T]/History[T]
|
|
863
|
+
- no query planner, no adapter projection execution, no app backend migration
|
|
864
|
+
Queued:
|
|
865
|
+
- subscription_delivery_semantics after native wire parity
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
## Supervisor Pressure: Store Projection Metadata
|
|
869
|
+
|
|
870
|
+
```text
|
|
871
|
+
[Compact Handoff / Architect Supervisor -> Package Agent (pkg:companion-store)]
|
|
872
|
+
Track: companion-store-convergence
|
|
873
|
+
Decision:
|
|
874
|
+
- store_projection_metadata is now shaped app-locally, not promoted to public API
|
|
875
|
+
- package gap intentionally remains open: expected_api=:_projections
|
|
876
|
+
- next package-facing ask is projection_descriptor_mirroring
|
|
877
|
+
Changed:
|
|
878
|
+
- examples/application/companion/services/companion_store_projection_metadata_sidecar.rb [NEW]
|
|
879
|
+
reads manifest projections + access_path projection hints
|
|
880
|
+
emits projection descriptors with reads, relations, lowers_to=:projection_descriptor,
|
|
881
|
+
reactive_consumer_hint, store_side_execution=false, query_planner_promise=false
|
|
882
|
+
- examples/application/companion/contracts/companion_store_projection_metadata_sidecar_contract.rb [NEW]
|
|
883
|
+
14 checks: report_only, no runtime gate, no backend replacement, no main state mutation,
|
|
884
|
+
no store-side execution, no query planner promise, projection manifest/read/relation shape,
|
|
885
|
+
tracker record+history composition, reactive consumer hints, package gap open, pressure ready
|
|
886
|
+
- /setup/companion-store-projection-metadata-sidecar{,.json}
|
|
887
|
+
Evidence:
|
|
888
|
+
- ruby examples/application/companion_poc.rb: green
|
|
889
|
+
- endpoint reports status=stable, checks=14, package_gap.status=open
|
|
890
|
+
Boundary:
|
|
891
|
+
- no Store-side projection execution
|
|
892
|
+
- no adapter query planner
|
|
893
|
+
- no projection cache runtime
|
|
894
|
+
- no app backend migration
|
|
895
|
+
Package Request:
|
|
896
|
+
- mirror projection/read-model descriptor metadata in igniter-companion
|
|
897
|
+
- keep projection computation above Store[T]/History[T]
|
|
898
|
+
- do not make `_projections` a public API promise yet
|
|
899
|
+
Queued:
|
|
900
|
+
- subscription_delivery_semantics after native wire parity
|
|
901
|
+
```
|