soloforge 1.1.36 → 1.1.38
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.
- package/README.md +6 -6
- package/dist/adapters/claude_code/claude_md.js +2 -2
- package/dist/adapters/claude_code/claude_md.js.map +1 -1
- package/dist/adapters/codex/codex_rules.js +1 -1
- package/dist/adapters/codex/codex_rules.js.map +1 -1
- package/dist/adapters/shared/workflow_template.js +1 -1
- package/dist/adapters/trae/trae_rules.js +1 -1
- package/dist/adapters/trae/trae_rules.js.map +1 -1
- package/dist/bin/commands/audit.js +1 -1
- package/dist/bin/commands/audit.js.map +1 -1
- package/dist/bin/commands/check_bash.d.ts.map +1 -1
- package/dist/bin/commands/check_bash.js +19 -1
- package/dist/bin/commands/check_bash.js.map +1 -1
- package/dist/bin/commands/check_write.d.ts.map +1 -1
- package/dist/bin/commands/check_write.js +115 -2
- package/dist/bin/commands/check_write.js.map +1 -1
- package/dist/bin/commands/sync.js +3 -3
- package/dist/bin/commands/sync.js.map +1 -1
- package/dist/bin/commands/validate.d.ts.map +1 -1
- package/dist/bin/commands/validate.js +24 -5
- package/dist/bin/commands/validate.js.map +1 -1
- package/dist/engine/adapter_prompt_contract.d.ts +1 -1
- package/dist/engine/adapter_prompt_contract.d.ts.map +1 -1
- package/dist/engine/adapter_prompt_contract.js +1 -1
- package/dist/engine/adapter_prompt_contract.js.map +1 -1
- package/dist/engine/audit/audit_sampler.d.ts +1 -1
- package/dist/engine/audit/confidence_scorer.d.ts +16 -0
- package/dist/engine/audit/confidence_scorer.d.ts.map +1 -1
- package/dist/engine/audit/confidence_scorer.js +19 -0
- package/dist/engine/audit/confidence_scorer.js.map +1 -1
- package/dist/engine/audit/core_engineering_principles.d.ts +4 -4
- package/dist/engine/audit/core_engineering_principles.d.ts.map +1 -1
- package/dist/engine/audit/core_engineering_principles.js +18 -21
- package/dist/engine/audit/core_engineering_principles.js.map +1 -1
- package/dist/engine/audit/core_experience_principle.js +3 -3
- package/dist/engine/audit/core_experience_principle.js.map +1 -1
- package/dist/engine/audit/debt_reporter.d.ts +1 -1
- package/dist/engine/audit/debugger.d.ts +1 -1
- package/dist/engine/audit/delivery_readiness.d.ts +2 -2
- package/dist/engine/audit/delivery_readiness.js +2 -2
- package/dist/engine/audit/diagnostic_registry.js +4 -4
- package/dist/engine/audit/diagnostic_registry.js.map +1 -1
- package/dist/engine/audit/evolver.d.ts.map +1 -1
- package/dist/engine/audit/evolver.js +29 -2
- package/dist/engine/audit/evolver.js.map +1 -1
- package/dist/engine/audit/observability.d.ts +1 -1
- package/dist/engine/audit/observability.js +1 -1
- package/dist/engine/audit/risk_sampler.d.ts +1 -1
- package/dist/engine/audit/risk_sampler.js +1 -1
- package/dist/engine/audit/semantic_evidence.d.ts +1 -1
- package/dist/engine/audit/semantic_evidence.js +1 -1
- package/dist/engine/audit/test_generator.js +1 -1
- package/dist/engine/audit/test_quality.d.ts +1 -1
- package/dist/engine/audit/test_quality.js +1 -1
- package/dist/engine/config/regression_matrix.d.ts.map +1 -1
- package/dist/engine/config/regression_matrix.js +9 -35
- package/dist/engine/config/regression_matrix.js.map +1 -1
- package/dist/engine/contracts/architecture_decision_workshop.d.ts +7 -2
- package/dist/engine/contracts/architecture_decision_workshop.d.ts.map +1 -1
- package/dist/engine/contracts/architecture_decision_workshop.js +6 -2
- package/dist/engine/contracts/architecture_decision_workshop.js.map +1 -1
- package/dist/engine/contracts/capability_registry.d.ts.map +1 -1
- package/dist/engine/contracts/capability_registry.js +4 -5
- package/dist/engine/contracts/capability_registry.js.map +1 -1
- package/dist/engine/contracts/code_maintainability_observability_contract.js +2 -2
- package/dist/engine/contracts/code_maintainability_observability_contract.js.map +1 -1
- package/dist/engine/contracts/command_execution_contract.d.ts +1 -1
- package/dist/engine/contracts/command_execution_contract.js +3 -3
- package/dist/engine/contracts/command_execution_contract.js.map +1 -1
- package/dist/engine/contracts/contract_registry/builtin_contracts_core.js +12 -12
- package/dist/engine/contracts/contract_registry/builtin_contracts_core.js.map +1 -1
- package/dist/engine/contracts/control_plane_contract.d.ts.map +1 -1
- package/dist/engine/contracts/control_plane_contract.js +27 -13
- package/dist/engine/contracts/control_plane_contract.js.map +1 -1
- package/dist/engine/contracts/decision_contract.d.ts +1 -1
- package/dist/engine/contracts/decision_contract.js +1 -1
- package/dist/engine/contracts/decision_workshop.d.ts +1 -3
- package/dist/engine/contracts/decision_workshop.d.ts.map +1 -1
- package/dist/engine/contracts/decision_workshop.js.map +1 -1
- package/dist/engine/contracts/design_lifecycle_contract.d.ts +2 -2
- package/dist/engine/contracts/design_lifecycle_contract.d.ts.map +1 -1
- package/dist/engine/contracts/design_lifecycle_contract.js +12 -12
- package/dist/engine/contracts/design_lifecycle_contract.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js +11 -11
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js +3 -3
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_audit_tail.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.d.ts.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js +68 -28
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_core.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js +11 -11
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_extension.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js +10 -10
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_governance.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js +8 -8
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_infra.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js +18 -18
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_platform.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js +12 -12
- package/dist/engine/contracts/dual_layer_mechanism_registry/mechanisms_release.js.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/shared.js +2 -2
- package/dist/engine/contracts/dual_layer_mechanism_registry/validation.d.ts.map +1 -1
- package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js +4 -3
- package/dist/engine/contracts/dual_layer_mechanism_registry/validation.js.map +1 -1
- package/dist/engine/contracts/enforcement_guard.d.ts +1 -1
- package/dist/engine/contracts/enforcement_guard.js +3 -3
- package/dist/engine/contracts/enforcement_guard.js.map +1 -1
- package/dist/engine/contracts/evolution_regression_gate.d.ts +1 -1
- package/dist/engine/contracts/evolution_regression_gate.js +1 -1
- package/dist/engine/contracts/instruction_contract.js +1 -1
- package/dist/engine/contracts/instruction_contract.js.map +1 -1
- package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts +2 -2
- package/dist/engine/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
- package/dist/engine/contracts/lifecycle_knowledge_contract.js +10 -10
- package/dist/engine/contracts/lifecycle_knowledge_contract.js.map +1 -1
- package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +1 -1
- package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js +18 -17
- package/dist/engine/contracts/mechanism_contract_registry/contracts-audit.js.map +1 -1
- package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js +30 -30
- package/dist/engine/contracts/mechanism_contract_registry/contracts-governance.js.map +1 -1
- package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +3 -2
- package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +1 -1
- package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js +75 -52
- package/dist/engine/contracts/mechanism_contract_registry/contracts-pipeline.js.map +1 -1
- package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js +20 -20
- package/dist/engine/contracts/mechanism_contract_registry/contracts-platform.js.map +1 -1
- package/dist/engine/contracts/mechanism_health_check.d.ts +1 -1
- package/dist/engine/contracts/mechanism_health_check.js +1 -1
- package/dist/engine/contracts/omission_scanner.d.ts +1 -1
- package/dist/engine/contracts/omission_scanner.js +1 -1
- package/dist/engine/contracts/platform_context.d.ts +1 -1
- package/dist/engine/contracts/platform_context.js +1 -1
- package/dist/engine/contracts/project_knowledge_contract.d.ts +2 -2
- package/dist/engine/contracts/project_knowledge_contract.d.ts.map +1 -1
- package/dist/engine/contracts/project_knowledge_contract.js +6 -6
- package/dist/engine/contracts/project_knowledge_contract.js.map +1 -1
- package/dist/engine/contracts/state_machine_contracts.d.ts +17 -0
- package/dist/engine/contracts/state_machine_contracts.d.ts.map +1 -0
- package/dist/engine/contracts/state_machine_contracts.js +97 -0
- package/dist/engine/contracts/state_machine_contracts.js.map +1 -0
- package/dist/engine/contracts/technology_decision.d.ts +18 -0
- package/dist/engine/contracts/technology_decision.d.ts.map +1 -1
- package/dist/engine/contracts/technology_decision.js +38 -0
- package/dist/engine/contracts/technology_decision.js.map +1 -1
- package/dist/engine/contracts/tool_invocation_contract_registry.d.ts +2 -3
- package/dist/engine/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
- package/dist/engine/contracts/tool_invocation_contract_registry.js +163 -186
- package/dist/engine/contracts/tool_invocation_contract_registry.js.map +1 -1
- package/dist/engine/contracts/user_feedback_contract.d.ts +1 -1
- package/dist/engine/contracts/user_feedback_contract.d.ts.map +1 -1
- package/dist/engine/contracts/user_feedback_contract.js +6 -9
- package/dist/engine/contracts/user_feedback_contract.js.map +1 -1
- package/dist/engine/contracts/workflow_template_pack.d.ts +1 -1
- package/dist/engine/contracts/workflow_template_pack.js +5 -5
- package/dist/engine/contracts/workflow_template_pack.js.map +1 -1
- package/dist/engine/core/debug_log.d.ts +1 -1
- package/dist/engine/core/debug_log.js +1 -1
- package/dist/engine/knowledge/knowledge_asset_audit.d.ts.map +1 -1
- package/dist/engine/knowledge/knowledge_asset_audit.js +4 -2
- package/dist/engine/knowledge/knowledge_asset_audit.js.map +1 -1
- package/dist/engine/knowledge/knowledge_asset_consumer.d.ts +21 -20
- package/dist/engine/knowledge/knowledge_asset_consumer.d.ts.map +1 -1
- package/dist/engine/knowledge/knowledge_asset_consumer.js +24 -22
- package/dist/engine/knowledge/knowledge_asset_consumer.js.map +1 -1
- package/dist/engine/knowledge/knowledge_asset_migration.js +1 -1
- package/dist/engine/knowledge/knowledge_asset_migration.js.map +1 -1
- package/dist/engine/knowledge/knowledge_asset_schema.d.ts +2 -1
- package/dist/engine/knowledge/knowledge_asset_schema.d.ts.map +1 -1
- package/dist/engine/knowledge/knowledge_asset_schema.js +25 -7
- package/dist/engine/knowledge/knowledge_asset_schema.js.map +1 -1
- package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts +3 -3
- package/dist/engine/knowledge/knowledge_consumption_snapshot.d.ts.map +1 -1
- package/dist/engine/knowledge/knowledge_consumption_snapshot.js +5 -5
- package/dist/engine/knowledge/knowledge_consumption_snapshot.js.map +1 -1
- package/dist/engine/knowledge/knowledge_injection_boundary.d.ts +36 -5
- package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
- package/dist/engine/knowledge/knowledge_injection_boundary.js +95 -40
- package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
- package/dist/engine/knowledge/knowledge_scenario_registry.js +1 -1
- package/dist/engine/knowledge/knowledge_scenario_registry.js.map +1 -1
- package/dist/engine/knowledge/knowledge_writer.js +3 -3
- package/dist/engine/knowledge/knowledge_writer.js.map +1 -1
- package/dist/engine/knowledge/language_policy.d.ts +2 -2
- package/dist/engine/knowledge/language_policy.js +2 -2
- package/dist/engine/onboarding.d.ts +1 -1
- package/dist/engine/onboarding.js +2 -2
- package/dist/engine/onboarding.js.map +1 -1
- package/dist/engine/pipeline/artifact_aliases.d.ts +19 -0
- package/dist/engine/pipeline/artifact_aliases.d.ts.map +1 -0
- package/dist/engine/pipeline/artifact_aliases.js +39 -0
- package/dist/engine/pipeline/artifact_aliases.js.map +1 -0
- package/dist/engine/pipeline/input_material_extractor.d.ts +1 -1
- package/dist/engine/pipeline/input_material_extractor.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/helpers.d.ts +15 -29
- package/dist/engine/pipeline/intent_expander/helpers.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/helpers.js +15 -158
- package/dist/engine/pipeline/intent_expander/helpers.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/index.d.ts +1 -2
- package/dist/engine/pipeline/intent_expander/index.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/index.js +1 -3
- package/dist/engine/pipeline/intent_expander/index.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/knowledge.d.ts +4 -13
- package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/knowledge.js +14 -169
- package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts +7 -5
- package/dist/engine/pipeline/intent_expander/knowledge_resolution.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/knowledge_resolution.js +84 -30
- package/dist/engine/pipeline/intent_expander/knowledge_resolution.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts +13 -100
- package/dist/engine/pipeline/intent_expander/privacy_gates.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/privacy_gates.js +18 -268
- package/dist/engine/pipeline/intent_expander/privacy_gates.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts +9 -5
- package/dist/engine/pipeline/intent_expander/scope_acceptance.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/scope_acceptance.js +13 -31
- package/dist/engine/pipeline/intent_expander/scope_acceptance.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/templates.d.ts +2 -1
- package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander/templates.js +73 -0
- package/dist/engine/pipeline/intent_expander/templates.js.map +1 -1
- package/dist/engine/pipeline/intent_expander/types.d.ts +0 -2
- package/dist/engine/pipeline/intent_expander/types.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander.d.ts +5 -3
- package/dist/engine/pipeline/intent_expander.d.ts.map +1 -1
- package/dist/engine/pipeline/intent_expander.js +4 -3
- package/dist/engine/pipeline/intent_expander.js.map +1 -1
- package/dist/engine/pipeline/job_manager.d.ts +1 -1
- package/dist/engine/pipeline/job_manager.js +1 -1
- package/dist/engine/pipeline/prompt_template_resolver.d.ts +13 -0
- package/dist/engine/pipeline/prompt_template_resolver.d.ts.map +1 -0
- package/dist/engine/pipeline/prompt_template_resolver.js +25 -0
- package/dist/engine/pipeline/prompt_template_resolver.js.map +1 -0
- package/dist/engine/pipeline/rollback_router.d.ts +1 -1
- package/dist/engine/pipeline/rollback_router.d.ts.map +1 -1
- package/dist/engine/pipeline/scope_resolver.d.ts +9 -2
- package/dist/engine/pipeline/scope_resolver.d.ts.map +1 -1
- package/dist/engine/pipeline/scope_resolver.js +29 -15
- package/dist/engine/pipeline/scope_resolver.js.map +1 -1
- package/dist/engine/pipeline/slice_executor.d.ts +5 -1
- package/dist/engine/pipeline/slice_executor.d.ts.map +1 -1
- package/dist/engine/pipeline/slice_executor.js +4 -1
- package/dist/engine/pipeline/slice_executor.js.map +1 -1
- package/dist/engine/pipeline/state_machine/audit_logger.d.ts +42 -0
- package/dist/engine/pipeline/state_machine/audit_logger.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/audit_logger.js +65 -0
- package/dist/engine/pipeline/state_machine/audit_logger.js.map +1 -0
- package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts +51 -0
- package/dist/engine/pipeline/state_machine/capability_safety_valve.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/capability_safety_valve.js +131 -0
- package/dist/engine/pipeline/state_machine/capability_safety_valve.js.map +1 -0
- package/dist/engine/pipeline/state_machine/certainty_gate.d.ts +92 -0
- package/dist/engine/pipeline/state_machine/certainty_gate.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/certainty_gate.js +317 -0
- package/dist/engine/pipeline/state_machine/certainty_gate.js.map +1 -0
- package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts +50 -0
- package/dist/engine/pipeline/state_machine/command_state_verifier.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/command_state_verifier.js +160 -0
- package/dist/engine/pipeline/state_machine/command_state_verifier.js.map +1 -0
- package/dist/engine/pipeline/state_machine/hook_classifier.d.ts +58 -0
- package/dist/engine/pipeline/state_machine/hook_classifier.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/hook_classifier.js +123 -0
- package/dist/engine/pipeline/state_machine/hook_classifier.js.map +1 -0
- package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts +33 -0
- package/dist/engine/pipeline/state_machine/human_uncertainty_detector.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js +72 -0
- package/dist/engine/pipeline/state_machine/human_uncertainty_detector.js.map +1 -0
- package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts +21 -0
- package/dist/engine/pipeline/state_machine/knowledge_stage_query.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/knowledge_stage_query.js +33 -0
- package/dist/engine/pipeline/state_machine/knowledge_stage_query.js.map +1 -0
- package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts +154 -0
- package/dist/engine/pipeline/state_machine/pipeline_state_machine.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/pipeline_state_machine.js +1089 -0
- package/dist/engine/pipeline/state_machine/pipeline_state_machine.js.map +1 -0
- package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts +34 -0
- package/dist/engine/pipeline/state_machine/risk_pattern_scanner.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js +152 -0
- package/dist/engine/pipeline/state_machine/risk_pattern_scanner.js.map +1 -0
- package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts +28 -0
- package/dist/engine/pipeline/state_machine/route_usage_stats.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/route_usage_stats.js +76 -0
- package/dist/engine/pipeline/state_machine/route_usage_stats.js.map +1 -0
- package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts +22 -0
- package/dist/engine/pipeline/state_machine/sf_command_parser.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/sf_command_parser.js +170 -0
- package/dist/engine/pipeline/state_machine/sf_command_parser.js.map +1 -0
- package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts +38 -0
- package/dist/engine/pipeline/state_machine/stage_command_registry.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/stage_command_registry.js +218 -0
- package/dist/engine/pipeline/state_machine/stage_command_registry.js.map +1 -0
- package/dist/engine/pipeline/state_machine/stage_executor.d.ts +37 -0
- package/dist/engine/pipeline/state_machine/stage_executor.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/stage_executor.js +67 -0
- package/dist/engine/pipeline/state_machine/stage_executor.js.map +1 -0
- package/dist/engine/pipeline/state_machine/state_migrator.d.ts +21 -0
- package/dist/engine/pipeline/state_machine/state_migrator.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/state_migrator.js +130 -0
- package/dist/engine/pipeline/state_machine/state_migrator.js.map +1 -0
- package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts +48 -0
- package/dist/engine/pipeline/state_machine/state_self_diagnostic.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/state_self_diagnostic.js +566 -0
- package/dist/engine/pipeline/state_machine/state_self_diagnostic.js.map +1 -0
- package/dist/engine/pipeline/state_machine/static_route_table.d.ts +36 -0
- package/dist/engine/pipeline/state_machine/static_route_table.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/static_route_table.js +112 -0
- package/dist/engine/pipeline/state_machine/static_route_table.js.map +1 -0
- package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts +45 -0
- package/dist/engine/pipeline/state_machine/strong_confirmation.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/strong_confirmation.js +57 -0
- package/dist/engine/pipeline/state_machine/strong_confirmation.js.map +1 -0
- package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts +55 -0
- package/dist/engine/pipeline/state_machine/uncertainty_bridge.d.ts.map +1 -0
- package/dist/engine/pipeline/state_machine/uncertainty_bridge.js +48 -0
- package/dist/engine/pipeline/state_machine/uncertainty_bridge.js.map +1 -0
- package/dist/engine/pipeline/task_context/manager.d.ts +40 -1
- package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -1
- package/dist/engine/pipeline/task_context/manager.js +348 -114
- package/dist/engine/pipeline/task_context/manager.js.map +1 -1
- package/dist/engine/pipeline/task_context/manager_setters.d.ts +23 -1
- package/dist/engine/pipeline/task_context/manager_setters.d.ts.map +1 -1
- package/dist/engine/pipeline/task_context/manager_setters.js +237 -119
- package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
- package/dist/engine/pipeline/task_context/status_transitions.d.ts +7 -2
- package/dist/engine/pipeline/task_context/status_transitions.d.ts.map +1 -1
- package/dist/engine/pipeline/task_context/status_transitions.js +9 -14
- package/dist/engine/pipeline/task_context/status_transitions.js.map +1 -1
- package/dist/engine/pipeline/task_planner.js +14 -8
- package/dist/engine/pipeline/task_planner.js.map +1 -1
- package/dist/engine/pipeline/task_stage_detector.d.ts +2 -0
- package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -1
- package/dist/engine/pipeline/task_stage_detector.js +34 -3
- package/dist/engine/pipeline/task_stage_detector.js.map +1 -1
- package/dist/engine/pipeline/workspace_lease.d.ts +1 -1
- package/dist/engine/pipeline/workspace_lease.js +1 -1
- package/dist/engine/pipeline/workspace_resumer.js +2 -2
- package/dist/engine/pipeline/workspace_resumer.js.map +1 -1
- package/dist/engine/release/foundation_scenario_registry.js +45 -45
- package/dist/engine/release/foundation_scenario_registry.js.map +1 -1
- package/dist/engine/release/foundation_scenario_runners.d.ts +3 -3
- package/dist/engine/release/foundation_scenario_runners.d.ts.map +1 -1
- package/dist/engine/release/foundation_scenario_runners.js +27 -485
- package/dist/engine/release/foundation_scenario_runners.js.map +1 -1
- package/dist/engine/release/gate_checks/checkControlPlaneTrust.d.ts.map +1 -1
- package/dist/engine/release/gate_checks/checkControlPlaneTrust.js +23 -21
- package/dist/engine/release/gate_checks/checkControlPlaneTrust.js.map +1 -1
- package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -1
- package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js +8 -9
- package/dist/engine/release/gate_checks/checkCriticalProblemConsumption.js.map +1 -1
- package/dist/engine/release/gate_checks/checkMainlineConsumption.js +3 -3
- package/dist/engine/release/gate_checks/checkMainlineConsumption.js.map +1 -1
- package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -1
- package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js +8 -56
- package/dist/engine/release/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -1
- package/dist/engine/release/release_gate_scenario_registry.js +2 -2
- package/dist/engine/release/release_gate_scenario_registry.js.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js +39 -39
- package/dist/engine/release/release_issue_scenario_registry/scenarios_architecture_workshop.js.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js +19 -19
- package/dist/engine/release/release_issue_scenario_registry/scenarios_code_observability.js.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js +60 -60
- package/dist/engine/release/release_issue_scenario_registry/scenarios_decision_workshop.js.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.d.ts.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js +39 -43
- package/dist/engine/release/release_issue_scenario_registry/scenarios_design_pack.js.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +104 -27
- package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
- package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js +15 -15
- package/dist/engine/release/release_issue_scenario_registry/scenarios_template_visibility.js.map +1 -1
- package/dist/engine/release/types.d.ts +2 -2
- package/dist/engine/release/types.d.ts.map +1 -1
- package/dist/engine/release/verifier.js +7 -7
- package/dist/engine/release/verifier.js.map +1 -1
- package/dist/engine/state_fact_classifier.d.ts +3 -3
- package/dist/engine/state_fact_classifier.js +4 -4
- package/dist/engine/state_fact_classifier.js.map +1 -1
- package/dist/engine/templates/asset_manifest.d.ts.map +1 -1
- package/dist/engine/templates/asset_manifest.js +18 -16
- package/dist/engine/templates/asset_manifest.js.map +1 -1
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js +11 -11
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_core.js.map +1 -1
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts +1 -1
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.d.ts.map +1 -1
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js +34 -10
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_core.js.map +1 -1
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js +10 -10
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext.js.map +1 -1
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js +18 -18
- package/dist/engine/templates/consumable_asset_registry/builtin_assets_dual_layer_ext2.js.map +1 -1
- package/dist/engine/templates/consumable_asset_registry/types.js +4 -4
- package/dist/engine/templates/consumable_asset_registry/types.js.map +1 -1
- package/dist/engine/templates/consumption_trace_store.d.ts +3 -3
- package/dist/engine/templates/consumption_trace_store.d.ts.map +1 -1
- package/dist/engine/templates/consumption_trace_store.js +4 -4
- package/dist/engine/templates/consumption_trace_store.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/adapters.js +4 -4
- package/dist/engine/templates/explicit_asset_registry/adapters.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js +10 -10
- package/dist/engine/templates/explicit_asset_registry/artifacts_existing_system.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js +25 -25
- package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part1.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js +5 -5
- package/dist/engine/templates/explicit_asset_registry/artifacts_shared_part2.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/checklists.js +7 -7
- package/dist/engine/templates/explicit_asset_registry/contributing.js +1 -1
- package/dist/engine/templates/explicit_asset_registry/domain.js +9 -9
- package/dist/engine/templates/explicit_asset_registry/gates.js +20 -20
- package/dist/engine/templates/explicit_asset_registry/gates.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/internal_patterns.js +27 -27
- package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.d.ts.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js +42 -26
- package/dist/engine/templates/explicit_asset_registry/internal_rules_part1.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js +20 -20
- package/dist/engine/templates/explicit_asset_registry/internal_rules_part2.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/patterns_part1.js +25 -25
- package/dist/engine/templates/explicit_asset_registry/patterns_part2.js +25 -25
- package/dist/engine/templates/explicit_asset_registry/patterns_part3.js +2 -2
- package/dist/engine/templates/explicit_asset_registry/patterns_part3.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/procedures_part1.d.ts.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/procedures_part1.js +42 -26
- package/dist/engine/templates/explicit_asset_registry/procedures_part1.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +29 -12
- package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/profiles.js +3 -3
- package/dist/engine/templates/explicit_asset_registry/profiles.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js +9 -9
- package/dist/engine/templates/explicit_asset_registry/rules_pipeline.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/rules_shared.js +16 -16
- package/dist/engine/templates/explicit_asset_registry/rules_shared.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/scaffolds.js +22 -22
- package/dist/engine/templates/explicit_asset_registry/scaffolds.js.map +1 -1
- package/dist/engine/templates/explicit_asset_registry/types.d.ts +1 -1
- package/dist/engine/templates/observed_consumption.d.ts +2 -2
- package/dist/engine/templates/observed_consumption.d.ts.map +1 -1
- package/dist/engine/templates/observed_consumption.js +5 -22
- package/dist/engine/templates/observed_consumption.js.map +1 -1
- package/dist/engine/templates/scaffolder.js +8 -8
- package/dist/engine/templates/scaffolder.js.map +1 -1
- package/dist/engine/templates/standard_asset_contract.d.ts +5 -5
- package/dist/engine/templates/standard_asset_contract.d.ts.map +1 -1
- package/dist/engine/templates/standard_asset_contract.js +18 -18
- package/dist/engine/templates/standard_asset_contract.js.map +1 -1
- package/dist/engine/templates/standard_asset_coverage.js +12 -12
- package/dist/engine/templates/standard_asset_coverage.js.map +1 -1
- package/dist/engine/templates/template_asset_contract_registry.d.ts +2 -2
- package/dist/engine/templates/template_asset_contract_registry.js +23 -23
- package/dist/engine/templates/template_asset_contract_registry.js.map +1 -1
- package/dist/engine/templates/template_asset_visibility.d.ts +1 -1
- package/dist/engine/templates/template_asset_visibility.js +4 -4
- package/dist/engine/templates/template_asset_visibility.js.map +1 -1
- package/dist/engine/templates/template_init_sync.js +11 -11
- package/dist/engine/templates/template_init_sync.js.map +1 -1
- package/dist/engine/templates/template_manifest_io.js +6 -6
- package/dist/engine/templates/template_manifest_io.js.map +1 -1
- package/dist/engine/templates/template_mechanism_auditor.d.ts.map +1 -1
- package/dist/engine/templates/template_mechanism_auditor.js +6 -5
- package/dist/engine/templates/template_mechanism_auditor.js.map +1 -1
- package/dist/engine/templates/workflow_rule_generator.d.ts.map +1 -1
- package/dist/engine/templates/workflow_rule_generator.js +8 -10
- package/dist/engine/templates/workflow_rule_generator.js.map +1 -1
- package/dist/engine/workflow/index.d.ts +2 -2
- package/dist/engine/workflow/index.d.ts.map +1 -1
- package/dist/engine/workflow/index.js +1 -1
- package/dist/engine/workflow/index.js.map +1 -1
- package/dist/engine/workflow/next_action_planner.js +11 -9
- package/dist/engine/workflow/next_action_planner.js.map +1 -1
- package/dist/engine/workflow/workflow_contract_registry.d.ts +49 -31
- package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -1
- package/dist/engine/workflow/workflow_contract_registry.js +81 -642
- package/dist/engine/workflow/workflow_contract_registry.js.map +1 -1
- package/dist/knowledge/index_manager.d.ts +6 -1
- package/dist/knowledge/index_manager.d.ts.map +1 -1
- package/dist/knowledge/index_manager.js +156 -74
- package/dist/knowledge/index_manager.js.map +1 -1
- package/dist/knowledge/writer.d.ts +10 -0
- package/dist/knowledge/writer.d.ts.map +1 -1
- package/dist/knowledge/writer.js +40 -0
- package/dist/knowledge/writer.js.map +1 -1
- package/dist/server/tools/cep_assessment.d.ts +1 -1
- package/dist/server/tools/cep_assessment.d.ts.map +1 -1
- package/dist/server/tools/cep_assessment.js +15 -6
- package/dist/server/tools/cep_assessment.js.map +1 -1
- package/dist/server/tools/gate_checks.d.ts +9 -0
- package/dist/server/tools/gate_checks.d.ts.map +1 -1
- package/dist/server/tools/gate_checks.js +55 -1
- package/dist/server/tools/gate_checks.js.map +1 -1
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +8 -29
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/lazy_loaders.d.ts +0 -3
- package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
- package/dist/server/tools/lazy_loaders.js +0 -3
- package/dist/server/tools/lazy_loaders.js.map +1 -1
- package/dist/server/tools/middleware.d.ts.map +1 -1
- package/dist/server/tools/middleware.js +419 -394
- package/dist/server/tools/middleware.js.map +1 -1
- package/dist/server/tools/schemas.d.ts +40 -7
- package/dist/server/tools/schemas.d.ts.map +1 -1
- package/dist/server/tools/schemas.js +27 -11
- package/dist/server/tools/schemas.js.map +1 -1
- package/dist/server/tools/tool_groups/admin.d.ts.map +1 -1
- package/dist/server/tools/tool_groups/admin.js +4 -107
- package/dist/server/tools/tool_groups/admin.js.map +1 -1
- package/dist/server/tools/tool_groups/auxiliary.d.ts.map +1 -1
- package/dist/server/tools/tool_groups/auxiliary.js +4 -21
- package/dist/server/tools/tool_groups/auxiliary.js.map +1 -1
- package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts +0 -1
- package/dist/server/tools/tool_groups/scaffold_accept_deliver.d.ts.map +1 -1
- package/dist/server/tools/tool_groups/scaffold_accept_deliver.js +5 -427
- package/dist/server/tools/tool_groups/scaffold_accept_deliver.js.map +1 -1
- package/dist/server/tools/tool_groups/state_machine.d.ts +13 -0
- package/dist/server/tools/tool_groups/state_machine.d.ts.map +1 -0
- package/dist/server/tools/tool_groups/state_machine.js +422 -0
- package/dist/server/tools/tool_groups/state_machine.js.map +1 -0
- package/dist/server/tools/tool_names.d.ts +19 -19
- package/dist/server/tools/tool_names.d.ts.map +1 -1
- package/dist/server/tools/tool_names.js +23 -24
- package/dist/server/tools/tool_names.js.map +1 -1
- package/dist/types/dual_layer.d.ts +3 -3
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/pipeline.d.ts +17 -7
- package/dist/types/pipeline.d.ts.map +1 -1
- package/dist/types/pipeline.js +4 -0
- package/dist/types/pipeline.js.map +1 -1
- package/dist/types/state_machine.d.ts +344 -0
- package/dist/types/state_machine.d.ts.map +1 -0
- package/dist/types/state_machine.js +47 -0
- package/dist/types/state_machine.js.map +1 -0
- package/dist/types/task.d.ts +35 -8
- package/dist/types/task.d.ts.map +1 -1
- package/package.json +3 -3
- package/templates/artifacts/existing-system//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//345/220/221/345/220/216/345/205/274/345/256/271/346/200/247/345/220/210/350/247/204/346/212/245/345/221/212/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/existing-system//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +0 -3
- package/templates/artifacts/shared/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266/346/250/241/347/211/210.md +0 -1
- package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -3
- package/templates/artifacts/shared//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
- package/templates/artifacts/shared//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
- package/templates/artifacts/shared//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
- package/templates/artifacts/shared//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -2
- package/templates/artifacts/shared//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
- package/templates/artifacts/shared//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
- package/templates/artifacts/shared//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/351/252/214/346/224/266/346/212/245/345/221/212/346/250/241/347/211/210.md +0 -1
- package/templates/artifacts/shared//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -2
- package/templates/artifacts/shared//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +0 -2
- package/templates/artifacts/shared//351/234/200/346/261/202/345/216/237/345/236/213/350/256/276/350/256/241/345/256/236/347/216/260/350/277/275/350/270/252/347/237/251/351/230/265/346/250/241/347/211/210.md +0 -1
- package/templates/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
- package/templates/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -1
- package/templates/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
- package/templates/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
- package/templates/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
- package/templates/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +0 -1
- package/templates/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +0 -1
- package/templates/domain//345/244/232/347/247/237/346/210/267.md +0 -2
- package/templates/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -2
- package/templates/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +0 -2
- package/templates/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -2
- package/templates/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -2
- package/templates/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +0 -2
- package/templates/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -2
- package/templates/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -2
- package/templates/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/internal/patterns/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -2
- package/templates/internal/patterns/Hook/345/261/202/344/272/247/347/211/251/347/273/223/346/236/204/346/240/241/351/252/214.md +0 -2
- package/templates/internal/patterns/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -2
- package/templates/internal/patterns/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -2
- package/templates/internal/patterns//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -2
- package/templates/internal/patterns//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -2
- package/templates/internal/patterns//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -2
- package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +0 -2
- package/templates/internal/patterns//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -2
- package/templates/internal/patterns//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -2
- package/templates/internal/patterns//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -2
- package/templates/internal/patterns//345/210/206/345/234/272/346/231/257/350/277/207/347/250/213/350/247/204/345/210/231.md +0 -2
- package/templates/internal/patterns//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -2
- package/templates/internal/patterns//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -2
- package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -2
- package/templates/internal/patterns//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -2
- package/templates/internal/patterns//345/271/266/345/217/221/351/224/201.md +0 -2
- package/templates/internal/patterns//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +1 -3
- package/templates/internal/patterns//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -2
- package/templates/internal/patterns//346/250/241/347/211/210Frontmatter/350/247/243/346/236/220.md +0 -2
- package/templates/internal/patterns//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +0 -2
- package/templates/internal/patterns//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -2
- package/templates/internal/patterns//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -2
- package/templates/internal/patterns//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -2
- package/templates/internal/patterns//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -2
- package/templates/internal/patterns//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -2
- package/templates/internal/patterns//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -2
- package/templates/internal/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +1 -2
- package/templates/internal/rules//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//345/221/275/344/273/244/350/267/257/347/224/261/350/247/204/345/210/231.md +36 -0
- package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246/350/247/204/345/210/231.md +6 -7
- package/templates/internal/rules//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +4 -3
- package/templates/internal/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +3 -4
- package/templates/internal/rules//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +0 -2
- package/templates/internal/rules//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226/350/247/204/345/210/231.md +2 -6
- package/templates/internal/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -1
- package/templates/internal/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +0 -1
- package/templates/internal/rules//346/250/241/347/211/210Frontmatter/350/247/204/350/214/203.md +2 -3
- package/templates/internal/rules//346/250/241/347/211/210/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +0 -4
- package/templates/internal/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +3 -4
- package/templates/internal/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//347/237/245/350/257/206/350/265/204/344/272/247/346/262/273/347/220/206/350/247/204/345/210/231.md +1 -2
- package/templates/internal/rules//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +0 -5
- package/templates/internal/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +0 -3
- package/templates/internal/rules//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +0 -4
- package/templates/internal/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +0 -2
- package/templates/internal/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +0 -1
- package/templates/internal/rules//351/252/214/346/224/266/346/250/241/347/211/210/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +2 -3
- package/templates/internal/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +0 -1
- package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +0 -2
- package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -2
- package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -2
- package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +0 -2
- package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -2
- package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +0 -2
- package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +0 -2
- package/templates/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -3
- package/templates/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +4 -6
- package/templates/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//344/274/232/350/257/235/346/201/242/345/244/215/346/265/201/347/250/213.md +0 -3
- package/templates/procedures//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +1 -2
- package/templates/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +0 -3
- package/templates/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//345/221/275/344/273/244/350/267/257/347/224/261/346/265/201/347/250/213.md +38 -0
- package/templates/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +3 -5
- package/templates/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +3 -5
- package/templates/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +3 -3
- package/templates/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +4 -6
- package/templates/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +0 -2
- package/templates/procedures//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/345/267/245/344/275/234/346/265/201.md +0 -2
- package/templates/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +0 -2
- package/templates/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +3 -5
- package/templates/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +0 -2
- package/templates/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +2 -4
- package/templates/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +0 -2
- package/templates/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +2 -4
- package/templates/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +5 -7
- package/templates/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +1 -3
- package/templates/procedures//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214/345/267/245/344/275/234/346/265/201.md +0 -2
- package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +184 -0
- package/templates/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +3 -5
- package/templates/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +3 -5
- package/templates/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +0 -2
- package/templates/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +2 -4
- package/templates/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -2
- package/templates/rules/existing-system//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245/350/247/204/345/210/231.md +0 -3
- package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +0 -3
- package/templates/rules/existing-system//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255/350/247/204/345/210/231.md +0 -2
- package/templates/rules/existing-system//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201/350/247/204/345/210/231.md +0 -2
- package/templates/rules/existing-system//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217/346/270/205/345/215/225.md +0 -3
- package/templates/rules/new-system//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214/350/247/204/345/210/231.md +0 -1
- package/templates/rules/shared//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//344/273/243/347/240/201/345/217/257/347/273/264/346/212/244/346/200/247/344/270/216/345/217/257/350/247/202/346/265/213/346/200/247/345/256/241/346/237/245.md +0 -3
- package/templates/rules/shared//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -1
- package/templates/rules/shared//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +0 -2
- package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -1
- package/templates/rules/shared//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates/rules/shared//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +1 -2
- package/templates/rules/shared//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245/350/247/204/345/210/231.md +0 -2
- package/templates//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -3
- package/dist/engine/contracts/route_decision_contract_verifier.d.ts +0 -44
- package/dist/engine/contracts/route_decision_contract_verifier.d.ts.map +0 -1
- package/dist/engine/contracts/route_decision_contract_verifier.js +0 -154
- package/dist/engine/contracts/route_decision_contract_verifier.js.map +0 -1
- package/dist/engine/pipeline/classifier.d.ts +0 -24
- package/dist/engine/pipeline/classifier.d.ts.map +0 -1
- package/dist/engine/pipeline/classifier.js +0 -209
- package/dist/engine/pipeline/classifier.js.map +0 -1
- package/dist/engine/pipeline/expand_pipeline.d.ts +0 -122
- package/dist/engine/pipeline/expand_pipeline.d.ts.map +0 -1
- package/dist/engine/pipeline/expand_pipeline.js +0 -141
- package/dist/engine/pipeline/expand_pipeline.js.map +0 -1
- package/dist/engine/pipeline/hook_context_types.d.ts +0 -66
- package/dist/engine/pipeline/hook_context_types.d.ts.map +0 -1
- package/dist/engine/pipeline/hook_context_types.js +0 -118
- package/dist/engine/pipeline/hook_context_types.js.map +0 -1
- package/dist/engine/pipeline/intent_expander/expand.d.ts +0 -16
- package/dist/engine/pipeline/intent_expander/expand.d.ts.map +0 -1
- package/dist/engine/pipeline/intent_expander/expand.js +0 -308
- package/dist/engine/pipeline/intent_expander/expand.js.map +0 -1
- package/dist/engine/pipeline/intent_route_scorer.d.ts +0 -45
- package/dist/engine/pipeline/intent_route_scorer.d.ts.map +0 -1
- package/dist/engine/pipeline/intent_route_scorer.js +0 -341
- package/dist/engine/pipeline/intent_route_scorer.js.map +0 -1
- package/dist/engine/pipeline/intent_router.d.ts +0 -132
- package/dist/engine/pipeline/intent_router.d.ts.map +0 -1
- package/dist/engine/pipeline/intent_router.js +0 -608
- package/dist/engine/pipeline/intent_router.js.map +0 -1
- package/dist/engine/pipeline/intent_signal_extractor.d.ts +0 -91
- package/dist/engine/pipeline/intent_signal_extractor.d.ts.map +0 -1
- package/dist/engine/pipeline/intent_signal_extractor.js +0 -296
- package/dist/engine/pipeline/intent_signal_extractor.js.map +0 -1
- package/dist/engine/pipeline/route_types.d.ts +0 -10
- package/dist/engine/pipeline/route_types.d.ts.map +0 -1
- package/dist/engine/pipeline/route_types.js +0 -9
- package/dist/engine/pipeline/route_types.js.map +0 -1
- package/dist/engine/pipeline/stage_gate_engine.d.ts +0 -34
- package/dist/engine/pipeline/stage_gate_engine.d.ts.map +0 -1
- package/dist/engine/pipeline/stage_gate_engine.js +0 -123
- package/dist/engine/pipeline/stage_gate_engine.js.map +0 -1
- package/dist/engine/pipeline/stage_prechecks.d.ts +0 -83
- package/dist/engine/pipeline/stage_prechecks.d.ts.map +0 -1
- package/dist/engine/pipeline/stage_prechecks.js +0 -199
- package/dist/engine/pipeline/stage_prechecks.js.map +0 -1
- package/dist/engine/workflow/legacy_type_migration.d.ts +0 -64
- package/dist/engine/workflow/legacy_type_migration.d.ts.map +0 -1
- package/dist/engine/workflow/legacy_type_migration.js +0 -228
- package/dist/engine/workflow/legacy_type_migration.js.map +0 -1
- package/dist/server/tools/tool_groups/classify_expand.d.ts +0 -3
- package/dist/server/tools/tool_groups/classify_expand.d.ts.map +0 -1
- package/dist/server/tools/tool_groups/classify_expand.js +0 -7
- package/dist/server/tools/tool_groups/classify_expand.js.map +0 -1
- package/dist/server/tools/tool_groups/classify_handler.d.ts +0 -3
- package/dist/server/tools/tool_groups/classify_handler.d.ts.map +0 -1
- package/dist/server/tools/tool_groups/classify_handler.js +0 -65
- package/dist/server/tools/tool_groups/classify_handler.js.map +0 -1
- package/dist/server/tools/tool_groups/expand_handler.d.ts +0 -3
- package/dist/server/tools/tool_groups/expand_handler.d.ts.map +0 -1
- package/dist/server/tools/tool_groups/expand_handler.js +0 -823
- package/dist/server/tools/tool_groups/expand_handler.js.map +0 -1
- package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts +0 -4
- package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts.map +0 -1
- package/dist/server/tools/tool_groups/status_plan_analyze_review.js +0 -395
- package/dist/server/tools/tool_groups/status_plan_analyze_review.js.map +0 -1
- package/dist/server/tools/tool_groups/verify_learn.d.ts +0 -3
- package/dist/server/tools/tool_groups/verify_learn.d.ts.map +0 -1
- package/dist/server/tools/tool_groups/verify_learn.js +0 -804
- package/dist/server/tools/tool_groups/verify_learn.js.map +0 -1
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 三级确定性门禁 — 状态机阶段执行前检查。
|
|
3
|
+
*
|
|
4
|
+
* 第一级:输入完备性(知识覆盖 + 必需输入 + 生命周期知识门禁)
|
|
5
|
+
* 第二级:方案风险扫描(8 种风险模式 + mini-brainstorm 触发 + 计划前置门禁)
|
|
6
|
+
* 第三级:决策确认(人类确认级别 + 设计产物门禁)
|
|
7
|
+
*/
|
|
8
|
+
import { findStageContract } from "../../workflow/workflow_contract_registry.js";
|
|
9
|
+
import { scanRiskPatterns, getRiskPatternDefinition } from "./risk_pattern_scanner.js";
|
|
10
|
+
import { hasWriteSideEffect } from "../../contracts/tool_invocation_contract_registry.js";
|
|
11
|
+
import { TOOL_DIAGNOSTIC_CODES } from "../../audit/diagnostic_registry.js";
|
|
12
|
+
// ═══════════════════════════════════════════
|
|
13
|
+
// 阶段门禁配置
|
|
14
|
+
// ═══════════════════════════════════════════
|
|
15
|
+
/** 每阶段知识命中最低要求 */
|
|
16
|
+
const MIN_KNOWLEDGE_HITS = {
|
|
17
|
+
"需求分析": 0,
|
|
18
|
+
"现有系统分析": 2,
|
|
19
|
+
"架构设计": 3,
|
|
20
|
+
"详细设计": 2,
|
|
21
|
+
"任务规划": 2,
|
|
22
|
+
"编码与单元测试": 1,
|
|
23
|
+
"代码审查": 1,
|
|
24
|
+
"联调验证": 1,
|
|
25
|
+
};
|
|
26
|
+
/** 命中 hard_fail 风险模式时触发 mini-brainstorm 的阶段 */
|
|
27
|
+
const BRAINSTORM_STAGES = new Set([
|
|
28
|
+
"编码与单元测试",
|
|
29
|
+
"架构设计",
|
|
30
|
+
]);
|
|
31
|
+
/** 命中 hard_fail 风险模式时触发第一性原理的阶段 */
|
|
32
|
+
const FIRST_PRINCIPLES_STAGES = new Set([
|
|
33
|
+
"架构设计",
|
|
34
|
+
]);
|
|
35
|
+
/**
|
|
36
|
+
* 评估三级确定性门禁。
|
|
37
|
+
*
|
|
38
|
+
* @param params - 门禁评估参数
|
|
39
|
+
* @returns 三级门禁结果
|
|
40
|
+
*/
|
|
41
|
+
export function evaluateCertaintyGate(params) {
|
|
42
|
+
const { stage, knowledgeIndex, workDescription, pipelineState } = params;
|
|
43
|
+
// 获取阶段契约(传入或从注册表查找)
|
|
44
|
+
const stageContract = params.stageContract ?? findStageContract(stage);
|
|
45
|
+
if (!stageContract) {
|
|
46
|
+
// 无阶段契约时仅返回基本信息,不阻断
|
|
47
|
+
return {
|
|
48
|
+
level1: { passed: true, knowledge_hits: 0, min_required: 0, missing_inputs: [] },
|
|
49
|
+
level2: { passed: true, risk_patterns_hit: [], brainstorm_required: false, brainstorm_template: null, first_principles_required: false },
|
|
50
|
+
level3: { passed: true, confirmation_level: "auto_resolvable", pending_confirmations: [] },
|
|
51
|
+
overall_passed: true,
|
|
52
|
+
checks: [],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const minRequired = MIN_KNOWLEDGE_HITS[stage] ?? 1;
|
|
56
|
+
// ── 第一级:输入完备性 ──
|
|
57
|
+
const level1 = evaluateLevel1(stage, knowledgeIndex, stageContract, pipelineState, minRequired);
|
|
58
|
+
// ── 第二级:方案风险扫描 ──
|
|
59
|
+
const level2 = evaluateLevel2(stage, workDescription);
|
|
60
|
+
// ── 第三级:决策确认 ──
|
|
61
|
+
const level3 = evaluateLevel3(stageContract);
|
|
62
|
+
const overallPassed = level1.passed && level2.passed && level3.passed;
|
|
63
|
+
// 构建扁平 checks 数组
|
|
64
|
+
const checks = [
|
|
65
|
+
{
|
|
66
|
+
check_id: `gate-${stage}-knowledge-coverage`,
|
|
67
|
+
name_zh: "知识覆盖率",
|
|
68
|
+
passed: level1.knowledge_hits >= level1.min_required,
|
|
69
|
+
evidence: `命中 ${level1.knowledge_hits}/${level1.min_required}`,
|
|
70
|
+
blocking_reason: level1.knowledge_hits < level1.min_required ? "知识命中不足" : undefined,
|
|
71
|
+
fix_suggestion: level1.knowledge_hits < level1.min_required ? "补充阶段相关知识" : undefined,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
check_id: `gate-${stage}-required-inputs`,
|
|
75
|
+
name_zh: "必需输入检查",
|
|
76
|
+
passed: level1.missing_inputs.length === 0,
|
|
77
|
+
evidence: level1.missing_inputs.length === 0 ? "全部输入已就绪" : `缺失: ${level1.missing_inputs.join(", ")}`,
|
|
78
|
+
blocking_reason: level1.missing_inputs.length > 0 ? `缺少输入: ${level1.missing_inputs.join(", ")}` : undefined,
|
|
79
|
+
fix_suggestion: level1.missing_inputs.length > 0 ? "先完成前置阶段的产出" : undefined,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
check_id: `gate-${stage}-risk-patterns`,
|
|
83
|
+
name_zh: "风险模式扫描",
|
|
84
|
+
passed: level2.passed,
|
|
85
|
+
evidence: level2.risk_patterns_hit.length === 0 ? "无风险模式命中" : `命中: ${level2.risk_patterns_hit.join(", ")}`,
|
|
86
|
+
blocking_reason: !level2.passed ? `风险模式命中: ${level2.risk_patterns_hit.join(", ")}` : undefined,
|
|
87
|
+
fix_suggestion: !level2.passed ? "查看 brainstorm_template 中的建议" : undefined,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
check_id: `gate-${stage}-confirmation-level`,
|
|
91
|
+
name_zh: "确认级别",
|
|
92
|
+
passed: true, // Phase 1 不阻断
|
|
93
|
+
evidence: `确认级别: ${level3.confirmation_level}`,
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
return {
|
|
97
|
+
level1,
|
|
98
|
+
level2,
|
|
99
|
+
level3,
|
|
100
|
+
overall_passed: overallPassed,
|
|
101
|
+
block_reason: overallPassed ? undefined : buildBlockReason(level1, level2, level3),
|
|
102
|
+
checks,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// ═══════════════════════════════════════════
|
|
106
|
+
// 第一级:输入完备性
|
|
107
|
+
// ═══════════════════════════════════════════
|
|
108
|
+
function evaluateLevel1(stage, knowledgeIndex, stageContract, _pipelineState, minRequired) {
|
|
109
|
+
// 需求分析阶段无前置要求
|
|
110
|
+
if (stage === "需求分析") {
|
|
111
|
+
return { passed: true, knowledge_hits: 0, min_required: 0, missing_inputs: [] };
|
|
112
|
+
}
|
|
113
|
+
// 查询阶段相关知识的命中数量
|
|
114
|
+
let knowledgeHits = 0;
|
|
115
|
+
try {
|
|
116
|
+
const results = knowledgeIndex.query({ stages: [stage], limit: 100 });
|
|
117
|
+
knowledgeHits = results.length;
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// 知识查询失败时降级:不因知识索引问题阻断执行
|
|
121
|
+
knowledgeHits = minRequired; // 假定满足最低要求
|
|
122
|
+
}
|
|
123
|
+
// 检查前置阶段的产出是否存在
|
|
124
|
+
const missingInputs = [];
|
|
125
|
+
if (stageContract.required_inputs.length > 0) {
|
|
126
|
+
for (const input of stageContract.required_inputs) {
|
|
127
|
+
// 简化检查:在 pipelineState.stages 的 outputs 中查找
|
|
128
|
+
const found = _pipelineState.stages.some((s) => s.status === "completed" && s.outputs.some((o) => o.includes(input)));
|
|
129
|
+
if (!found) {
|
|
130
|
+
missingInputs.push(input);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// 通过条件:知识命中 ≥ 最低要求 且 无缺失输入
|
|
135
|
+
const passed = knowledgeHits >= minRequired && missingInputs.length === 0;
|
|
136
|
+
return {
|
|
137
|
+
passed,
|
|
138
|
+
knowledge_hits: knowledgeHits,
|
|
139
|
+
min_required: minRequired,
|
|
140
|
+
missing_inputs: missingInputs,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
// ═══════════════════════════════════════════
|
|
144
|
+
// 第二级:方案风险扫描
|
|
145
|
+
// ═══════════════════════════════════════════
|
|
146
|
+
function evaluateLevel2(stage, workDescription) {
|
|
147
|
+
const matches = scanRiskPatterns(workDescription);
|
|
148
|
+
const hardFailHits = matches.filter((m) => m.severity === "hard_fail");
|
|
149
|
+
const hitIds = matches.map((m) => m.pattern_id);
|
|
150
|
+
const brainstormRequired = hardFailHits.length > 0 && BRAINSTORM_STAGES.has(stage);
|
|
151
|
+
const firstPrinciplesRequired = hardFailHits.length > 0 && FIRST_PRINCIPLES_STAGES.has(stage);
|
|
152
|
+
// brainstorm 模板(仅在有 hard_fail 且阶段匹配时生成)
|
|
153
|
+
let brainstormTemplate = null;
|
|
154
|
+
if (brainstormRequired && hardFailHits.length > 0) {
|
|
155
|
+
const hit = hardFailHits[0];
|
|
156
|
+
const patternDef = getRiskPatternDefinition(hit.pattern_id);
|
|
157
|
+
brainstormTemplate = {
|
|
158
|
+
option_a: `采用默认策略:${hit.default_strategy_zh}`,
|
|
159
|
+
option_b: "自行设计方案,需说明理由",
|
|
160
|
+
default_strategy: hit.default_strategy_zh,
|
|
161
|
+
risk_pattern_id: hit.pattern_id,
|
|
162
|
+
pros: patternDef?.brainstorm_template?.pros ?? ["复用已验证策略"],
|
|
163
|
+
cons: patternDef?.brainstorm_template?.cons ?? ["需要评估适用性"],
|
|
164
|
+
failure_conditions: patternDef?.brainstorm_template?.failure_conditions ?? ["未覆盖所有边界情况"],
|
|
165
|
+
verification_method: patternDef?.brainstorm_template?.verification_method ?? "编写针对性测试验证",
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
// 通过条件:无 hard_fail 命中,或不属于 brainstorm 触发阶段
|
|
169
|
+
// 注意:hard_fail 命中时不阻断执行,而是标记 brainstorm_required
|
|
170
|
+
// 实际阻断逻辑由调用方(pipeline_state_machine)决定
|
|
171
|
+
const passed = hardFailHits.length === 0;
|
|
172
|
+
return {
|
|
173
|
+
passed,
|
|
174
|
+
risk_patterns_hit: hitIds,
|
|
175
|
+
brainstorm_required: brainstormRequired,
|
|
176
|
+
brainstorm_template: brainstormTemplate,
|
|
177
|
+
first_principles_required: firstPrinciplesRequired,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
// ═══════════════════════════════════════════
|
|
181
|
+
// 第三级:决策确认
|
|
182
|
+
// ═══════════════════════════════════════════
|
|
183
|
+
function evaluateLevel3(stageContract) {
|
|
184
|
+
const humanGates = stageContract.human_gate;
|
|
185
|
+
if (!humanGates || humanGates.length === 0) {
|
|
186
|
+
return { passed: true, confirmation_level: "auto_resolvable", pending_confirmations: [] };
|
|
187
|
+
}
|
|
188
|
+
// 包含 "require_user_confirm" 关键词的门禁为 must_confirm
|
|
189
|
+
const mustConfirm = humanGates.filter((g) => g.includes("require_user_confirm") || g.includes("must_confirm"));
|
|
190
|
+
const shouldConfirm = humanGates.filter((g) => !g.includes("require_user_confirm") && !g.includes("must_confirm"));
|
|
191
|
+
const confirmationLevel = mustConfirm.length > 0 ? "must_confirm" : shouldConfirm.length > 0 ? "should_confirm" : "auto_resolvable";
|
|
192
|
+
// Phase 1:第三级门禁不阻断执行,仅记录待确认项
|
|
193
|
+
// Phase 2 将引入强制确认机制
|
|
194
|
+
const pendingConfirmations = [...mustConfirm, ...shouldConfirm];
|
|
195
|
+
return {
|
|
196
|
+
passed: true, // Phase 1 不阻断
|
|
197
|
+
confirmation_level: confirmationLevel,
|
|
198
|
+
pending_confirmations: pendingConfirmations,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
// ═══════════════════════════════════════════
|
|
202
|
+
// 辅助函数
|
|
203
|
+
// ═══════════════════════════════════════════
|
|
204
|
+
function buildBlockReason(level1, _level2, _level3) {
|
|
205
|
+
const reasons = [];
|
|
206
|
+
if (!level1.passed) {
|
|
207
|
+
if (level1.missing_inputs.length > 0) {
|
|
208
|
+
reasons.push(`缺少必需输入: ${level1.missing_inputs.join(", ")}`);
|
|
209
|
+
}
|
|
210
|
+
if (level1.knowledge_hits < level1.min_required) {
|
|
211
|
+
reasons.push(`知识命中不足: ${level1.knowledge_hits}/${level1.min_required}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return reasons.length > 0 ? reasons.join("; ") : "门禁未通过";
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* 计划前置门禁 — 写操作前必须有 plan_proposal_gate。
|
|
218
|
+
*
|
|
219
|
+
* 迁移自 gate_checks.ts:checkWriteToolPlanGate,集成到确定性门禁第二级。
|
|
220
|
+
* middleware.ts 从此模块导入,不再依赖 gate_checks.ts。
|
|
221
|
+
*/
|
|
222
|
+
export function evaluatePlanProposalGate(params) {
|
|
223
|
+
if (!hasWriteSideEffect(params.sideEffects))
|
|
224
|
+
return { allowed: true };
|
|
225
|
+
if (!params.ctx || !params.ctx.plan_proposal_gate) {
|
|
226
|
+
return {
|
|
227
|
+
allowed: false,
|
|
228
|
+
diagnostic_code: TOOL_DIAGNOSTIC_CODES.planGate,
|
|
229
|
+
violation_type: "guard_blocked",
|
|
230
|
+
reason: `工具 ${params.toolName} 执行前缺少 Plan Proposal Gate`,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
return { allowed: true };
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* 设计产物编码门禁 — 依赖设计包的任务,在真实复验完成前不得写入业务实现。
|
|
237
|
+
*
|
|
238
|
+
* 迁移自 gate_checks.ts:checkDesignArtifactWriteGate,集成到确定性门禁第三级。
|
|
239
|
+
* 仅阻断文件/配置/外部交付写入;任务状态、设计文档复验和讨论本身仍可推进。
|
|
240
|
+
*/
|
|
241
|
+
export function evaluateDesignArtifactGate(params) {
|
|
242
|
+
const implementationWrite = params.sideEffects.some((effect) => ["file_write", "config_write", "external_write", "git_commit", "git_push", "pr_create"].includes(effect));
|
|
243
|
+
if (!implementationWrite || !params.ctx?.design_artifact_pack)
|
|
244
|
+
return { allowed: true };
|
|
245
|
+
if (params.ctx.design_artifact_pack.status === "implementation_ready")
|
|
246
|
+
return { allowed: true };
|
|
247
|
+
return {
|
|
248
|
+
allowed: false,
|
|
249
|
+
diagnostic_code: "SF-DESIGN-PACK-NOT-READY",
|
|
250
|
+
reason: `工具 ${params.toolName} 依赖的设计产物包状态为 ${params.ctx.design_artifact_pack.status},未完成真实复验,不得写入实现或交付`,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* 生命周期知识门禁 — 检查项目知识 hard rule 是否满足。
|
|
255
|
+
*
|
|
256
|
+
* 迁移自 lifecycle_knowledge_contract.ts:evaluateLifecycleKnowledgeDecision,
|
|
257
|
+
* 集成到确定性门禁第一级。sf_stage_execute/sf_gate_check/sf_stage_advance 必经此门。
|
|
258
|
+
*/
|
|
259
|
+
export async function evaluateLifecycleKnowledgeGate(params) {
|
|
260
|
+
// 仅对管线核心工具执行
|
|
261
|
+
if (!["sf_stage_execute", "sf_gate_check", "sf_stage_advance"].includes(params.toolName)) {
|
|
262
|
+
return {
|
|
263
|
+
allowed: true, hard_fail_count: 0, findings: [],
|
|
264
|
+
decision_summary_zh: "非管线核心工具,跳过生命周期知识门禁",
|
|
265
|
+
recovery_commands: [], contract_id: "", lifecycle_stage: "",
|
|
266
|
+
authoritative_paths: [],
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
const { evaluateLifecycleKnowledgeDecision } = await import("../../contracts/lifecycle_knowledge_contract.js");
|
|
270
|
+
const lifecycleStage = params.toolName === "sf_stage_execute" ? "implementation"
|
|
271
|
+
: params.toolName === "sf_gate_check" ? "testing" : "delivery";
|
|
272
|
+
const lifecycleDecision = evaluateLifecycleKnowledgeDecision({
|
|
273
|
+
projectPath: params.projectPath,
|
|
274
|
+
consumer: params.toolName,
|
|
275
|
+
intent: params.ctx?.intent ?? params.toolName,
|
|
276
|
+
route: params.toolName === "sf_stage_execute" ? "review"
|
|
277
|
+
: params.toolName === "sf_gate_check" ? "verification" : "delivery",
|
|
278
|
+
lifecycle_stage: lifecycleStage,
|
|
279
|
+
changed_files: params.changedFiles ?? params.ctx?.execution?.changed_files ?? [],
|
|
280
|
+
verified_files: params.changedFiles ?? params.ctx?.execution?.changed_files ?? [],
|
|
281
|
+
traceability_ids: [
|
|
282
|
+
...(params.ctx?.traceability_binding?.requirement_ids ?? []),
|
|
283
|
+
...(params.ctx?.traceability_binding?.prototype_ids ?? []),
|
|
284
|
+
...(params.ctx?.traceability_binding?.architecture_ids ?? []),
|
|
285
|
+
...(params.ctx?.traceability_binding?.detail_design_ids ?? []),
|
|
286
|
+
...(params.ctx?.traceability_binding?.phase_ids ?? []),
|
|
287
|
+
...(params.ctx?.traceability_binding?.slice_ids ?? []),
|
|
288
|
+
...(params.ctx?.traceability_binding?.acceptance_ids ?? []),
|
|
289
|
+
],
|
|
290
|
+
config: params.config,
|
|
291
|
+
task_id: params.taskId,
|
|
292
|
+
require_design_audit: false,
|
|
293
|
+
enforce_control_plane: params.toolName !== "sf_stage_execute",
|
|
294
|
+
generation_traces: [
|
|
295
|
+
...(params.ctx?.classification ? [{ tool_name: "sf_stage_execute", task_id: params.taskId, status: "passed", evidence_kind: "result" }] : []),
|
|
296
|
+
...(params.ctx?.expansion ? [{ tool_name: "sf_stage_execute", task_id: params.taskId, status: "passed", evidence_kind: "result" }] : []),
|
|
297
|
+
...(params.toolName === "sf_gate_check" ? [{ tool_name: "sf_gate_check", task_id: params.taskId, status: "blocked", evidence_kind: "plan" }] : []),
|
|
298
|
+
],
|
|
299
|
+
selection_limit: 8,
|
|
300
|
+
});
|
|
301
|
+
const hardFindings = lifecycleDecision.findings
|
|
302
|
+
.filter((f) => f.severity === "hard_fail")
|
|
303
|
+
.map((f) => `[${f.code}] ${f.message_zh}`);
|
|
304
|
+
return {
|
|
305
|
+
allowed: lifecycleDecision.hard_fail_count === 0,
|
|
306
|
+
hard_fail_count: lifecycleDecision.hard_fail_count,
|
|
307
|
+
findings: hardFindings,
|
|
308
|
+
decision_summary_zh: lifecycleDecision.decision_summary_zh,
|
|
309
|
+
recovery_commands: lifecycleDecision.recovery_commands,
|
|
310
|
+
contract_id: lifecycleDecision.contract_id,
|
|
311
|
+
lifecycle_stage: lifecycleDecision.lifecycle_stage ?? "",
|
|
312
|
+
authoritative_paths: Object.values(lifecycleDecision.authoritative_paths).flat(),
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
// 重导出安全阀映射,供外部消费门禁→能力级别映射
|
|
316
|
+
export { GATE_CHECK_TO_CAPABILITY, applyCapabilitySafetyValve } from "./capability_safety_valve.js";
|
|
317
|
+
//# sourceMappingURL=certainty_gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certainty_gate.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/certainty_gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 命令状态校验器 — 基于管线阶段校验命令合法性。
|
|
3
|
+
* 基于管线阶段而非路由决策进行命令合法性校验。
|
|
4
|
+
*/
|
|
5
|
+
import type { TaskStage } from "../../workflow/workflow_navigation_contract.js";
|
|
6
|
+
/** 校验输入 */
|
|
7
|
+
export interface CommandStateVerifyInput {
|
|
8
|
+
/** 当前管线阶段 */
|
|
9
|
+
current_stage: TaskStage;
|
|
10
|
+
/** 目标阶段(推进/跳转时) */
|
|
11
|
+
target_stage?: TaskStage;
|
|
12
|
+
/** 工具名称 */
|
|
13
|
+
tool_name: string;
|
|
14
|
+
/** 是否有活跃管线 */
|
|
15
|
+
has_active_pipeline: boolean;
|
|
16
|
+
/** 操作类型 */
|
|
17
|
+
action: "execute" | "advance" | "rollback" | "gate_check" | "status" | "init" | "command" | "next";
|
|
18
|
+
}
|
|
19
|
+
/** 校验发现 */
|
|
20
|
+
export interface CommandStateVerifyFinding {
|
|
21
|
+
rule_id: string;
|
|
22
|
+
severity: "hard_fail" | "warning";
|
|
23
|
+
message_zh: string;
|
|
24
|
+
recovery?: string;
|
|
25
|
+
}
|
|
26
|
+
/** 校验结果 */
|
|
27
|
+
export interface CommandStateVerifyResult {
|
|
28
|
+
valid: boolean;
|
|
29
|
+
findings: CommandStateVerifyFinding[];
|
|
30
|
+
allowed_actions: string[];
|
|
31
|
+
blocked_reason_zh: string | null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 校验命令状态合法性 — 11 条规则驱动。
|
|
35
|
+
*
|
|
36
|
+
* 11 条规则:
|
|
37
|
+
* 1. init 只能在无活跃管线时调用
|
|
38
|
+
* 2. execute/advance/rollback 需要 active pipeline
|
|
39
|
+
* 3. advance 目标必须是合法下一阶段
|
|
40
|
+
* 4. execute 只在 EXECUTION_ALLOWED_STAGES 阶段允许
|
|
41
|
+
* 5. rollback 目标必须是合法回退目标
|
|
42
|
+
* 6. gate_check 任何阶段都可调用
|
|
43
|
+
* 7. status/command/next 任何状态都可调用
|
|
44
|
+
* 8. 不能从联调验证推进(最终阶段)
|
|
45
|
+
* 9. 需求分析阶段不允许 rollback(起始阶段)
|
|
46
|
+
* 10. 编码与单元测试阶段必须有切片计划才能 execute
|
|
47
|
+
* 11. 非编码阶段不能执行源码修改操作
|
|
48
|
+
*/
|
|
49
|
+
export declare function verifyCommandState(input: CommandStateVerifyInput): CommandStateVerifyResult;
|
|
50
|
+
//# sourceMappingURL=command_state_verifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command_state_verifier.d.ts","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/command_state_verifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAGhF,WAAW;AACX,MAAM,WAAW,uBAAuB;IACtC,aAAa;IACb,aAAa,EAAE,SAAS,CAAC;IACzB,mBAAmB;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CACpG;AAED,WAAW;AACX,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,WAAW;AACX,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAgCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAwH3F"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 命令状态校验器 — 基于管线阶段校验命令合法性。
|
|
3
|
+
* 基于管线阶段而非路由决策进行命令合法性校验。
|
|
4
|
+
*/
|
|
5
|
+
import { debug } from "../../core/logger.js";
|
|
6
|
+
/** 合法阶段推进路径 */
|
|
7
|
+
const VALID_ADVANCE_PATHS = {
|
|
8
|
+
"需求分析": ["架构设计", "现有系统分析"],
|
|
9
|
+
"现有系统分析": ["架构设计"],
|
|
10
|
+
"架构设计": ["详细设计"],
|
|
11
|
+
"详细设计": ["任务规划"],
|
|
12
|
+
"任务规划": ["编码与单元测试"],
|
|
13
|
+
"编码与单元测试": ["代码审查"],
|
|
14
|
+
"代码审查": ["联调验证"],
|
|
15
|
+
"联调验证": [],
|
|
16
|
+
};
|
|
17
|
+
/** 允许执行(源码修改)的阶段 */
|
|
18
|
+
const EXECUTION_ALLOWED_STAGES = ["编码与单元测试"];
|
|
19
|
+
/** 允许回退的阶段 */
|
|
20
|
+
function getRollbackTargets(stage) {
|
|
21
|
+
const rollbackMap = {
|
|
22
|
+
"需求分析": [],
|
|
23
|
+
"现有系统分析": ["需求分析"],
|
|
24
|
+
"架构设计": ["需求分析"],
|
|
25
|
+
"详细设计": ["架构设计"],
|
|
26
|
+
"任务规划": [],
|
|
27
|
+
"编码与单元测试": ["详细设计"],
|
|
28
|
+
"代码审查": ["编码与单元测试"],
|
|
29
|
+
"联调验证": ["编码与单元测试", "架构设计"],
|
|
30
|
+
};
|
|
31
|
+
return rollbackMap[stage] ?? [];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 校验命令状态合法性 — 11 条规则驱动。
|
|
35
|
+
*
|
|
36
|
+
* 11 条规则:
|
|
37
|
+
* 1. init 只能在无活跃管线时调用
|
|
38
|
+
* 2. execute/advance/rollback 需要 active pipeline
|
|
39
|
+
* 3. advance 目标必须是合法下一阶段
|
|
40
|
+
* 4. execute 只在 EXECUTION_ALLOWED_STAGES 阶段允许
|
|
41
|
+
* 5. rollback 目标必须是合法回退目标
|
|
42
|
+
* 6. gate_check 任何阶段都可调用
|
|
43
|
+
* 7. status/command/next 任何状态都可调用
|
|
44
|
+
* 8. 不能从联调验证推进(最终阶段)
|
|
45
|
+
* 9. 需求分析阶段不允许 rollback(起始阶段)
|
|
46
|
+
* 10. 编码与单元测试阶段必须有切片计划才能 execute
|
|
47
|
+
* 11. 非编码阶段不能执行源码修改操作
|
|
48
|
+
*/
|
|
49
|
+
export function verifyCommandState(input) {
|
|
50
|
+
const findings = [];
|
|
51
|
+
const allowedActions = [];
|
|
52
|
+
// 规则 7: status/command/next 始终允许
|
|
53
|
+
if (input.action === "status" || input.action === "command" || input.action === "next") {
|
|
54
|
+
return { valid: true, findings: [], allowed_actions: [input.action], blocked_reason_zh: null };
|
|
55
|
+
}
|
|
56
|
+
// 规则 6: gate_check 任何阶段都可调用
|
|
57
|
+
if (input.action === "gate_check") {
|
|
58
|
+
return { valid: true, findings: [], allowed_actions: ["gate_check"], blocked_reason_zh: null };
|
|
59
|
+
}
|
|
60
|
+
// 规则 1: init 只能在无活跃管线时调用
|
|
61
|
+
if (input.action === "init") {
|
|
62
|
+
if (input.has_active_pipeline) {
|
|
63
|
+
findings.push({
|
|
64
|
+
rule_id: "CMD-01",
|
|
65
|
+
severity: "hard_fail",
|
|
66
|
+
message_zh: "已有活跃管线,不能重复初始化。请先完成或归档当前管线。",
|
|
67
|
+
recovery: "[sf] 状态 查看当前管线,或 [sf] 归档 归档陈旧管线",
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return { valid: findings.length === 0, findings, allowed_actions: ["init"], blocked_reason_zh: findings.length > 0 ? findings[0].message_zh : null };
|
|
71
|
+
}
|
|
72
|
+
// 规则 2: execute/advance/rollback 需要 active pipeline
|
|
73
|
+
if (!input.has_active_pipeline) {
|
|
74
|
+
findings.push({
|
|
75
|
+
rule_id: "CMD-02",
|
|
76
|
+
severity: "hard_fail",
|
|
77
|
+
message_zh: "无活跃管线,请先初始化。",
|
|
78
|
+
recovery: "[sf] 开始 <任务描述>",
|
|
79
|
+
});
|
|
80
|
+
return { valid: false, findings, allowed_actions: ["init"], blocked_reason_zh: findings[0].message_zh };
|
|
81
|
+
}
|
|
82
|
+
// 规则 3: advance 目标必须是合法下一阶段
|
|
83
|
+
if (input.action === "advance" && input.target_stage) {
|
|
84
|
+
const validTargets = VALID_ADVANCE_PATHS[input.current_stage] ?? [];
|
|
85
|
+
if (!validTargets.includes(input.target_stage)) {
|
|
86
|
+
findings.push({
|
|
87
|
+
rule_id: "CMD-03",
|
|
88
|
+
severity: "hard_fail",
|
|
89
|
+
message_zh: `阶段 ${input.current_stage} 不能推进到 ${input.target_stage}。合法目标: ${validTargets.join("、") || "无(最终阶段)"}`,
|
|
90
|
+
recovery: `[sf] 状态 查看当前阶段,[sf] 推进 推进到下一阶段`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// 规则 4: execute 只在允许的阶段可用
|
|
95
|
+
if (input.action === "execute" && !EXECUTION_ALLOWED_STAGES.includes(input.current_stage)) {
|
|
96
|
+
findings.push({
|
|
97
|
+
rule_id: "CMD-04",
|
|
98
|
+
severity: "hard_fail",
|
|
99
|
+
message_zh: `阶段 ${input.current_stage} 不允许执行操作。允许执行阶段: ${EXECUTION_ALLOWED_STAGES.join("、")}`,
|
|
100
|
+
recovery: `[sf] 推进 推进到执行阶段`,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
// 规则 5: rollback 目标必须是合法回退目标
|
|
104
|
+
if (input.action === "rollback" && input.target_stage) {
|
|
105
|
+
const rollbackTargets = getRollbackTargets(input.current_stage);
|
|
106
|
+
if (!rollbackTargets.includes(input.target_stage)) {
|
|
107
|
+
findings.push({
|
|
108
|
+
rule_id: "CMD-05",
|
|
109
|
+
severity: "hard_fail",
|
|
110
|
+
message_zh: `阶段 ${input.current_stage} 不能回退到 ${input.target_stage}。合法回退目标: ${rollbackTargets.join("、") || "无(起始阶段)"}`,
|
|
111
|
+
recovery: `[sf] 状态 查看合法回退路径`,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// 规则 8: 最终阶段不能推进
|
|
116
|
+
if (input.action === "advance" && input.current_stage === "联调验证") {
|
|
117
|
+
findings.push({
|
|
118
|
+
rule_id: "CMD-08",
|
|
119
|
+
severity: "warning",
|
|
120
|
+
message_zh: "联调验证是最终阶段,无法继续推进。",
|
|
121
|
+
recovery: "[sf] 状态 查看管线完成情况",
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// 规则 9: 起始阶段不能回退
|
|
125
|
+
if (input.action === "rollback" && input.current_stage === "需求分析") {
|
|
126
|
+
findings.push({
|
|
127
|
+
rule_id: "CMD-09",
|
|
128
|
+
severity: "warning",
|
|
129
|
+
message_zh: "需求分析是起始阶段,无回退目标。",
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
// 规则 11: 非编码阶段不能执行源码修改
|
|
133
|
+
if (input.action === "execute" && input.tool_name && input.tool_name.includes("write") && !EXECUTION_ALLOWED_STAGES.includes(input.current_stage)) {
|
|
134
|
+
findings.push({
|
|
135
|
+
rule_id: "CMD-11",
|
|
136
|
+
severity: "hard_fail",
|
|
137
|
+
message_zh: `当前阶段 ${input.current_stage} 不允许源码修改。`,
|
|
138
|
+
recovery: `推进到编码阶段后再执行修改`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
// 计算允许的操作
|
|
142
|
+
allowedActions.push("status", "command", "next");
|
|
143
|
+
if (input.current_stage !== "联调验证")
|
|
144
|
+
allowedActions.push("advance");
|
|
145
|
+
if (getRollbackTargets(input.current_stage).length > 0)
|
|
146
|
+
allowedActions.push("rollback");
|
|
147
|
+
allowedActions.push("gate_check");
|
|
148
|
+
if (EXECUTION_ALLOWED_STAGES.includes(input.current_stage))
|
|
149
|
+
allowedActions.push("execute");
|
|
150
|
+
const hardFailFindings = findings.filter(f => f.severity === "hard_fail");
|
|
151
|
+
const result = {
|
|
152
|
+
valid: hardFailFindings.length === 0,
|
|
153
|
+
findings,
|
|
154
|
+
allowed_actions: allowedActions,
|
|
155
|
+
blocked_reason_zh: hardFailFindings.length > 0 ? hardFailFindings[0].message_zh : null,
|
|
156
|
+
};
|
|
157
|
+
debug("命令状态校验", "阶段=%s 动作=%s 有效=%s 发现=%d", input.current_stage, input.action, result.valid, findings.length);
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=command_state_verifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command_state_verifier.js","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/command_state_verifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook 分类器 — pre-prompt Hook 三路分流核心模块。
|
|
3
|
+
*
|
|
4
|
+
* Phase 2 新增。确定性三路分流(替代旧 NLP 级联路由):
|
|
5
|
+
* - 路径 A: [sf] 命令 → 直接转发 sf_command
|
|
6
|
+
* - 路径 B: 开发关键词 → 注入翻译指令
|
|
7
|
+
* - 路径 C: 普通对话 → 不注入
|
|
8
|
+
*
|
|
9
|
+
* 纯函数(除 readPipelineStateSync 使用同步文件 I/O),零 MCP 依赖。
|
|
10
|
+
* 被 validate.ts (cmdPrePrompt)、check_write.ts (L1.5) 和测试文件导入。
|
|
11
|
+
*/
|
|
12
|
+
import type { PipelineState } from "../../../types/state_machine.js";
|
|
13
|
+
/** 从管线状态提取的精简 Hook 上下文 */
|
|
14
|
+
export interface StageContext {
|
|
15
|
+
hasPipeline: boolean;
|
|
16
|
+
pipeline_type?: string;
|
|
17
|
+
current_stage?: string;
|
|
18
|
+
stage_status?: string;
|
|
19
|
+
}
|
|
20
|
+
/** 三路分流结果 */
|
|
21
|
+
export interface HookClassifyResult {
|
|
22
|
+
/** 路径标识 */
|
|
23
|
+
path: "sf_command" | "dev_nl" | "general_chat";
|
|
24
|
+
/** 注入指令(general_chat 时为 null) */
|
|
25
|
+
instruction: string | null;
|
|
26
|
+
/** 管线上下文 */
|
|
27
|
+
context: StageContext;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 同步读取管线状态。
|
|
31
|
+
*
|
|
32
|
+
* Hook 是 CLI 子进程,使用同步 I/O 避免异步初始化问题。
|
|
33
|
+
* 管线 YAML 通常 < 1KB,阻塞时间可忽略。
|
|
34
|
+
*
|
|
35
|
+
* @param projectPath - 项目根目录
|
|
36
|
+
* @returns PipelineState 或 null(无活跃管线或读取失败时)
|
|
37
|
+
*/
|
|
38
|
+
export declare function readPipelineStateSync(projectPath: string): PipelineState | null;
|
|
39
|
+
/**
|
|
40
|
+
* 从管线状态构建精简 Hook 上下文。
|
|
41
|
+
*
|
|
42
|
+
* @param state - PipelineState 或 null
|
|
43
|
+
* @returns 精简的阶段上下文
|
|
44
|
+
*/
|
|
45
|
+
export declare function buildStageContext(state: PipelineState | null): StageContext;
|
|
46
|
+
/**
|
|
47
|
+
* 三路分流 — 基于阶段上下文的确定性分流。
|
|
48
|
+
*
|
|
49
|
+
* 路径 A: [sf] 命令 → 注入 sf_command 调用指令
|
|
50
|
+
* 路径 B: 开发关键词 → 注入翻译指令 + 管线状态
|
|
51
|
+
* 路径 C: 普通对话 → 不注入(静默退出)
|
|
52
|
+
*
|
|
53
|
+
* @param input - 用户输入文本
|
|
54
|
+
* @param context - 阶段上下文(来自 buildStageContext)
|
|
55
|
+
* @returns 三路分流结果
|
|
56
|
+
*/
|
|
57
|
+
export declare function classifyInput(input: string, context: StageContext): HookClassifyResult;
|
|
58
|
+
//# sourceMappingURL=hook_classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook_classifier.d.ts","sourceRoot":"","sources":["../../../../src/engine/pipeline/state_machine/hook_classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOrE,0BAA0B;AAC1B,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC/C,iCAAiC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY;IACZ,OAAO,EAAE,YAAY,CAAC;CACvB;AAaD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAsB/E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,YAAY,CAU3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,GACpB,kBAAkB,CA0CpB"}
|