@davidorex/pi-workflows 0.14.6 → 0.26.0
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 +12 -9
- package/agents/handoff-writer.agent.yaml +1 -1
- package/dist/agent-spec.d.ts.map +1 -1
- package/dist/agent-spec.js +4 -3
- package/dist/agent-spec.js.map +1 -1
- package/dist/bundled-dirs.d.ts +2 -0
- package/dist/bundled-dirs.d.ts.map +1 -0
- package/dist/bundled-dirs.js +21 -0
- package/dist/bundled-dirs.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +118 -8
- package/dist/index.js.map +1 -1
- package/dist/render-by-id.d.ts +62 -0
- package/dist/render-by-id.d.ts.map +1 -0
- package/dist/render-by-id.js +102 -0
- package/dist/render-by-id.js.map +1 -0
- package/dist/step-agent.js +1 -1
- package/dist/step-block.d.ts +5 -1
- package/dist/step-block.d.ts.map +1 -1
- package/dist/step-block.js +88 -40
- package/dist/step-block.js.map +1 -1
- package/dist/step-monitor.d.ts +1 -1
- package/dist/step-monitor.d.ts.map +1 -1
- package/dist/step-monitor.js +1 -1
- package/dist/step-monitor.js.map +1 -1
- package/dist/step-shared.d.ts +1 -1
- package/dist/step-shared.d.ts.map +1 -1
- package/dist/step-shared.js +16 -10
- package/dist/step-shared.js.map +1 -1
- package/dist/template-validation.d.ts.map +1 -1
- package/dist/template-validation.js +5 -5
- package/dist/template-validation.js.map +1 -1
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +2 -1
- package/dist/template.js.map +1 -1
- package/dist/test-helpers.d.ts +91 -0
- package/dist/test-helpers.d.ts.map +1 -1
- package/dist/test-helpers.js +186 -1
- package/dist/test-helpers.js.map +1 -1
- package/dist/tui.d.ts +3 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +1 -1
- package/dist/types.d.ts +36 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/workflow-discovery.d.ts.map +1 -1
- package/dist/workflow-discovery.js +2 -1
- package/dist/workflow-discovery.js.map +1 -1
- package/dist/workflow-executor.d.ts.map +1 -1
- package/dist/workflow-executor.js +23 -9
- package/dist/workflow-executor.js.map +1 -1
- package/dist/workflow-sdk.d.ts.map +1 -1
- package/dist/workflow-sdk.js +14 -8
- package/dist/workflow-sdk.js.map +1 -1
- package/dist/workflow-spec.js +99 -2
- package/dist/workflow-spec.js.map +1 -1
- package/package.json +9 -5
- package/skill-narrative.md +3 -1
- package/skills/pi-workflows/SKILL.md +43 -6
- package/skills/pi-workflows/references/bundled-resources.md +16 -1
- package/templates/items/architecture.md +33 -0
- package/templates/items/conformance.md +26 -0
- package/templates/items/conventions.md +19 -0
- package/templates/items/decisions.md +47 -0
- package/templates/items/domain.md +21 -0
- package/templates/items/features.md +63 -0
- package/templates/items/framework-gaps.md +43 -0
- package/templates/items/issues.md +21 -0
- package/templates/items/layer-plans.md +50 -0
- package/templates/items/project.md +48 -0
- package/templates/items/requirements.md +20 -0
- package/templates/items/research.md +57 -0
- package/templates/items/spec-reviews.md +51 -0
- package/templates/items/tasks.md +29 -0
- package/templates/shared/macros.md +83 -98
- package/templates/shared/render-helpers.md +106 -0
- package/workflows/analyze-existing-project.workflow.yaml +1 -1
- package/workflows/init-new-project.workflow.yaml +1 -1
- package/workflows/plan-from-requirements.workflow.yaml +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-spec.js","sourceRoot":"","sources":["../src/workflow-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-spec.js","sourceRoot":"","sources":["../src/workflow-spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@davidorex/pi-workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "Workflow orchestration extension for Pi",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "David Ryan",
|
|
@@ -64,12 +64,16 @@
|
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"nunjucks": "^3.2.4",
|
|
66
66
|
"yaml": "^2.7.1",
|
|
67
|
-
"@davidorex/pi-
|
|
68
|
-
"@
|
|
69
|
-
"@
|
|
70
|
-
"@
|
|
67
|
+
"@davidorex/pi-jit-agents": "^0.26.0",
|
|
68
|
+
"@davidorex/pi-context": "^0.26.0",
|
|
69
|
+
"@earendil-works/pi-ai": "^0.75.4",
|
|
70
|
+
"@earendil-works/pi-coding-agent": "^0.75.4",
|
|
71
|
+
"@earendil-works/pi-tui": "^0.75.4"
|
|
71
72
|
},
|
|
72
73
|
"devDependencies": {
|
|
73
74
|
"@types/nunjucks": "^3.2.6"
|
|
75
|
+
},
|
|
76
|
+
"engines": {
|
|
77
|
+
"node": ">=22.19.0"
|
|
74
78
|
}
|
|
75
79
|
}
|
package/skill-narrative.md
CHANGED
|
@@ -28,7 +28,9 @@ Workflows are discovered from three locations (first match wins):
|
|
|
28
28
|
| loop | `loop: { maxAttempts, steps }` | Repeat sub-steps until gate breaks or max reached |
|
|
29
29
|
| parallel | `parallel: { a: ..., b: ... }` | Run named sub-steps concurrently |
|
|
30
30
|
| pause | `pause: true` or `pause: "message"` | Pause execution, resumable later |
|
|
31
|
-
|
|
|
31
|
+
| block | `block: { op: read\|write\|append\|update\|remove\|… }` | Validated in-process `.project` block I/O via the block API — no LLM, no subprocess |
|
|
32
|
+
|
|
33
|
+
`forEach: "${{ expr }}"` (iterate the step per array element) and `as:` are step MODIFIERS, not step types — they combine with any type above.
|
|
32
34
|
</step_types>
|
|
33
35
|
|
|
34
36
|
<expression_syntax>
|
|
@@ -8,10 +8,10 @@ description: >
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
<tools_reference>
|
|
11
|
-
<tool name="workflow">
|
|
12
|
-
|
|
11
|
+
<tool name="workflow-execute">
|
|
12
|
+
Execute a named workflow with typed input. Discovers workflows from .workflows/ and ~/.pi/agent/workflows/. Auto-resumes the most recent compatible incomplete run unless fresh='true'. Use workflow-resume for explicit-only resume by runId.
|
|
13
13
|
|
|
14
|
-
*
|
|
14
|
+
*Execute a multi-step workflow with typed data flow (auto-resumes compatible incomplete runs)*
|
|
15
15
|
|
|
16
16
|
| Parameter | Type | Required | Description |
|
|
17
17
|
|-----------|------|----------|-------------|
|
|
@@ -20,6 +20,18 @@ Run a named workflow with typed input. Discovers workflows from .workflows/ and
|
|
|
20
20
|
| `fresh` | string | no | Set to 'true' to start a fresh run, ignoring any incomplete prior runs |
|
|
21
21
|
</tool>
|
|
22
22
|
|
|
23
|
+
<tool name="workflow-resume">
|
|
24
|
+
Explicitly resume an incomplete workflow run by name + runId. Rejects when no incomplete run exists for the workflow OR when runId does not match the most recent incomplete run. Use workflow-execute for default auto-resume; this surface is for explicit-only scenarios where the caller wants to fail loudly if the run is gone or has been superseded.
|
|
25
|
+
|
|
26
|
+
*Explicitly resume an incomplete workflow run by name + runId (rejects on no-match)*
|
|
27
|
+
|
|
28
|
+
| Parameter | Type | Required | Description |
|
|
29
|
+
|-----------|------|----------|-------------|
|
|
30
|
+
| `workflow` | string | yes | Workflow name |
|
|
31
|
+
| `runId` | string | yes | Incomplete run ID — required, no auto-detect |
|
|
32
|
+
| `input` | unknown | no | Optional input override; defaults to the original run's input |
|
|
33
|
+
</tool>
|
|
34
|
+
|
|
23
35
|
<tool name="workflow-list">
|
|
24
36
|
List available workflows with names, descriptions, and sources.
|
|
25
37
|
|
|
@@ -61,6 +73,29 @@ Initialize .workflows/ directory for workflow run state.
|
|
|
61
73
|
|
|
62
74
|
</tool>
|
|
63
75
|
|
|
76
|
+
<tool name="render-item-by-id">
|
|
77
|
+
Render a project block item by ID through its registered per-item macro. Resolves the item via the cross-block resolver, looks up the macro via the renderer registry, and renders with the supplied depth and depth-aware cross-reference recursion. Returns `[not-found: <id>]` on resolver miss and `[unrendered: <kind>/<id>]` on registry miss — same fallback markers `render_recursive` emits inside agent prompts.
|
|
78
|
+
|
|
79
|
+
*Render a project block item as prompt text via its per-item macro (with depth-controlled cross-ref recursion)*
|
|
80
|
+
|
|
81
|
+
| Parameter | Type | Required | Description |
|
|
82
|
+
|-----------|------|----------|-------------|
|
|
83
|
+
| `id` | string | yes | Kind-prefixed ID, e.g., DEC-0001 / FEAT-001 |
|
|
84
|
+
| `depth` | number | no | 0 = bare-ID refs (default), 1 = inline direct cross-references, 2+ = recurse further |
|
|
85
|
+
</tool>
|
|
86
|
+
|
|
87
|
+
<tool name="enforce-budget">
|
|
88
|
+
Check rendered text against an `x-prompt-budget` annotation on a schema field. Returns `{ output, warning }` — `output` is the original text passed through when under budget, or tail-truncated text with `[…truncated to budget]` marker when over; `warning` is null when no truncation occurred or a structured BudgetWarning record otherwise. Annotation absence is pass-through (no error). Mirrors the behaviour of the `enforceBudget` Nunjucks global registered by compileAgent.
|
|
89
|
+
|
|
90
|
+
*Validate rendered text against a schema field's prompt budget — returns truncated output and warning*
|
|
91
|
+
|
|
92
|
+
| Parameter | Type | Required | Description |
|
|
93
|
+
|-----------|------|----------|-------------|
|
|
94
|
+
| `rendered` | string | yes | Rendered text to check against the field's prompt budget |
|
|
95
|
+
| `blockName` | string | yes | Block schema name (without .schema.json suffix), e.g. 'decisions' or 'features' |
|
|
96
|
+
| `fieldPath` | string | yes | JSON-pointer-style path to the field, e.g. '/properties/decisions/items/properties/context' |
|
|
97
|
+
</tool>
|
|
98
|
+
|
|
64
99
|
</tools_reference>
|
|
65
100
|
|
|
66
101
|
<commands_reference>
|
|
@@ -78,7 +113,7 @@ Subcommands: `init`, `list`, `run`, `resume`, `validate`, `status`, `help`
|
|
|
78
113
|
</keyboard_shortcuts>
|
|
79
114
|
|
|
80
115
|
<bundled_resources>
|
|
81
|
-
26 agents, 15 schemas, 15 workflows,
|
|
116
|
+
26 agents, 15 schemas, 15 workflows, 48 templates bundled.
|
|
82
117
|
See references/bundled-resources.md for full inventory.
|
|
83
118
|
</bundled_resources>
|
|
84
119
|
|
|
@@ -127,7 +162,7 @@ See references/bundled-resources.md for full inventory.
|
|
|
127
162
|
</agent_input>
|
|
128
163
|
|
|
129
164
|
<agent_input name="handoff-writer">
|
|
130
|
-
- `project_state` [required] — Current project state (from
|
|
165
|
+
- `project_state` [required] — Current project state (from contextState() or /context status — includes phases, blocks, gaps, decisions, recent commits)
|
|
131
166
|
- `path` string [required] — Root path of the project
|
|
132
167
|
</agent_input>
|
|
133
168
|
|
|
@@ -239,7 +274,9 @@ Workflows are discovered from three locations (first match wins):
|
|
|
239
274
|
| loop | `loop: { maxAttempts, steps }` | Repeat sub-steps until gate breaks or max reached |
|
|
240
275
|
| parallel | `parallel: { a: ..., b: ... }` | Run named sub-steps concurrently |
|
|
241
276
|
| pause | `pause: true` or `pause: "message"` | Pause execution, resumable later |
|
|
242
|
-
|
|
|
277
|
+
| block | `block: { op: read\|write\|append\|update\|remove\|… }` | Validated in-process `.project` block I/O via the block API — no LLM, no subprocess |
|
|
278
|
+
|
|
279
|
+
`forEach: "${{ expr }}"` (iterate the step per array element) and `as:` are step MODIFIERS, not step types — they combine with any type above.
|
|
243
280
|
</step_types>
|
|
244
281
|
|
|
245
282
|
<expression_syntax>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
- `workflows/self-implement.workflow.yaml`
|
|
66
66
|
- `workflows/typed-analysis.workflow.yaml`
|
|
67
67
|
|
|
68
|
-
## templates/ (
|
|
68
|
+
## templates/ (48 files)
|
|
69
69
|
|
|
70
70
|
- `templates/analyzers/base-analyzer.md`
|
|
71
71
|
- `templates/analyzers/patterns-task.md`
|
|
@@ -86,6 +86,20 @@
|
|
|
86
86
|
- `templates/gap-resolution-assessor/task.md`
|
|
87
87
|
- `templates/handoff-writer/task.md`
|
|
88
88
|
- `templates/investigator/task.md`
|
|
89
|
+
- `templates/items/architecture.md`
|
|
90
|
+
- `templates/items/conformance.md`
|
|
91
|
+
- `templates/items/conventions.md`
|
|
92
|
+
- `templates/items/decisions.md`
|
|
93
|
+
- `templates/items/domain.md`
|
|
94
|
+
- `templates/items/features.md`
|
|
95
|
+
- `templates/items/framework-gaps.md`
|
|
96
|
+
- `templates/items/issues.md`
|
|
97
|
+
- `templates/items/layer-plans.md`
|
|
98
|
+
- `templates/items/project.md`
|
|
99
|
+
- `templates/items/requirements.md`
|
|
100
|
+
- `templates/items/research.md`
|
|
101
|
+
- `templates/items/spec-reviews.md`
|
|
102
|
+
- `templates/items/tasks.md`
|
|
89
103
|
- `templates/phase-author/task.md`
|
|
90
104
|
- `templates/plan-creator/task.md`
|
|
91
105
|
- `templates/plan-decomposer/task.md`
|
|
@@ -94,6 +108,7 @@
|
|
|
94
108
|
- `templates/requirements-gatherer/task.md`
|
|
95
109
|
- `templates/researcher/task.md`
|
|
96
110
|
- `templates/shared/macros.md`
|
|
111
|
+
- `templates/shared/render-helpers.md`
|
|
97
112
|
- `templates/spec-implementer/task.md`
|
|
98
113
|
- `templates/synthesizer/system.md`
|
|
99
114
|
- `templates/synthesizer/task.md`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `architecture` block (Plan 8 / per-item-macros wave 4).
|
|
3
|
+
|
|
4
|
+
Singleton kind: architecture holds one record per repository describing
|
|
5
|
+
modules, patterns, boundaries, and (optionally) compilation_pipeline /
|
|
6
|
+
execution_model / dispatch_design. The "per-item" rendering operates on
|
|
7
|
+
the whole block payload as a single record; the whole-block delegator in
|
|
8
|
+
shared/macros.md passes its data argument straight through.
|
|
9
|
+
|
|
10
|
+
No cross-block references — depth parameter accepted for shape-uniformity
|
|
11
|
+
with the renderer-registry call convention; no helpers from
|
|
12
|
+
shared/render-helpers.md are needed.
|
|
13
|
+
-#}
|
|
14
|
+
|
|
15
|
+
{% macro render_architecture_item(a, depth=0) %}
|
|
16
|
+
{% if a %}
|
|
17
|
+
## Architecture
|
|
18
|
+
{% if a.overview %}{{ a.overview }}
|
|
19
|
+
{% endif %}
|
|
20
|
+
{% if a.modules %}
|
|
21
|
+
### Modules
|
|
22
|
+
{% for m in a.modules %}- **{{ m.name }}** (`{{ m.file }}`{% if m.lines %}, {{ m.lines }} lines{% endif %}): {{ enforceBudget(m.responsibility, "architecture", "modules.items.responsibility") }}{% if m.dependencies %} — deps: {{ m.dependencies | join(", ") }}{% endif %}
|
|
23
|
+
{% endfor %}{% endif %}
|
|
24
|
+
{% if a.patterns %}
|
|
25
|
+
### Patterns
|
|
26
|
+
{% for p in a.patterns %}- **{{ p.name }}**: {{ enforceBudget(p.description, "architecture", "patterns.items.description") }}{% if p.used_in %} — used in: {{ p.used_in | join(", ") }}{% endif %}
|
|
27
|
+
{% endfor %}{% endif %}
|
|
28
|
+
{% if a.boundaries %}
|
|
29
|
+
### Boundaries
|
|
30
|
+
{% for b in a.boundaries %}- {{ b }}
|
|
31
|
+
{% endfor %}{% endif %}
|
|
32
|
+
{% endif %}
|
|
33
|
+
{% endmacro %}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `conformance-reference` block (Plan 8 / per-item-macros wave 4).
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/conformance-reference.schema.json. The
|
|
5
|
+
block holds a name, scope, and principles[]. Each principle has nested
|
|
6
|
+
rules[]. The "per-item" granularity here is one principle (with its
|
|
7
|
+
rules) — the natural unit for prompt injection per the substrate spec.
|
|
8
|
+
|
|
9
|
+
No cross-block references — references are to source material (sources[]
|
|
10
|
+
at the block level), not to other block items. Depth parameter accepted
|
|
11
|
+
for renderer-registry shape-uniformity.
|
|
12
|
+
|
|
13
|
+
Companion whole-block macro:
|
|
14
|
+
render_conformance(data) in shared/macros.md emits the block-level
|
|
15
|
+
name + scope header, then iterates principles through this macro.
|
|
16
|
+
-#}
|
|
17
|
+
|
|
18
|
+
{% macro render_conformance_principle(p, depth=0) %}
|
|
19
|
+
{% if p %}
|
|
20
|
+
### {{ p.id }}: {{ p.name }}
|
|
21
|
+
{% if p.description %}{{ enforceBudget(p.description, "conformance-reference", "principles.items.description") }}{% endif %}
|
|
22
|
+
{% for r in p.rules %}- **{{ r.id }}**: {{ enforceBudget(r.rule, "conformance-reference", "principles.items.rules.items.rule") }}{% if r.severity %} [{{ r.severity }}]{% endif %}{% if r.check_method %} — check: {{ r.check_method }}{% endif %}
|
|
23
|
+
{% if r.anti_patterns %} Anti-patterns: {{ r.anti_patterns | join("; ") }}
|
|
24
|
+
{% endif %}{% endfor %}
|
|
25
|
+
{% endif %}
|
|
26
|
+
{% endmacro %}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `conventions` block (Plan 8 / per-item-macros wave 4).
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/conventions.schema.json. Each item is one
|
|
5
|
+
rule object inside data.rules[] (id, description, enforcement, severity).
|
|
6
|
+
|
|
7
|
+
No cross-block references — conventions are leaf rules. Depth parameter
|
|
8
|
+
accepted for shape-uniformity; reserved for future schema additions.
|
|
9
|
+
|
|
10
|
+
Companion whole-block macro:
|
|
11
|
+
render_conventions(data) in shared/macros.md emits the test_conventions
|
|
12
|
+
and lint_command/lint_scope header fields once, then iterates rules
|
|
13
|
+
through this macro.
|
|
14
|
+
-#}
|
|
15
|
+
|
|
16
|
+
{% macro render_convention(rule, depth=0) %}
|
|
17
|
+
{% if rule %}- **{{ rule.id }}** [{{ rule.severity }}, {{ rule.enforcement }}]: {{ enforceBudget(rule.description, "conventions", "rules.items.description") }}
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% endmacro %}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `decisions` block.
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/decisions.schema.json (Plan 6 / per-item-macros wave 3).
|
|
5
|
+
|
|
6
|
+
Macro signature:
|
|
7
|
+
render_decision(dec, depth=0)
|
|
8
|
+
dec — single decision object matching .decisions[*] in the schema
|
|
9
|
+
depth — integer recursion budget for cross-block reference inlining
|
|
10
|
+
|
|
11
|
+
Cross-block reference recursion (supersedes, superseded_by, related_findings,
|
|
12
|
+
related_features, related_gaps) is delegated to shared/render-helpers.md —
|
|
13
|
+
see that file for the depth contract, ambient globals, and empty-array
|
|
14
|
+
convention shared across all per-item macros.
|
|
15
|
+
|
|
16
|
+
References array (`references[]`):
|
|
17
|
+
Labelled pointers (label + optional path/lines/commit). NOT recursable —
|
|
18
|
+
references point to code paths, research docs, commit SHAs, external specs,
|
|
19
|
+
none of which are project blocks. Rendered inline as one bullet per ref.
|
|
20
|
+
-#}
|
|
21
|
+
{% from "shared/render-helpers.md" import render_id_list_block, render_id_single_block, render_optional_scalar %}
|
|
22
|
+
|
|
23
|
+
{% macro render_decision(dec, depth=0) %}
|
|
24
|
+
ID: {{ dec.id }}
|
|
25
|
+
Title: {{ dec.title }}
|
|
26
|
+
Status: {{ dec.status }}
|
|
27
|
+
Created by: {{ dec.created_by }}
|
|
28
|
+
Created at: {{ dec.created_at }}
|
|
29
|
+
{{ render_optional_scalar("Enacted by", dec.enacted_by) }}{{ render_optional_scalar("Enacted at", dec.enacted_at) }}
|
|
30
|
+
Context:
|
|
31
|
+
{{ enforceBudget(dec.context, "decisions", "decisions.items.context") }}
|
|
32
|
+
|
|
33
|
+
Decision:
|
|
34
|
+
{{ enforceBudget(dec.decision, "decisions", "decisions.items.decision") }}
|
|
35
|
+
|
|
36
|
+
Consequences:
|
|
37
|
+
{% if dec.consequences and dec.consequences | length > 0 %}{% for c in dec.consequences %} - {{ enforceBudget(c, "decisions", "decisions.items.consequences.items") }}
|
|
38
|
+
{% endfor %}{% else %} (none)
|
|
39
|
+
{% endif %}{% if dec.options_considered is defined %}Options considered:
|
|
40
|
+
{% if dec.options_considered | length > 0 %}{% for opt in dec.options_considered %} - {{ opt.label }}: {{ opt.description }}
|
|
41
|
+
{% if opt.tradeoffs %} Tradeoffs: {{ opt.tradeoffs }}
|
|
42
|
+
{% endif %}{% if opt.rejected_reason %} Rejected reason: {{ opt.rejected_reason }}
|
|
43
|
+
{% endif %}{% endfor %}{% else %} (none)
|
|
44
|
+
{% endif %}{% endif %}{{ render_id_list_block("Supersedes", dec.supersedes, depth) }}{{ render_id_single_block("Superseded by", dec.superseded_by, depth) }}{{ render_id_list_block("Related findings", dec.related_findings, depth) }}{{ render_id_list_block("Related features", dec.related_features, depth) }}{{ render_id_list_block("Related gaps", dec.related_gaps, depth) }}{% if dec.references is defined %}References:
|
|
45
|
+
{% if dec.references | length > 0 %}{% for ref in dec.references %} - {{ ref.label }}{% if ref.path %} — path: {{ ref.path }}{% if ref.lines %}:{{ ref.lines }}{% endif %}{% endif %}{% if ref.commit %} — commit: {{ ref.commit }}{% endif %}
|
|
46
|
+
{% endfor %}{% else %} (none)
|
|
47
|
+
{% endif %}{% endif %}{% endmacro %}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `domain` block (Plan 8 / per-item-macros wave 4).
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/domain.schema.json. Each item is one
|
|
5
|
+
knowledge entry inside data.entries[]. Required: id, title, content,
|
|
6
|
+
category. Optional: source, confidence, related_requirements (array of
|
|
7
|
+
REQ- IDs), tags.
|
|
8
|
+
|
|
9
|
+
Cross-block reference recursion (related_requirements) is delegated to
|
|
10
|
+
shared/render-helpers.md — see that file for the depth contract, ambient
|
|
11
|
+
globals, and empty-array convention.
|
|
12
|
+
-#}
|
|
13
|
+
{% from "shared/render-helpers.md" import render_id_list_inline %}
|
|
14
|
+
|
|
15
|
+
{% macro render_domain_entry(e, depth=0) %}
|
|
16
|
+
{% if e %}- **{{ e.id }}** [{{ e.category }}]: {{ e.title }}
|
|
17
|
+
{{ enforceBudget(e.content, "domain", "entries.items.content") }}{% if e.tags %} — tags: {{ e.tags | join(", ") }}{% endif %}
|
|
18
|
+
{% if e.source %} Source: {{ e.source }}
|
|
19
|
+
{% endif %}{% if e.confidence %} Confidence: {{ e.confidence }}
|
|
20
|
+
{% endif %}{{ render_id_list_inline("Related requirements", e.related_requirements, depth) }}{% endif %}
|
|
21
|
+
{% endmacro %}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `features` block.
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/features.schema.json (Plan 7 / per-item-macros wave 4).
|
|
5
|
+
|
|
6
|
+
Cross-block reference recursion (dependencies, gates, blocks_resolved,
|
|
7
|
+
decisions) is delegated to shared/render-helpers.md — see that file for
|
|
8
|
+
the depth contract, ambient globals, and empty-array convention.
|
|
9
|
+
|
|
10
|
+
Nested embedded structures:
|
|
11
|
+
Each feature carries nested `stories[]` (with embedded `tasks[]`) and
|
|
12
|
+
`findings[]` (scoped-finding shape). These are NOT separate block kinds
|
|
13
|
+
— they are sub-shapes on the feature schema and have no per-item macro
|
|
14
|
+
of their own. They are rendered inline as sub-lists under the feature
|
|
15
|
+
body. Story-level `depends_on`/`gates` are rendered as bare-ID lists
|
|
16
|
+
(story IDs are scoped to the feature, not in the global index) and stay
|
|
17
|
+
inline because they use a deeper indent (4 spaces) than the helper
|
|
18
|
+
convention assumes.
|
|
19
|
+
-#}
|
|
20
|
+
{% from "shared/render-helpers.md" import render_id_list_block, render_optional_scalar %}
|
|
21
|
+
|
|
22
|
+
{% macro render_feature(feat, depth=0) %}
|
|
23
|
+
ID: {{ feat.id }}
|
|
24
|
+
Title: {{ feat.title }}
|
|
25
|
+
Status: {{ feat.status }}
|
|
26
|
+
Layer: {{ feat.layer }}
|
|
27
|
+
Created by: {{ feat.created_by }}
|
|
28
|
+
Created at: {{ feat.created_at }}
|
|
29
|
+
{{ render_optional_scalar("Modified by", feat.modified_by) }}{{ render_optional_scalar("Modified at", feat.modified_at) }}{{ render_optional_scalar("Approved by", feat.approved_by) }}{{ render_optional_scalar("Approved at", feat.approved_at) }}
|
|
30
|
+
Description:
|
|
31
|
+
{{ enforceBudget(feat.description, "features", "features.items.description") }}
|
|
32
|
+
|
|
33
|
+
{% if feat.motivation %}Motivation:
|
|
34
|
+
{{ enforceBudget(feat.motivation, "features", "features.items.motivation") }}
|
|
35
|
+
|
|
36
|
+
{% endif %}Acceptance criteria:
|
|
37
|
+
{% if feat.acceptance_criteria and feat.acceptance_criteria | length > 0 %}{% for ac in feat.acceptance_criteria %} - {{ ac }}
|
|
38
|
+
{% endfor %}{% else %} (none)
|
|
39
|
+
{% endif %}{{ render_id_list_block("Dependencies", feat.dependencies, depth) }}{{ render_id_list_block("Gates", feat.gates, depth) }}{{ render_id_list_block("Blocks resolved", feat.blocks_resolved, depth) }}{{ render_id_list_block("Decisions", feat.decisions, depth) }}Stories:
|
|
40
|
+
{% if feat.stories and feat.stories | length > 0 %}{% for s in feat.stories %} - {{ s.id }} [{{ s.status }}] {{ s.title }}
|
|
41
|
+
{% if s.description %} Description: {{ enforceBudget(s.description, "features", "features.items.stories.items.description") }}
|
|
42
|
+
{% endif %}{% if s.acceptance_criteria is defined %} Acceptance criteria: {% if s.acceptance_criteria | length > 0 %}{% for ac in s.acceptance_criteria %}{{ ac }}{% if not loop.last %}; {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
43
|
+
{% endif %}{% if s.depends_on is defined %} Depends on: {% if s.depends_on | length > 0 %}{% for dep in s.depends_on %}{{ dep }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
44
|
+
{% endif %}{% if s.gates is defined %} Gates: {% if s.gates | length > 0 %}{% for g in s.gates %}{{ g }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
45
|
+
{% endif %} Tasks:
|
|
46
|
+
{% if s.tasks and s.tasks | length > 0 %}{% for t in s.tasks %} - {{ t.id }} [{{ t.status }}] {{ t.title }}
|
|
47
|
+
{% if t.description %} Description: {{ t.description }}
|
|
48
|
+
{% endif %}{% if t.files is defined %} Files: {% if t.files | length > 0 %}{% for f in t.files %}{{ f }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
49
|
+
{% endif %}{% if t.acceptance %} Acceptance: {{ t.acceptance }}
|
|
50
|
+
{% endif %}{% if t.depends_on is defined %} Depends on: {% if t.depends_on | length > 0 %}{% for dep in t.depends_on %}{{ dep }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
51
|
+
{% endif %}{% if t.assigned_to %} Assigned to: {{ t.assigned_to }}
|
|
52
|
+
{% endif %}{% endfor %}{% else %} (none)
|
|
53
|
+
{% endif %}{% endfor %}{% else %} (none)
|
|
54
|
+
{% endif %}Findings:
|
|
55
|
+
{% if feat.findings and feat.findings | length > 0 %}{% for f in feat.findings %} - {{ f.id }} [{{ f.severity }}/{{ f.state }}] reporter={{ f.reporter }} at={{ f.created_at }}
|
|
56
|
+
Description: {{ enforceBudget(f.description, "features", "features.items.findings.items.description") }}
|
|
57
|
+
{% if f.evidence %} Evidence: {{ f.evidence }}
|
|
58
|
+
{% endif %}{% if f.category %} Category: {{ f.category }}
|
|
59
|
+
{% endif %}{% if f.resolution %} Resolution: {{ f.resolution }}
|
|
60
|
+
{% endif %}{% if f.resolved_by %} Resolved by: {{ f.resolved_by }}
|
|
61
|
+
{% endif %}{% if f.resolved_at %} Resolved at: {{ f.resolved_at }}
|
|
62
|
+
{% endif %}{% endfor %}{% else %} (none)
|
|
63
|
+
{% endif %}{% endmacro %}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `framework-gaps` block.
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/framework-gaps.schema.json (Plan 7 / per-item-macros wave 4).
|
|
5
|
+
|
|
6
|
+
Cross-block reference recursion (related_features, related_decisions,
|
|
7
|
+
related_issues) is delegated to shared/render-helpers.md — see that file
|
|
8
|
+
for the depth contract, ambient globals, and empty-array convention.
|
|
9
|
+
|
|
10
|
+
Naming note:
|
|
11
|
+
The canonical macro name is `render_framework_gap`. The legacy
|
|
12
|
+
`render_gap` macro lives in templates/shared/macros.md and retires
|
|
13
|
+
under Plan 8 (parallel). Plan 7 deliberately does NOT author
|
|
14
|
+
`render_gap` here.
|
|
15
|
+
|
|
16
|
+
Evidence array:
|
|
17
|
+
Each gap carries an embedded `evidence[]` of {file, lines, reference}
|
|
18
|
+
triples. These are file pointers, NOT block IDs — rendered inline as
|
|
19
|
+
sub-list, never recursed.
|
|
20
|
+
-#}
|
|
21
|
+
{% from "shared/render-helpers.md" import render_id_list_block, render_optional_scalar %}
|
|
22
|
+
|
|
23
|
+
{% macro render_framework_gap(gap, depth=0) %}
|
|
24
|
+
ID: {{ gap.id }}
|
|
25
|
+
Title: {{ gap.title }}
|
|
26
|
+
Status: {{ gap.status }}
|
|
27
|
+
Package: {{ gap.package }}
|
|
28
|
+
Created by: {{ gap.created_by }}
|
|
29
|
+
Created at: {{ gap.created_at }}
|
|
30
|
+
{{ render_optional_scalar("Priority", gap.priority) }}{{ render_optional_scalar("Layer", gap.layer) }}{{ render_optional_scalar("Canonical vocabulary", gap.canonical_vocabulary) }}{{ render_optional_scalar("Closed by", gap.closed_by) }}{{ render_optional_scalar("Closed at", gap.closed_at) }}
|
|
31
|
+
Description:
|
|
32
|
+
{{ enforceBudget(gap.description, "framework-gaps", "gaps.items.description") }}
|
|
33
|
+
|
|
34
|
+
Impact:
|
|
35
|
+
{{ enforceBudget(gap.impact, "framework-gaps", "gaps.items.impact") }}
|
|
36
|
+
|
|
37
|
+
Proposed resolution:
|
|
38
|
+
{{ enforceBudget(gap.proposed_resolution, "framework-gaps", "gaps.items.proposed_resolution") }}
|
|
39
|
+
|
|
40
|
+
Evidence:
|
|
41
|
+
{% if gap.evidence and gap.evidence | length > 0 %}{% for e in gap.evidence %} - {{ e.file }}{% if e.lines %}:{{ e.lines }}{% endif %} — {{ enforceBudget(e.reference, "framework-gaps", "gaps.items.evidence.items.reference") }}
|
|
42
|
+
{% endfor %}{% else %} (none)
|
|
43
|
+
{% endif %}{{ render_id_list_block("Related features", gap.related_features, depth) }}{{ render_id_list_block("Related decisions", gap.related_decisions, depth) }}{{ render_id_list_block("Related issues", gap.related_issues, depth) }}{% endmacro %}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `issues` block (Plan 8 / per-item-macros wave 4).
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/issues.schema.json. Each item is one issue
|
|
5
|
+
inside data.issues[]. Required: id (^issue-\d{3}$), title, body, location,
|
|
6
|
+
status, category, priority, package. Optional: source, resolved_by.
|
|
7
|
+
|
|
8
|
+
No cross-block references in current schema — resolved_by is a free-form
|
|
9
|
+
commit reference, not a project-block ID. Depth parameter accepted for
|
|
10
|
+
renderer-registry shape-uniformity; reserved for future schema additions
|
|
11
|
+
(e.g., resolved_by_pr or related_decisions[]).
|
|
12
|
+
-#}
|
|
13
|
+
|
|
14
|
+
{% macro render_issue(i, depth=0) %}
|
|
15
|
+
{% if i %}- **{{ i.id }}** [{{ i.priority }}, {{ i.status }}]: {{ i.title }}
|
|
16
|
+
{{ enforceBudget(i.body, "issues", "issues.items.body") }}{% if i.location %} — {{ i.location }}{% endif %}{% if i.package %} ({{ i.package }}){% endif %}
|
|
17
|
+
{% if i.category %} Category: {{ i.category }}
|
|
18
|
+
{% endif %}{% if i.source %} Source: {{ i.source }}
|
|
19
|
+
{% endif %}{% if i.resolved_by %} Resolved by: {{ i.resolved_by }}
|
|
20
|
+
{% endif %}{% endif %}
|
|
21
|
+
{% endmacro %}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Per-item macro for the `layer-plans` block.
|
|
3
|
+
|
|
4
|
+
Block schema: .project/schemas/layer-plans.schema.json (Plan 7 / per-item-macros wave 4).
|
|
5
|
+
|
|
6
|
+
Cross-block reference recursion (related_gaps, related_features,
|
|
7
|
+
related_decisions) is delegated to shared/render-helpers.md — see that
|
|
8
|
+
file for the depth contract, ambient globals, and empty-array convention.
|
|
9
|
+
|
|
10
|
+
Nested embedded structures:
|
|
11
|
+
Each plan carries `layers[]` (each with current_blocks/target_blocks
|
|
12
|
+
sub-arrays) and `migration_phases[]`. These are NOT separate block kinds
|
|
13
|
+
— they are sub-shapes on the plan schema and rendered inline. Phase
|
|
14
|
+
`depends_on` references are scoped to phase IDs within the same plan and
|
|
15
|
+
rendered as bare-ID lists (no recursion).
|
|
16
|
+
-#}
|
|
17
|
+
{% from "shared/render-helpers.md" import render_id_list_block %}
|
|
18
|
+
|
|
19
|
+
{% macro render_layer_plan(plan, depth=0) %}
|
|
20
|
+
ID: {{ plan.id }}
|
|
21
|
+
Title: {{ plan.title }}
|
|
22
|
+
Status: {{ plan.status }}
|
|
23
|
+
Model: {{ plan.model }}
|
|
24
|
+
Created by: {{ plan.created_by }}
|
|
25
|
+
Created at: {{ plan.created_at }}
|
|
26
|
+
{% if plan.description %}
|
|
27
|
+
Description:
|
|
28
|
+
{{ enforceBudget(plan.description, "layer-plans", "plans.items.description") }}
|
|
29
|
+
|
|
30
|
+
{% endif %}Layers:
|
|
31
|
+
{% if plan.layers and plan.layers | length > 0 %}{% for l in plan.layers %} - {{ l.id }}: {{ l.name }}
|
|
32
|
+
Purpose: {{ enforceBudget(l.purpose, "layer-plans", "plans.items.layers.items.purpose") }}
|
|
33
|
+
{% if l.canonical_vocabulary %} Canonical vocabulary: {{ l.canonical_vocabulary }}
|
|
34
|
+
{% endif %}{% if l.lifetime %} Lifetime: {{ l.lifetime }}
|
|
35
|
+
{% endif %}{% if l.ownership_principle %} Ownership principle: {{ enforceBudget(l.ownership_principle, "layer-plans", "plans.items.layers.items.ownership_principle") }}
|
|
36
|
+
{% endif %} Current blocks: {% if l.current_blocks | length > 0 %}{% for cb in l.current_blocks %}{{ cb }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
37
|
+
Target blocks:
|
|
38
|
+
{% if l.target_blocks and l.target_blocks | length > 0 %}{% for tb in l.target_blocks %} - {{ tb.name }} (shape: {{ tb.shape }}){% if tb.notes %} — {{ tb.notes }}{% endif %}
|
|
39
|
+
{% endfor %}{% else %} (none)
|
|
40
|
+
{% endif %}{% endfor %}{% else %} (none)
|
|
41
|
+
{% endif %}Migration phases:
|
|
42
|
+
{% if plan.migration_phases and plan.migration_phases | length > 0 %}{% for p in plan.migration_phases %} - {{ p.id }}: {{ p.name }}{% if p.status %} [{{ p.status }}]{% endif %}
|
|
43
|
+
Description: {{ enforceBudget(p.description, "layer-plans", "plans.items.migration_phases.items.description") }}
|
|
44
|
+
Depends on: {% if p.depends_on | length > 0 %}{% for dep in p.depends_on %}{{ dep }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
45
|
+
Exit criteria:
|
|
46
|
+
{% if p.exit_criteria | length > 0 %}{% for ec in p.exit_criteria %} - {{ enforceBudget(ec, "layer-plans", "plans.items.migration_phases.items.exit_criteria.items") }}
|
|
47
|
+
{% endfor %}{% else %} (none)
|
|
48
|
+
{% endif %}{% if p.produces is defined %} Produces: {% if p.produces | length > 0 %}{% for pr in p.produces %}{{ pr }}{% if not loop.last %}, {% endif %}{% endfor %}{% else %}(none){% endif %}
|
|
49
|
+
{% endif %}{% endfor %}{% else %} (none)
|
|
50
|
+
{% endif %}{{ render_id_list_block("Related gaps", plan.related_gaps, depth) }}{{ render_id_list_block("Related features", plan.related_features, depth) }}{{ render_id_list_block("Related decisions", plan.related_decisions, depth) }}{% endmacro %}
|