@guanlin4924/devflow-pi 0.1.88 → 0.1.89

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guanlin4924/devflow-pi",
3
- "version": "0.1.88",
3
+ "version": "0.1.89",
4
4
  "type": "module",
5
5
  "description": "Devflow 专项研发 Pi,基于固定版本 OMP Runtime 组装研发状态机、代码智能、设计、实现与质量门禁。",
6
6
  "license": "UNLICENSED",
@@ -101,6 +101,22 @@ begin
101
101
  CheckerRegistry.validate!(checker_ids)
102
102
  CheckerRegistry.validate_executable!(checker_ids)
103
103
  paths = (Array(step["outputs"]).map { |output| output["path"] } + [step.dig("meta_output", "path")]).compact.map { |value| interpolate(value, state) }.uniq
104
+ # Execute contracts must authorize the production files declared by the
105
+ # approved change plan. Workflow outputs only contain progress artifacts;
106
+ # omitting production_paths strands implementation workers in a contract
107
+ # that can write summaries but never code.
108
+ if options[:step] == "execute"
109
+ binding_path = File.join(root, ".planning/features", options[:feature], "test-bindings.json")
110
+ if File.file?(binding_path)
111
+ bindings = JSON.parse(File.read(binding_path))
112
+ Array(bindings["tasks"]).each do |task|
113
+ Array(task["production_paths"]).each do |production_path|
114
+ paths << interpolate(production_path.to_s, state) unless production_path.to_s.empty?
115
+ end
116
+ end
117
+ end
118
+ end
119
+ paths = paths.uniq
104
120
  contract = {
105
121
  "schema_version" => 2, "origin" => "core_execution_contract", "feature" => options[:feature], "step" => options[:step],
106
122
  "state_revision" => state["revision"], "graph_revision" => graph["revision"], "workflow_path" => workflow_relative,
@@ -110,7 +126,7 @@ begin
110
126
  # part of the frozen contract. The tool layer still applies per-tool
111
127
  # mutation ownership and the step's allowed paths.
112
128
  "allowed_tools" => %w[
113
- read grep find glob lsp search write edit apply_patch bash shell exec_command task
129
+ read grep find glob lsp search write edit apply_patch bash shell exec_command task todo
114
130
  devflow_api_test_matrix devflow_tdd_evidence devflow_run_acceptance_tests devflow_mainflow
115
131
  devflow_requirement_graph devflow_static_runtime_context
116
132
  devflow_architecture_constraint devflow_architecture_feasibility devflow_architecture_brief
package/src/constants.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export const PRODUCT_NAME = "Devflow Pi";
2
- export const PRODUCT_VERSION = "0.1.88";
2
+ export const PRODUCT_VERSION = "0.1.89";
3
3
  export const PROJECT_SCHEMA_VERSION = 1;
4
4
  export const OMP_RUNTIME_VERSION = "17.2.7";
5
5