soloforge 1.4.16 → 1.5.0
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 +76 -3
- package/dist/adapters/claude_code/claude_md.d.ts +1 -1
- package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
- package/dist/adapters/claude_code/claude_md.js.map +1 -1
- package/dist/adapters/claude_code/pre_prompt_contract.d.ts +4 -59
- package/dist/adapters/claude_code/pre_prompt_contract.d.ts.map +1 -1
- package/dist/adapters/claude_code/pre_prompt_contract.js +3 -111
- package/dist/adapters/claude_code/pre_prompt_contract.js.map +1 -1
- package/dist/adapters/claude_code/server.d.ts +1 -1
- package/dist/adapters/claude_code/server.d.ts.map +1 -1
- package/dist/adapters/claude_code/server.js.map +1 -1
- package/dist/adapters/claude_code/tools.d.ts +1 -1
- package/dist/adapters/claude_code/tools.d.ts.map +1 -1
- package/dist/adapters/claude_code/tools.js +65 -46
- package/dist/adapters/claude_code/tools.js.map +1 -1
- package/dist/adapters/codex/codex_rules.d.ts +1 -1
- package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
- package/dist/adapters/codex/codex_rules.js +1 -24
- package/dist/adapters/codex/codex_rules.js.map +1 -1
- package/dist/adapters/shared/workflow_template.d.ts +8 -12
- package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
- package/dist/adapters/shared/workflow_template.js +16 -78
- package/dist/adapters/shared/workflow_template.js.map +1 -1
- package/dist/adapters/trae/trae_rules.d.ts +1 -1
- package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
- package/dist/adapters/trae/trae_rules.js +1 -10
- package/dist/adapters/trae/trae_rules.js.map +1 -1
- package/dist/bin/soloforge.d.ts.map +1 -1
- package/dist/bin/soloforge.js +53 -100
- package/dist/bin/soloforge.js.map +1 -1
- package/dist/engine/asset_manifest.d.ts.map +1 -1
- package/dist/engine/asset_manifest.js +118 -120
- package/dist/engine/asset_manifest.js.map +1 -1
- package/dist/engine/audit_pool.js.map +1 -1
- package/dist/engine/capability_registry.js +25 -25
- package/dist/engine/capability_registry.js.map +1 -1
- package/dist/engine/capability_state_store.js.map +1 -1
- package/dist/engine/change_coordinator.d.ts +1 -1
- package/dist/engine/change_coordinator.d.ts.map +1 -1
- package/dist/engine/change_coordinator.js.map +1 -1
- package/dist/engine/classifier.d.ts +1 -1
- package/dist/engine/classifier.d.ts.map +1 -1
- package/dist/engine/classifier.js +1 -1
- package/dist/engine/classifier.js.map +1 -1
- package/dist/engine/code_reviewer.d.ts +1 -1
- package/dist/engine/code_reviewer.d.ts.map +1 -1
- package/dist/engine/code_reviewer.js +1 -1
- package/dist/engine/code_reviewer.js.map +1 -1
- package/dist/engine/confidence_scorer.d.ts +1 -1
- package/dist/engine/confidence_scorer.d.ts.map +1 -1
- package/dist/engine/config_auto_repair.js.map +1 -1
- package/dist/engine/config_precedence_contract.js.map +1 -1
- package/dist/engine/consumable_asset_registry.d.ts +1 -1
- package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
- package/dist/engine/consumable_asset_registry.js +236 -126
- package/dist/engine/consumable_asset_registry.js.map +1 -1
- package/dist/engine/consumption_trace_store.d.ts +40 -6
- package/dist/engine/consumption_trace_store.d.ts.map +1 -1
- package/dist/engine/consumption_trace_store.js +90 -47
- package/dist/engine/consumption_trace_store.js.map +1 -1
- package/dist/engine/contract_guard.d.ts +1 -1
- package/dist/engine/contract_guard.d.ts.map +1 -1
- package/dist/engine/contract_guard.js +9 -8
- package/dist/engine/contract_guard.js.map +1 -1
- package/dist/engine/contract_registry.d.ts.map +1 -1
- package/dist/engine/contract_registry.js +9 -11
- package/dist/engine/contract_registry.js.map +1 -1
- package/dist/engine/control_plane_contract.d.ts.map +1 -1
- package/dist/engine/control_plane_contract.js +7 -3
- package/dist/engine/control_plane_contract.js.map +1 -1
- package/dist/engine/convention_detector.js.map +1 -1
- package/dist/engine/core_engineering_principles.d.ts +1 -1
- package/dist/engine/core_engineering_principles.d.ts.map +1 -1
- package/dist/engine/core_engineering_principles.js +6 -6
- package/dist/engine/core_engineering_principles.js.map +1 -1
- package/dist/engine/core_experience_principle.d.ts +2 -2
- package/dist/engine/core_experience_principle.d.ts.map +1 -1
- package/dist/engine/core_experience_principle.js +4 -4
- package/dist/engine/core_experience_principle.js.map +1 -1
- package/dist/engine/debt_reporter.d.ts +1 -1
- package/dist/engine/debt_reporter.d.ts.map +1 -1
- package/dist/engine/debt_tracker.d.ts +1 -1
- package/dist/engine/debt_tracker.d.ts.map +1 -1
- package/dist/engine/debt_tracker.js.map +1 -1
- package/dist/engine/debugger.d.ts +1 -1
- package/dist/engine/debugger.d.ts.map +1 -1
- package/dist/engine/delivery.d.ts +1 -1
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/delivery_readiness.d.ts +2 -2
- package/dist/engine/delivery_readiness.d.ts.map +1 -1
- package/dist/engine/delivery_readiness.js.map +1 -1
- package/dist/engine/dependency_scanner.d.ts +1 -1
- package/dist/engine/dependency_scanner.d.ts.map +1 -1
- package/dist/engine/design_lifecycle_contract.js +2 -2
- package/dist/engine/design_lifecycle_contract.js.map +1 -1
- package/dist/engine/developer_sovereignty.d.ts +1 -1
- package/dist/engine/developer_sovereignty.d.ts.map +1 -1
- package/dist/engine/developer_sovereignty.js.map +1 -1
- package/dist/engine/diff_ownership_store.js.map +1 -1
- package/dist/engine/dual_layer_mechanism_registry.d.ts +1 -1
- package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
- package/dist/engine/dual_layer_mechanism_registry.js +206 -84
- package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
- package/dist/engine/evolution_regression_gate.d.ts +2 -2
- package/dist/engine/evolution_regression_gate.js +3 -3
- package/dist/engine/evolution_regression_gate.js.map +1 -1
- package/dist/engine/evolver.d.ts +1 -1
- package/dist/engine/evolver.d.ts.map +1 -1
- package/dist/engine/evolver.js +1 -1
- package/dist/engine/evolver.js.map +1 -1
- package/dist/engine/expand_pipeline.d.ts +1 -1
- package/dist/engine/expand_pipeline.d.ts.map +1 -1
- package/dist/engine/explicit_asset_registry.d.ts.map +1 -1
- package/dist/engine/explicit_asset_registry.js +641 -268
- package/dist/engine/explicit_asset_registry.js.map +1 -1
- package/dist/engine/exploration.d.ts +1 -1
- package/dist/engine/exploration.d.ts.map +1 -1
- package/dist/engine/extension_platform_contracts.d.ts +2 -4
- package/dist/engine/extension_platform_contracts.d.ts.map +1 -1
- package/dist/engine/extension_platform_contracts.js +2 -3
- package/dist/engine/extension_platform_contracts.js.map +1 -1
- package/dist/engine/extension_scenario_registry.d.ts.map +1 -1
- package/dist/engine/extension_scenario_registry.js +5 -18
- package/dist/engine/extension_scenario_registry.js.map +1 -1
- package/dist/engine/failure_classifier.d.ts +1 -1
- package/dist/engine/failure_classifier.d.ts.map +1 -1
- package/dist/engine/feasibility_checker.d.ts +1 -1
- package/dist/engine/feasibility_checker.d.ts.map +1 -1
- package/dist/engine/foundation_scenario_registry.d.ts +3 -35
- package/dist/engine/foundation_scenario_registry.d.ts.map +1 -1
- package/dist/engine/foundation_scenario_registry.js +4 -181
- package/dist/engine/foundation_scenario_registry.js.map +1 -1
- package/dist/engine/foundation_scenario_runners.js +5 -5
- package/dist/engine/foundation_scenario_runners.js.map +1 -1
- package/dist/engine/gate_checks/checkAdapterLayerConsistency.d.ts +6 -0
- package/dist/engine/gate_checks/checkAdapterLayerConsistency.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkAdapterLayerConsistency.js +117 -0
- package/dist/engine/gate_checks/checkAdapterLayerConsistency.js.map +1 -0
- package/dist/engine/gate_checks/checkCodeObservability.d.ts +6 -0
- package/dist/engine/gate_checks/checkCodeObservability.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkCodeObservability.js +252 -0
- package/dist/engine/gate_checks/checkCodeObservability.js.map +1 -0
- package/dist/engine/gate_checks/checkCodeStyleEnforcement.d.ts +7 -0
- package/dist/engine/gate_checks/checkCodeStyleEnforcement.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkCodeStyleEnforcement.js +73 -0
- package/dist/engine/gate_checks/checkCodeStyleEnforcement.js.map +1 -0
- package/dist/engine/gate_checks/checkControlPlaneTrust.d.ts +9 -0
- package/dist/engine/gate_checks/checkControlPlaneTrust.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkControlPlaneTrust.js +111 -0
- package/dist/engine/gate_checks/checkControlPlaneTrust.js.map +1 -0
- package/dist/engine/gate_checks/checkCriticalProblemConsumption.d.ts +6 -0
- package/dist/engine/gate_checks/checkCriticalProblemConsumption.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkCriticalProblemConsumption.js +476 -0
- package/dist/engine/gate_checks/checkCriticalProblemConsumption.js.map +1 -0
- package/dist/engine/gate_checks/checkDependencyAudit.d.ts +6 -0
- package/dist/engine/gate_checks/checkDependencyAudit.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkDependencyAudit.js +40 -0
- package/dist/engine/gate_checks/checkDependencyAudit.js.map +1 -0
- package/dist/engine/gate_checks/checkDeprecatedCode.d.ts +6 -0
- package/dist/engine/gate_checks/checkDeprecatedCode.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkDeprecatedCode.js +262 -0
- package/dist/engine/gate_checks/checkDeprecatedCode.js.map +1 -0
- package/dist/engine/gate_checks/checkDiagnosticCentralization.d.ts +9 -0
- package/dist/engine/gate_checks/checkDiagnosticCentralization.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkDiagnosticCentralization.js +24 -0
- package/dist/engine/gate_checks/checkDiagnosticCentralization.js.map +1 -0
- package/dist/engine/gate_checks/checkDistFreshness.d.ts +6 -0
- package/dist/engine/gate_checks/checkDistFreshness.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkDistFreshness.js +57 -0
- package/dist/engine/gate_checks/checkDistFreshness.js.map +1 -0
- package/dist/engine/gate_checks/checkDualLayerSemantics.d.ts +6 -0
- package/dist/engine/gate_checks/checkDualLayerSemantics.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkDualLayerSemantics.js +88 -0
- package/dist/engine/gate_checks/checkDualLayerSemantics.js.map +1 -0
- package/dist/engine/gate_checks/checkImplementationContract.d.ts +6 -0
- package/dist/engine/gate_checks/checkImplementationContract.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkImplementationContract.js +90 -0
- package/dist/engine/gate_checks/checkImplementationContract.js.map +1 -0
- package/dist/engine/gate_checks/checkKnowledgeAssetSchemaP0.d.ts +6 -0
- package/dist/engine/gate_checks/checkKnowledgeAssetSchemaP0.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkKnowledgeAssetSchemaP0.js +30 -0
- package/dist/engine/gate_checks/checkKnowledgeAssetSchemaP0.js.map +1 -0
- package/dist/engine/gate_checks/checkKnowledgeLayer.d.ts +6 -0
- package/dist/engine/gate_checks/checkKnowledgeLayer.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkKnowledgeLayer.js +163 -0
- package/dist/engine/gate_checks/checkKnowledgeLayer.js.map +1 -0
- package/dist/engine/gate_checks/checkLongTermMechanization.d.ts +6 -0
- package/dist/engine/gate_checks/checkLongTermMechanization.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkLongTermMechanization.js +55 -0
- package/dist/engine/gate_checks/checkLongTermMechanization.js.map +1 -0
- package/dist/engine/gate_checks/checkMainlineConsumption.d.ts +6 -0
- package/dist/engine/gate_checks/checkMainlineConsumption.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkMainlineConsumption.js +312 -0
- package/dist/engine/gate_checks/checkMainlineConsumption.js.map +1 -0
- package/dist/engine/gate_checks/checkMechanismChain.d.ts +6 -0
- package/dist/engine/gate_checks/checkMechanismChain.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkMechanismChain.js +196 -0
- package/dist/engine/gate_checks/checkMechanismChain.js.map +1 -0
- package/dist/engine/gate_checks/checkMechanismIdentity.d.ts +6 -0
- package/dist/engine/gate_checks/checkMechanismIdentity.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkMechanismIdentity.js +125 -0
- package/dist/engine/gate_checks/checkMechanismIdentity.js.map +1 -0
- package/dist/engine/gate_checks/checkReleaseIssueDesignPath.d.ts +6 -0
- package/dist/engine/gate_checks/checkReleaseIssueDesignPath.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkReleaseIssueDesignPath.js +736 -0
- package/dist/engine/gate_checks/checkReleaseIssueDesignPath.js.map +1 -0
- package/dist/engine/gate_checks/checkStandardAssetCoverage.d.ts +6 -0
- package/dist/engine/gate_checks/checkStandardAssetCoverage.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkStandardAssetCoverage.js +34 -0
- package/dist/engine/gate_checks/checkStandardAssetCoverage.js.map +1 -0
- package/dist/engine/gate_checks/checkStateChainHealth.d.ts +6 -0
- package/dist/engine/gate_checks/checkStateChainHealth.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkStateChainHealth.js +147 -0
- package/dist/engine/gate_checks/checkStateChainHealth.js.map +1 -0
- package/dist/engine/gate_checks/checkTemplateKnowledgeHygiene.d.ts +10 -0
- package/dist/engine/gate_checks/checkTemplateKnowledgeHygiene.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkTemplateKnowledgeHygiene.js +314 -0
- package/dist/engine/gate_checks/checkTemplateKnowledgeHygiene.js.map +1 -0
- package/dist/engine/gate_checks/checkTestPollution.d.ts +6 -0
- package/dist/engine/gate_checks/checkTestPollution.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkTestPollution.js +67 -0
- package/dist/engine/gate_checks/checkTestPollution.js.map +1 -0
- package/dist/engine/gate_checks/checkWorkflowNavigation.d.ts +6 -0
- package/dist/engine/gate_checks/checkWorkflowNavigation.d.ts.map +1 -0
- package/dist/engine/gate_checks/checkWorkflowNavigation.js +168 -0
- package/dist/engine/gate_checks/checkWorkflowNavigation.js.map +1 -0
- package/dist/engine/gate_checks/helpers.d.ts +28 -0
- package/dist/engine/gate_checks/helpers.d.ts.map +1 -0
- package/dist/engine/gate_checks/helpers.js +91 -0
- package/dist/engine/gate_checks/helpers.js.map +1 -0
- package/dist/engine/gate_checks/types.d.ts +38 -0
- package/dist/engine/gate_checks/types.d.ts.map +1 -0
- package/dist/engine/gate_checks/types.js +5 -0
- package/dist/engine/gate_checks/types.js.map +1 -0
- package/dist/engine/governance_report.d.ts +1 -1
- package/dist/engine/governance_report.d.ts.map +1 -1
- package/dist/engine/helpers.d.ts +9 -0
- package/dist/engine/helpers.d.ts.map +1 -0
- package/dist/engine/helpers.js +13 -0
- package/dist/engine/helpers.js.map +1 -0
- package/dist/engine/hook_context_types.d.ts +66 -0
- package/dist/engine/hook_context_types.d.ts.map +1 -0
- package/dist/engine/hook_context_types.js +118 -0
- package/dist/engine/hook_context_types.js.map +1 -0
- package/dist/engine/impact_analyzer.d.ts +1 -1
- package/dist/engine/impact_analyzer.d.ts.map +1 -1
- package/dist/engine/impact_analyzer.js.map +1 -1
- package/dist/engine/input_material_extractor.d.ts.map +1 -1
- package/dist/engine/input_material_extractor.js +10 -9
- package/dist/engine/input_material_extractor.js.map +1 -1
- package/dist/engine/instruction_contract.d.ts +6 -0
- package/dist/engine/instruction_contract.d.ts.map +1 -1
- package/dist/engine/instruction_contract.js +2 -3
- package/dist/engine/instruction_contract.js.map +1 -1
- package/dist/engine/intent_expander.d.ts +10 -1
- package/dist/engine/intent_expander.d.ts.map +1 -1
- package/dist/engine/intent_expander.js +49 -9
- package/dist/engine/intent_expander.js.map +1 -1
- package/dist/engine/intent_router.d.ts +2 -0
- package/dist/engine/intent_router.d.ts.map +1 -1
- package/dist/engine/intent_router.js +1 -1
- package/dist/engine/intent_router.js.map +1 -1
- package/dist/engine/job_manager.js.map +1 -1
- package/dist/engine/knowledge_acceptance_registry.d.ts.map +1 -1
- package/dist/engine/knowledge_acceptance_registry.js +0 -10
- package/dist/engine/knowledge_acceptance_registry.js.map +1 -1
- package/dist/engine/knowledge_asset_consumer.d.ts +1 -1
- package/dist/engine/knowledge_asset_consumer.js +11 -11
- package/dist/engine/knowledge_asset_consumer.js.map +1 -1
- package/dist/engine/knowledge_asset_schema.d.ts +1 -1
- package/dist/engine/knowledge_asset_schema.js +1 -1
- package/dist/engine/knowledge_config_loader.d.ts.map +1 -1
- package/dist/engine/knowledge_config_loader.js +35 -4
- package/dist/engine/knowledge_config_loader.js.map +1 -1
- package/dist/engine/knowledge_injection_boundary.d.ts +1 -1
- package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -1
- package/dist/engine/knowledge_injection_boundary.js +10 -4
- package/dist/engine/knowledge_injection_boundary.js.map +1 -1
- package/dist/engine/knowledge_manager.d.ts +1 -1
- package/dist/engine/knowledge_manager.d.ts.map +1 -1
- package/dist/engine/knowledge_scenario_registry.d.ts.map +1 -1
- package/dist/engine/knowledge_scenario_registry.js +0 -8
- package/dist/engine/knowledge_scenario_registry.js.map +1 -1
- package/dist/engine/knowledge_sovereignty.js.map +1 -1
- package/dist/engine/knowledge_template_contracts.d.ts +0 -1
- package/dist/engine/knowledge_template_contracts.d.ts.map +1 -1
- package/dist/engine/knowledge_template_contracts.js.map +1 -1
- package/dist/engine/legacy_type_migration.d.ts +63 -0
- package/dist/engine/legacy_type_migration.d.ts.map +1 -0
- package/dist/engine/legacy_type_migration.js +227 -0
- package/dist/engine/legacy_type_migration.js.map +1 -0
- package/dist/engine/lifecycle_knowledge_contract.d.ts +1 -1
- package/dist/engine/lifecycle_knowledge_contract.d.ts.map +1 -1
- package/dist/engine/local_docker_acceptance.js.map +1 -1
- package/dist/engine/log_governance.js +1 -1
- package/dist/engine/log_governance.js.map +1 -1
- package/dist/engine/main_path_integration_contract.js.map +1 -1
- package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
- package/dist/engine/mechanism_contract_registry.js +79 -14
- package/dist/engine/mechanism_contract_registry.js.map +1 -1
- package/dist/engine/mechanism_health_check.d.ts.map +1 -1
- package/dist/engine/mechanism_health_check.js +2 -3
- package/dist/engine/mechanism_health_check.js.map +1 -1
- package/dist/engine/migration_guard.d.ts +1 -1
- package/dist/engine/migration_guard.d.ts.map +1 -1
- package/dist/engine/mutation_audit.d.ts +1 -1
- package/dist/engine/mutation_audit.d.ts.map +1 -1
- package/dist/engine/next_action_planner.d.ts +1 -1
- package/dist/engine/next_action_planner.d.ts.map +1 -1
- package/dist/engine/next_action_planner.js +32 -36
- package/dist/engine/next_action_planner.js.map +1 -1
- package/dist/engine/observability.d.ts +1 -1
- package/dist/engine/observability.d.ts.map +1 -1
- package/dist/engine/observability.js.map +1 -1
- package/dist/engine/observed_consumption.d.ts.map +1 -1
- package/dist/engine/observed_consumption.js +5 -2
- package/dist/engine/observed_consumption.js.map +1 -1
- package/dist/engine/onboarding.d.ts +1 -1
- package/dist/engine/onboarding.d.ts.map +1 -1
- package/dist/engine/privacy_secret_contract.js +1 -1
- package/dist/engine/privacy_secret_contract.js.map +1 -1
- package/dist/engine/project_knowledge_contract.d.ts +1 -1
- package/dist/engine/project_knowledge_contract.d.ts.map +1 -1
- package/dist/engine/project_knowledge_contract.js +2 -1
- package/dist/engine/project_knowledge_contract.js.map +1 -1
- package/dist/engine/project_stage_detector.js.map +1 -1
- package/dist/engine/regression_matrix.js.map +1 -1
- package/dist/engine/release_issue_scenario_registry.d.ts +1 -3
- package/dist/engine/release_issue_scenario_registry.d.ts.map +1 -1
- package/dist/engine/release_issue_scenario_registry.js +7 -49
- package/dist/engine/release_issue_scenario_registry.js.map +1 -1
- package/dist/engine/release_readiness_gate.d.ts +25 -39
- package/dist/engine/release_readiness_gate.d.ts.map +1 -1
- package/dist/engine/release_readiness_gate.js +129 -3353
- package/dist/engine/release_readiness_gate.js.map +1 -1
- package/dist/engine/release_tool_harness.d.ts +2 -2
- package/dist/engine/release_tool_harness.d.ts.map +1 -1
- package/dist/engine/release_tool_harness.js +1 -1
- package/dist/engine/rollback_router.d.ts +35 -0
- package/dist/engine/rollback_router.d.ts.map +1 -0
- package/dist/engine/rollback_router.js +50 -0
- package/dist/engine/rollback_router.js.map +1 -0
- package/dist/engine/scaffolder.d.ts +1 -1
- package/dist/engine/scaffolder.d.ts.map +1 -1
- package/dist/engine/scope_controller.d.ts +1 -1
- package/dist/engine/scope_controller.d.ts.map +1 -1
- package/dist/engine/scope_controller.js +1 -1
- package/dist/engine/scope_controller.js.map +1 -1
- package/dist/engine/scope_resolver.d.ts +1 -1
- package/dist/engine/scope_resolver.d.ts.map +1 -1
- package/dist/engine/semantic_evidence.d.ts +1 -1
- package/dist/engine/semantic_evidence.d.ts.map +1 -1
- package/dist/engine/slice_executor.d.ts +79 -0
- package/dist/engine/slice_executor.d.ts.map +1 -0
- package/dist/engine/slice_executor.js +100 -0
- package/dist/engine/slice_executor.js.map +1 -0
- package/dist/engine/source_code_matcher.js +1 -1
- package/dist/engine/source_code_matcher.js.map +1 -1
- package/dist/engine/stage_gate_engine.d.ts +32 -0
- package/dist/engine/stage_gate_engine.d.ts.map +1 -0
- package/dist/engine/stage_gate_engine.js +105 -0
- package/dist/engine/stage_gate_engine.js.map +1 -0
- package/dist/engine/stale_current_task_detector.js.map +1 -1
- package/dist/engine/standard_asset_contract.d.ts +1 -1
- package/dist/engine/standard_asset_contract.d.ts.map +1 -1
- package/dist/engine/standard_asset_contract.js +7 -7
- package/dist/engine/standard_asset_contract.js.map +1 -1
- package/dist/engine/standard_asset_coverage.js +19 -19
- package/dist/engine/standard_asset_coverage.js.map +1 -1
- package/dist/engine/task_context.d.ts +6 -6
- package/dist/engine/task_context.d.ts.map +1 -1
- package/dist/engine/task_context.js +22 -20
- package/dist/engine/task_context.js.map +1 -1
- package/dist/engine/task_planner.d.ts +2 -2
- package/dist/engine/task_planner.d.ts.map +1 -1
- package/dist/engine/task_planner.js.map +1 -1
- package/dist/engine/task_stage_detector.d.ts +7 -1
- package/dist/engine/task_stage_detector.d.ts.map +1 -1
- package/dist/engine/task_stage_detector.js +82 -123
- package/dist/engine/task_stage_detector.js.map +1 -1
- package/dist/engine/team_awareness.d.ts +1 -1
- package/dist/engine/team_awareness.d.ts.map +1 -1
- package/dist/engine/team_awareness.js.map +1 -1
- package/dist/engine/template_asset_contract_registry.d.ts +2 -2
- package/dist/engine/template_asset_contract_registry.d.ts.map +1 -1
- package/dist/engine/template_asset_contract_registry.js +37 -10
- package/dist/engine/template_asset_contract_registry.js.map +1 -1
- package/dist/engine/template_asset_visibility.js +1 -1
- package/dist/engine/template_asset_visibility.js.map +1 -1
- package/dist/engine/template_init_sync.d.ts +29 -0
- package/dist/engine/template_init_sync.d.ts.map +1 -1
- package/dist/engine/template_init_sync.js +246 -69
- package/dist/engine/template_init_sync.js.map +1 -1
- package/dist/engine/template_manifest_io.d.ts +1 -1
- package/dist/engine/template_manifest_io.d.ts.map +1 -1
- package/dist/engine/template_manifest_io.js +13 -9
- package/dist/engine/template_manifest_io.js.map +1 -1
- package/dist/engine/template_mechanism_auditor.d.ts +1 -1
- package/dist/engine/template_mechanism_auditor.d.ts.map +1 -1
- package/dist/engine/template_mechanism_auditor.js +10 -10
- package/dist/engine/template_mechanism_auditor.js.map +1 -1
- package/dist/engine/test_generator.d.ts +1 -1
- package/dist/engine/test_generator.d.ts.map +1 -1
- package/dist/engine/test_quality.d.ts +1 -1
- package/dist/engine/test_quality.d.ts.map +1 -1
- package/dist/engine/tool_invocation_contract_registry.js +7 -7
- package/dist/engine/tool_invocation_contract_registry.js.map +1 -1
- package/dist/engine/traceability.d.ts +3 -3
- package/dist/engine/traceability.d.ts.map +1 -1
- package/dist/engine/traceability.js +1 -1
- package/dist/engine/traceability.js.map +1 -1
- package/dist/engine/user_feedback_contract.d.ts +1 -1
- package/dist/engine/user_feedback_contract.d.ts.map +1 -1
- package/dist/engine/user_feedback_contract.js +5 -5
- package/dist/engine/user_feedback_contract.js.map +1 -1
- package/dist/engine/verifier.d.ts +1 -1
- package/dist/engine/verifier.d.ts.map +1 -1
- package/dist/engine/verifier.js +1 -1
- package/dist/engine/verifier.js.map +1 -1
- package/dist/engine/workflow_contract_registry.d.ts +80 -42
- package/dist/engine/workflow_contract_registry.d.ts.map +1 -1
- package/dist/engine/workflow_contract_registry.js +341 -152
- package/dist/engine/workflow_contract_registry.js.map +1 -1
- package/dist/engine/workflow_navigation_contract.d.ts +17 -3
- package/dist/engine/workflow_navigation_contract.d.ts.map +1 -1
- package/dist/engine/workflow_navigation_contract.js +8 -16
- package/dist/engine/workflow_navigation_contract.js.map +1 -1
- package/dist/engine/workflow_rule_generator.d.ts +22 -0
- package/dist/engine/workflow_rule_generator.d.ts.map +1 -0
- package/dist/engine/workflow_rule_generator.js +83 -0
- package/dist/engine/workflow_rule_generator.js.map +1 -0
- package/dist/engine/zero_config_init.js.map +1 -1
- package/dist/knowledge/conflict_detector.d.ts +1 -1
- package/dist/knowledge/conflict_detector.d.ts.map +1 -1
- package/dist/knowledge/conflict_detector.js +2 -1
- package/dist/knowledge/conflict_detector.js.map +1 -1
- package/dist/knowledge/health_checker.d.ts +1 -1
- package/dist/knowledge/health_checker.d.ts.map +1 -1
- package/dist/knowledge/index_manager.d.ts +1 -1
- package/dist/knowledge/index_manager.d.ts.map +1 -1
- package/dist/knowledge/index_manager.js +7 -5
- package/dist/knowledge/index_manager.js.map +1 -1
- package/dist/knowledge/loader.d.ts +1 -1
- package/dist/knowledge/loader.d.ts.map +1 -1
- package/dist/knowledge/loader.js +7 -5
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/knowledge/writer.d.ts +1 -1
- package/dist/knowledge/writer.d.ts.map +1 -1
- package/dist/types/analysis.d.ts +353 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +2 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/base.d.ts +11 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/{types.js → types/base.js} +1 -1
- package/dist/types/base.js.map +1 -0
- package/dist/types/config.d.ts +128 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/delivery.d.ts +261 -0
- package/dist/types/delivery.d.ts.map +1 -0
- package/dist/types/delivery.js +2 -0
- package/dist/types/delivery.js.map +1 -0
- package/dist/types/dual_layer.d.ts +97 -0
- package/dist/types/dual_layer.d.ts.map +1 -0
- package/dist/types/dual_layer.js +3 -0
- package/dist/types/dual_layer.js.map +1 -0
- package/dist/types/evidence.d.ts +41 -0
- package/dist/types/evidence.d.ts.map +1 -0
- package/dist/types/evidence.js +3 -0
- package/dist/types/evidence.js.map +1 -0
- package/dist/types/execution.d.ts +31 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +3 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/knowledge.d.ts +105 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +5 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/phase.d.ts +50 -0
- package/dist/types/phase.d.ts.map +1 -0
- package/dist/types/phase.js +3 -0
- package/dist/types/phase.js.map +1 -0
- package/dist/types/pipeline.d.ts +353 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/review.d.ts +149 -0
- package/dist/types/review.d.ts.map +1 -0
- package/dist/types/review.js +2 -0
- package/dist/types/review.js.map +1 -0
- package/dist/types/task.d.ts +203 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +2 -0
- package/dist/types/task.js.map +1 -0
- package/package.json +3 -6
- package/templates/artifacts/existing-system//344/270/200/351/224/256/345/274/200/345/205/263/351/205/215/347/275/256/346/250/241/347/211/210.json +24 -0
- 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 +44 -0
- 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 +43 -0
- 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 +36 -0
- 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 +36 -0
- 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 +39 -0
- 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 +36 -0
- 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 +29 -0
- 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 +38 -0
- 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 +34 -0
- package/templates/artifacts/shared/ADR/346/250/241/347/211/210.md +41 -0
- package/templates/{knowledge/acceptance_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 +25 -0
- 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 +33 -0
- package/templates/artifacts/shared//345/210/207/347/211/207/350/256/241/345/210/222/346/250/241/347/211/210.md +45 -0
- package/templates/{knowledge/acceptance_templates → artifacts/shared}//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +2 -0
- package/templates/{knowledge/acceptance_templates → artifacts/shared}//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +7 -0
- package/templates/gates/existing-system/gate-/347/216/260/346/234/211/347/263/273/347/273/237/345/210/206/346/236/220.yaml +13 -0
- package/templates/gates/existing-system/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +18 -0
- package/templates/gates/existing-system/gate-/350/257/225/350/277/220/350/241/214.yaml +21 -0
- package/templates/gates/shared/gate-/344/273/273/345/212/241/350/247/204/345/210/222.yaml +18 -0
- package/templates/gates/shared/gate-/347/274/226/347/240/201/344/270/216/345/215/225/345/205/203/346/265/213/350/257/225.yaml +14 -0
- package/templates/{knowledge/rules//346/225/217/346/204/237/344/277/241/346/201/257/346/227/245/345/277/227 → 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 +42 -19
- package/templates/{knowledge → 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 +2 -0
- package/templates/{knowledge/procedures → procedures}//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +1 -1
- package/templates/{knowledge/procedures → procedures}//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +1 -1
- package/templates/{knowledge/procedures → procedures}//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +1 -1
- package/templates/{knowledge/procedures → procedures}//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +1 -1
- 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 +33 -0
- package/templates/rules/existing-system//350/200/246/345/220/210/346/243/200/346/265/213/350/247/204/345/210/231.md +35 -0
- 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 +39 -0
- 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 +35 -0
- 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 +34 -0
- 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 +36 -0
- 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 +21 -0
- package/templates/rules/shared//350/201/224/350/260/203/351/252/214/350/257/201/346/270/205/345/215/225.md +29 -0
- package/templates/rules/shared//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +26 -0
- package/dist/engine/deprecated_contract.d.ts +0 -21
- package/dist/engine/deprecated_contract.d.ts.map +0 -1
- package/dist/engine/deprecated_contract.js +0 -14
- package/dist/engine/deprecated_contract.js.map +0 -1
- package/dist/engine/historical_issue_mechanization_matrix.d.ts +0 -28
- package/dist/engine/historical_issue_mechanization_matrix.d.ts.map +0 -1
- package/dist/engine/historical_issue_mechanization_matrix.js +0 -134
- package/dist/engine/historical_issue_mechanization_matrix.js.map +0 -1
- package/dist/engine/implementation_roadmap_registry.d.ts +0 -105
- package/dist/engine/implementation_roadmap_registry.d.ts.map +0 -1
- package/dist/engine/implementation_roadmap_registry.js +0 -1340
- package/dist/engine/implementation_roadmap_registry.js.map +0 -1
- package/dist/engine/mechanism_family_registry.d.ts +0 -48
- package/dist/engine/mechanism_family_registry.d.ts.map +0 -1
- package/dist/engine/mechanism_family_registry.js +0 -197
- package/dist/engine/mechanism_family_registry.js.map +0 -1
- package/dist/engine/project_knowledge_system_regression_matrix.d.ts +0 -27
- package/dist/engine/project_knowledge_system_regression_matrix.d.ts.map +0 -1
- package/dist/engine/project_knowledge_system_regression_matrix.js +0 -295
- package/dist/engine/project_knowledge_system_regression_matrix.js.map +0 -1
- package/dist/engine/release_gate.d.ts +0 -29
- package/dist/engine/release_gate.d.ts.map +0 -1
- package/dist/engine/release_gate.js +0 -675
- package/dist/engine/release_gate.js.map +0 -1
- package/dist/types.d.ts +0 -1737
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/templates/knowledge/acceptance_templates//346/216/245/345/217/243/350/256/276/350/256/241/346/250/241/347/211/210.md +0 -82
- package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/346/265/201/347/250/213.md +0 -57
- package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/347/250/213.md +0 -60
- package/templates/knowledge/procedures//347/274/272/351/231/267/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +0 -55
- package/templates/knowledge/procedures//351/252/214/350/257/201/350/256/241/345/210/222/346/265/201/347/250/213.md +0 -59
- package/templates/knowledge/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 -56
- package/templates/knowledge/rules//346/274/224/350/277/233/345/233/236/345/275/222/350/247/204/345/210/231.md +0 -51
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}/POC/347/273/223/350/256/272/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_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/346/235/277.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/templates → artifacts/shared}//345/256/241/346/237/245/346/221/230/350/246/201.md" +0 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_templates → artifacts/shared}//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md" +0 -0
- /package/templates/{knowledge/acceptance_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 -0
- /package/templates/{knowledge/checklists → 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 -0
- /package/templates/{knowledge/checklists → checklists}//344/274/232/350/257/235/346/201/242/345/244/215.md" +0 -0
- /package/templates/{knowledge/checklists → checklists}//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md" +0 -0
- /package/templates/{knowledge/checklists → 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 -0
- /package/templates/{knowledge/checklists → 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 -0
- /package/templates/{knowledge/checklists → checklists}//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md" +0 -0
- /package/templates/{knowledge/checklists → checklists}//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md" +0 -0
- /package/templates/{knowledge/domain → domain}//345/244/232/347/247/237/346/210/267.md" +0 -0
- /package/templates/{knowledge/domain → domain}//345/256/241/350/256/241/346/227/245/345/277/227.md" +0 -0
- /package/templates/{knowledge/domain → domain}//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/domain → domain}//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md" +0 -0
- /package/templates/{knowledge/domain → domain}//346/212/245/350/241/250/347/273/237/350/256/241.md" +0 -0
- /package/templates/{knowledge/domain → domain}//346/224/257/344/273/230/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/domain → domain}//346/225/260/346/215/256/346/235/203/351/231/220.md" +0 -0
- /package/templates/{knowledge/domain → domain}//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md" +0 -0
- /package/templates/{knowledge/domain → domain}//351/200/232/347/237/245/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}/Java/350/264/250/351/207/217/351/227/250/347/246/201.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md" +0 -0
- /package/templates/{knowledge/patterns/core → 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 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md" +0 -0
- /package/templates/{knowledge/patterns/core → 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 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/206/262/347/252/201/351/227/250/347/246/201.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/206/263/347/255/226/347/275/221/345/205/263.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/217/230/345/274/202/345/256/241/350/256/241.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/233/236/345/275/222/347/237/251/351/230/265.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/271/266/345/217/221/351/224/201.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md" +0 -0
- /package/templates/{knowledge/patterns/core → 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 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//346/265/201/345/274/217/345/277/203/350/267/263.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//347/237/245/350/257/206/344/270/273/346/235/203.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//350/257/255/344/271/211/350/257/201/346/215/256.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md" +0 -0
- /package/templates/{knowledge/patterns/core → internal/patterns}//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md" +0 -0
- /package/templates/{knowledge → internal}/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → internal}/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → internal}/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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" +0 -0
- /package/templates/{knowledge → internal}/rules//345/267/245/344/275/234/346/265/201/346/250/241/346/235/277/345/214/205/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → internal}/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → internal}/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → internal}/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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" +0 -0
- /package/templates/{knowledge → internal}/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → internal}/rules//346/250/241/346/235/277/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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" +0 -0
- /package/templates/{knowledge → internal}/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → internal}/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → 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 -0
- /package/templates/{knowledge → internal}/rules//351/252/214/346/224/266/346/250/241/346/235/277/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge → internal}/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → procedures}//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → 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" +0 -0
- /package/templates/{knowledge/procedures → procedures}//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → procedures}//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → procedures}//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → 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" +0 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → procedures}//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → 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 -0
- /package/templates/{knowledge/procedures → procedures}//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/procedures → procedures}//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md" +0 -0
- /package/templates/{knowledge/product_profiles → profiles}/b2b-internal.yaml +0 -0
- /package/templates/{knowledge/product_profiles → profiles}/b2c.yaml +0 -0
- /package/templates/{knowledge/product_profiles → profiles}/saas.yaml +0 -0
- /package/templates/{knowledge/review_rules → rules/shared}/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/review_rules → 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 -0
- /package/templates/{knowledge/review → 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 -0
- /package/templates/{knowledge/review_rules → 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 -0
- /package/templates/{knowledge/review_rules → rules/shared}//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/review_rules → rules/shared}//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/review_rules → rules/shared}//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/review_rules → 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 -0
- /package/templates/{knowledge/review_rules → rules/shared}//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md" +0 -0
- /package/templates/{knowledge/review_rules → rules/shared}//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md" +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { debug, internalWarn } from "../../engine/logger.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import { promises as fsp } from "node:fs";
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
6
|
import { normalizePathCandidate } from "../../engine/input_material_extractor.js";
|
|
7
7
|
import { archiveStaleCurrentPointer, detectStaleCurrentTask } from "../../engine/stale_current_task_detector.js";
|
|
@@ -362,7 +362,7 @@ export async function checkInstructionContractGate(params) {
|
|
|
362
362
|
// 消费 enforceInstructionBeforeImplementation(链式消费 checkInstructionCompleteness + validateInstructionContract)
|
|
363
363
|
const result = await instrModule.enforceInstructionBeforeImplementation(instruction, params.toolName);
|
|
364
364
|
// Draft 状态不阻断 — 仅在 confirmed/executing/blocked 状态时强制
|
|
365
|
-
if (instruction
|
|
365
|
+
if (instruction?.status === "draft") {
|
|
366
366
|
return { allowed: true, findings: result.allowed ? [] : [result.reason_zh] };
|
|
367
367
|
}
|
|
368
368
|
if (!result.allowed) {
|
|
@@ -1067,8 +1067,10 @@ export async function registerTools(server, deps) {
|
|
|
1067
1067
|
const bypass = effectiveCategory === "read_only_bypass"
|
|
1068
1068
|
? { allowed: true, reason: "read_only" } : undefined;
|
|
1069
1069
|
// 计划前置门: 在合同验证之前检查 — 写工具必须有 plan_proposal_gate
|
|
1070
|
+
// sf_classify 创建任务、sf_expand 创建 plan_proposal_gate — 两者豁免
|
|
1070
1071
|
const hasWriteEffect = hasWriteSideEffect(effectiveSideEffects);
|
|
1071
|
-
|
|
1072
|
+
const planGateExempt = name === "sf_classify" || name === "sf_expand";
|
|
1073
|
+
if (hasWriteEffect && taskId && !planGateExempt) {
|
|
1072
1074
|
const pgResult = checkWriteToolPlanGate({ ctx, toolName: name, sideEffects: effectiveSideEffects });
|
|
1073
1075
|
if (!pgResult.allowed) {
|
|
1074
1076
|
const planViolation = {
|
|
@@ -1401,7 +1403,7 @@ export async function registerTools(server, deps) {
|
|
|
1401
1403
|
try {
|
|
1402
1404
|
for (const anchor of mapData.anchors) {
|
|
1403
1405
|
for (const ref of anchor.source_refs) {
|
|
1404
|
-
if (ref.type === "file" &&
|
|
1406
|
+
if (ref.type === "file" && await fsp.access(path.join(projectPath, ref.ref)).then(() => true, () => false)) {
|
|
1405
1407
|
existingFiles.add(ref.ref);
|
|
1406
1408
|
}
|
|
1407
1409
|
}
|
|
@@ -1489,7 +1491,7 @@ export async function registerTools(server, deps) {
|
|
|
1489
1491
|
const classification = (await lazyClassifier()).classify(input);
|
|
1490
1492
|
// 存储分类结果
|
|
1491
1493
|
await taskContext.setClassification(ctx.task_id, classification);
|
|
1492
|
-
if (!(await lazyIntentRouter()).shouldEnterSoloForge(classification
|
|
1494
|
+
if (!(await lazyIntentRouter()).shouldEnterSoloForge(classification?.route_decision)) {
|
|
1493
1495
|
await taskContext.updateStatus(ctx.task_id, "done");
|
|
1494
1496
|
}
|
|
1495
1497
|
return {
|
|
@@ -1605,24 +1607,27 @@ export async function registerTools(server, deps) {
|
|
|
1605
1607
|
gateway.endTask();
|
|
1606
1608
|
}
|
|
1607
1609
|
expansion.task_id = args.task_id;
|
|
1608
|
-
const projectRoot =
|
|
1610
|
+
const projectRoot = await fsp.realpath(projectPath);
|
|
1609
1611
|
const referencedMaterialPaths = new Set((expansion.input_materials ?? [])
|
|
1610
1612
|
.map((material) => material.path_or_ref)
|
|
1611
1613
|
.filter((materialPath) => typeof materialPath === "string" && materialPath.length > 0)
|
|
1612
1614
|
.map((materialPath) => path.resolve(projectRoot, normalizePathCandidate(materialPath))));
|
|
1613
|
-
const
|
|
1615
|
+
const _confirmedCandidates = (args.input_material_confirmations ?? [])
|
|
1614
1616
|
.map((materialPath) => path.resolve(projectRoot, normalizePathCandidate(materialPath)))
|
|
1615
1617
|
.filter((absolutePath) => isSameOrDescendantPath(absolutePath, projectRoot, { caseSensitive: false }))
|
|
1616
|
-
.filter((absolutePath) => referencedMaterialPaths.has(absolutePath))
|
|
1617
|
-
|
|
1618
|
+
.filter((absolutePath) => referencedMaterialPaths.has(absolutePath));
|
|
1619
|
+
const confirmedProjectSourcePaths = [];
|
|
1620
|
+
for (const absolutePath of _confirmedCandidates) {
|
|
1618
1621
|
try {
|
|
1619
|
-
|
|
1620
|
-
&&
|
|
1622
|
+
if ((await fsp.stat(absolutePath)).isFile()
|
|
1623
|
+
&& (await fsp.realpath(absolutePath)).startsWith(`${projectRoot}${path.sep}`)) {
|
|
1624
|
+
confirmedProjectSourcePaths.push(absolutePath);
|
|
1625
|
+
}
|
|
1621
1626
|
}
|
|
1622
1627
|
catch {
|
|
1623
|
-
|
|
1628
|
+
// 跳过无效路径
|
|
1624
1629
|
}
|
|
1625
|
-
}
|
|
1630
|
+
}
|
|
1626
1631
|
const registerConfirmedProjectSources = (registry) => {
|
|
1627
1632
|
for (const absolutePath of confirmedProjectSourcePaths) {
|
|
1628
1633
|
const sourceRef = path.relative(projectRoot, absolutePath);
|
|
@@ -1740,8 +1745,20 @@ export async function registerTools(server, deps) {
|
|
|
1740
1745
|
}
|
|
1741
1746
|
}
|
|
1742
1747
|
// 问题六十一: 架构设计前的六域研讨门独立执行,不得被施工指令契约有无绕过。
|
|
1743
|
-
|
|
1744
|
-
const
|
|
1748
|
+
let existingSourceRoot = false;
|
|
1749
|
+
for (const candidate of ["src", "backend", "frontend", "apps", "services"]) {
|
|
1750
|
+
if (await fsp.access(path.join(projectPath, candidate)).then(() => true, () => false)) {
|
|
1751
|
+
existingSourceRoot = true;
|
|
1752
|
+
break;
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
let existingManifest = false;
|
|
1756
|
+
for (const candidate of ["package.json", "pom.xml", "build.gradle", "settings.gradle"]) {
|
|
1757
|
+
if (await fsp.access(path.join(projectPath, candidate)).then(() => true, () => false)) {
|
|
1758
|
+
existingManifest = true;
|
|
1759
|
+
break;
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1745
1762
|
const detectedArchitectureContext = existingSourceRoot && existingManifest
|
|
1746
1763
|
? "existing_system"
|
|
1747
1764
|
: (!existingSourceRoot && !existingManifest ? "empty_project" : "new_system");
|
|
@@ -1801,8 +1818,8 @@ export async function registerTools(server, deps) {
|
|
|
1801
1818
|
}
|
|
1802
1819
|
}
|
|
1803
1820
|
// 问题四十九/五十: 已有架构合同或现有系统证据的进一步审查。
|
|
1804
|
-
const expansionRoute = expansion
|
|
1805
|
-
? expansion
|
|
1821
|
+
const expansionRoute = expansion?.workflow_trace
|
|
1822
|
+
? expansion?.workflow_trace?.route
|
|
1806
1823
|
: undefined;
|
|
1807
1824
|
const hasInstructionContract = !!ctx?.instruction_contract;
|
|
1808
1825
|
if (hasInstructionContract) {
|
|
@@ -1908,7 +1925,7 @@ export async function registerTools(server, deps) {
|
|
|
1908
1925
|
const preImplementationBlocks = [];
|
|
1909
1926
|
const preImplementationPayload = {};
|
|
1910
1927
|
const artifactDesignIntent = expansionRoute === "artifact_generation"
|
|
1911
|
-
|| ["architecture_design", "
|
|
1928
|
+
|| ["architecture_design", "detailed_design", "database_design", "api_design"].includes(String(workflowIntent))
|
|
1912
1929
|
|| /(?:架构|数据库|API|接口|OpenAPI).{0,12}(?:设计|规格|文档)|(?:设计|规格|文档).{0,12}(?:API|接口|OpenAPI)/i.test(ctx.intent);
|
|
1913
1930
|
const isImplementationRoute = !artifactDesignIntent && (expansionRoute === "code_change"
|
|
1914
1931
|
|| String(workflowIntent) === "backend_api_implementation"
|
|
@@ -2233,7 +2250,7 @@ export async function registerTools(server, deps) {
|
|
|
2233
2250
|
// 4. 设置 plan_proposal_gate(共享 ctx,最后一次 save)
|
|
2234
2251
|
{
|
|
2235
2252
|
const { evaluatePlanProposalGate, inferPlanGateTaskType } = await import("../../engine/plan_proposal_gate.js");
|
|
2236
|
-
const routeForGate = expansion
|
|
2253
|
+
const routeForGate = expansion?.workflow_trace?.route ?? expansionRoute ?? "code_change";
|
|
2237
2254
|
const taskTypeForGate = inferPlanGateTaskType(ctx.intent);
|
|
2238
2255
|
const isLightweight = routeForGate === "acceptance" || routeForGate === "review"
|
|
2239
2256
|
|| routeForGate === "direct_answer" || routeForGate === "analysis"
|
|
@@ -2297,8 +2314,8 @@ export async function registerTools(server, deps) {
|
|
|
2297
2314
|
for (const changedFile of implementationFiles) {
|
|
2298
2315
|
const absoluteFile = path.resolve(projectPath, changedFile);
|
|
2299
2316
|
try {
|
|
2300
|
-
if (isSameOrDescendantPath(absoluteFile, path.resolve(projectPath), { caseSensitive: false }) &&
|
|
2301
|
-
implementationContents[changedFile] =
|
|
2317
|
+
if (isSameOrDescendantPath(absoluteFile, path.resolve(projectPath), { caseSensitive: false }) && (await fsp.stat(absoluteFile)).isFile()) {
|
|
2318
|
+
implementationContents[changedFile] = await fsp.readFile(absoluteFile, "utf-8");
|
|
2302
2319
|
}
|
|
2303
2320
|
}
|
|
2304
2321
|
catch {
|
|
@@ -2374,12 +2391,14 @@ export async function registerTools(server, deps) {
|
|
|
2374
2391
|
const openApiPath = path.join(projectPath, "docs", "api", "openapi.yaml");
|
|
2375
2392
|
const apiMarkdownPath = path.join(projectPath, "docs", "architecture", "03-API接口规格文档.md");
|
|
2376
2393
|
const migrationDirectory = path.join(projectPath, "db", "migrations");
|
|
2377
|
-
const openapiText =
|
|
2378
|
-
const apiDocumentText =
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2394
|
+
const openapiText = await fsp.access(openApiPath).then(() => true, () => false) ? await fsp.readFile(openApiPath, "utf-8") : undefined;
|
|
2395
|
+
const apiDocumentText = await fsp.access(apiMarkdownPath).then(() => true, () => false) ? await fsp.readFile(apiMarkdownPath, "utf-8") : undefined;
|
|
2396
|
+
let migrationText;
|
|
2397
|
+
if (await fsp.access(migrationDirectory).then(() => true, () => false)) {
|
|
2398
|
+
const migrationFiles = (await fsp.readdir(migrationDirectory)).filter((name) => /\.sql$/i.test(name));
|
|
2399
|
+
const migrationContents = await Promise.all(migrationFiles.map((name) => fsp.readFile(path.join(migrationDirectory, name), "utf-8")));
|
|
2400
|
+
migrationText = migrationContents.join("\n");
|
|
2401
|
+
}
|
|
2383
2402
|
backendFindings.push(...backendModule.verifyBackendArtifactAlignment({
|
|
2384
2403
|
openapiText,
|
|
2385
2404
|
apiDocumentText,
|
|
@@ -2472,7 +2491,7 @@ export async function registerTools(server, deps) {
|
|
|
2472
2491
|
})) {
|
|
2473
2492
|
for (const changedFile of args.changed_files) {
|
|
2474
2493
|
const absFile = path.join(projectPath, changedFile);
|
|
2475
|
-
if (!
|
|
2494
|
+
if (!await fsp.access(absFile).then(() => true, () => false) || !/\.md$/.test(changedFile))
|
|
2476
2495
|
continue;
|
|
2477
2496
|
// 按实际文件路径匹配契约(不再使用 changed_files[0] 的契约校验全部文件)
|
|
2478
2497
|
const perFileContract = sacModule.matchTemplateContract({
|
|
@@ -2483,7 +2502,7 @@ export async function registerTools(server, deps) {
|
|
|
2483
2502
|
});
|
|
2484
2503
|
if (!perFileContract)
|
|
2485
2504
|
continue;
|
|
2486
|
-
const content =
|
|
2505
|
+
const content = await fsp.readFile(absFile, "utf-8");
|
|
2487
2506
|
// 草稿阻断下游消费 — 不再静默跳过
|
|
2488
2507
|
if (sacModule.isDraftDocument(content)) {
|
|
2489
2508
|
ctx.repair_reverify_directive = {
|
|
@@ -2596,8 +2615,8 @@ export async function registerTools(server, deps) {
|
|
|
2596
2615
|
// 验证前解析产物文件并计算 hash
|
|
2597
2616
|
const artifact = ctx.artifact_output;
|
|
2598
2617
|
const fullPath = path.join(projectPath, artifact.path);
|
|
2599
|
-
if (
|
|
2600
|
-
const fileContent =
|
|
2618
|
+
if (await fsp.access(fullPath).then(() => true, () => false)) {
|
|
2619
|
+
const fileContent = await fsp.readFile(fullPath);
|
|
2601
2620
|
const hash = crypto.createHash("sha256").update(fileContent).digest("hex");
|
|
2602
2621
|
artifact.hash = `sha256:${hash}`;
|
|
2603
2622
|
if (!artifact.evidence_refs.some(r => r.startsWith("file:artifact:"))) {
|
|
@@ -2802,7 +2821,7 @@ export async function registerTools(server, deps) {
|
|
|
2802
2821
|
return { result: { error: "任务不存在" } };
|
|
2803
2822
|
}
|
|
2804
2823
|
// 必须有 VerificationPlan
|
|
2805
|
-
const currentPlan = ctx.verification_plan
|
|
2824
|
+
const currentPlan = ctx.verification_plan;
|
|
2806
2825
|
if (!currentPlan) {
|
|
2807
2826
|
return { result: { error: "任务无 VerificationPlan,先执行 sf_verify 生成计划" } };
|
|
2808
2827
|
}
|
|
@@ -3240,8 +3259,8 @@ export async function registerTools(server, deps) {
|
|
|
3240
3259
|
continue;
|
|
3241
3260
|
const absoluteFile = path.resolve(projectPath, changedFile);
|
|
3242
3261
|
try {
|
|
3243
|
-
if (isSameOrDescendantPath(absoluteFile, path.resolve(projectPath), { caseSensitive: false }) &&
|
|
3244
|
-
contractContents[changedFile] =
|
|
3262
|
+
if (isSameOrDescendantPath(absoluteFile, path.resolve(projectPath), { caseSensitive: false }) && (await fsp.stat(absoluteFile)).isFile()) {
|
|
3263
|
+
contractContents[changedFile] = await fsp.readFile(absoluteFile, "utf-8");
|
|
3245
3264
|
}
|
|
3246
3265
|
}
|
|
3247
3266
|
catch {
|
|
@@ -3338,18 +3357,18 @@ export async function registerTools(server, deps) {
|
|
|
3338
3357
|
error: "验收必须包含显式确认、确认者、可审计确认引用和验收说明",
|
|
3339
3358
|
diagnostic_code: "SF-ACCEPT-CONFIRMATION-REQUIRED",
|
|
3340
3359
|
recovery_next_tools: ["sf_accept", "sf_status"],
|
|
3341
|
-
recovery_forbidden_tools: ["
|
|
3360
|
+
recovery_forbidden_tools: ["sf_verify", "sf_scaffold", "sf_classify", "sf_expand"],
|
|
3342
3361
|
},
|
|
3343
3362
|
};
|
|
3344
3363
|
}
|
|
3345
|
-
const currentVerification = ctx.verification_result
|
|
3364
|
+
const currentVerification = ctx.verification_result;
|
|
3346
3365
|
if (currentVerification?.status !== "passed") {
|
|
3347
3366
|
return {
|
|
3348
3367
|
result: {
|
|
3349
3368
|
error: "验收前必须已有真实执行并通过的 verification_result",
|
|
3350
3369
|
diagnostic_code: "SF-ACCEPT-VERIFICATION-REQUIRED",
|
|
3351
3370
|
recovery_next_tools: ["sf_verify", "sf_record_verification_execution", "sf_status"],
|
|
3352
|
-
recovery_forbidden_tools: ["
|
|
3371
|
+
recovery_forbidden_tools: ["sf_verify", "sf_scaffold", "sf_classify", "sf_expand"],
|
|
3353
3372
|
},
|
|
3354
3373
|
};
|
|
3355
3374
|
}
|
|
@@ -3362,7 +3381,7 @@ export async function registerTools(server, deps) {
|
|
|
3362
3381
|
error: "manual_review 验收缺少 final_access 真实访问证据",
|
|
3363
3382
|
diagnostic_code: "SF-ACCEPT-FINAL-ACCESS-REQUIRED",
|
|
3364
3383
|
recovery_next_tools: ["sf_accept", "sf_status"],
|
|
3365
|
-
recovery_forbidden_tools: ["
|
|
3384
|
+
recovery_forbidden_tools: ["sf_verify", "sf_scaffold", "sf_classify", "sf_expand"],
|
|
3366
3385
|
},
|
|
3367
3386
|
};
|
|
3368
3387
|
}
|
|
@@ -3373,7 +3392,7 @@ export async function registerTools(server, deps) {
|
|
|
3373
3392
|
error: `manual_review 验收证据不完整: ${finalAccessResult.blocking_reasons.join("; ")}`,
|
|
3374
3393
|
diagnostic_code: "SF-ACCEPT-FINAL-ACCESS-INVALID",
|
|
3375
3394
|
recovery_next_tools: ["sf_accept", "sf_status"],
|
|
3376
|
-
recovery_forbidden_tools: ["
|
|
3395
|
+
recovery_forbidden_tools: ["sf_verify", "sf_scaffold", "sf_classify", "sf_expand"],
|
|
3377
3396
|
},
|
|
3378
3397
|
};
|
|
3379
3398
|
}
|
|
@@ -3439,8 +3458,8 @@ export async function registerTools(server, deps) {
|
|
|
3439
3458
|
diagnostic_code: TOOL_DIAGNOSTIC_CODES.contractDraft,
|
|
3440
3459
|
repair_directive: ctx.repair_reverify_directive,
|
|
3441
3460
|
recovery: "修复文档缺口后重新执行 sf_verify,验证通过后 repair_reverify_directive 自动清零",
|
|
3442
|
-
recovery_next_tools: ["sf_learn", "
|
|
3443
|
-
recovery_forbidden_tools: ["
|
|
3461
|
+
recovery_next_tools: ["sf_learn", "sf_deliver", "sf_status"],
|
|
3462
|
+
recovery_forbidden_tools: ["sf_verify", "sf_scaffold", "sf_classify", "sf_expand"],
|
|
3444
3463
|
},
|
|
3445
3464
|
};
|
|
3446
3465
|
}
|
|
@@ -3550,8 +3569,8 @@ export async function registerTools(server, deps) {
|
|
|
3550
3569
|
// 交付就绪评估 — delivery_allowed=false 必须阻断交付
|
|
3551
3570
|
const drModule = await lazyDeliveryReadiness();
|
|
3552
3571
|
const guardModule = await lazyEnforcementGuard();
|
|
3553
|
-
const currentVResult = ctx.verification_result
|
|
3554
|
-
const currentVPlan = ctx.verification_plan
|
|
3572
|
+
const currentVResult = ctx.verification_result;
|
|
3573
|
+
const currentVPlan = ctx.verification_plan;
|
|
3555
3574
|
const guardFindings = guardModule.evaluateDeliveryReadinessGuard(currentVResult, currentVPlan);
|
|
3556
3575
|
// 问题五十一: 编码就绪门 — 交付前检查 coding readiness
|
|
3557
3576
|
const codingGate = await checkCodingReadinessGate({ ctx });
|
|
@@ -3689,9 +3708,9 @@ export async function registerTools(server, deps) {
|
|
|
3689
3708
|
browser_acceptance_passed: ctx.artifact_output?.status === "accepted" || ctx.artifact_output === undefined,
|
|
3690
3709
|
guard_passed: guardFindings.length === 0 || guardFindings.every((f) => f.severity !== "hard_fail"),
|
|
3691
3710
|
evidence_sufficient: (currentVResult?.evidence_ids?.length ?? 0) > 0,
|
|
3692
|
-
current_status: ctx.status === "done" ? "
|
|
3711
|
+
current_status: ctx.status === "done" ? "完成" : ctx.status,
|
|
3693
3712
|
});
|
|
3694
|
-
if (cepNfcResult.decision === "blocked" || cepNfcResult.decision === "
|
|
3713
|
+
if (cepNfcResult.decision === "blocked" || cepNfcResult.decision === "回退") {
|
|
3695
3714
|
if (deliverLease.lease) {
|
|
3696
3715
|
leaseModule.releaseLease(deliverLease.lease.lease_id);
|
|
3697
3716
|
}
|
|
@@ -3706,7 +3725,7 @@ export async function registerTools(server, deps) {
|
|
|
3706
3725
|
severity: "blocking",
|
|
3707
3726
|
reason_zh: cepNfcResult.reason_zh,
|
|
3708
3727
|
evidence_refs: [],
|
|
3709
|
-
required_action: cepNfcResult.decision === "blocked" ? "block_delivery" : "
|
|
3728
|
+
required_action: cepNfcResult.decision === "blocked" ? "block_delivery" : "回退",
|
|
3710
3729
|
}],
|
|
3711
3730
|
user_facing_summary_zh: `CEP 检查未通过: ${cepNfcResult.reason_zh}`,
|
|
3712
3731
|
internal_trace_refs: [],
|