okstra 0.60.2 → 0.60.3
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
|
@@ -522,7 +522,12 @@ def render_to_file(
|
|
|
522
522
|
except json.JSONDecodeError as exc:
|
|
523
523
|
raise FinalReportRenderError(f"invalid JSON in {data_path}: {exc}") from exc
|
|
524
524
|
|
|
525
|
-
|
|
525
|
+
# 템플릿은 data.json 위치가 아니라 이 모듈(설치본은 ~/.okstra/lib/python,
|
|
526
|
+
# repo 는 scripts/) 위치 기준으로 찾는다. data_path 를 start 로 넘기면
|
|
527
|
+
# 프로젝트의 .okstra 트리만 위로 뒤지다 templates/reports 를 못 찾아
|
|
528
|
+
# 설치본에서 항상 'could not locate template' 으로 실패한다(OKSTRA_HOME 을
|
|
529
|
+
# 수동 설정해야 했던 원인). 프로젝트별 override 는 --template 으로 한다.
|
|
530
|
+
resolved_template = template_path or find_default_template()
|
|
526
531
|
rendered = render(
|
|
527
532
|
data,
|
|
528
533
|
template_path=resolved_template,
|
|
@@ -32,6 +32,23 @@ implementation-option: {{ frontmatter.implementationOption | yaml_scalar }}
|
|
|
32
32
|
{% for row in followUpTasks if row.origin == 'phase-continuation' %}{% if loop.first %}- Next Step: run `/okstra-run`, select task `{{ header.taskKey }}`, choose task-type `{{ row.suggestedTaskType }}`
|
|
33
33
|
{% endif %}{% endfor %}- Okstra Version: `{{ header.okstraVersion }}`
|
|
34
34
|
|
|
35
|
+
{% if clarificationCarryIn and clarificationCarryIn.sourceFile %}
|
|
36
|
+
## 0. Clarification Response Carried In From Previous Run
|
|
37
|
+
|
|
38
|
+
- Source file: `{{ clarificationCarryIn.sourceFile }}`
|
|
39
|
+
- {{ t("sectionIntro.clarificationCarryIn") }}
|
|
40
|
+
|
|
41
|
+
{% endif %}
|
|
42
|
+
## Summary of the Problem or Verification Target
|
|
43
|
+
|
|
44
|
+
{{ t("sectionIntro.ticketCoverage") }}
|
|
45
|
+
|
|
46
|
+
| {{ t("columns.recordMeta") }} | {{ t("columns.summary") }} |
|
|
47
|
+
|--------|------------|
|
|
48
|
+
{% for row in summary -%}
|
|
49
|
+
| **{{ row.id }}**<br>Ticket: `{{ row.ticketId }}`<br>{{ t("columns.source") }}: {{ row.source }} | {{ row.summary }} |
|
|
50
|
+
{% endfor %}
|
|
51
|
+
|
|
35
52
|
## Verdict Card
|
|
36
53
|
|
|
37
54
|
{{ t("sectionIntro.verdictCard") }}
|
|
@@ -599,23 +616,6 @@ Acceptance: {{ stage.acceptance }}
|
|
|
599
616
|
| {{ t("verdictCard.rationaleLabel") }} | {{ finalVerdict.rationaleRowIds | join(', ') }} |
|
|
600
617
|
| {{ t("verdictCard.nextStepLabel") }} | {{ finalVerdict.nextStep }} |
|
|
601
618
|
|
|
602
|
-
{% if clarificationCarryIn and clarificationCarryIn.sourceFile %}
|
|
603
|
-
## 0. Clarification Response Carried In From Previous Run
|
|
604
|
-
|
|
605
|
-
- Source file: `{{ clarificationCarryIn.sourceFile }}`
|
|
606
|
-
- {{ t("sectionIntro.clarificationCarryIn") }}
|
|
607
|
-
|
|
608
|
-
{% endif %}
|
|
609
|
-
## Summary of the Problem or Verification Target
|
|
610
|
-
|
|
611
|
-
{{ t("sectionIntro.ticketCoverage") }}
|
|
612
|
-
|
|
613
|
-
| {{ t("columns.recordMeta") }} | {{ t("columns.summary") }} |
|
|
614
|
-
|--------|------------|
|
|
615
|
-
{% for row in summary -%}
|
|
616
|
-
| **{{ row.id }}**<br>Ticket: `{{ row.ticketId }}`<br>{{ t("columns.source") }}: {{ row.source }} | {{ row.summary }} |
|
|
617
|
-
{% endfor %}
|
|
618
|
-
|
|
619
619
|
{% if ticketCoverage.omit %}
|
|
620
620
|
{# Ticket Coverage omitted entirely — release-handoff / final-verification #}
|
|
621
621
|
{%- else %}
|