wize-dev-kit 0.14.0 → 0.16.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/ARCH.md +24 -77
- package/CHANGELOG.md +24 -0
- package/DECISIONS.md +1 -27
- package/README.md +7 -2
- package/ROSTER.md +3 -11
- package/adapters/README.md +7 -7
- package/adapters/antigravity/README.md +5 -5
- package/adapters/claude-code/README.md +1 -1
- package/adapters/codex/README.md +5 -5
- package/adapters/codex/adapter.yaml +1 -1
- package/adapters/codex/render.js +1 -1
- package/adapters/continue/README.md +5 -5
- package/adapters/cursor/README.md +2 -2
- package/adapters/generic/README.md +1 -1
- package/adapters/kimi-code/README.md +5 -5
- package/adapters/kimi-code/render.js +2 -2
- package/adapters/opencode/README.md +3 -3
- package/adapters/opencode/render.js +1 -27
- package/adapters/windsurf/README.md +3 -3
- package/package.json +1 -1
- package/schemas/agent.schema.json +2 -2
- package/schemas/workflow.schema.json +1 -1
- package/src/app-overlay/wize-app-release-channels/workflow.md +0 -2
- package/src/app-overlay/wize-app-scaffold/workflow.md +0 -2
- package/src/app-overlay/wize-app-store-listing/workflow.md +0 -2
- package/src/builder-skills/wize-create-agent/workflow.md +0 -2
- package/src/builder-skills/wize-create-skill/workflow.md +0 -2
- package/src/builder-skills/wize-create-workflow/workflow.md +0 -2
- package/src/core-skills/module.yaml +3 -0
- package/src/core-skills/wize-advanced-elicitation/skill.md +0 -2
- package/src/core-skills/wize-brainstorming/skill.md +0 -2
- package/src/core-skills/wize-eli5/skill.md +72 -0
- package/src/core-skills/wize-review-adversarial/skill.md +0 -3
- package/src/core-skills/wize-shard-doc/skill.md +0 -2
- package/src/method-skills/1-analysis/wize-agent-analyst/agent.yaml +0 -3
- package/src/method-skills/1-analysis/wize-document-project/workflow.md +20 -213
- package/src/method-skills/1-analysis/wize-prfaq/workflow.md +11 -152
- package/src/method-skills/1-analysis/wize-product-brief/workflow.md +19 -92
- package/src/method-skills/1-analysis/wize-research/workflow.md +12 -39
- package/src/method-skills/1-analysis/wize-trigger-map/workflow.md +16 -82
- package/src/method-skills/2-plan-workflows/wize-create-prd/workflow.md +23 -135
- package/src/method-skills/2-plan-workflows/wize-ux-design/workflow.md +28 -134
- package/src/method-skills/2-plan-workflows/wize-ux-scenarios/workflow.md +15 -93
- package/src/method-skills/2-plan-workflows/wize-validate-prd/workflow.md +12 -108
- package/src/method-skills/3-solutioning/wize-check-implementation-readiness/workflow.md +11 -103
- package/src/method-skills/3-solutioning/wize-create-architecture/workflow.md +48 -55
- package/src/method-skills/3-solutioning/wize-create-epics-and-stories/workflow.md +15 -154
- package/src/method-skills/3-solutioning/wize-design-system/workflow.md +22 -184
- package/src/method-skills/3-solutioning/wize-nfr-principles/workflow.md +17 -145
- package/src/method-skills/3-solutioning/wize-tech-vision/workflow.md +22 -130
- package/src/method-skills/4-implementation/wize-agent-dev/persona.md +0 -12
- package/src/method-skills/4-implementation/wize-code-review/workflow.md +12 -54
- package/src/method-skills/4-implementation/wize-create-story/workflow.md +10 -154
- package/src/method-skills/4-implementation/wize-dev-story/workflow.md +17 -185
- package/src/method-skills/4-implementation/wize-quick-dev/workflow.md +18 -136
- package/src/method-skills/4-implementation/wize-retrospective/workflow.md +10 -114
- package/src/method-skills/4-implementation/wize-sprint-planning/workflow.md +11 -78
- package/src/method-skills/4-implementation/wize-sprint-status/workflow.md +11 -45
- package/src/method-skills/module.yaml +0 -28
- package/src/orchestrator-skills/module.yaml +1 -7
- package/src/orchestrator-skills/wize-help/skill.md +67 -227
- package/src/orchestrator-skills/wize-onboarding/workflow.md +14 -78
- package/src/orchestrator-skills/wize-orchestrator/agent.yaml +0 -2
- package/src/orchestrator-skills/wize-orchestrator/persona.md +3 -44
- package/src/orchestrator-skills/wize-party-mode/workflow.md +0 -2
- package/src/tea-skills/wize-tea-design/workflow.md +13 -107
- package/src/tea-skills/wize-tea-gate/workflow.md +25 -118
- package/src/tea-skills/wize-tea-nfr/workflow.md +14 -107
- package/src/tea-skills/wize-tea-review/workflow.md +13 -123
- package/src/tea-skills/wize-tea-risk/workflow.md +10 -113
- package/src/tea-skills/wize-tea-trace/workflow.md +12 -86
- package/src/web-overlay/wize-web-deploy/workflow.md +0 -2
- package/src/web-overlay/wize-web-scaffold/workflow.md +0 -2
- package/src/web-overlay/wize-web-seo-audit/workflow.md +0 -2
- package/tools/check-eli5-all-adapters.js +50 -0
- package/tools/installer/onboarding.js +20 -14
- package/tools/installer/render-shared.js +14 -158
- package/tools/installer/validators/run-all.js +2 -3
- package/tools/installer/wize-cli.js +70 -499
- package/AGENTS.md +0 -37
- package/README.es.md +0 -294
- package/README.pt-BR.md +0 -292
- package/docs/harnesses/antigravity.md +0 -20
- package/docs/harnesses/antigravity.pt-BR.md +0 -20
- package/docs/harnesses/claude-code.md +0 -23
- package/docs/harnesses/claude-code.pt-BR.md +0 -23
- package/docs/harnesses/codex.md +0 -21
- package/docs/harnesses/codex.pt-BR.md +0 -21
- package/docs/harnesses/continue.md +0 -21
- package/docs/harnesses/continue.pt-BR.md +0 -21
- package/docs/harnesses/cursor.md +0 -22
- package/docs/harnesses/cursor.pt-BR.md +0 -22
- package/docs/harnesses/generic.md +0 -20
- package/docs/harnesses/generic.pt-BR.md +0 -20
- package/docs/harnesses/kimi-code.md +0 -19
- package/docs/harnesses/kimi-code.pt-BR.md +0 -19
- package/docs/harnesses/opencode.md +0 -31
- package/docs/harnesses/opencode.pt-BR.md +0 -31
- package/docs/harnesses/windsurf.md +0 -22
- package/docs/harnesses/windsurf.pt-BR.md +0 -22
- package/src/core-skills/wize-customize/skill.md +0 -116
- package/src/core-skills/wize-editorial-review-prose/skill.md +0 -94
- package/src/core-skills/wize-editorial-review-structure/skill.md +0 -99
- package/src/core-skills/wize-grill/skill.md +0 -77
- package/src/core-skills/wize-index-docs/skill.md +0 -119
- package/src/core-skills/wize-pre-pr-check/skill.md +0 -134
- package/src/core-skills/wize-review-edge-case-hunter/skill.md +0 -115
- package/src/core-skills/wize-spec/assets/headless-schemas.md +0 -39
- package/src/core-skills/wize-spec/assets/spec-template.md +0 -40
- package/src/core-skills/wize-spec/customize.toml +0 -20
- package/src/core-skills/wize-spec/skill.md +0 -112
- package/src/method-skills/1-analysis/wize-document-project/documentation-requirements.csv +0 -12
- package/src/method-skills/1-analysis/wize-document-project/templates/api-contracts-template.md +0 -38
- package/src/method-skills/1-analysis/wize-document-project/templates/architecture-template.md +0 -54
- package/src/method-skills/1-analysis/wize-document-project/templates/component-inventory-template.md +0 -40
- package/src/method-skills/1-analysis/wize-document-project/templates/contribution-guide-template.md +0 -34
- package/src/method-skills/1-analysis/wize-document-project/templates/data-models-template.md +0 -36
- package/src/method-skills/1-analysis/wize-document-project/templates/deep-dive-template.md +0 -312
- package/src/method-skills/1-analysis/wize-document-project/templates/deployment-guide-template.md +0 -42
- package/src/method-skills/1-analysis/wize-document-project/templates/development-guide-template.md +0 -61
- package/src/method-skills/1-analysis/wize-document-project/templates/index-template.md +0 -185
- package/src/method-skills/1-analysis/wize-document-project/templates/project-overview-template.md +0 -110
- package/src/method-skills/1-analysis/wize-document-project/templates/project-scan-report-schema.json +0 -159
- package/src/method-skills/1-analysis/wize-document-project/templates/source-tree-template.md +0 -142
- package/src/method-skills/1-analysis/wize-domain-research/customize.toml +0 -14
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-01-init.md +0 -49
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-02-domain-analysis.md +0 -39
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-03-competitive-landscape.md +0 -39
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-04-regulatory-focus.md +0 -39
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-05-technical-trends.md +0 -39
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-06-research-synthesis.md +0 -43
- package/src/method-skills/1-analysis/wize-domain-research/research.template.md +0 -31
- package/src/method-skills/1-analysis/wize-domain-research/workflow.md +0 -58
- package/src/method-skills/1-analysis/wize-market-research/customize.toml +0 -14
- package/src/method-skills/1-analysis/wize-market-research/research.template.md +0 -31
- package/src/method-skills/1-analysis/wize-market-research/steps/step-01-init.md +0 -57
- package/src/method-skills/1-analysis/wize-market-research/steps/step-02-customer-behavior.md +0 -39
- package/src/method-skills/1-analysis/wize-market-research/steps/step-03-customer-pain-points.md +0 -37
- package/src/method-skills/1-analysis/wize-market-research/steps/step-04-customer-decisions.md +0 -39
- package/src/method-skills/1-analysis/wize-market-research/steps/step-05-competitive-analysis.md +0 -37
- package/src/method-skills/1-analysis/wize-market-research/steps/step-06-research-completion.md +0 -47
- package/src/method-skills/1-analysis/wize-market-research/workflow.md +0 -66
- package/src/method-skills/1-analysis/wize-refresh-knowledge/workflow.md +0 -129
- package/src/method-skills/1-analysis/wize-technical-research/customize.toml +0 -14
- package/src/method-skills/1-analysis/wize-technical-research/research.template.md +0 -31
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-01-init.md +0 -49
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-02-technical-overview.md +0 -45
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-03-integration-patterns.md +0 -39
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-04-architectural-patterns.md +0 -39
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-05-implementation-research.md +0 -42
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-06-research-synthesis.md +0 -46
- package/src/method-skills/1-analysis/wize-technical-research/workflow.md +0 -60
- package/src/method-skills/2-plan-workflows/wize-edit-prd/workflow.md +0 -110
- package/src/method-skills/3-solutioning/wize-create-architecture/architecture-decision-template.md +0 -41
- package/src/method-skills/3-solutioning/wize-create-architecture/customize.toml +0 -20
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01-init.md +0 -95
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01b-continue.md +0 -32
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-02-context.md +0 -126
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-03-starter.md +0 -110
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-04-decisions.md +0 -129
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-05-patterns.md +0 -109
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-06-structure.md +0 -97
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-07-validation.md +0 -124
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-08-complete.md +0 -59
- package/src/method-skills/3-solutioning/wize-project-context/workflow.md +0 -120
- package/src/method-skills/4-implementation/wize-changelog/workflow.md +0 -184
- package/src/method-skills/4-implementation/wize-checkpoint-preview/workflow.md +0 -117
- package/src/method-skills/4-implementation/wize-code-review/customize.toml +0 -21
- package/src/method-skills/4-implementation/wize-code-review/steps/step-01-gather-context.md +0 -64
- package/src/method-skills/4-implementation/wize-code-review/steps/step-02-review.md +0 -40
- package/src/method-skills/4-implementation/wize-code-review/steps/step-03-triage.md +0 -43
- package/src/method-skills/4-implementation/wize-code-review/steps/step-04-present.md +0 -100
- package/src/method-skills/4-implementation/wize-correct-course/workflow.md +0 -93
- package/src/method-skills/4-implementation/wize-investigate/workflow.md +0 -123
- package/src/method-skills/4-implementation/wize-release/workflow.md +0 -162
- package/src/orchestrator-skills/wize/skill.md +0 -164
- package/src/orchestrator-skills/wize-check/skill.md +0 -98
- package/src/security-overlay/_shared/allowlist.js +0 -154
- package/src/security-overlay/_shared/backlog.js +0 -169
- package/src/security-overlay/_shared/cli-runner.js +0 -87
- package/src/security-overlay/_shared/cvss.js +0 -108
- package/src/security-overlay/_shared/detect.js +0 -125
- package/src/security-overlay/_shared/install-script.js +0 -205
- package/src/security-overlay/_shared/invoke-phase.js +0 -86
- package/src/security-overlay/_shared/owasp.js +0 -56
- package/src/security-overlay/_shared/partial.js +0 -225
- package/src/security-overlay/_shared/preflight.js +0 -175
- package/src/security-overlay/_shared/scope-gate.js +0 -172
- package/src/security-overlay/_shared/scope-parser.js +0 -147
- package/src/security-overlay/agents/red-teamer/agent.yaml +0 -54
- package/src/security-overlay/agents/red-teamer/persona.md +0 -49
- package/src/security-overlay/data/common.txt +0 -115
- package/src/security-overlay/data/owasp-top10.json +0 -15
- package/src/security-overlay/data/tool-allowlist.json +0 -31
- package/src/security-overlay/skills/wize-sec-enumerate/scripts/run-enumerate.js +0 -180
- package/src/security-overlay/skills/wize-sec-enumerate/skill.md +0 -34
- package/src/security-overlay/skills/wize-sec-exploit/data/common.txt +0 -117
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-ffuf.js +0 -147
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nikto.js +0 -145
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nuclei.js +0 -176
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-sqlmap.js +0 -139
- package/src/security-overlay/skills/wize-sec-pentest/scripts/run-pipeline.js +0 -184
- package/src/security-overlay/skills/wize-sec-pentest/skill.md +0 -54
- package/src/security-overlay/skills/wize-sec-recon/scripts/run-gitleaks.js +0 -139
- package/src/security-overlay/skills/wize-sec-recon/scripts/run-osv.js +0 -227
- package/src/security-overlay/skills/wize-sec-recon/scripts/run-recon.js +0 -162
- package/src/security-overlay/skills/wize-sec-recon/skill.md +0 -37
- package/src/security-overlay/skills/wize-sec-report/scripts/render-report.js +0 -1033
- package/src/security-overlay/skills/wize-sec-scope/scripts/generate-scope.js +0 -106
- package/src/security-overlay/skills/wize-sec-scope/skill.md +0 -52
- package/src/tea-skills/wize-qa-generate-e2e-tests/workflow.md +0 -121
- package/tools/installer/baseline.js +0 -128
- package/tools/installer/commands/agent.js +0 -197
- package/tools/installer/commands/doctor.js +0 -319
- package/tools/installer/commands/document-project.js +0 -93
- package/tools/installer/commands/sync.js +0 -45
- package/tools/installer/commands/update.js +0 -172
- package/tools/installer/document-project/batch-scanner.js +0 -93
- package/tools/installer/document-project/classify.js +0 -170
- package/tools/installer/document-project/modes/deep-dive.js +0 -196
- package/tools/installer/document-project/modes/full-rescan.js +0 -15
- package/tools/installer/document-project/modes/initial-scan.js +0 -100
- package/tools/installer/document-project/modes/quick.js +0 -211
- package/tools/installer/document-project/render-index.js +0 -101
- package/tools/installer/document-project/state.js +0 -110
- package/tools/installer/version-check.js +0 -117
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Wize Dev Kit — overrides for the built-in workflow "wize-code-review".
|
|
2
|
-
# DO NOT EDIT in the installed kit; copy to .wize/custom/workflows/wize-code-review/
|
|
3
|
-
# for project-level overrides.
|
|
4
|
-
|
|
5
|
-
[workflow]
|
|
6
|
-
|
|
7
|
-
# Steps to run before standard activation (config load, greet).
|
|
8
|
-
activation_steps_prepend = []
|
|
9
|
-
|
|
10
|
-
# Steps to run after greet but before the workflow begins.
|
|
11
|
-
activation_steps_append = []
|
|
12
|
-
|
|
13
|
-
# Persistent facts the workflow keeps in mind for the whole run.
|
|
14
|
-
persistent_facts = [
|
|
15
|
-
"file:{project-root}/.wize/knowledge/document-project/conventions.md",
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
# Scalar executed when the workflow reaches its final step,
|
|
19
|
-
# after review findings are presented and sprint status is synced.
|
|
20
|
-
# Override wins. Leave empty for no custom post-completion behavior.
|
|
21
|
-
on_complete = ""
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
diff_output: ''
|
|
3
|
-
spec_file: ''
|
|
4
|
-
review_mode: ''
|
|
5
|
-
story_key: ''
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Step 1: Gather Context
|
|
9
|
-
|
|
10
|
-
## Rules
|
|
11
|
-
|
|
12
|
-
- Speak in `{communication_language}`.
|
|
13
|
-
- The prompt that triggered this workflow IS the intent.
|
|
14
|
-
- Do not modify any files in this step. Read-only.
|
|
15
|
-
|
|
16
|
-
## Instructions
|
|
17
|
-
|
|
18
|
-
1. **Find the review target.** Check in this order and stop as soon as the target is identified:
|
|
19
|
-
|
|
20
|
-
**Tier 1 — Explicit argument.**
|
|
21
|
-
Did the user pass a PR, commit SHA, branch, spec file, or diff source?
|
|
22
|
-
- PR reference → resolve to branch/commit via `gh pr view`.
|
|
23
|
-
- Commit or branch → use directly.
|
|
24
|
-
- Spec file → set `{spec_file}` to the path. Check its frontmatter for `baseline_commit`.
|
|
25
|
-
- Diff-mode keywords: `staged`, `uncommitted`, `branch diff`, `commit range`, `this diff`.
|
|
26
|
-
|
|
27
|
-
**Tier 2 — Recent conversation.**
|
|
28
|
-
Look for refs in the last few messages.
|
|
29
|
-
|
|
30
|
-
**Tier 3 — Sprint tracking.**
|
|
31
|
-
Look for `*sprint-status*` files and find stories with status `review`.
|
|
32
|
-
|
|
33
|
-
**Tier 4 — Current git state.**
|
|
34
|
-
If not on the default branch, confirm whether to review the current branch.
|
|
35
|
-
|
|
36
|
-
**Tier 5 — Ask.**
|
|
37
|
-
Present options: uncommitted changes, staged changes, branch diff, commit range, provided diff.
|
|
38
|
-
|
|
39
|
-
2. **Construct `{diff_output}`.**
|
|
40
|
-
- Staged only: `git diff --cached`
|
|
41
|
-
- Uncommitted: `git diff HEAD`
|
|
42
|
-
- Branch diff: `git diff <base>..<branch>`
|
|
43
|
-
- Commit range: `git diff <from>..<to>`
|
|
44
|
-
- Provided diff: validate and use verbatim
|
|
45
|
-
- File list: `git diff HEAD -- <files...>`, with untracked files included via `git diff --no-index /dev/null <path>`
|
|
46
|
-
|
|
47
|
-
If `{diff_output}` is empty, halt and say so.
|
|
48
|
-
|
|
49
|
-
3. **Set the spec context.**
|
|
50
|
-
- If `{spec_file}` is set and readable, set `{review_mode}` = `"full"`.
|
|
51
|
-
- Otherwise ask: "Is there a spec or story file that provides context for these changes?"
|
|
52
|
-
- Yes → set `{spec_file}`, verify it, set `{review_mode}` = `"full"`.
|
|
53
|
-
- No → set `{review_mode}` = `"no-spec"`.
|
|
54
|
-
|
|
55
|
-
4. **Sanity check.**
|
|
56
|
-
If the diff exceeds ~3000 lines, warn and offer to chunk.
|
|
57
|
-
|
|
58
|
-
### Checkpoint
|
|
59
|
-
|
|
60
|
-
Present a summary: diff stats, `{review_mode}`, loaded spec/context docs. Halt and wait for confirmation to proceed.
|
|
61
|
-
|
|
62
|
-
## Next
|
|
63
|
-
|
|
64
|
-
Read fully and follow `./step-02-review.md`.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
failed_layers: ''
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Step 2: Review
|
|
6
|
-
|
|
7
|
-
## Rules
|
|
8
|
-
|
|
9
|
-
- Speak in `{communication_language}`.
|
|
10
|
-
- The Blind Hunter subagent receives **only** the diff — no project context.
|
|
11
|
-
- The Edge Case Hunter subagent receives the diff and project read access.
|
|
12
|
-
- The Acceptance Auditor subagent receives the diff, spec, and context docs.
|
|
13
|
-
- All review subagents run at the same model capability as the current session.
|
|
14
|
-
|
|
15
|
-
## Instructions
|
|
16
|
-
|
|
17
|
-
This step is an instance of Wizer's subagent fan-out pattern (see `wize-orchestrator` persona): name, scope, dispatch on whatever the current harness natively supports, tolerate partial failure.
|
|
18
|
-
|
|
19
|
-
1. If `{review_mode}` = `"no-spec"`, note: "Acceptance Auditor skipped — no spec file provided."
|
|
20
|
-
|
|
21
|
-
2. Launch parallel subagents without conversation context:
|
|
22
|
-
|
|
23
|
-
- **Blind Hunter** — receives `{diff_output}` only. Invoke via `wize-review-adversarial`.
|
|
24
|
-
Prompt: "Review this diff cynically. Assume problems exist. Find at least ten issues. Output as a Markdown list with one-line titles."
|
|
25
|
-
|
|
26
|
-
- **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via `wize-review-edge-case-hunter`.
|
|
27
|
-
Prompt: "Walk every branching path and boundary condition in this diff. Report only unhandled edge cases as a JSON array."
|
|
28
|
-
|
|
29
|
-
- **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — receives `{diff_output}`, `{spec_file}` content, and context docs.
|
|
30
|
-
Prompt: "Review this diff against the spec. Check for violations of acceptance criteria, deviations from spec intent, and missing behavior. Output findings as a Markdown list with AC/constraint reference and evidence."
|
|
31
|
-
|
|
32
|
-
3. If subagents are unavailable, generate prompt files in `{implementation_artifacts}` and halt, asking the user to run each in a separate session.
|
|
33
|
-
|
|
34
|
-
4. If any subagent fails, times out, or returns empty, append the layer name to `{failed_layers}` and proceed with findings from the remaining layers.
|
|
35
|
-
|
|
36
|
-
5. Collect all findings from completed layers.
|
|
37
|
-
|
|
38
|
-
## Next
|
|
39
|
-
|
|
40
|
-
Read fully and follow `./step-03-triage.md`.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Step 3: Triage
|
|
2
|
-
|
|
3
|
-
## Rules
|
|
4
|
-
|
|
5
|
-
- Speak in `{communication_language}`.
|
|
6
|
-
- Be precise. When uncertain between categories, prefer the more conservative classification.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
|
-
1. **Normalize** findings into a common format. Expected input formats:
|
|
11
|
-
- Blind Hunter: Markdown list of descriptions.
|
|
12
|
-
- Edge Case Hunter: JSON array with `location`, `trigger_condition`, `guard_snippet`, `potential_consequence`.
|
|
13
|
-
- Acceptance Auditor: Markdown list with title, AC/constraint reference, and evidence.
|
|
14
|
-
|
|
15
|
-
Convert all to a unified list with:
|
|
16
|
-
- `id` — sequential integer
|
|
17
|
-
- `source` — `blind`, `edge`, `auditor`, or merged (`blind+edge`, etc.)
|
|
18
|
-
- `title` — one-line summary
|
|
19
|
-
- `detail` — full description
|
|
20
|
-
- `location` — file and line reference if available
|
|
21
|
-
|
|
22
|
-
2. **Deduplicate.** Merge findings that describe the same issue:
|
|
23
|
-
- Use the most specific finding as the base (prefer Edge Case Hunter JSON with location).
|
|
24
|
-
- Append unique detail, reasoning, or locations from other findings.
|
|
25
|
-
- Set `source` to merged sources.
|
|
26
|
-
|
|
27
|
-
3. **Classify** each finding into exactly one bucket:
|
|
28
|
-
- **decision_needed** — ambiguous choice requiring human input. Only possible if `{review_mode}` = `"full"`.
|
|
29
|
-
- **patch** — code issue fixable without human input.
|
|
30
|
-
- **defer** — pre-existing issue not caused by this change.
|
|
31
|
-
- **dismiss** — noise, false positive, or handled elsewhere.
|
|
32
|
-
|
|
33
|
-
If `{review_mode}` = `"no-spec"` and a finding would be `decision_needed`, reclassify as `patch` or `defer`.
|
|
34
|
-
|
|
35
|
-
4. **Drop** all `dismiss` findings. Record the dismiss count.
|
|
36
|
-
|
|
37
|
-
5. If `{failed_layers}` is non-empty, report which layers failed. If zero findings remain and layers failed, warn the user that the review may be incomplete.
|
|
38
|
-
|
|
39
|
-
6. If zero findings remain after triage, state: "✅ Clean review — all layers passed."
|
|
40
|
-
|
|
41
|
-
## Next
|
|
42
|
-
|
|
43
|
-
Read fully and follow `./step-04-present.md`.
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
deferred_work_file: '{implementation_artifacts}/deferred-work.md'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Step 4: Present and Act
|
|
6
|
-
|
|
7
|
-
## Rules
|
|
8
|
-
|
|
9
|
-
- Speak in `{communication_language}`.
|
|
10
|
-
- When `{spec_file}` is set, always write findings to the story file before offering action choices.
|
|
11
|
-
- `decision_needed` findings must be resolved before handling `patch` findings.
|
|
12
|
-
|
|
13
|
-
## Instructions
|
|
14
|
-
|
|
15
|
-
### 1. Clean review shortcut
|
|
16
|
-
|
|
17
|
-
If zero findings remain after triage, state that and proceed to section 6 (Sprint Status Update).
|
|
18
|
-
|
|
19
|
-
### 2. Write findings to the story file
|
|
20
|
-
|
|
21
|
-
If `{spec_file}` exists and contains a Tasks/Subtasks section, append a `### Review Findings` subsection in this order:
|
|
22
|
-
|
|
23
|
-
1. `decision_needed` (unchecked):
|
|
24
|
-
```
|
|
25
|
-
- [ ] [Review][Decision] <Title> — <Detail>
|
|
26
|
-
```
|
|
27
|
-
2. `patch` (unchecked):
|
|
28
|
-
```
|
|
29
|
-
- [ ] [Review][Patch] <Title> [<file>:<line>]
|
|
30
|
-
```
|
|
31
|
-
3. `defer` (checked):
|
|
32
|
-
```
|
|
33
|
-
- [x] [Review][Defer] <Title> [<file>:<line>] — deferred, pre-existing
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Also append each `defer` finding to `{deferred_work_file}` under `## Deferred from: code review ({date})`.
|
|
37
|
-
|
|
38
|
-
### 3. Present summary
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
Code review complete.
|
|
42
|
-
- decision_needed: {D}
|
|
43
|
-
- patch: {P}
|
|
44
|
-
- defer: {W}
|
|
45
|
-
- dismissed: {R}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
If `{spec_file}` is set, add: "Findings written to `{spec_file}`."
|
|
49
|
-
|
|
50
|
-
### 4. Resolve decision_needed findings
|
|
51
|
-
|
|
52
|
-
Present each `decision_needed` finding and ask the user to decide. Once resolved, each becomes a `patch`, `defer`, or is dismissed.
|
|
53
|
-
|
|
54
|
-
If deferred, ask for a one-line reason and append it to both the story file bullet and the deferred-work file.
|
|
55
|
-
|
|
56
|
-
### 5. Handle patch findings
|
|
57
|
-
|
|
58
|
-
If `patch` findings exist, ask:
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
How would you like to handle the {P} patch findings?
|
|
62
|
-
1. Apply every patch — fix all now, no per-finding confirmation.
|
|
63
|
-
2. Leave as action items — they are already in the story file (only if spec_file set).
|
|
64
|
-
3. Walk through each patch — show details before deciding.
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Wait for the numbered choice. Do not proceed until selected.
|
|
68
|
-
|
|
69
|
-
- **Apply every patch**: apply all patch findings. Afterward, present a summary of changes and check off patch items in the story file if applicable.
|
|
70
|
-
- **Leave as action items**: done.
|
|
71
|
-
- **Walk through each patch**: present each finding with detail and suggested fix, then re-offer the menu.
|
|
72
|
-
|
|
73
|
-
### 6. Update story status and sync sprint tracking
|
|
74
|
-
|
|
75
|
-
Skip if `{spec_file}` is not set.
|
|
76
|
-
|
|
77
|
-
Determine `{new_status}`:
|
|
78
|
-
- If all `decision_needed` and `patch` findings are resolved and no unresolved issues remain → `done`
|
|
79
|
-
- If patch findings were left as action items or unresolved issues remain → `in-progress`
|
|
80
|
-
|
|
81
|
-
Update the story file status and save it.
|
|
82
|
-
|
|
83
|
-
If `{story_key}` is set and a sprint-status file exists, update the matching `development_status` entry.
|
|
84
|
-
|
|
85
|
-
### 7. Next steps
|
|
86
|
-
|
|
87
|
-
Present options:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
What would you like to do next?
|
|
91
|
-
1. Start the next story — run wize-dev-story to pick up the next ready-for-dev story.
|
|
92
|
-
2. Re-run code review — address findings and review again.
|
|
93
|
-
3. Done — end the workflow.
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Wait for the numbered choice.
|
|
97
|
-
|
|
98
|
-
## On complete
|
|
99
|
-
|
|
100
|
-
Run `{workflow.on_complete}` if non-empty.
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
code: wize-correct-course
|
|
4
|
-
description: "Use quando o projeto desviar do plano e precisar de correção de curso com decisão documentada."
|
|
5
|
-
name: Correct Course
|
|
6
|
-
phase: 4-implementation
|
|
7
|
-
owner: wize-agent-pm # Maria Hill, with wize-orchestrator
|
|
8
|
-
status: ready
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Correct Course
|
|
12
|
-
|
|
13
|
-
**Goal.** React when a sprint drifts. Detect the deviation, classify the cause, propose one of three corrective moves (cut scope, re-route, escalate), and update `sprint-status.yaml` after the user confirms.
|
|
14
|
-
|
|
15
|
-
Maria Hill chairs. Wizer is on call for cross-cutting decisions. The human always confirms the action.
|
|
16
|
-
|
|
17
|
-
## When to run
|
|
18
|
-
|
|
19
|
-
- `wize-sprint-status` flagged a risk: "slipping" or "at risk".
|
|
20
|
-
- The team says "we won't make it" during a stand-up.
|
|
21
|
-
- A story's TEA gate came back as `FAIL` mid-sprint.
|
|
22
|
-
- An external event (incident, vendor outage) consumed capacity.
|
|
23
|
-
- **Automatic trigger:** any skill that completes step 7.5 (loop verification) and hits the max-cycles guard escalates to Wizer, who runs this skill.
|
|
24
|
-
- **Staleness monitor:** if `wize-sprint-status` has not been updated in 2+ days, Wizer auto-runs this skill on session start (detected in step 1).
|
|
25
|
-
|
|
26
|
-
## Inputs
|
|
27
|
-
|
|
28
|
-
- `.wize/implementation/sprint-status.yaml`
|
|
29
|
-
- `.wize/implementation/tea/{epic}/{story}/gate.md` (when a gate failed)
|
|
30
|
-
- `.wize/knowledge/document-project/risk-spots.md` (for context on known risks)
|
|
31
|
-
- A free-form reason from the user: chat message, stand-up note, or incident link.
|
|
32
|
-
|
|
33
|
-
## Output
|
|
34
|
-
|
|
35
|
-
- Updated `.wize/implementation/sprint-status.yaml` (statuses changed, items deferred).
|
|
36
|
-
- One-line entry in `.wize/implementation/course-corrections.md` with date, cause, action, owner.
|
|
37
|
-
|
|
38
|
-
## Steps
|
|
39
|
-
|
|
40
|
-
### 1. Detect
|
|
41
|
-
|
|
42
|
-
Wizer pulls the latest status file. If `last_updated` is older than 2 days, the sprint is stale. Mark this as risk #0: stale signal.
|
|
43
|
-
|
|
44
|
-
### 2. Classify
|
|
45
|
-
|
|
46
|
-
Pick exactly one cause:
|
|
47
|
-
|
|
48
|
-
- **Cut scope.** Story turned out larger than one PR, or a non-essential AC can be deferred.
|
|
49
|
-
- **Re-route.** Story needs a different agent (e.g., Mantis for UX) or skill (e.g., `wize-investigate` for a regression).
|
|
50
|
-
- **Escalate.** Story needs more hands, or a decision outside the team.
|
|
51
|
-
|
|
52
|
-
A sprint can have multiple causes; the workflow handles one per run. Re-run for additional causes.
|
|
53
|
-
|
|
54
|
-
### 3. Propose
|
|
55
|
-
|
|
56
|
-
For each cause, propose 1–3 specific actions. Each action is bounded: a story ID to move, a date to defer to, or a person to page. No vague "communicate more" — that’s not an action.
|
|
57
|
-
|
|
58
|
-
### 4. Confirm with the human
|
|
59
|
-
|
|
60
|
-
List the actions; the human picks which to apply. Apply only what the human approved.
|
|
61
|
-
|
|
62
|
-
### 5. Update the sprint
|
|
63
|
-
|
|
64
|
-
For each approved action:
|
|
65
|
-
|
|
66
|
-
- Change `sprint-status.yaml` statuses (e.g., story from `in-progress` → `backlog` if deferred).
|
|
67
|
-
- Append a row to `course-corrections.md` with `date`, `cause`, `action`, `owner`.
|
|
68
|
-
|
|
69
|
-
### 6. Hand off
|
|
70
|
-
|
|
71
|
-
Notify the next workflow that should run (usually `wize-sprint-status` to confirm the new state, or `wize-dev-story` to continue the remaining work).
|
|
72
|
-
|
|
73
|
-
## Output template — `course-corrections.md`
|
|
74
|
-
|
|
75
|
-
```markdown
|
|
76
|
-
# Course corrections
|
|
77
|
-
|
|
78
|
-
| Date | Sprint | Cause | Action | Owner |
|
|
79
|
-
|---|---|---|---|---|
|
|
80
|
-
| 2026-06-15 | 4 | cut scope | E04-S02 split into S02a + S02b; S02b deferred to S5 | Hill |
|
|
81
|
-
| 2026-06-15 | 4 | escalate | Paged Tony to unblock E04-S01 (waiting on ADR-010) | Wizer |
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Anti-patterns Hill rejects
|
|
85
|
-
|
|
86
|
-
- Cutting scope without confirming the trade-off with the user.
|
|
87
|
-
- Moving a story to `done` to "stop tracking it" when it isn’t actually done.
|
|
88
|
-
- Re-routing to an agent who doesn’t have the context (always include a 3-sentence brief).
|
|
89
|
-
- Escalating without naming a specific decision blocker.
|
|
90
|
-
|
|
91
|
-
## Hand-off
|
|
92
|
-
|
|
93
|
-
> "Course correction applied at `.wize/implementation/course-corrections.md`. Sprint {N} updated. Run `/wize-sprint-status` to confirm the new state."
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
code: wize-investigate
|
|
4
|
-
description: "Use quando um bug ou comportamento inesperado surgir e precisar de investigação estruturada com root cause analysis."
|
|
5
|
-
name: Investigate
|
|
6
|
-
phase: 4-implementation
|
|
7
|
-
owner: wize-agent-dev # Shuri (+ wize-agent-test-architect Hawkeye on call)
|
|
8
|
-
status: ready
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Investigate
|
|
12
|
-
|
|
13
|
-
**Goal.** Structured root-cause analysis for a failed test, regression, or unexpected behavior. Produces a written report so the team (and future-you) can retrace the steps.
|
|
14
|
-
|
|
15
|
-
Shuri drives. Hawkeye on call for test-specific analysis. Wizer is on call for cross-cutting impact.
|
|
16
|
-
|
|
17
|
-
## When to run
|
|
18
|
-
|
|
19
|
-
- A test fails and the cause is not obvious from the diff.
|
|
20
|
-
- A regression appears in production or CI.
|
|
21
|
-
- A user reports a bug with unclear repro steps.
|
|
22
|
-
- An incident triggers post-mortem.
|
|
23
|
-
|
|
24
|
-
## When NOT to run
|
|
25
|
-
|
|
26
|
-
- The cause is obvious from the diff → use `wize-quick-dev` to fix directly.
|
|
27
|
-
- A new feature is needed (use `wize-create-story`).
|
|
28
|
-
- A security finding is suspected (escalate immediately; do not investigate solo).
|
|
29
|
-
|
|
30
|
-
## Inputs
|
|
31
|
-
|
|
32
|
-
- The failing test, error log, or user report.
|
|
33
|
-
- The commit range since the last known-good state.
|
|
34
|
-
- The relevant story file (if any).
|
|
35
|
-
- A free-form description of the symptoms.
|
|
36
|
-
|
|
37
|
-
## Output
|
|
38
|
-
|
|
39
|
-
- `.wize/implementation/investigations/{YYYY-MM-DD}-{short-slug}.md` — a written report.
|
|
40
|
-
|
|
41
|
-
## Steps
|
|
42
|
-
|
|
43
|
-
### 1. Frame
|
|
44
|
-
|
|
45
|
-
One paragraph: what broke, when it was first noticed, who reported it, and how serious. If you cannot write this in 3 sentences, the report is too broad.
|
|
46
|
-
|
|
47
|
-
### 2. Reproduce
|
|
48
|
-
|
|
49
|
-
Step-by-step: how to reproduce locally. Include environment (OS, Node version, branch), commands, expected vs. actual output. If unreproducible, mark "not reproducible after N attempts" and stop.
|
|
50
|
-
|
|
51
|
-
### 3. Hypothesize
|
|
52
|
-
|
|
53
|
-
List 3 root causes, ranked by likelihood. For each:
|
|
54
|
-
- What would explain the symptoms.
|
|
55
|
-
- A 1-line test to confirm or refute.
|
|
56
|
-
- Confidence: low / medium / high.
|
|
57
|
-
|
|
58
|
-
### 4. Verify
|
|
59
|
-
|
|
60
|
-
For each hypothesis, run the 1-line test. Record: confirmed / refuted / inconclusive. If all refuted, return to step 3 and re-rank.
|
|
61
|
-
|
|
62
|
-
### 5. Conclude
|
|
63
|
-
|
|
64
|
-
Pick the surviving root cause. State:
|
|
65
|
-
- **Root cause:** {description}.
|
|
66
|
-
- **Fix path:** {one paragraph: what to change and why}.
|
|
67
|
-
- **Effort:** S / M / L.
|
|
68
|
-
- **Risk of fix:** low / medium / high.
|
|
69
|
-
- **Recommended next step:** open a quick-dev, open a story, or escalate.
|
|
70
|
-
|
|
71
|
-
### 6. Hand off
|
|
72
|
-
|
|
73
|
-
Notify the next workflow:
|
|
74
|
-
- S / low risk → `/wize-quick-dev` (Shuri fixes directly).
|
|
75
|
-
- M+ or higher risk → `/wize-create-story` (new story for the fix).
|
|
76
|
-
- Escalation → `/wize-correct-course` (involve PM + Wizer).
|
|
77
|
-
|
|
78
|
-
## Output template
|
|
79
|
-
|
|
80
|
-
```markdown
|
|
81
|
-
---
|
|
82
|
-
date: 2026-06-16
|
|
83
|
-
author: Shuri
|
|
84
|
-
severity: high
|
|
85
|
-
related_story: E04-S02
|
|
86
|
-
related_test: test/document-project-classify.test.js
|
|
87
|
-
status: concluded
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
# Investigation — {short-slug}
|
|
91
|
-
|
|
92
|
-
## Frame
|
|
93
|
-
{one paragraph}
|
|
94
|
-
|
|
95
|
-
## Reproduce
|
|
96
|
-
1. ...
|
|
97
|
-
2. ...
|
|
98
|
-
**Expected:** {x}
|
|
99
|
-
**Actual:** {y}
|
|
100
|
-
|
|
101
|
-
## Hypotheses
|
|
102
|
-
1. **{hypothesis}** — Confidence: high. Test: {1-liner}. Result: confirmed.
|
|
103
|
-
2. ...
|
|
104
|
-
|
|
105
|
-
## Conclude
|
|
106
|
-
- **Root cause:** {description}
|
|
107
|
-
- **Fix path:** {one paragraph}
|
|
108
|
-
- **Effort:** M
|
|
109
|
-
- **Risk of fix:** low
|
|
110
|
-
- **Next:** /wize-create-story (E04-S05)
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Anti-patterns Shuri rejects
|
|
114
|
-
|
|
115
|
-
- Skipping the hypothesis ranking. (Ranking forces you to consider alternatives.)
|
|
116
|
-
- Stopping at "I think it's X" without the verification test. (Confirmation bias.)
|
|
117
|
-
- Mixing the investigation with the fix. (Investigate, then propose; do not edit code yet.)
|
|
118
|
-
- One-paragraph reports. (If it's a real investigation, it's at least 5 sections.)
|
|
119
|
-
- Sharing the report only in chat. (Always write to disk for archival.)
|
|
120
|
-
|
|
121
|
-
## Hand-off
|
|
122
|
-
|
|
123
|
-
> "Investigation concluded. Root cause: {summary}. Next: `/wize-create-story` (M+ fix) or `/wize-quick-dev` (S fix)."
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
code: wize-release
|
|
3
|
-
description: "Use quando todas as stories do sprint estiverem gated e você precisar gerar release: bump de versão, changelog e tag git."
|
|
4
|
-
name: Release
|
|
5
|
-
phase: 4-implementation
|
|
6
|
-
owner: wize-agent-dev # Shuri + Maria Hill
|
|
7
|
-
status: ready
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Release
|
|
11
|
-
|
|
12
|
-
**Goal.** Bump de versão, changelog a partir das stories gated e tag git. O release é o passo entre "todas as stories passaram no gate" e a retrospectiva.
|
|
13
|
-
|
|
14
|
-
Shuri executa. Maria Hill confirma o escopo (quais epics entram).
|
|
15
|
-
|
|
16
|
-
## Pré-requisitos
|
|
17
|
-
|
|
18
|
-
Antes de iniciar, verificar:
|
|
19
|
-
|
|
20
|
-
1. **Sprint ativo** — `sprint-status.yaml` deve ter `development_status` com stories.
|
|
21
|
-
2. **Todas as stories gated** — cada story no sprint ativo deve estar `done` no `sprint-status.yaml`. Stories com gate `FAIL` bloqueiam o release. Stories com `CONCERNS` precisam de waiver documentado.
|
|
22
|
-
3. **Git limpo** — `git status --porcelain` deve estar vazio (ou conter apenas arquivos não rastreados que não fazem parte do release).
|
|
23
|
-
4. **Branch main** — releases saem da `main`. Se estiver em feature branch, abortar e orientar merge via PR.
|
|
24
|
-
|
|
25
|
-
Se qualquer pré-requisito falhar, reportar o bloqueio e parar. Não fazer release parcial.
|
|
26
|
-
|
|
27
|
-
## Inputs
|
|
28
|
-
|
|
29
|
-
- `.wize/implementation/sprint-status.yaml` — stories concluídas
|
|
30
|
-
- `.wize/solutioning/stories/{epic}/*.md` — detalhes das stories
|
|
31
|
-
- `package.json` — versão atual
|
|
32
|
-
- `CHANGELOG.md` — changelog existente (se houver)
|
|
33
|
-
- `git tag --list 'v*'` — tags existentes
|
|
34
|
-
|
|
35
|
-
## Outputs
|
|
36
|
-
|
|
37
|
-
- `package.json` com versão atualizada
|
|
38
|
-
- `CHANGELOG.md` atualizado com a nova versão
|
|
39
|
-
- Tag git `v{semver}`
|
|
40
|
-
- `sprint-status.yaml` atualizado (sprint marcado como concluído)
|
|
41
|
-
- Resumo do release no terminal
|
|
42
|
-
|
|
43
|
-
## Steps
|
|
44
|
-
|
|
45
|
-
### 1. Verificar pré-requisitos
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
git status --porcelain # deve estar vazio
|
|
49
|
-
git branch --show-current # deve ser main
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Ler `sprint-status.yaml` e validar que todas as stories do sprint ativo estão `done`. Se houver stories `backlog`, `ready-for-dev`, `in-progress` ou `review`, listar cada uma e abortar.
|
|
53
|
-
|
|
54
|
-
### 2. Coletar stories concluídas
|
|
55
|
-
|
|
56
|
-
Varrer `development_status` no `sprint-status.yaml`. Para cada story com status `done`:
|
|
57
|
-
|
|
58
|
-
1. Localizar o arquivo da story em `.wize/solutioning/stories/{epic}/{story}.md`
|
|
59
|
-
2. Extrair do frontmatter: `story_id`, `epic`, `status`
|
|
60
|
-
3. Extrair do corpo: título (linha `# Story:`), acceptance criteria
|
|
61
|
-
|
|
62
|
-
Agrupar por epic. Se o epic tiver `epic_id` no `sprint-status.yaml`, usar o nome do arquivo do epic em `.wize/solutioning/epics/` para obter o título legível.
|
|
63
|
-
|
|
64
|
-
### 3. Determinar o bump de versão
|
|
65
|
-
|
|
66
|
-
Ler a versão atual de `package.json`:
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
Versão atual: 0.11.0
|
|
70
|
-
Qual o bump?
|
|
71
|
-
1. patch (0.11.1) — correções, hotfix, docs
|
|
72
|
-
2. minor (0.12.0) — novas features compatíveis
|
|
73
|
-
3. major (1.0.0) — breaking changes
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Em modo interativo, perguntar ao usuário. Em modo não-interativo, usar o primeiro argumento (`patch`, `minor` ou `major`). Se nenhum argumento for passado, default `patch`.
|
|
77
|
-
|
|
78
|
-
Calcular a nova versão com `semver.inc(current, bump)` — usar Node built-in (regex parse + increment, sem dependência externa).
|
|
79
|
-
|
|
80
|
-
### 4. Gerar changelog
|
|
81
|
-
|
|
82
|
-
Delegar a geração do changelog ao `wize-changelog`:
|
|
83
|
-
|
|
84
|
-
1. Invocar o fluxo do `wize-changelog` com a nova versão e a lista de stories coletadas no passo 2.
|
|
85
|
-
2. O changelog é gerado no formato Keep a Changelog e pré-pendido ao `CHANGELOG.md`.
|
|
86
|
-
|
|
87
|
-
Se `CHANGELOG.md` não existir, criar com o cabeçalho padrão.
|
|
88
|
-
|
|
89
|
-
### 5. Bump de versão
|
|
90
|
-
|
|
91
|
-
Atualizar o campo `version` em `package.json` com a nova versão. Preservar a formatação existente (indentação, aspas duplas).
|
|
92
|
-
|
|
93
|
-
### 6. Commit e tag
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
git add package.json CHANGELOG.md
|
|
97
|
-
git commit -m "chore: release v{version}"
|
|
98
|
-
git tag v{version} -m "Release v{version}"
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
A mensagem de commit deve listar os epics incluídos no release.
|
|
102
|
-
|
|
103
|
-
### 7. Atualizar sprint-status.yaml
|
|
104
|
-
|
|
105
|
-
Adicionar ao `sprint-status.yaml`:
|
|
106
|
-
|
|
107
|
-
```yaml
|
|
108
|
-
release:
|
|
109
|
-
version: "{version}"
|
|
110
|
-
date: "{YYYY-MM-DD}"
|
|
111
|
-
sprint: "{active_cycle}"
|
|
112
|
-
stories_released: {count}
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Marcar o sprint como concluído e adicionar entrada de retrospectiva pendente.
|
|
116
|
-
|
|
117
|
-
### 8. Resumo
|
|
118
|
-
|
|
119
|
-
Emitir no terminal:
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
✓ Release v{version} criado
|
|
123
|
-
|
|
124
|
-
Epics incluídos:
|
|
125
|
-
- {epic_name} ({story_count} stories)
|
|
126
|
-
|
|
127
|
-
Changelog: CHANGELOG.md
|
|
128
|
-
Tag: v{version}
|
|
129
|
-
Commit: {commit_hash}
|
|
130
|
-
|
|
131
|
-
Próximos passos:
|
|
132
|
-
- git push origin main --tags
|
|
133
|
-
- /wize-retrospective
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
**Não executar `git push` automaticamente.** O push é sempre manual — o desenvolvedor revisa antes de publicar.
|
|
137
|
-
|
|
138
|
-
## Bump semver (built-in, zero-dep)
|
|
139
|
-
|
|
140
|
-
```js
|
|
141
|
-
function bumpVersion(current, type) {
|
|
142
|
-
const [major, minor, patch] = current.split('.').map(Number);
|
|
143
|
-
switch (type) {
|
|
144
|
-
case 'major': return `${major + 1}.0.0`;
|
|
145
|
-
case 'minor': return `${major}.${minor + 1}.0`;
|
|
146
|
-
case 'patch': return `${major}.${minor}.${patch + 1}`;
|
|
147
|
-
default: throw new Error(`Tipo de bump inválido: ${type}. Use patch, minor ou major.`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
## Anti-patterns
|
|
153
|
-
|
|
154
|
-
- Fazer release com stories não gated — o gate existe para proteger a main.
|
|
155
|
-
- Fazer release de feature branch — releases saem da main.
|
|
156
|
-
- Push automático — o desenvolvedor revisa antes de publicar.
|
|
157
|
-
- Pular o changelog — "depois eu escrevo" = nunca escreve.
|
|
158
|
-
- Bump manual de versão — usar o bump semver para evitar off-by-one.
|
|
159
|
-
|
|
160
|
-
## Hand-off
|
|
161
|
-
|
|
162
|
-
> Release v{version} criado. Changelog atualizado, tag aplicada. Execute `git push origin main --tags` quando revisar. Depois: `/wize-retrospective`.
|