prizmkit 1.1.119 → 1.1.121
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/bin/create-prizmkit.js +1 -5
- package/bundled/VERSION.json +3 -3
- package/bundled/dev-pipeline/README.md +41 -38
- package/bundled/dev-pipeline/assets/skill-subagent-integration.md +76 -0
- package/bundled/dev-pipeline/prizmkit_runtime/config.py +2 -8
- package/bundled/dev-pipeline/prizmkit_runtime/interoperability.py +1 -1
- package/bundled/dev-pipeline/prizmkit_runtime/platform_detection.py +3 -3
- package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +23 -25
- package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +8 -2
- package/bundled/dev-pipeline/prizmkit_runtime/runner_prompts.py +10 -1
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +88 -32
- package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +28 -6
- package/bundled/dev-pipeline/scripts/continuation.py +51 -6
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +60 -102
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +1 -19
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +1 -19
- package/bundled/dev-pipeline/scripts/{init-dev-team.py → init-change-artifact.py} +6 -16
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +364 -76
- package/bundled/dev-pipeline/scripts/update-bug-status.py +57 -14
- package/bundled/dev-pipeline/scripts/update-feature-status.py +54 -5
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +57 -14
- package/bundled/dev-pipeline/scripts/utils.py +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +2 -2
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +9 -11
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +2 -1
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +2 -2
- package/bundled/dev-pipeline/templates/sections/bugfix-phase-review.md +3 -3
- package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +1 -1
- package/bundled/dev-pipeline/templates/sections/critical-paths-agent.md +0 -1
- package/bundled/dev-pipeline/templates/sections/critical-paths-full.md +0 -2
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +8 -1
- package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +6 -7
- package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +6 -7
- package/bundled/dev-pipeline/templates/sections/phase-implement-lite.md +4 -2
- package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +3 -3
- package/bundled/dev-pipeline/templates/sections/phase-review-full.md +5 -3
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +20 -0
- package/bundled/dev-pipeline/templates/sections/refactor-phase-review.md +3 -3
- package/bundled/dev-pipeline/tests/test_auto_skip.py +5 -5
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +214 -144
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +25 -12
- package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +11 -14
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +235 -32
- package/bundled/dev-pipeline/tests/test_unified_cli.py +219 -16
- package/bundled/skills/_metadata.json +4 -4
- package/bundled/skills/app-planner/SKILL.md +2 -2
- package/bundled/skills/app-planner/references/architecture-decisions.md +1 -3
- package/bundled/skills/prizmkit-code-review/SKILL.md +50 -47
- package/bundled/skills/prizmkit-code-review/references/review-report-template.md +13 -8
- package/bundled/skills/prizmkit-code-review/references/reviewer-agent-prompt.md +47 -33
- package/bundled/skills/prizmkit-code-review/references/reviewer-workspace-protocol.md +90 -0
- package/bundled/skills/prizmkit-implement/SKILL.md +21 -1
- package/bundled/skills/prizmkit-implement/references/implementation-subagent-procedure.md +67 -0
- package/bundled/skills/prizmkit-test/SKILL.md +159 -155
- package/bundled/skills/prizmkit-test/assets/authoritative-records.schema.json +420 -0
- package/bundled/skills/prizmkit-test/assets/behavior-risk-matrix.schema.json +116 -0
- package/bundled/skills/prizmkit-test/assets/evidence-manifest.schema.json +112 -0
- package/bundled/skills/prizmkit-test/assets/evidence-package-template.json +97 -0
- package/bundled/skills/prizmkit-test/references/boundary-coverage-protocol.md +76 -192
- package/bundled/skills/prizmkit-test/references/contract-mock-protocol.md +65 -0
- package/bundled/skills/prizmkit-test/references/evidence-protocol.md +194 -0
- package/bundled/skills/prizmkit-test/references/evidence-request-protocol.md +78 -0
- package/bundled/skills/prizmkit-test/references/examples.md +65 -108
- package/bundled/skills/prizmkit-test/references/service-boundary-test-catalog.md +10 -7
- package/bundled/skills/prizmkit-test/references/test-generation-steps.md +90 -82
- package/bundled/skills/prizmkit-test/references/test-report-template.md +77 -98
- package/bundled/skills/prizmkit-test/references/trusted-evidence-execution.md +97 -0
- package/bundled/skills/prizmkit-test/scripts/build_test_evidence.py +723 -0
- package/bundled/skills/prizmkit-test/scripts/validate_test_evidence.py +1426 -0
- package/package.json +1 -1
- package/src/clean.js +12 -8
- package/src/config.js +24 -42
- package/src/index.js +1 -10
- package/src/manifest.js +3 -9
- package/src/metadata.js +0 -26
- package/src/prompts.js +0 -13
- package/src/scaffold.js +76 -201
- package/src/upgrade.js +16 -33
- package/bundled/adapters/claude/agent-adapter.js +0 -96
- package/bundled/adapters/claude/team-adapter.js +0 -183
- package/bundled/adapters/codebuddy/agent-adapter.js +0 -42
- package/bundled/adapters/codebuddy/team-adapter.js +0 -46
- package/bundled/adapters/codex/agent-adapter.js +0 -38
- package/bundled/adapters/codex/team-adapter.js +0 -37
- package/bundled/agents/prizm-dev-team-dev.md +0 -123
- package/bundled/agents/prizm-dev-team-reviewer.md +0 -113
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +0 -65
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +0 -436
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +0 -510
- package/bundled/skills/prizmkit-test/scripts/validate_boundary_report.py +0 -347
- package/bundled/team/prizm-dev-team.json +0 -27
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Review the completed implementation before the scoped feature test gate runs. Use `artifact_dir=.prizmkit/specs/{{FEATURE_SLUG}}/` so the code-review skill can read spec, plan, context snapshot, implementation log, and current diff artifacts. Do not require or read a prior `/prizmkit-test` report here; test generation and test-fix looping happen in the next phase.
|
|
4
4
|
|
|
5
|
-
Run `/prizmkit-code-review` with `artifact_dir=.prizmkit/specs/{{FEATURE_SLUG}}/`.
|
|
5
|
+
Run `/prizmkit-code-review` with `artifact_dir=.prizmkit/specs/{{FEATURE_SLUG}}/`. The skill loads its skill-owned Reviewer prompt and workspace protocol, chooses a platform-supported subagent strategy, and verifies that the Reviewer's snapshot is equivalent to the current workspace before review.
|
|
6
6
|
|
|
7
|
-
The skill runs an internal review-fix loop (Reviewer Agent → filter → orchestrator fix, max 3 rounds) and writes `review-report.md` to the artifact directory.
|
|
7
|
+
The skill runs an internal review-fix loop (Reviewer Agent → filter → orchestrator fix, max 3 rounds) and writes `review-report.md` to the artifact directory. Do not prescribe Agent launch parameters from this pipeline template; the review skill owns strategy selection and workspace-equivalence verification.
|
|
8
8
|
|
|
9
9
|
**Gate Check — Review Report**:
|
|
10
10
|
After `/prizmkit-code-review` returns, verify the review report:
|
|
@@ -15,7 +15,7 @@ If GATE:MISSING:
|
|
|
15
15
|
- Do not re-run `/prizmkit-code-review` in an unbounded report-repair loop.
|
|
16
16
|
- Perform one bounded status check; retry at most once: inspect the skill output, `review-report.md` path, and any Reviewer agent spawn messages.
|
|
17
17
|
- If the missing report is caused by team/config/lock errors from the Reviewer agent spawn or review skill error, retry `/prizmkit-code-review` at most once only if it appears transient.
|
|
18
|
-
- If the report is still missing after that single check/retry, write `failure-log.md` with the spawn/skill error and last observable state, then
|
|
18
|
+
- If the report is still missing after that single check/retry, write `failure-log.md` with the spawn/skill error and last observable state, then stop with a clear recovery failure. Do not synthesize a passing report through Main-Agent self-review.
|
|
19
19
|
|
|
20
20
|
Read `review-report.md` and check the Verdict:
|
|
21
21
|
- `PASS` → proceed to next phase
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Review the completed implementation before the scoped feature test gate runs. Use `artifact_dir=.prizmkit/specs/{{FEATURE_SLUG}}/` so the code-review skill can read spec, plan, context snapshot, implementation log, and current diff artifacts. Do not require or read a prior `/prizmkit-test` report here; test generation and test-fix looping happen in the next phase.
|
|
4
4
|
|
|
5
|
-
Run `/prizmkit-code-review` with `artifact_dir=.prizmkit/specs/{{FEATURE_SLUG}}/`.
|
|
5
|
+
Run `/prizmkit-code-review` with `artifact_dir=.prizmkit/specs/{{FEATURE_SLUG}}/`. The skill loads its skill-owned Reviewer prompt and workspace protocol, chooses a platform-supported subagent strategy, and verifies that the Reviewer's snapshot is equivalent to the current workspace before review.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
If the independent Reviewer cannot start or verify the snapshot because of a transient platform error, retry at most once. If the second attempt fails, do not keep spawning variants or enter report-polling loops; write `failure-log.md` with the observable error and let the skill report the unresolved verification blocker. Do not replace the independent Reviewer with Main-Agent self-review.
|
|
8
|
+
|
|
9
|
+
The skill runs an internal review-fix loop (Reviewer Agent → filter → orchestrator fix, max 3 rounds) and writes `review-report.md` to the artifact directory. Do not prescribe Agent launch parameters from this pipeline template; the review skill owns strategy selection and workspace-equivalence verification.
|
|
8
10
|
|
|
9
11
|
**Gate Check — Review Report**:
|
|
10
12
|
After `/prizmkit-code-review` returns, verify the review report:
|
|
@@ -15,7 +17,7 @@ If GATE:MISSING:
|
|
|
15
17
|
- Do not re-run `/prizmkit-code-review` in an unbounded report-repair loop.
|
|
16
18
|
- Perform one bounded status check; retry at most once: inspect the skill output, `review-report.md` path, and any Reviewer agent spawn messages.
|
|
17
19
|
- If the missing report is caused by team/config/lock errors from the Reviewer agent spawn or review skill error, retry `/prizmkit-code-review` at most once only if it appears transient.
|
|
18
|
-
- If the report is still missing after that single check/retry, write `failure-log.md` with the spawn/skill error and last observable state, then
|
|
20
|
+
- If the report is still missing after that single check/retry, write `failure-log.md` with the spawn/skill error and last observable state, then stop with a clear recovery failure. Do not synthesize a passing report through Main-Agent self-review.
|
|
19
21
|
|
|
20
22
|
Read `review-report.md` and check the Verdict:
|
|
21
23
|
- `PASS` → proceed to next phase
|
|
@@ -9,6 +9,15 @@ Check existing artifacts first:
|
|
|
9
9
|
- `context-snapshot.md` exists → use it directly, skip context snapshot building
|
|
10
10
|
- Some missing → generate only missing files
|
|
11
11
|
|
|
12
|
+
Before planning, check whether feature code already exists in the project (use the helper to search source directories identified from `root.prizm` or the project tree scan):
|
|
13
|
+
```bash
|
|
14
|
+
{{RUNTIME_HELPER_CMD}} text search . --pattern "{{FEATURE_SLUG}}" --json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Record result as `EXISTING_CODE` (helper `match` entries for source files, or empty; ignore `.prizmkit/` artifact matches).
|
|
18
|
+
|
|
19
|
+
If `EXISTING_CODE` is non-empty: your spec/plan/tasks must reflect this existing implementation — document what exists, identify gaps, and do NOT re-implement what is already done.
|
|
20
|
+
|
|
12
21
|
**Step A — Build Context Snapshot** (skip if `context-snapshot.md` already exists):
|
|
13
22
|
|
|
14
23
|
1. Read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
@@ -60,4 +69,15 @@ Before proceeding past CP-1, verify:
|
|
|
60
69
|
|
|
61
70
|
**CP-1**: Both spec.md and plan.md exist.
|
|
62
71
|
|
|
72
|
+
### Plan Self-Check — Orchestrator Direct
|
|
73
|
+
|
|
74
|
+
Do not spawn a top-level Reviewer subagent for planning analysis. Perform a bounded self-check before implementation:
|
|
75
|
+
|
|
76
|
+
1. Re-read only `context-snapshot.md`, `spec.md`, and `plan.md`.
|
|
77
|
+
2. Cross-check spec.md and plan.md Tasks against the feature description and Verification Gates in the Task Contract.
|
|
78
|
+
3. Verify the plan references the File Manifest and avoids unrelated work.
|
|
79
|
+
4. If you find CRITICAL issues, fix ONLY those issues in spec.md/plan.md before continuing.
|
|
80
|
+
|
|
81
|
+
**CP-1.5**: Plan self-check complete; no CRITICAL plan issues remain.
|
|
82
|
+
|
|
63
83
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
### Phase 3: Review — Code Review & Behavior Verification
|
|
2
2
|
|
|
3
|
-
Run `/prizmkit-code-review` directly with `artifact_dir=.prizmkit/refactor/{{REFACTOR_ID}}/`.
|
|
3
|
+
Run `/prizmkit-code-review` directly with `artifact_dir=.prizmkit/refactor/{{REFACTOR_ID}}/`. The skill loads its skill-owned `references/reviewer-agent-prompt.md` and `references/reviewer-workspace-protocol.md`, chooses a platform-supported subagent strategy, and verifies that the Reviewer's snapshot is equivalent to the current workspace before review.
|
|
4
4
|
|
|
5
|
-
Do not spawn a top-level Reviewer subagent. The code-review skill owns its internal Reviewer Agent → filter → orchestrator fix loop.
|
|
5
|
+
Do not spawn a top-level Reviewer subagent. The code-review skill owns its internal Reviewer Agent → filter → orchestrator fix loop. Do not prescribe Agent launch parameters from this pipeline template; the review skill owns strategy selection and workspace-equivalence verification.
|
|
6
6
|
|
|
7
7
|
**Gate Check — Review Report**:
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ Do not spawn a top-level Reviewer subagent. The code-review skill owns its inter
|
|
|
12
12
|
|
|
13
13
|
- `PASS` → proceed.
|
|
14
14
|
- `NEEDS_FIXES` → the skill exhausted its internal rounds; log remaining findings and proceed only when they do not block behavior preservation.
|
|
15
|
-
- Missing report → one bounded retry
|
|
15
|
+
- Missing report → one bounded retry, then write `failure-log.md` and stop if the independent review protocol remains blocked; do not replace it with Main-Agent self-review.
|
|
16
16
|
|
|
17
17
|
Verify the review explicitly checks behavior preservation, public API compatibility, imports, tests, and rollback assumptions.
|
|
18
18
|
|
|
@@ -1195,7 +1195,7 @@ def _run_update(fl_path, state_dir, feature_id, session_status, session_id="sess
|
|
|
1195
1195
|
|
|
1196
1196
|
|
|
1197
1197
|
class TestInfraErrorUpdate:
|
|
1198
|
-
def
|
|
1198
|
+
def test_infra_error_below_budget_keeps_in_progress_without_consuming_retry(self, tmp_path):
|
|
1199
1199
|
features = [_make_feature("F-001", "Root", status="in_progress")]
|
|
1200
1200
|
fl_path = _write_fl(tmp_path, features)
|
|
1201
1201
|
state_dir = _init_state(tmp_path, ["F-001"])
|
|
@@ -1214,12 +1214,12 @@ class TestInfraErrorUpdate:
|
|
|
1214
1214
|
max_infra_retries=3,
|
|
1215
1215
|
)
|
|
1216
1216
|
|
|
1217
|
-
assert result["new_status"] == "
|
|
1217
|
+
assert result["new_status"] == "in_progress"
|
|
1218
1218
|
assert result["retry_count"] == 2
|
|
1219
1219
|
assert result["infra_error_count"] == 1
|
|
1220
1220
|
assert result["max_infra_retries"] == 3
|
|
1221
|
-
assert result["restart_policy"] == "
|
|
1222
|
-
assert _read_statuses(fl_path)["F-001"] == "
|
|
1221
|
+
assert result["restart_policy"] == "in_process_ai_error_continuation"
|
|
1222
|
+
assert _read_statuses(fl_path)["F-001"] == "in_progress"
|
|
1223
1223
|
|
|
1224
1224
|
fs = load_feature_status(state_dir, "F-001")
|
|
1225
1225
|
assert fs["retry_count"] == 2
|
|
@@ -1250,7 +1250,7 @@ class TestInfraErrorUpdate:
|
|
|
1250
1250
|
assert result["new_status"] == "failed"
|
|
1251
1251
|
assert result["retry_count"] == 1
|
|
1252
1252
|
assert result["infra_error_count"] == 3
|
|
1253
|
-
assert result["restart_policy"] == "
|
|
1253
|
+
assert result["restart_policy"] == "needs_attention"
|
|
1254
1254
|
assert _read_statuses(fl_path)["F-001"] == "failed"
|
|
1255
1255
|
|
|
1256
1256
|
fs = load_feature_status(state_dir, "F-001")
|