@guanlin4924/devflow-pi 0.1.88 → 0.1.91

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.91",
4
4
  "type": "module",
5
5
  "description": "Devflow 专项研发 Pi,基于固定版本 OMP Runtime 组装研发状态机、代码智能、设计、实现与质量门禁。",
6
6
  "license": "UNLICENSED",
@@ -414,7 +414,7 @@ export function isRequirementDraftToolAllowed(toolName: string, input: unknown,
414
414
  return normalized === "task" && taskAgents.length > 0 && taskAgents.every(agent => PLANNING_AGENTS.has(agent));
415
415
  }
416
416
 
417
- type InternalDevflowControlResource = "contract" | "state" | "mainflow" | "requirement_graph" | "requirement_coverage" | "project_context" | "skill_script";
417
+ type InternalDevflowControlResource = "contract" | "state" | "mainflow" | "requirement_graph" | "requirement_coverage" | "project_context" | "skill_script" | "code_index" | "review_preflight" | "review_run" | "review_submit";
418
418
 
419
419
  /** Resolve an xdev target only when all supplied target aliases agree.
420
420
  * A direct/eval caller can otherwise provide `path` for a real file plus an
@@ -443,6 +443,10 @@ export function internalDevflowControlResource(toolName: string, input: unknown)
443
443
  if (target === "xd://devflow_requirement_coverage") return "requirement_coverage";
444
444
  if (target === "xd://devflow_project_context") return "project_context";
445
445
  if (target === "xd://devflow_skill_script") return "skill_script";
446
+ if (target === "xd://devflow_code_index") return "code_index";
447
+ if (target === "xd://devflow_review_preflight") return "review_preflight";
448
+ if (target === "xd://devflow_review_run") return "review_run";
449
+ if (target === "xd://devflow_review_submit") return "review_submit";
446
450
  return undefined;
447
451
  }
448
452
 
@@ -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.91";
3
3
  export const PROJECT_SCHEMA_VERSION = 1;
4
4
  export const OMP_RUNTIME_VERSION = "17.2.7";
5
5