soloforge 1.2.7 → 1.2.9
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 +105 -321
- package/dist/adapters/claude_code/claude_md.d.ts +5 -0
- package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
- package/dist/adapters/claude_code/claude_md.js +6 -0
- package/dist/adapters/claude_code/claude_md.js.map +1 -1
- package/dist/adapters/claude_code/hooks.d.ts +4 -0
- package/dist/adapters/claude_code/hooks.d.ts.map +1 -1
- package/dist/adapters/claude_code/hooks.js +5 -0
- package/dist/adapters/claude_code/hooks.js.map +1 -1
- package/dist/adapters/claude_code/server.d.ts.map +1 -1
- package/dist/adapters/claude_code/server.js +9 -21
- package/dist/adapters/claude_code/server.js.map +1 -1
- package/dist/adapters/claude_code/tools.d.ts +5 -0
- package/dist/adapters/claude_code/tools.d.ts.map +1 -1
- package/dist/adapters/claude_code/tools.js +619 -205
- package/dist/adapters/claude_code/tools.js.map +1 -1
- package/dist/adapters/codex/codex_config.d.ts +9 -0
- package/dist/adapters/codex/codex_config.d.ts.map +1 -1
- package/dist/adapters/codex/codex_config.js +11 -3
- package/dist/adapters/codex/codex_config.js.map +1 -1
- package/dist/adapters/codex/codex_rules.d.ts +5 -0
- package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
- package/dist/adapters/codex/codex_rules.js +8 -1
- package/dist/adapters/codex/codex_rules.js.map +1 -1
- package/dist/adapters/shared/workflow_template.d.ts +5 -0
- package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
- package/dist/adapters/shared/workflow_template.js +32 -79
- package/dist/adapters/shared/workflow_template.js.map +1 -1
- package/dist/adapters/trae/trae_config.d.ts +4 -0
- package/dist/adapters/trae/trae_config.d.ts.map +1 -1
- package/dist/adapters/trae/trae_config.js +5 -7
- package/dist/adapters/trae/trae_config.js.map +1 -1
- package/dist/adapters/trae/trae_rules.d.ts +5 -0
- package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
- package/dist/adapters/trae/trae_rules.js +7 -1
- package/dist/adapters/trae/trae_rules.js.map +1 -1
- package/dist/bin/config_commands.d.ts +33 -0
- package/dist/bin/config_commands.d.ts.map +1 -0
- package/dist/bin/config_commands.js +222 -0
- package/dist/bin/config_commands.js.map +1 -0
- package/dist/bin/soloforge.js +609 -119
- package/dist/bin/soloforge.js.map +1 -1
- package/dist/engine/artifact_contract_registry.d.ts +138 -0
- package/dist/engine/artifact_contract_registry.d.ts.map +1 -0
- package/dist/engine/artifact_contract_registry.js +427 -0
- package/dist/engine/artifact_contract_registry.js.map +1 -0
- package/dist/engine/audit_pool.d.ts +40 -0
- package/dist/engine/audit_pool.d.ts.map +1 -1
- package/dist/engine/audit_pool.js +37 -1
- package/dist/engine/audit_pool.js.map +1 -1
- package/dist/engine/audit_sampler.d.ts +5 -0
- package/dist/engine/audit_sampler.d.ts.map +1 -1
- package/dist/engine/audit_sampler.js +6 -0
- package/dist/engine/audit_sampler.js.map +1 -1
- package/dist/engine/audit_verifier.d.ts.map +1 -1
- package/dist/engine/audit_verifier.js +5 -1
- package/dist/engine/audit_verifier.js.map +1 -1
- package/dist/engine/batch1_manifest.d.ts +61 -0
- package/dist/engine/batch1_manifest.d.ts.map +1 -0
- package/dist/engine/batch1_manifest.js +220 -0
- package/dist/engine/batch1_manifest.js.map +1 -0
- package/dist/engine/batch1_reality_gate.d.ts +40 -0
- package/dist/engine/batch1_reality_gate.d.ts.map +1 -0
- package/dist/engine/batch1_reality_gate.js +290 -0
- package/dist/engine/batch1_reality_gate.js.map +1 -0
- package/dist/engine/batch1_scenario_registry.d.ts +62 -0
- package/dist/engine/batch1_scenario_registry.d.ts.map +1 -0
- package/dist/engine/batch1_scenario_registry.js +392 -0
- package/dist/engine/batch1_scenario_registry.js.map +1 -0
- package/dist/engine/batch1_scenario_runners.d.ts +42 -0
- package/dist/engine/batch1_scenario_runners.d.ts.map +1 -0
- package/dist/engine/batch1_scenario_runners.js +292 -0
- package/dist/engine/batch1_scenario_runners.js.map +1 -0
- package/dist/engine/capability_action_advisor.d.ts +3 -0
- package/dist/engine/capability_action_advisor.d.ts.map +1 -1
- package/dist/engine/capability_action_advisor.js +10 -0
- package/dist/engine/capability_action_advisor.js.map +1 -1
- package/dist/engine/capability_registry.d.ts +21 -0
- package/dist/engine/capability_registry.d.ts.map +1 -1
- package/dist/engine/capability_registry.js +113 -0
- package/dist/engine/capability_registry.js.map +1 -1
- package/dist/engine/capability_state_store.d.ts +63 -0
- package/dist/engine/capability_state_store.d.ts.map +1 -1
- package/dist/engine/capability_state_store.js +49 -1
- package/dist/engine/capability_state_store.js.map +1 -1
- package/dist/engine/change_coordinator.d.ts.map +1 -1
- package/dist/engine/change_coordinator.js +5 -4
- package/dist/engine/change_coordinator.js.map +1 -1
- package/dist/engine/classifier.d.ts +15 -5
- package/dist/engine/classifier.d.ts.map +1 -1
- package/dist/engine/classifier.js +70 -69
- package/dist/engine/classifier.js.map +1 -1
- package/dist/engine/code_reviewer.d.ts +14 -0
- package/dist/engine/code_reviewer.d.ts.map +1 -1
- package/dist/engine/code_reviewer.js +109 -10
- package/dist/engine/code_reviewer.js.map +1 -1
- package/dist/engine/cognitive_anchor.d.ts +14 -0
- package/dist/engine/cognitive_anchor.d.ts.map +1 -1
- package/dist/engine/cognitive_anchor.js +26 -2
- package/dist/engine/cognitive_anchor.js.map +1 -1
- package/dist/engine/command_execution_contract.d.ts +226 -0
- package/dist/engine/command_execution_contract.d.ts.map +1 -0
- package/dist/engine/command_execution_contract.js +571 -0
- package/dist/engine/command_execution_contract.js.map +1 -0
- package/dist/engine/confidence_scorer.d.ts.map +1 -1
- package/dist/engine/confidence_scorer.js +1 -0
- package/dist/engine/confidence_scorer.js.map +1 -1
- package/dist/engine/config_precedence_contract.d.ts +269 -0
- package/dist/engine/config_precedence_contract.d.ts.map +1 -0
- package/dist/engine/config_precedence_contract.js +948 -0
- package/dist/engine/config_precedence_contract.js.map +1 -0
- package/dist/engine/conflict_gate.d.ts +13 -0
- package/dist/engine/conflict_gate.d.ts.map +1 -1
- package/dist/engine/conflict_gate.js +20 -2
- package/dist/engine/conflict_gate.js.map +1 -1
- package/dist/engine/consumable_asset_registry.d.ts +46 -0
- package/dist/engine/consumable_asset_registry.d.ts.map +1 -0
- package/dist/engine/consumable_asset_registry.js +758 -0
- package/dist/engine/consumable_asset_registry.js.map +1 -0
- package/dist/engine/contract_guard.d.ts +4 -0
- package/dist/engine/contract_guard.d.ts.map +1 -1
- package/dist/engine/contract_guard.js +15 -7
- package/dist/engine/contract_guard.js.map +1 -1
- package/dist/engine/convention_detector.d.ts.map +1 -1
- package/dist/engine/convention_detector.js +5 -2
- package/dist/engine/convention_detector.js.map +1 -1
- package/dist/engine/core_engineering_principles.d.ts +155 -0
- package/dist/engine/core_engineering_principles.d.ts.map +1 -0
- package/dist/engine/core_engineering_principles.js +426 -0
- package/dist/engine/core_engineering_principles.js.map +1 -0
- package/dist/engine/debt_reporter.d.ts.map +1 -1
- package/dist/engine/debt_reporter.js +3 -1
- package/dist/engine/debt_reporter.js.map +1 -1
- package/dist/engine/debt_tracker.d.ts.map +1 -1
- package/dist/engine/debt_tracker.js +9 -3
- package/dist/engine/debt_tracker.js.map +1 -1
- package/dist/engine/debugger.d.ts.map +1 -1
- package/dist/engine/debugger.js +2 -0
- package/dist/engine/debugger.js.map +1 -1
- package/dist/engine/decision_contract.d.ts +11 -2
- package/dist/engine/decision_contract.d.ts.map +1 -1
- package/dist/engine/decision_contract.js +17 -2
- package/dist/engine/decision_contract.js.map +1 -1
- package/dist/engine/delivery.d.ts +7 -0
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js +89 -36
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/dependency_scanner.d.ts.map +1 -1
- package/dist/engine/dependency_scanner.js +14 -9
- package/dist/engine/dependency_scanner.js.map +1 -1
- package/dist/engine/developer_sovereignty.d.ts.map +1 -1
- package/dist/engine/developer_sovereignty.js +8 -2
- package/dist/engine/developer_sovereignty.js.map +1 -1
- package/dist/engine/diff_ownership.d.ts.map +1 -1
- package/dist/engine/diff_ownership.js +8 -0
- package/dist/engine/diff_ownership.js.map +1 -1
- package/dist/engine/diff_ownership_store.d.ts +26 -10
- package/dist/engine/diff_ownership_store.d.ts.map +1 -1
- package/dist/engine/diff_ownership_store.js +47 -20
- package/dist/engine/diff_ownership_store.js.map +1 -1
- package/dist/engine/dual_layer_mechanism_registry.d.ts +66 -0
- package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -0
- package/dist/engine/dual_layer_mechanism_registry.js +1077 -0
- package/dist/engine/dual_layer_mechanism_registry.js.map +1 -0
- package/dist/engine/escape_report.d.ts +50 -0
- package/dist/engine/escape_report.d.ts.map +1 -1
- package/dist/engine/escape_report.js +38 -0
- package/dist/engine/escape_report.js.map +1 -1
- package/dist/engine/evolver.d.ts.map +1 -1
- package/dist/engine/evolver.js +12 -2
- package/dist/engine/evolver.js.map +1 -1
- package/dist/engine/exploration.d.ts.map +1 -1
- package/dist/engine/exploration.js +87 -0
- package/dist/engine/exploration.js.map +1 -1
- package/dist/engine/failure_classifier.d.ts.map +1 -1
- package/dist/engine/failure_classifier.js +8 -0
- package/dist/engine/failure_classifier.js.map +1 -1
- package/dist/engine/feasibility_checker.d.ts +8 -0
- package/dist/engine/feasibility_checker.d.ts.map +1 -1
- package/dist/engine/feasibility_checker.js +12 -0
- package/dist/engine/feasibility_checker.js.map +1 -1
- package/dist/engine/git_deps.d.ts +4 -1
- package/dist/engine/git_deps.d.ts.map +1 -1
- package/dist/engine/git_deps.js +5 -1
- package/dist/engine/git_deps.js.map +1 -1
- package/dist/engine/governance_report.d.ts +57 -1
- package/dist/engine/governance_report.d.ts.map +1 -1
- package/dist/engine/governance_report.js +91 -1
- package/dist/engine/governance_report.js.map +1 -1
- package/dist/engine/impact_analyzer.d.ts.map +1 -1
- package/dist/engine/impact_analyzer.js +5 -1
- package/dist/engine/impact_analyzer.js.map +1 -1
- package/dist/engine/implementation_roadmap_registry.d.ts +105 -0
- package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -0
- package/dist/engine/implementation_roadmap_registry.js +813 -0
- package/dist/engine/implementation_roadmap_registry.js.map +1 -0
- package/dist/engine/input_material_contract_registry.d.ts +185 -0
- package/dist/engine/input_material_contract_registry.d.ts.map +1 -0
- package/dist/engine/input_material_contract_registry.js +563 -0
- package/dist/engine/input_material_contract_registry.js.map +1 -0
- package/dist/engine/intent_expander.d.ts +8 -27
- package/dist/engine/intent_expander.d.ts.map +1 -1
- package/dist/engine/intent_expander.js +1170 -139
- package/dist/engine/intent_expander.js.map +1 -1
- package/dist/engine/intent_router.d.ts +82 -0
- package/dist/engine/intent_router.d.ts.map +1 -0
- package/dist/engine/intent_router.js +458 -0
- package/dist/engine/intent_router.js.map +1 -0
- package/dist/engine/io_controller.d.ts.map +1 -1
- package/dist/engine/io_controller.js +25 -13
- package/dist/engine/io_controller.js.map +1 -1
- package/dist/engine/java_quality_guard.d.ts.map +1 -1
- package/dist/engine/java_quality_guard.js +8 -4
- package/dist/engine/java_quality_guard.js.map +1 -1
- package/dist/engine/job_manager.d.ts +35 -0
- package/dist/engine/job_manager.d.ts.map +1 -1
- package/dist/engine/job_manager.js +53 -9
- package/dist/engine/job_manager.js.map +1 -1
- package/dist/engine/knowledge_config_loader.d.ts +12 -1
- package/dist/engine/knowledge_config_loader.d.ts.map +1 -1
- package/dist/engine/knowledge_config_loader.js +50 -10
- package/dist/engine/knowledge_config_loader.js.map +1 -1
- package/dist/engine/knowledge_injection_boundary.d.ts +56 -0
- package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -0
- package/dist/engine/knowledge_injection_boundary.js +561 -0
- package/dist/engine/knowledge_injection_boundary.js.map +1 -0
- package/dist/engine/knowledge_manager.d.ts +73 -0
- package/dist/engine/knowledge_manager.d.ts.map +1 -1
- package/dist/engine/knowledge_manager.js +163 -21
- package/dist/engine/knowledge_manager.js.map +1 -1
- package/dist/engine/knowledge_sovereignty.d.ts +1 -0
- package/dist/engine/knowledge_sovereignty.d.ts.map +1 -1
- package/dist/engine/knowledge_sovereignty.js +8 -3
- package/dist/engine/knowledge_sovereignty.js.map +1 -1
- package/dist/engine/llm_gateway.d.ts +74 -3
- package/dist/engine/llm_gateway.d.ts.map +1 -1
- package/dist/engine/llm_gateway.js +75 -4
- package/dist/engine/llm_gateway.js.map +1 -1
- package/dist/engine/main_path_integration_contract.d.ts +383 -0
- package/dist/engine/main_path_integration_contract.d.ts.map +1 -0
- package/dist/engine/main_path_integration_contract.js +1581 -0
- package/dist/engine/main_path_integration_contract.js.map +1 -0
- package/dist/engine/mechanism_contract_registry.d.ts +59 -0
- package/dist/engine/mechanism_contract_registry.d.ts.map +1 -0
- package/dist/engine/mechanism_contract_registry.js +484 -0
- package/dist/engine/mechanism_contract_registry.js.map +1 -0
- package/dist/engine/migration_guard.d.ts.map +1 -1
- package/dist/engine/migration_guard.js +24 -15
- package/dist/engine/migration_guard.js.map +1 -1
- package/dist/engine/mutation_audit.d.ts +10 -0
- package/dist/engine/mutation_audit.d.ts.map +1 -1
- package/dist/engine/mutation_audit.js +19 -2
- package/dist/engine/mutation_audit.js.map +1 -1
- package/dist/engine/observability.d.ts.map +1 -1
- package/dist/engine/observability.js +17 -6
- package/dist/engine/observability.js.map +1 -1
- package/dist/engine/onboarding.d.ts.map +1 -1
- package/dist/engine/onboarding.js +20 -4
- package/dist/engine/onboarding.js.map +1 -1
- package/dist/engine/policy_drift_detector.d.ts +6 -0
- package/dist/engine/policy_drift_detector.d.ts.map +1 -1
- package/dist/engine/policy_drift_detector.js +16 -0
- package/dist/engine/policy_drift_detector.js.map +1 -1
- package/dist/engine/privacy_secret_contract.d.ts +320 -0
- package/dist/engine/privacy_secret_contract.d.ts.map +1 -0
- package/dist/engine/privacy_secret_contract.js +874 -0
- package/dist/engine/privacy_secret_contract.js.map +1 -0
- package/dist/engine/regression_matrix.d.ts +21 -8
- package/dist/engine/regression_matrix.d.ts.map +1 -1
- package/dist/engine/regression_matrix.js +37 -8
- package/dist/engine/regression_matrix.js.map +1 -1
- package/dist/engine/risk_sampler.d.ts +6 -0
- package/dist/engine/risk_sampler.d.ts.map +1 -1
- package/dist/engine/risk_sampler.js +9 -0
- package/dist/engine/risk_sampler.js.map +1 -1
- package/dist/engine/runtime_safety.d.ts.map +1 -1
- package/dist/engine/runtime_safety.js +7 -3
- package/dist/engine/runtime_safety.js.map +1 -1
- package/dist/engine/scaffolder.d.ts.map +1 -1
- package/dist/engine/scaffolder.js +7 -1
- package/dist/engine/scaffolder.js.map +1 -1
- package/dist/engine/scope_controller.d.ts.map +1 -1
- package/dist/engine/scope_controller.js +12 -1
- package/dist/engine/scope_controller.js.map +1 -1
- package/dist/engine/scope_lease.d.ts +43 -0
- package/dist/engine/scope_lease.d.ts.map +1 -1
- package/dist/engine/scope_lease.js +44 -0
- package/dist/engine/scope_lease.js.map +1 -1
- package/dist/engine/semantic_evidence.d.ts +6 -0
- package/dist/engine/semantic_evidence.d.ts.map +1 -1
- package/dist/engine/semantic_evidence.js +9 -0
- package/dist/engine/semantic_evidence.js.map +1 -1
- package/dist/engine/task_context.d.ts +36 -1
- package/dist/engine/task_context.d.ts.map +1 -1
- package/dist/engine/task_context.js +252 -13
- package/dist/engine/task_context.js.map +1 -1
- package/dist/engine/task_planner.d.ts.map +1 -1
- package/dist/engine/task_planner.js +13 -3
- package/dist/engine/task_planner.js.map +1 -1
- package/dist/engine/team_awareness.d.ts.map +1 -1
- package/dist/engine/team_awareness.js +8 -7
- package/dist/engine/team_awareness.js.map +1 -1
- package/dist/engine/template_mechanism_auditor.d.ts +93 -0
- package/dist/engine/template_mechanism_auditor.d.ts.map +1 -0
- package/dist/engine/template_mechanism_auditor.js +622 -0
- package/dist/engine/template_mechanism_auditor.js.map +1 -0
- package/dist/engine/test_generator.d.ts.map +1 -1
- package/dist/engine/test_generator.js +6 -0
- package/dist/engine/test_generator.js.map +1 -1
- package/dist/engine/test_quality.d.ts +6 -0
- package/dist/engine/test_quality.d.ts.map +1 -1
- package/dist/engine/test_quality.js +26 -10
- package/dist/engine/test_quality.js.map +1 -1
- package/dist/engine/tool_invocation_contract_registry.d.ts +136 -0
- package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -0
- package/dist/engine/tool_invocation_contract_registry.js +731 -0
- package/dist/engine/tool_invocation_contract_registry.js.map +1 -0
- package/dist/engine/traceability.d.ts +3 -0
- package/dist/engine/traceability.d.ts.map +1 -1
- package/dist/engine/traceability.js +12 -4
- package/dist/engine/traceability.js.map +1 -1
- package/dist/engine/user_feedback_contract.d.ts +162 -0
- package/dist/engine/user_feedback_contract.d.ts.map +1 -0
- package/dist/engine/user_feedback_contract.js +356 -0
- package/dist/engine/user_feedback_contract.js.map +1 -0
- package/dist/engine/verifier.d.ts +6 -1
- package/dist/engine/verifier.d.ts.map +1 -1
- package/dist/engine/verifier.js +114 -1
- package/dist/engine/verifier.js.map +1 -1
- package/dist/engine/workflow_contract_registry.d.ts +70 -0
- package/dist/engine/workflow_contract_registry.d.ts.map +1 -0
- package/dist/engine/workflow_contract_registry.js +501 -0
- package/dist/engine/workflow_contract_registry.js.map +1 -0
- package/dist/engine/workspace_resumer.d.ts.map +1 -1
- package/dist/engine/workspace_resumer.js +8 -0
- package/dist/engine/workspace_resumer.js.map +1 -1
- package/dist/engine/zero_config_init.d.ts +67 -2
- package/dist/engine/zero_config_init.d.ts.map +1 -1
- package/dist/engine/zero_config_init.js +410 -28
- package/dist/engine/zero_config_init.js.map +1 -1
- package/dist/git/operations.d.ts +101 -0
- package/dist/git/operations.d.ts.map +1 -1
- package/dist/git/operations.js +125 -9
- package/dist/git/operations.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/knowledge/conflict_detector.d.ts +6 -0
- package/dist/knowledge/conflict_detector.d.ts.map +1 -1
- package/dist/knowledge/conflict_detector.js +7 -0
- package/dist/knowledge/conflict_detector.js.map +1 -1
- package/dist/knowledge/health_checker.d.ts +16 -0
- package/dist/knowledge/health_checker.d.ts.map +1 -1
- package/dist/knowledge/health_checker.js +24 -1
- package/dist/knowledge/health_checker.js.map +1 -1
- package/dist/knowledge/index_manager.d.ts +140 -2
- package/dist/knowledge/index_manager.d.ts.map +1 -1
- package/dist/knowledge/index_manager.js +186 -26
- package/dist/knowledge/index_manager.js.map +1 -1
- package/dist/knowledge/loader.d.ts +8 -1
- package/dist/knowledge/loader.d.ts.map +1 -1
- package/dist/knowledge/loader.js +56 -2
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/knowledge/writer.d.ts +49 -1
- package/dist/knowledge/writer.d.ts.map +1 -1
- package/dist/knowledge/writer.js +55 -1
- package/dist/knowledge/writer.js.map +1 -1
- package/dist/types.d.ts +255 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +3 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +29 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +7 -7
- package/templates/knowledge/acceptance_templates//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +30 -2
- package/templates/knowledge/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 +16 -0
- package/templates/knowledge/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +17 -0
- package/templates/knowledge/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 +43 -0
- package/templates/knowledge/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 +17 -0
- package/templates/knowledge/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +15 -0
- package/templates/knowledge/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +16 -0
- package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +1 -0
- package/templates/knowledge/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 +23 -0
- package/templates/knowledge/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +19 -0
- package/templates/knowledge/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +15 -0
- package/templates/knowledge/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +15 -0
- package/templates/knowledge/procedures/{Figma → /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 +5 -5
- package/templates/knowledge/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +53 -0
- package/templates/knowledge/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +21 -0
- package/templates/knowledge/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +25 -0
- package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +20 -0
- package/templates/knowledge/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +25 -0
- package/templates/knowledge/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +26 -0
- package/templates/knowledge/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 +24 -0
- 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 +20 -0
- package/templates/knowledge/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 +125 -0
- package/templates/knowledge/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 +26 -0
- package/templates/knowledge/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 +22 -0
- package/templates/knowledge/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 +25 -0
- package/templates/knowledge/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 +27 -0
- package/templates/knowledge/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +22 -0
- package/templates/knowledge/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +24 -0
- package/templates/knowledge/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 +28 -0
- package/templates/knowledge/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +25 -0
- package/templates/knowledge/templates/{review_summary.md → /345/256/241/346/237/245/346/221/230/350/246/201.md} +1 -1
- package/templates/config.yaml +0 -53
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
* 校验 sf_expand / sf_review / sf_analyze / sf_explore 的输出是否包含
|
|
4
4
|
* 备忘录要求的 10 个决策字段。不 hard block,只出 advisory 告警。
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* 决策输出契约要求包含的 10 个字段。
|
|
8
|
+
* 涵盖推荐方案、理由、被否决方案、替代方案、攻击性测试、
|
|
9
|
+
* 证伪测试、执行计划、验证计划、回滚计划和人工确认。
|
|
10
|
+
*/
|
|
6
11
|
export declare const DECISION_FIELDS: readonly ["recommended_option", "why_this", "rejected_options", "steelman_alternatives", "attack_recommended_option", "falsification_tests", "execution_plan", "verification_plan", "rollback_plan", "human_confirmation_required"];
|
|
12
|
+
/** 决策字段名称类型,为 DECISION_FIELDS 中定义的字段名联合类型 */
|
|
7
13
|
export type DecisionField = (typeof DECISION_FIELDS)[number];
|
|
8
14
|
export interface DecisionContractResult {
|
|
9
15
|
/** 是否通过契约校验(advisory) */
|
|
@@ -22,8 +28,11 @@ export interface DecisionContractResult {
|
|
|
22
28
|
}
|
|
23
29
|
/**
|
|
24
30
|
* 校验决策输出是否满足契约。
|
|
25
|
-
* 输入为任意对象,检查其顶层键是否覆盖 DECISION_FIELDS
|
|
26
|
-
* advisory
|
|
31
|
+
* 输入为任意对象,检查其顶层键是否覆盖 DECISION_FIELDS 中定义的 10 个决策字段。
|
|
32
|
+
* 此校验为 advisory 级别,不会硬阻断流程,missing_fields 仅为建议性提示。
|
|
33
|
+
*
|
|
34
|
+
* @param output - 待校验的决策输出对象
|
|
35
|
+
* @returns 校验结果,包含是否通过、缺失字段、覆盖率和各字段存在状态
|
|
27
36
|
*/
|
|
28
37
|
export declare function validateDecisionOutput(output: Record<string, unknown>): DecisionContractResult;
|
|
29
38
|
//# sourceMappingURL=decision_contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision_contract.d.ts","sourceRoot":"","sources":["../../src/engine/decision_contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"decision_contract.d.ts","sourceRoot":"","sources":["../../src/engine/decision_contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;GAIG;AACH,eAAO,MAAM,eAAe,qOAWlB,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa;IACb,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB,CA0B9F"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
* 校验 sf_expand / sf_review / sf_analyze / sf_explore 的输出是否包含
|
|
4
4
|
* 备忘录要求的 10 个决策字段。不 hard block,只出 advisory 告警。
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* 决策输出契约要求包含的 10 个字段。
|
|
8
|
+
* 涵盖推荐方案、理由、被否决方案、替代方案、攻击性测试、
|
|
9
|
+
* 证伪测试、执行计划、验证计划、回滚计划和人工确认。
|
|
10
|
+
*/
|
|
6
11
|
export const DECISION_FIELDS = [
|
|
7
12
|
"recommended_option",
|
|
8
13
|
"why_this",
|
|
@@ -17,10 +22,14 @@ export const DECISION_FIELDS = [
|
|
|
17
22
|
];
|
|
18
23
|
/**
|
|
19
24
|
* 校验决策输出是否满足契约。
|
|
20
|
-
* 输入为任意对象,检查其顶层键是否覆盖 DECISION_FIELDS
|
|
21
|
-
* advisory
|
|
25
|
+
* 输入为任意对象,检查其顶层键是否覆盖 DECISION_FIELDS 中定义的 10 个决策字段。
|
|
26
|
+
* 此校验为 advisory 级别,不会硬阻断流程,missing_fields 仅为建议性提示。
|
|
27
|
+
*
|
|
28
|
+
* @param output - 待校验的决策输出对象
|
|
29
|
+
* @returns 校验结果,包含是否通过、缺失字段、覆盖率和各字段存在状态
|
|
22
30
|
*/
|
|
23
31
|
export function validateDecisionOutput(output) {
|
|
32
|
+
console.error("[soloForge] 决策契约: 开始校验决策输出");
|
|
24
33
|
const fieldStatus = DECISION_FIELDS.map((field) => ({
|
|
25
34
|
field,
|
|
26
35
|
present: field in output && output[field] != null && output[field] !== "",
|
|
@@ -28,6 +37,12 @@ export function validateDecisionOutput(output) {
|
|
|
28
37
|
const presentCount = fieldStatus.filter((f) => f.present).length;
|
|
29
38
|
const missing = fieldStatus.filter((f) => !f.present).map((f) => f.field);
|
|
30
39
|
const coverage = presentCount / DECISION_FIELDS.length;
|
|
40
|
+
if (missing.length > 0) {
|
|
41
|
+
console.error(`[soloForge] 决策契约: 缺少 ${missing.length} 个字段 (${missing.join(", ")})`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.error(`[soloForge] 决策契约: 校验通过 (${presentCount}/${DECISION_FIELDS.length})`);
|
|
45
|
+
}
|
|
31
46
|
return {
|
|
32
47
|
passed: missing.length === 0,
|
|
33
48
|
missing_fields: missing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision_contract.js","sourceRoot":"","sources":["../../src/engine/decision_contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"decision_contract.js","sourceRoot":"","sources":["../../src/engine/decision_contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,oBAAoB;IACpB,UAAU;IACV,kBAAkB;IAClB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,6BAA6B;CACrB,CAAC;AAkBX;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA+B;IACpE,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,KAAK;QACL,OAAO,EAAE,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;KAC1E,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;IAEvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC5B,cAAc,EAAE,OAAO;QACvB,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;YAC5B,CAAC,CAAC,aAAa,YAAY,IAAI,eAAe,CAAC,MAAM,GAAG;YACxD,CAAC,CAAC,oBAAoB,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACpE,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -32,6 +32,13 @@ export interface DeliveryInput {
|
|
|
32
32
|
* @returns 交付结果,包含已执行操作、跳过操作、错误信息和 commit hash
|
|
33
33
|
*/
|
|
34
34
|
export declare function deliver(input: DeliveryInput): Promise<DeliveryResult>;
|
|
35
|
+
/**
|
|
36
|
+
* 对字符串进行 shell 安全转义,防止双引号内注入。
|
|
37
|
+
* 转义双引号、反引号、美元符号和反斜杠。
|
|
38
|
+
* @param str - 需要转义的字符串
|
|
39
|
+
* @returns 转义后的安全字符串
|
|
40
|
+
*/
|
|
41
|
+
export declare function shellEscape(str: string): string;
|
|
35
42
|
/**
|
|
36
43
|
* 根据任务上下文生成 Conventional Commits 格式的变更日志条目。
|
|
37
44
|
* 任务类型映射:feature→feat, bugfix/hotfix→fix, refactor→refactor, test→test 等。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAEb,cAAc,EAEd,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAEb,cAAc,EAEd,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAMnD;;;;GAIG;AAIH;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,qBAAqB,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAqS3E;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAID;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc,CAmB/E"}
|
package/dist/engine/delivery.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import YAML from "yaml";
|
|
2
2
|
import { buildDeliveryEvidenceChain } from "./semantic_evidence.js";
|
|
3
3
|
import { classifyCommand, checkSupplyChain } from "./runtime_safety.js";
|
|
4
|
+
import { scanTextSensitivity, redactSensitiveText } from "./privacy_secret_contract.js";
|
|
4
5
|
import { preDeliveryReview } from "./developer_sovereignty.js";
|
|
5
6
|
/**
|
|
6
7
|
* 执行完整的交付流程:提交代码、推送到远程、生成 PR 命令和变更日志。
|
|
@@ -10,6 +11,7 @@ import { preDeliveryReview } from "./developer_sovereignty.js";
|
|
|
10
11
|
*/
|
|
11
12
|
export async function deliver(input) {
|
|
12
13
|
const { taskContext, config, knowledgeIndex, projectPath, gitOps, skipPush, skipPr, } = input;
|
|
14
|
+
console.error(`[soloForge] 交付: 开始执行任务 ${taskContext.task_id} 的交付流程`);
|
|
13
15
|
const result = {
|
|
14
16
|
task_id: taskContext.task_id,
|
|
15
17
|
actions_performed: [],
|
|
@@ -25,13 +27,31 @@ export async function deliver(input) {
|
|
|
25
27
|
result.branch = await gitOps.getCurrentBranch(projectPath);
|
|
26
28
|
}
|
|
27
29
|
catch (e) {
|
|
28
|
-
|
|
30
|
+
const errMsg = `无法获取当前分支: ${e instanceof Error ? e.message : String(e)}`;
|
|
31
|
+
result.errors.push(errMsg);
|
|
32
|
+
console.error(`[soloForge] 交付: ${errMsg}`);
|
|
29
33
|
return result;
|
|
30
34
|
}
|
|
31
|
-
// 3.
|
|
35
|
+
// 3. 根据任务信息构建所有候选 payload(commit_message, changelog, PR command)
|
|
32
36
|
const entry = generateChangelogEntry(taskContext);
|
|
33
37
|
result.commit_message = formatCommitMessage(entry);
|
|
34
|
-
|
|
38
|
+
result.changelog = formatChangelog(entry);
|
|
39
|
+
// 3.3. 生成 PR 创建命令候选(在隐私门禁之前,以便统一扫描)
|
|
40
|
+
let prCandidate;
|
|
41
|
+
let prHasRemote = false;
|
|
42
|
+
if (deliveryConfig.auto_pr && !skipPr) {
|
|
43
|
+
const remoteUrl = await gitOps
|
|
44
|
+
.getRemoteUrl(projectPath)
|
|
45
|
+
.catch(() => null);
|
|
46
|
+
if (remoteUrl) {
|
|
47
|
+
const labels = deliveryConfig.pr_labels.length > 0
|
|
48
|
+
? ` --label ${deliveryConfig.pr_labels.join(",")}`
|
|
49
|
+
: "";
|
|
50
|
+
prCandidate = `gh pr create --title "${shellEscape(entry.type)}(${shellEscape(entry.scope)}): ${shellEscape(entry.description)}" --body "Task: ${taskContext.task_id}"${labels}`;
|
|
51
|
+
prHasRemote = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// 3.5. 运行安全包 — 命令分级 advisory(不 hard block)
|
|
35
55
|
const safetyAdvisories = [];
|
|
36
56
|
// 检查验证命令是否有 destructive 级别
|
|
37
57
|
const verifyCommands = taskContext.verification?.checks
|
|
@@ -59,13 +79,13 @@ export async function deliver(input) {
|
|
|
59
79
|
f.endsWith("Cargo.toml") || f.endsWith("Cargo.lock"));
|
|
60
80
|
if (depFiles.length > 0) {
|
|
61
81
|
try {
|
|
62
|
-
//
|
|
82
|
+
// 使用文件系统根目录列表进行 lockfile 检测(非 git status)
|
|
63
83
|
const fss = await import("node:fs");
|
|
64
84
|
const nodePath = await import("node:path");
|
|
65
85
|
const rootEntries = fss.readdirSync(projectPath);
|
|
66
86
|
const rootFiles = rootEntries.filter((e) => e.endsWith(".json") || e.endsWith(".yaml") || e.endsWith(".yarn") ||
|
|
67
87
|
e.endsWith(".lock") || e.endsWith(".sum") || e.endsWith(".toml"));
|
|
68
|
-
//
|
|
88
|
+
// 如果存在 package.json,读取依赖列表
|
|
69
89
|
const fsAsync = await import("node:fs/promises");
|
|
70
90
|
const deps = [];
|
|
71
91
|
const pkgPath = nodePath.join(projectPath, "package.json");
|
|
@@ -76,7 +96,7 @@ export async function deliver(input) {
|
|
|
76
96
|
deps.push({ name, version: String(version) });
|
|
77
97
|
}
|
|
78
98
|
}
|
|
79
|
-
catch { /*
|
|
99
|
+
catch { /* 无 package.json 或解析错误 */ }
|
|
80
100
|
if (deps.length > 0) {
|
|
81
101
|
const scReport = checkSupplyChain(rootFiles, deps);
|
|
82
102
|
for (const check of scReport.checks) {
|
|
@@ -95,14 +115,43 @@ export async function deliver(input) {
|
|
|
95
115
|
}
|
|
96
116
|
if (safetyAdvisories.length > 0) {
|
|
97
117
|
result.safety_advisories = safetyAdvisories;
|
|
118
|
+
console.error(`[soloForge] 交付: 检测到 ${safetyAdvisories.length} 项安全建议`);
|
|
98
119
|
}
|
|
99
|
-
// 3.6.
|
|
120
|
+
// 3.6. Developer Sovereignty — 交付前审查(advisory, 不 hard block)
|
|
100
121
|
try {
|
|
101
122
|
const review = await preDeliveryReview(taskContext, gitOps, projectPath);
|
|
102
123
|
result.pre_delivery_review = review;
|
|
103
124
|
}
|
|
104
125
|
catch {
|
|
105
|
-
//
|
|
126
|
+
// 审查失败仅为建议级别,不阻断交付
|
|
127
|
+
}
|
|
128
|
+
// 3.7. 隐私门禁: 统一扫描所有生成的 payload
|
|
129
|
+
const commitLabels = scanTextSensitivity(result.commit_message, "commit_message");
|
|
130
|
+
const changelogLabels = scanTextSensitivity(result.changelog ?? "", "changelog");
|
|
131
|
+
const prLabels = scanTextSensitivity(prCandidate ?? "", "pr_body");
|
|
132
|
+
const allDeliveryLabels = [...commitLabels, ...changelogLabels, ...prLabels];
|
|
133
|
+
const deliverySecrets = allDeliveryLabels.filter((l) => l.label === "secret" || l.label === "credential");
|
|
134
|
+
if (deliverySecrets.length > 0) {
|
|
135
|
+
const errMsg = `隐私门禁阻断: 交付内容包含禁止级别的敏感信息 (${deliverySecrets.map((l) => l.source_ref + ":" + l.label).join(", ")}), 不允许提交`;
|
|
136
|
+
result.errors.push(errMsg);
|
|
137
|
+
console.error(`[soloForge] 交付: ${errMsg}`);
|
|
138
|
+
// 秘密级别硬阻断: 不提交,不设置 pr_url
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
141
|
+
// 对所有交付 payload 执行 PII 脱敏
|
|
142
|
+
const commitRedacted = redactSensitiveText(result.commit_message, "commit_message");
|
|
143
|
+
if (commitRedacted.records.length > 0) {
|
|
144
|
+
result.commit_message = commitRedacted.redacted;
|
|
145
|
+
}
|
|
146
|
+
const changelogRedacted = redactSensitiveText(result.changelog ?? "", "changelog");
|
|
147
|
+
if (changelogRedacted.records.length > 0 && result.changelog) {
|
|
148
|
+
result.changelog = changelogRedacted.redacted;
|
|
149
|
+
}
|
|
150
|
+
if (prCandidate) {
|
|
151
|
+
const prRedacted = redactSensitiveText(prCandidate, "pr_body");
|
|
152
|
+
if (prRedacted.records.length > 0) {
|
|
153
|
+
prCandidate = prRedacted.redacted;
|
|
154
|
+
}
|
|
106
155
|
}
|
|
107
156
|
// 4. 执行 git commit(如果配置允许自动提交)
|
|
108
157
|
if (deliveryConfig.auto_commit) {
|
|
@@ -131,14 +180,17 @@ export async function deliver(input) {
|
|
|
131
180
|
}
|
|
132
181
|
}
|
|
133
182
|
result.actions_performed.push("commit");
|
|
134
|
-
|
|
183
|
+
console.error(`[soloForge] 交付: 提交成功 ${result.commit_hash}`);
|
|
184
|
+
// 更新 pre_delivery_review 中的回滚命令,指向当前 commit
|
|
135
185
|
if (result.pre_delivery_review && result.commit_hash) {
|
|
136
186
|
result.pre_delivery_review.rollback_command =
|
|
137
187
|
`git revert ${result.commit_hash} --no-edit`;
|
|
138
188
|
}
|
|
139
189
|
}
|
|
140
190
|
catch (e) {
|
|
141
|
-
|
|
191
|
+
const errMsg = `提交失败: ${e instanceof Error ? e.message : String(e)}`;
|
|
192
|
+
result.errors.push(errMsg);
|
|
193
|
+
console.error(`[soloForge] 交付: ${errMsg}`);
|
|
142
194
|
result.skipped_actions.push({
|
|
143
195
|
action: "commit",
|
|
144
196
|
reason: "git commit 失败",
|
|
@@ -159,6 +211,7 @@ export async function deliver(input) {
|
|
|
159
211
|
if (remoteUrl) {
|
|
160
212
|
await gitOps.push(projectPath, "origin", result.branch);
|
|
161
213
|
result.actions_performed.push("push");
|
|
214
|
+
console.error(`[soloForge] 交付: 推送成功 ${result.branch}`);
|
|
162
215
|
}
|
|
163
216
|
else {
|
|
164
217
|
result.skipped_actions.push({
|
|
@@ -168,7 +221,9 @@ export async function deliver(input) {
|
|
|
168
221
|
}
|
|
169
222
|
}
|
|
170
223
|
catch (e) {
|
|
171
|
-
|
|
224
|
+
const errMsg = `推送失败: ${e instanceof Error ? e.message : String(e)}`;
|
|
225
|
+
result.errors.push(errMsg);
|
|
226
|
+
console.error(`[soloForge] 交付: ${errMsg}`);
|
|
172
227
|
result.skipped_actions.push({
|
|
173
228
|
action: "push",
|
|
174
229
|
reason: "git push 失败",
|
|
@@ -187,45 +242,43 @@ export async function deliver(input) {
|
|
|
187
242
|
reason: "DeliveryConfig.auto_push = false",
|
|
188
243
|
});
|
|
189
244
|
}
|
|
190
|
-
// 6.
|
|
191
|
-
if (
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (remoteUrl) {
|
|
196
|
-
const labels = deliveryConfig.pr_labels.length > 0
|
|
197
|
-
? ` --label ${deliveryConfig.pr_labels.join(",")}`
|
|
198
|
-
: "";
|
|
199
|
-
result.pr_url = `gh pr create --title "${shellEscape(entry.type)}(${shellEscape(entry.scope)}): ${shellEscape(entry.description)}" --body "Task: ${taskContext.task_id}"${labels}`;
|
|
200
|
-
result.actions_performed.push("pr");
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
result.skipped_actions.push({
|
|
204
|
-
action: "pr",
|
|
205
|
-
reason: "未配置远程仓库",
|
|
206
|
-
});
|
|
207
|
-
}
|
|
245
|
+
// 6. 设置 PR 命令(已在 3.3 生成候选,此处设置最终结果)
|
|
246
|
+
if (prCandidate) {
|
|
247
|
+
result.pr_url = prCandidate;
|
|
248
|
+
result.actions_performed.push("pr");
|
|
249
|
+
console.error("[soloForge] 交付: PR 命令已生成");
|
|
208
250
|
}
|
|
209
|
-
else {
|
|
251
|
+
else if (deliveryConfig.auto_pr && !skipPr && !prHasRemote) {
|
|
252
|
+
result.skipped_actions.push({
|
|
253
|
+
action: "pr",
|
|
254
|
+
reason: "未配置远程仓库",
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
else if (!deliveryConfig.auto_pr || skipPr) {
|
|
210
258
|
result.skipped_actions.push({
|
|
211
259
|
action: "pr",
|
|
212
260
|
reason: skipPr ? "用户跳过" : "DeliveryConfig.auto_pr = false",
|
|
213
261
|
});
|
|
214
262
|
}
|
|
215
|
-
// 7.
|
|
216
|
-
result.changelog = formatChangelog(entry);
|
|
263
|
+
// 7. 记录 changelog 动作(已在 3 生成)
|
|
217
264
|
result.actions_performed.push("changelog");
|
|
218
|
-
// 8.
|
|
265
|
+
// 8. 构建语义交付证据链(advisory, 不 hard block)
|
|
219
266
|
result.evidence_chain = buildDeliveryEvidenceChain(taskContext) ?? undefined;
|
|
267
|
+
console.error(`[soloForge] 交付: 完成,已执行操作: ${result.actions_performed.join(", ")}, 错误: ${result.errors.length}`);
|
|
220
268
|
return result;
|
|
221
269
|
}
|
|
222
270
|
// ── Shell 转义辅助函数 ──
|
|
223
271
|
/**
|
|
224
272
|
* 对字符串进行 shell 安全转义,防止双引号内注入。
|
|
225
273
|
* 转义双引号、反引号、美元符号和反斜杠。
|
|
274
|
+
* @param str - 需要转义的字符串
|
|
275
|
+
* @returns 转义后的安全字符串
|
|
226
276
|
*/
|
|
227
|
-
function shellEscape(str) {
|
|
228
|
-
|
|
277
|
+
export function shellEscape(str) {
|
|
278
|
+
// 先处理换行符(防止换行注入),再转义双引号内特殊字符
|
|
279
|
+
return str
|
|
280
|
+
.replace(/\r?\n/g, "\\n")
|
|
281
|
+
.replace(/["$`\\!]/g, "\\$&");
|
|
229
282
|
}
|
|
230
283
|
// ── 变更日志辅助函数 ──
|
|
231
284
|
/**
|
|
@@ -311,7 +364,7 @@ function resolveDeliveryConfig(knowledgeIndex, productProfile) {
|
|
|
311
364
|
}
|
|
312
365
|
}
|
|
313
366
|
catch {
|
|
314
|
-
/*
|
|
367
|
+
/* 忽略解析错误 */
|
|
315
368
|
}
|
|
316
369
|
}
|
|
317
370
|
return defaults;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency_scanner.d.ts","sourceRoot":"","sources":["../../src/engine/dependency_scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAwQ3E;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"dependency_scanner.d.ts","sourceRoot":"","sources":["../../src/engine/dependency_scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAwQ3E;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CA+FxF"}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* 检测已知漏洞和未锁定版本。纯规则驱动,零 AI 依赖,不调用外部 API。
|
|
4
4
|
*/
|
|
5
5
|
/** 内置漏洞规则库: 各语言生态的已知高风险依赖版本(包名 → 最低安全版本 → 漏洞描述) */
|
|
6
|
-
// ──
|
|
6
|
+
// ── 漏洞数据库(硬编码规则库,零 AI 依赖) ──
|
|
7
7
|
const VULN_DB = [
|
|
8
|
-
// Java
|
|
8
|
+
// Java 生态
|
|
9
9
|
{ package: "log4j-core", minSafe: "2.17.0", severity: "critical", issue: "Log4Shell RCE (CVE-2021-44228)" },
|
|
10
10
|
{ package: "fastjson", minSafe: "1.2.83", severity: "critical", issue: "反序列化远程代码执行" },
|
|
11
11
|
{ package: "jackson-databind", minSafe: "2.13.0", severity: "critical", issue: "反序列化漏洞" },
|
|
12
12
|
{ package: "shiro-core", minSafe: "1.10.0", severity: "high", issue: "认证绕过漏洞" },
|
|
13
|
-
// Node.js
|
|
13
|
+
// Node.js 生态
|
|
14
14
|
{ package: "lodash", minSafe: "4.17.21", severity: "high", issue: "原型污染 (CVE-2021-23337)" },
|
|
15
15
|
{ package: "express", minSafe: "4.18.0", severity: "medium", issue: "开放重定向" },
|
|
16
16
|
{ package: "axios", minSafe: "0.21.1", severity: "high", issue: "SSRF 漏洞" },
|
|
@@ -136,7 +136,7 @@ function parsePackageJson(content) {
|
|
|
136
136
|
extract(pkg.devDependencies, true);
|
|
137
137
|
}
|
|
138
138
|
catch {
|
|
139
|
-
//
|
|
139
|
+
// JSON 解析失败,返回空列表
|
|
140
140
|
}
|
|
141
141
|
return deps;
|
|
142
142
|
}
|
|
@@ -158,7 +158,7 @@ function parsePomXml(content) {
|
|
|
158
158
|
/** 解析 build.gradle — 匹配 group:artifact:version 格式(如 'org.apache:log4j-core:2.14.1') */
|
|
159
159
|
function parseBuildGradle(content) {
|
|
160
160
|
const deps = [];
|
|
161
|
-
//
|
|
161
|
+
// 匹配 group:artifact:version 格式(如 'org.apache.logging.log4j:log4j-core:2.14.1')
|
|
162
162
|
const depPattern = /['"]([\w.-]+):([\w.-]+):([\d.]+(?:-[a-zA-Z][\w.-]*)?)['"]/g;
|
|
163
163
|
let match;
|
|
164
164
|
while ((match = depPattern.exec(content)) !== null) {
|
|
@@ -211,9 +211,11 @@ function buildSummary(total, vulnerabilities, unscoped) {
|
|
|
211
211
|
* @returns 扫描结果,包含漏洞列表、未锁定版本和中文摘要
|
|
212
212
|
*/
|
|
213
213
|
export function scanDependencies(content, filename) {
|
|
214
|
+
console.error(`[soloForge] 依赖扫描: 开始扫描 ${filename}`);
|
|
214
215
|
const baseName = filename.split("/").pop()?.toLowerCase() ?? "";
|
|
215
|
-
// ── package.json ──
|
|
216
|
+
// ── 解析 package.json ──
|
|
216
217
|
if (baseName === "package.json") {
|
|
218
|
+
console.error("[soloForge] 依赖扫描: 检测到 package.json,使用 Node.js 解析器");
|
|
217
219
|
const parsed = parsePackageJson(content);
|
|
218
220
|
const vulnerabilities = [];
|
|
219
221
|
const unscoped_versions = [];
|
|
@@ -221,7 +223,7 @@ export function scanDependencies(content, filename) {
|
|
|
221
223
|
for (const dep of parsed) {
|
|
222
224
|
const extracted = extractVersion(dep.version);
|
|
223
225
|
if (extracted === null)
|
|
224
|
-
continue; // URL / git
|
|
226
|
+
continue; // URL / git 引用,跳过
|
|
225
227
|
scannedCount++;
|
|
226
228
|
if (isUnscoped(extracted)) {
|
|
227
229
|
unscoped_versions.push(`${dep.name}: ${dep.version}`);
|
|
@@ -240,8 +242,9 @@ export function scanDependencies(content, filename) {
|
|
|
240
242
|
summary: buildSummary(scannedCount, vulnerabilities, unscoped_versions),
|
|
241
243
|
};
|
|
242
244
|
}
|
|
243
|
-
// ── pom.xml ──
|
|
245
|
+
// ── 解析 pom.xml ──
|
|
244
246
|
if (baseName === "pom.xml") {
|
|
247
|
+
console.error("[soloForge] 依赖扫描: 检测到 pom.xml,使用 Maven 解析器");
|
|
245
248
|
const parsed = parsePomXml(content);
|
|
246
249
|
const vulnerabilities = [];
|
|
247
250
|
let scannedCount = 0;
|
|
@@ -260,8 +263,9 @@ export function scanDependencies(content, filename) {
|
|
|
260
263
|
summary: buildSummary(scannedCount, vulnerabilities, []),
|
|
261
264
|
};
|
|
262
265
|
}
|
|
263
|
-
// ── build.gradle ──
|
|
266
|
+
// ── 解析 build.gradle ──
|
|
264
267
|
if (baseName === "build.gradle" || baseName === "build.gradle.kts") {
|
|
268
|
+
console.error("[soloForge] 依赖扫描: 检测到 build.gradle,使用 Gradle 解析器");
|
|
265
269
|
const parsed = parseBuildGradle(content);
|
|
266
270
|
const vulnerabilities = [];
|
|
267
271
|
let scannedCount = 0;
|
|
@@ -281,6 +285,7 @@ export function scanDependencies(content, filename) {
|
|
|
281
285
|
};
|
|
282
286
|
}
|
|
283
287
|
// ── 不支持的文件格式,返回空结果 ──
|
|
288
|
+
console.error(`[soloForge] 依赖扫描: 不支持的文件格式 ${filename}`);
|
|
284
289
|
return {
|
|
285
290
|
file: filename,
|
|
286
291
|
dependencies_scanned: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency_scanner.js","sourceRoot":"","sources":["../../src/engine/dependency_scanner.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,mDAAmD;AACnD
|
|
1
|
+
{"version":3,"file":"dependency_scanner.js","sourceRoot":"","sources":["../../src/engine/dependency_scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer_sovereignty.d.ts","sourceRoot":"","sources":["../../src/engine/developer_sovereignty.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,YAAY,EAAE;QACZ,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClF,CAAC;IACF,WAAW;IACX,YAAY,EAAE;QACZ,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,kDAAkD;IAClD,cAAc,EAAE;QACd,YAAY,EAAE,gBAAgB,EAAE,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,WAAW;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"developer_sovereignty.d.ts","sourceRoot":"","sources":["../../src/engine/developer_sovereignty.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,YAAY,EAAE;QACZ,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClF,CAAC;IACF,WAAW;IACX,YAAY,EAAE;QACZ,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,kDAAkD;IAClD,cAAc,EAAE;QACd,YAAY,EAAE,gBAAgB,EAAE,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,WAAW;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAsH5B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,UAAU,CASZ"}
|
|
@@ -12,6 +12,7 @@ import { buildDeliveryEvidenceChain } from "./semantic_evidence.js";
|
|
|
12
12
|
* 使用 git_deps.GitOperations 获取真实 diff 统计和 commit/branch 信息。
|
|
13
13
|
*/
|
|
14
14
|
export async function preDeliveryReview(taskContext, gitOps, projectPath) {
|
|
15
|
+
console.error("[soloForge] 开发者主权: preDeliveryReview() 开始 — taskId:", taskContext.task_id);
|
|
15
16
|
const changedFiles = taskContext.execution?.changed_files ?? [];
|
|
16
17
|
const attemptCount = taskContext.execution?.attempt_count ?? 0;
|
|
17
18
|
const failureCount = taskContext.execution?.failure_history?.length ?? 0;
|
|
@@ -22,7 +23,7 @@ export async function preDeliveryReview(taskContext, gitOps, projectPath) {
|
|
|
22
23
|
gitOps.getDiff(projectPath, { cached: true }),
|
|
23
24
|
]);
|
|
24
25
|
const diffFiles = new Set(changedFiles);
|
|
25
|
-
//
|
|
26
|
+
// 合并by file: sum additions/deletions from both sources
|
|
26
27
|
const merged = new Map();
|
|
27
28
|
for (const h of [...unstaged, ...staged]) {
|
|
28
29
|
if (!diffFiles.has(h.file))
|
|
@@ -62,6 +63,7 @@ export async function preDeliveryReview(taskContext, gitOps, projectPath) {
|
|
|
62
63
|
if (changedFiles.length > 10)
|
|
63
64
|
riskFactors.push(`变更文件多: ${changedFiles.length} 个`);
|
|
64
65
|
const riskLevel = riskFactors.length === 0 ? "low" : riskFactors.length <= 2 ? "medium" : "high";
|
|
66
|
+
console.error("[soloForge] 开发者主权: 风险评估 — level:", riskLevel, "factors:", riskFactors.join(", "));
|
|
65
67
|
// Evidence chain
|
|
66
68
|
const chain = buildDeliveryEvidenceChain(taskContext);
|
|
67
69
|
const evidenceChain = chain
|
|
@@ -77,7 +79,9 @@ export async function preDeliveryReview(taskContext, gitOps, projectPath) {
|
|
|
77
79
|
try {
|
|
78
80
|
commitHash = await gitOps.getHeadCommitHash(projectPath);
|
|
79
81
|
}
|
|
80
|
-
catch {
|
|
82
|
+
catch (e) {
|
|
83
|
+
console.error("[soloForge] 开发者主权: 获取commit hash失败,使用默认值 —", e);
|
|
84
|
+
}
|
|
81
85
|
try {
|
|
82
86
|
branch = await gitOps.getCurrentBranch(projectPath);
|
|
83
87
|
}
|
|
@@ -95,6 +99,7 @@ export async function preDeliveryReview(taskContext, gitOps, projectPath) {
|
|
|
95
99
|
if (!hasVerification && changedFiles.length > 0) {
|
|
96
100
|
deliveryBlockers.push("advisory: no verification results — recommend running tests before delivery");
|
|
97
101
|
}
|
|
102
|
+
console.error("[soloForge] 开发者主权: delivery blockers:", deliveryBlockers.length > 0 ? deliveryBlockers.join("; ") : "无");
|
|
98
103
|
// can_deliver is always true (advisory, not hard block), but blockers inform the developer
|
|
99
104
|
const canDeliver = true;
|
|
100
105
|
return {
|
|
@@ -123,6 +128,7 @@ export async function preDeliveryReview(taskContext, gitOps, projectPath) {
|
|
|
123
128
|
* 返回 VetoResult 记录否决事件,不修改任何状态。
|
|
124
129
|
*/
|
|
125
130
|
export function vetoDelivery(taskId, reason) {
|
|
131
|
+
console.error("[soloForge] 开发者主权: vetoDelivery() — taskId:", taskId, "原因:", reason);
|
|
126
132
|
return {
|
|
127
133
|
vetoed: true,
|
|
128
134
|
task_id: taskId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer_sovereignty.js","sourceRoot":"","sources":["../../src/engine/developer_sovereignty.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAyCpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAwB,EACxB,MAAqB,EACrB,WAAmB;
|
|
1
|
+
{"version":3,"file":"developer_sovereignty.js","sourceRoot":"","sources":["../../src/engine/developer_sovereignty.ts"],"names":[],"mappings":"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"}
|