okstra 0.214.0 → 0.214.1
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
package/runtime/BUILD.json
CHANGED
|
@@ -47,15 +47,15 @@ def _resolve_planning_input_path(path_value: str, project_root: Path) -> Path |
|
|
|
47
47
|
return None
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
def
|
|
51
|
-
path_value: str, project_root: Path,
|
|
50
|
+
def is_existing_planning_report(
|
|
51
|
+
path_value: str, project_root: Path, task_group: str, task_id: str,
|
|
52
52
|
) -> bool:
|
|
53
53
|
from okstra_ctl.paths import task_dir
|
|
54
54
|
|
|
55
55
|
try:
|
|
56
56
|
report = lexical_absolute_path(Path(path_value))
|
|
57
57
|
task_root = lexical_absolute_path(
|
|
58
|
-
task_dir(project_root,
|
|
58
|
+
task_dir(project_root, task_group, task_id)
|
|
59
59
|
)
|
|
60
60
|
relative = report.relative_to(task_root)
|
|
61
61
|
except ValueError:
|
|
@@ -95,8 +95,8 @@ def _validate_planning_entry_inputs(project_root: Path, inp: PlanningInputs) ->
|
|
|
95
95
|
if inp.selected_direction_path:
|
|
96
96
|
return
|
|
97
97
|
if inp.clarification_response_path:
|
|
98
|
-
if not
|
|
99
|
-
inp.clarification_response_path, project_root, inp
|
|
98
|
+
if not is_existing_planning_report(
|
|
99
|
+
inp.clarification_response_path, project_root, inp.task_group, inp.task_id
|
|
100
100
|
):
|
|
101
101
|
raise PrepareError(
|
|
102
102
|
"implementation-planning rerun --clarification-response must point "
|
|
@@ -588,10 +588,12 @@ STEPS: list[Step] = [
|
|
|
588
588
|
and s.confirmed is None),
|
|
589
589
|
build=_build_confirm, submit=_submit_confirm,
|
|
590
590
|
owns=("confirmed", "edit_target", "confirmation_prompt", "confirmation_stages", "confirmation_scope", "user_authorization")),
|
|
591
|
+
# 되감기는 이 step 뒤에서 일어나 answered 에 남는다. 반복 가능이 아니면 두 번째
|
|
592
|
+
# 수정에서 건너뛰어져 위저드가 미확정인 채 done 을 냈다(dev-11126 planning).
|
|
591
593
|
Step(S_EDIT_TARGET,
|
|
592
594
|
applies=lambda s: s.confirmed is False and not s.edit_target,
|
|
593
595
|
build=_build_edit_target, submit=_submit_edit_target,
|
|
594
|
-
owns=()),
|
|
596
|
+
owns=(), repeatable=True),
|
|
595
597
|
]
|
|
596
598
|
|
|
597
599
|
|
|
@@ -10,6 +10,7 @@ from okstra_ctl.clarification_items import user_response_sidecars
|
|
|
10
10
|
from okstra_ctl.manager_paths import MANAGER_CONTEXT_DIRECTIVE_PREFIX
|
|
11
11
|
from okstra_ctl.json_boundary import JsonBoundaryError, load_owned_object, write_owned_object_atomic
|
|
12
12
|
from okstra_ctl.report_language import is_language_tag
|
|
13
|
+
from okstra_ctl.phases.implementation_planning.entry import is_existing_planning_report
|
|
13
14
|
from okstra_ctl.pr_template import PrTemplateError, resolve_pr_template_path
|
|
14
15
|
from okstra_project.dirs import project_json_path
|
|
15
16
|
from okstra_project.state import StateError, list_project_tasks
|
|
@@ -358,6 +359,16 @@ def _submit_clarification(state: WizardState, value: str) -> Optional[str]:
|
|
|
358
359
|
state.clarification_response_path = ""
|
|
359
360
|
return "clarification: (none)"
|
|
360
361
|
p = _require_file(val, Path(state.project_root), "clarification-response")
|
|
362
|
+
# prepare 가 거절할 경로를 여기서 받으면 재실행이 조용히 새 계획 흐름
|
|
363
|
+
# (selected_direction_pick)으로 바뀌었다(dev-11126: implementation 리포트를 넣음).
|
|
364
|
+
if state.task_type == "implementation-planning" and not is_existing_planning_report(
|
|
365
|
+
str(p), Path(state.project_root), state.task_group, state.task_id,
|
|
366
|
+
):
|
|
367
|
+
raise WizardError(
|
|
368
|
+
"an implementation-planning rerun takes an implementation-planning report "
|
|
369
|
+
"of this task (runs/implementation-planning/reports/"
|
|
370
|
+
f"final-report-implementation-planning-<seq>.data.json); got {p}"
|
|
371
|
+
)
|
|
361
372
|
state.clarification_response_path = str(p)
|
|
362
373
|
return f"clarification: {p}"
|
|
363
374
|
|