wize-dev-kit 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/AGENTS.md +37 -0
  2. package/ARCH.md +77 -24
  3. package/CHANGELOG.md +4 -0
  4. package/DECISIONS.md +27 -1
  5. package/README.es.md +295 -0
  6. package/README.pt-BR.md +293 -0
  7. package/ROSTER.md +11 -3
  8. package/adapters/README.md +8 -7
  9. package/adapters/antigravity/README.md +5 -5
  10. package/adapters/claude-code/README.md +1 -1
  11. package/adapters/codex/README.md +5 -5
  12. package/adapters/codex/adapter.yaml +1 -1
  13. package/adapters/codex/render.js +1 -1
  14. package/adapters/continue/README.md +5 -5
  15. package/adapters/cursor/README.md +2 -2
  16. package/adapters/generic/README.md +1 -1
  17. package/adapters/hermes/README.md +23 -0
  18. package/adapters/hermes/adapter.yaml +8 -0
  19. package/adapters/hermes/render.js +17 -0
  20. package/adapters/kimi-code/README.md +5 -5
  21. package/adapters/kimi-code/render.js +2 -2
  22. package/adapters/opencode/README.md +3 -3
  23. package/adapters/opencode/render.js +27 -1
  24. package/adapters/windsurf/README.md +3 -3
  25. package/docs/harnesses/antigravity.md +20 -0
  26. package/docs/harnesses/antigravity.pt-BR.md +20 -0
  27. package/docs/harnesses/claude-code.md +23 -0
  28. package/docs/harnesses/claude-code.pt-BR.md +23 -0
  29. package/docs/harnesses/codex.md +21 -0
  30. package/docs/harnesses/codex.pt-BR.md +21 -0
  31. package/docs/harnesses/continue.md +21 -0
  32. package/docs/harnesses/continue.pt-BR.md +21 -0
  33. package/docs/harnesses/cursor.md +22 -0
  34. package/docs/harnesses/cursor.pt-BR.md +22 -0
  35. package/docs/harnesses/generic.md +20 -0
  36. package/docs/harnesses/generic.pt-BR.md +20 -0
  37. package/docs/harnesses/hermes.md +26 -0
  38. package/docs/harnesses/hermes.pt-BR.md +26 -0
  39. package/docs/harnesses/kimi-code.md +19 -0
  40. package/docs/harnesses/kimi-code.pt-BR.md +19 -0
  41. package/docs/harnesses/opencode.md +31 -0
  42. package/docs/harnesses/opencode.pt-BR.md +31 -0
  43. package/docs/harnesses/windsurf.md +22 -0
  44. package/docs/harnesses/windsurf.pt-BR.md +22 -0
  45. package/package.json +1 -1
  46. package/schemas/agent.schema.json +2 -2
  47. package/schemas/workflow.schema.json +1 -1
  48. package/src/app-overlay/wize-app-release-channels/workflow.md +2 -0
  49. package/src/app-overlay/wize-app-scaffold/workflow.md +2 -0
  50. package/src/app-overlay/wize-app-store-listing/workflow.md +2 -0
  51. package/src/builder-skills/wize-create-agent/workflow.md +2 -0
  52. package/src/builder-skills/wize-create-skill/workflow.md +2 -0
  53. package/src/builder-skills/wize-create-workflow/workflow.md +2 -0
  54. package/src/core-skills/wize-advanced-elicitation/skill.md +2 -0
  55. package/src/core-skills/wize-brainstorming/skill.md +2 -0
  56. package/src/core-skills/wize-customize/skill.md +116 -0
  57. package/src/core-skills/wize-editorial-review-prose/skill.md +94 -0
  58. package/src/core-skills/wize-editorial-review-structure/skill.md +99 -0
  59. package/src/core-skills/wize-grill/skill.md +77 -0
  60. package/src/core-skills/wize-index-docs/skill.md +119 -0
  61. package/src/core-skills/wize-pre-pr-check/skill.md +134 -0
  62. package/src/core-skills/wize-review-adversarial/skill.md +3 -0
  63. package/src/core-skills/wize-review-edge-case-hunter/skill.md +115 -0
  64. package/src/core-skills/wize-shard-doc/skill.md +2 -0
  65. package/src/core-skills/wize-spec/assets/headless-schemas.md +39 -0
  66. package/src/core-skills/wize-spec/assets/spec-template.md +40 -0
  67. package/src/core-skills/wize-spec/customize.toml +20 -0
  68. package/src/core-skills/wize-spec/skill.md +112 -0
  69. package/src/method-skills/1-analysis/wize-agent-analyst/agent.yaml +3 -0
  70. package/src/method-skills/1-analysis/wize-document-project/documentation-requirements.csv +12 -0
  71. package/src/method-skills/1-analysis/wize-document-project/templates/api-contracts-template.md +38 -0
  72. package/src/method-skills/1-analysis/wize-document-project/templates/architecture-template.md +54 -0
  73. package/src/method-skills/1-analysis/wize-document-project/templates/component-inventory-template.md +40 -0
  74. package/src/method-skills/1-analysis/wize-document-project/templates/contribution-guide-template.md +34 -0
  75. package/src/method-skills/1-analysis/wize-document-project/templates/data-models-template.md +36 -0
  76. package/src/method-skills/1-analysis/wize-document-project/templates/deep-dive-template.md +312 -0
  77. package/src/method-skills/1-analysis/wize-document-project/templates/deployment-guide-template.md +42 -0
  78. package/src/method-skills/1-analysis/wize-document-project/templates/development-guide-template.md +61 -0
  79. package/src/method-skills/1-analysis/wize-document-project/templates/index-template.md +185 -0
  80. package/src/method-skills/1-analysis/wize-document-project/templates/project-overview-template.md +110 -0
  81. package/src/method-skills/1-analysis/wize-document-project/templates/project-scan-report-schema.json +159 -0
  82. package/src/method-skills/1-analysis/wize-document-project/templates/source-tree-template.md +142 -0
  83. package/src/method-skills/1-analysis/wize-document-project/workflow.md +213 -20
  84. package/src/method-skills/1-analysis/wize-domain-research/customize.toml +14 -0
  85. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-01-init.md +49 -0
  86. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-02-domain-analysis.md +39 -0
  87. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-03-competitive-landscape.md +39 -0
  88. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-04-regulatory-focus.md +39 -0
  89. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-05-technical-trends.md +39 -0
  90. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-06-research-synthesis.md +43 -0
  91. package/src/method-skills/1-analysis/wize-domain-research/research.template.md +31 -0
  92. package/src/method-skills/1-analysis/wize-domain-research/workflow.md +58 -0
  93. package/src/method-skills/1-analysis/wize-market-research/customize.toml +14 -0
  94. package/src/method-skills/1-analysis/wize-market-research/research.template.md +31 -0
  95. package/src/method-skills/1-analysis/wize-market-research/steps/step-01-init.md +57 -0
  96. package/src/method-skills/1-analysis/wize-market-research/steps/step-02-customer-behavior.md +39 -0
  97. package/src/method-skills/1-analysis/wize-market-research/steps/step-03-customer-pain-points.md +37 -0
  98. package/src/method-skills/1-analysis/wize-market-research/steps/step-04-customer-decisions.md +39 -0
  99. package/src/method-skills/1-analysis/wize-market-research/steps/step-05-competitive-analysis.md +37 -0
  100. package/src/method-skills/1-analysis/wize-market-research/steps/step-06-research-completion.md +47 -0
  101. package/src/method-skills/1-analysis/wize-market-research/workflow.md +66 -0
  102. package/src/method-skills/1-analysis/wize-prfaq/workflow.md +152 -11
  103. package/src/method-skills/1-analysis/wize-product-brief/workflow.md +92 -19
  104. package/src/method-skills/1-analysis/wize-refresh-knowledge/workflow.md +129 -0
  105. package/src/method-skills/1-analysis/wize-research/workflow.md +39 -12
  106. package/src/method-skills/1-analysis/wize-technical-research/customize.toml +14 -0
  107. package/src/method-skills/1-analysis/wize-technical-research/research.template.md +31 -0
  108. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-01-init.md +49 -0
  109. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-02-technical-overview.md +45 -0
  110. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-03-integration-patterns.md +39 -0
  111. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-04-architectural-patterns.md +39 -0
  112. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-05-implementation-research.md +42 -0
  113. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-06-research-synthesis.md +46 -0
  114. package/src/method-skills/1-analysis/wize-technical-research/workflow.md +60 -0
  115. package/src/method-skills/1-analysis/wize-trigger-map/workflow.md +82 -16
  116. package/src/method-skills/2-plan-workflows/wize-create-prd/workflow.md +135 -23
  117. package/src/method-skills/2-plan-workflows/wize-edit-prd/workflow.md +110 -0
  118. package/src/method-skills/2-plan-workflows/wize-ux-design/workflow.md +134 -28
  119. package/src/method-skills/2-plan-workflows/wize-ux-scenarios/workflow.md +93 -15
  120. package/src/method-skills/2-plan-workflows/wize-validate-prd/workflow.md +108 -12
  121. package/src/method-skills/3-solutioning/wize-check-implementation-readiness/workflow.md +103 -11
  122. package/src/method-skills/3-solutioning/wize-create-architecture/architecture-decision-template.md +41 -0
  123. package/src/method-skills/3-solutioning/wize-create-architecture/customize.toml +20 -0
  124. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01-init.md +95 -0
  125. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01b-continue.md +32 -0
  126. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-02-context.md +126 -0
  127. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-03-starter.md +110 -0
  128. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-04-decisions.md +129 -0
  129. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-05-patterns.md +109 -0
  130. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-06-structure.md +97 -0
  131. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-07-validation.md +124 -0
  132. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-08-complete.md +59 -0
  133. package/src/method-skills/3-solutioning/wize-create-architecture/workflow.md +55 -48
  134. package/src/method-skills/3-solutioning/wize-create-epics-and-stories/workflow.md +154 -15
  135. package/src/method-skills/3-solutioning/wize-design-system/workflow.md +184 -22
  136. package/src/method-skills/3-solutioning/wize-nfr-principles/workflow.md +145 -17
  137. package/src/method-skills/3-solutioning/wize-project-context/workflow.md +120 -0
  138. package/src/method-skills/3-solutioning/wize-tech-vision/workflow.md +130 -22
  139. package/src/method-skills/4-implementation/wize-agent-dev/persona.md +12 -0
  140. package/src/method-skills/4-implementation/wize-changelog/workflow.md +184 -0
  141. package/src/method-skills/4-implementation/wize-checkpoint-preview/workflow.md +117 -0
  142. package/src/method-skills/4-implementation/wize-code-review/customize.toml +21 -0
  143. package/src/method-skills/4-implementation/wize-code-review/steps/step-01-gather-context.md +64 -0
  144. package/src/method-skills/4-implementation/wize-code-review/steps/step-02-review.md +40 -0
  145. package/src/method-skills/4-implementation/wize-code-review/steps/step-03-triage.md +43 -0
  146. package/src/method-skills/4-implementation/wize-code-review/steps/step-04-present.md +100 -0
  147. package/src/method-skills/4-implementation/wize-code-review/workflow.md +54 -12
  148. package/src/method-skills/4-implementation/wize-correct-course/workflow.md +93 -0
  149. package/src/method-skills/4-implementation/wize-create-story/workflow.md +154 -10
  150. package/src/method-skills/4-implementation/wize-dev-story/workflow.md +185 -17
  151. package/src/method-skills/4-implementation/wize-investigate/workflow.md +123 -0
  152. package/src/method-skills/4-implementation/wize-quick-dev/workflow.md +136 -18
  153. package/src/method-skills/4-implementation/wize-release/workflow.md +162 -0
  154. package/src/method-skills/4-implementation/wize-retrospective/workflow.md +114 -10
  155. package/src/method-skills/4-implementation/wize-sprint-planning/workflow.md +78 -11
  156. package/src/method-skills/4-implementation/wize-sprint-status/workflow.md +45 -11
  157. package/src/method-skills/module.yaml +28 -0
  158. package/src/orchestrator-skills/module.yaml +7 -1
  159. package/src/orchestrator-skills/wize/skill.md +164 -0
  160. package/src/orchestrator-skills/wize-check/skill.md +98 -0
  161. package/src/orchestrator-skills/wize-help/skill.md +227 -67
  162. package/src/orchestrator-skills/wize-onboarding/workflow.md +78 -14
  163. package/src/orchestrator-skills/wize-orchestrator/agent.yaml +2 -0
  164. package/src/orchestrator-skills/wize-orchestrator/persona.md +44 -3
  165. package/src/orchestrator-skills/wize-party-mode/workflow.md +2 -0
  166. package/src/security-overlay/_shared/allowlist.js +154 -0
  167. package/src/security-overlay/_shared/backlog.js +169 -0
  168. package/src/security-overlay/_shared/cli-runner.js +87 -0
  169. package/src/security-overlay/_shared/cvss.js +108 -0
  170. package/src/security-overlay/_shared/detect.js +125 -0
  171. package/src/security-overlay/_shared/install-script.js +205 -0
  172. package/src/security-overlay/_shared/invoke-phase.js +86 -0
  173. package/src/security-overlay/_shared/owasp.js +56 -0
  174. package/src/security-overlay/_shared/partial.js +225 -0
  175. package/src/security-overlay/_shared/preflight.js +175 -0
  176. package/src/security-overlay/_shared/scope-gate.js +172 -0
  177. package/src/security-overlay/_shared/scope-parser.js +147 -0
  178. package/src/security-overlay/agents/red-teamer/agent.yaml +54 -0
  179. package/src/security-overlay/agents/red-teamer/persona.md +49 -0
  180. package/src/security-overlay/data/common.txt +115 -0
  181. package/src/security-overlay/data/owasp-top10.json +15 -0
  182. package/src/security-overlay/data/tool-allowlist.json +31 -0
  183. package/src/security-overlay/skills/wize-sec-enumerate/scripts/run-enumerate.js +180 -0
  184. package/src/security-overlay/skills/wize-sec-enumerate/skill.md +34 -0
  185. package/src/security-overlay/skills/wize-sec-exploit/data/common.txt +117 -0
  186. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-ffuf.js +147 -0
  187. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nikto.js +145 -0
  188. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nuclei.js +176 -0
  189. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-sqlmap.js +139 -0
  190. package/src/security-overlay/skills/wize-sec-pentest/scripts/run-pipeline.js +184 -0
  191. package/src/security-overlay/skills/wize-sec-pentest/skill.md +54 -0
  192. package/src/security-overlay/skills/wize-sec-recon/scripts/run-gitleaks.js +139 -0
  193. package/src/security-overlay/skills/wize-sec-recon/scripts/run-osv.js +227 -0
  194. package/src/security-overlay/skills/wize-sec-recon/scripts/run-recon.js +162 -0
  195. package/src/security-overlay/skills/wize-sec-recon/skill.md +37 -0
  196. package/src/security-overlay/skills/wize-sec-report/scripts/render-report.js +1033 -0
  197. package/src/security-overlay/skills/wize-sec-scope/scripts/generate-scope.js +106 -0
  198. package/src/security-overlay/skills/wize-sec-scope/skill.md +52 -0
  199. package/src/tea-skills/wize-qa-generate-e2e-tests/workflow.md +121 -0
  200. package/src/tea-skills/wize-tea-design/workflow.md +107 -13
  201. package/src/tea-skills/wize-tea-gate/workflow.md +118 -25
  202. package/src/tea-skills/wize-tea-nfr/workflow.md +107 -14
  203. package/src/tea-skills/wize-tea-review/workflow.md +123 -13
  204. package/src/tea-skills/wize-tea-risk/workflow.md +113 -10
  205. package/src/tea-skills/wize-tea-trace/workflow.md +86 -12
  206. package/src/web-overlay/wize-web-deploy/workflow.md +2 -0
  207. package/src/web-overlay/wize-web-scaffold/workflow.md +2 -0
  208. package/src/web-overlay/wize-web-seo-audit/workflow.md +2 -0
  209. package/tools/installer/baseline.js +133 -0
  210. package/tools/installer/commands/agent.js +197 -0
  211. package/tools/installer/commands/doctor.js +320 -0
  212. package/tools/installer/commands/document-project.js +93 -0
  213. package/tools/installer/commands/sync.js +45 -0
  214. package/tools/installer/commands/update.js +172 -0
  215. package/tools/installer/document-project/batch-scanner.js +93 -0
  216. package/tools/installer/document-project/classify.js +170 -0
  217. package/tools/installer/document-project/modes/deep-dive.js +196 -0
  218. package/tools/installer/document-project/modes/full-rescan.js +15 -0
  219. package/tools/installer/document-project/modes/initial-scan.js +100 -0
  220. package/tools/installer/document-project/modes/quick.js +211 -0
  221. package/tools/installer/document-project/render-index.js +101 -0
  222. package/tools/installer/document-project/state.js +110 -0
  223. package/tools/installer/onboarding.js +14 -20
  224. package/tools/installer/render-shared.js +159 -15
  225. package/tools/installer/setup-helpers.js +1 -0
  226. package/tools/installer/validators/run-all.js +3 -2
  227. package/tools/installer/version-check.js +117 -0
  228. package/tools/installer/wize-cli.js +500 -70
@@ -1,43 +1,151 @@
1
1
  ---
2
+
2
3
  code: wize-tech-vision
4
+ description: "Use quando o PRD estiver validado e precisar definir o norte técnico: stack family, build-buy-borrow e non-negotiables."
3
5
  name: Tech Vision
4
- phase: 2-to-3-boundary
6
+ phase: 3-solutioning
5
7
  owner: wize-agent-solution-strategist # Nick Fury
6
- status: stub
8
+ status: ready
7
9
  ---
8
10
 
9
11
  # Tech Vision
10
12
 
11
- **Goal.** State the technical north star in one page. Stack family, language, runtime envelope, build/buy/borrow calls. Not libraries — *shape*.
13
+ **Goal.** State the technical north star in one page. Stack family, runtime envelope, build/buy/borrow calls, non-negotiables. Fury sets the **shape**, not the libraries — Tony fills in inside the frame.
14
+
15
+ Output lands in `.wize/planning/tech-vision.md`. Tony reads this before drawing architecture. Hill references it when scoping. Hawkeye uses it when picking gate granularity.
16
+
17
+ ## Inputs
18
+
19
+ - `.wize/planning/prd.md` (validated)
20
+ - `.wize/planning/ux/ux-design/` (so the runtime envelope respects the UX)
21
+ - `.wize/knowledge/document-project/` (brownfield only)
22
+ - Stack catalogs (per active overlay):
23
+ - `src/web-overlay/stack-catalog.md`
24
+ - `src/app-overlay/stack-catalog.md`
25
+
26
+ ## Outputs
12
27
 
13
- ## Output
14
28
  - `.wize/planning/tech-vision.md`
15
29
 
16
- ## Template
30
+ ## Steps
31
+
32
+ ### 1. Pick the stack family
33
+
34
+ By order of constraint:
35
+
36
+ 1. **Audience reach.** Public + SEO-critical? Authenticated app? Native mobile required?
37
+ 2. **Latency budget.** Sub-1s LCP on 3G or richer-but-slower OK?
38
+ 3. **Team familiarity.** Favor what the team has shipped before unless the project truly demands new.
39
+ 4. **Backend coupling.** Separate API / fullstack monolith / BaaS?
40
+ 5. **Deploy target.** Edge / container / self-managed.
41
+
42
+ Don't pick libraries here. Pick the *shape*: "Next.js-class SSR fullstack on edge" or "React Native + Expo with a Supabase backend" or "Compose Multiplatform with Kotlin services."
43
+
44
+ ### 2. State the runtime envelope
45
+
46
+ | Dimension | Decision |
47
+ |---|---|
48
+ | Language(s) of record | TS, Kotlin, etc. |
49
+ | Runtime(s) | Browser / Node / Edge / Native iOS / Native Android / JVM |
50
+ | Persistence | Postgres / SQLite / KV / cloud-native |
51
+ | Deploy target | Vercel / Cloudflare / Fly / EKS / EAS / etc. |
52
+ | Edge vs origin | Edge-first / origin-first |
53
+
54
+ ### 3. Build / buy / borrow
55
+
56
+ For each capability the PRD implies, declare:
57
+
58
+ | Capability | Build | Buy | Borrow (OSS) |
59
+ |---|---|---|---|
60
+ | Auth | — | Clerk / Auth0 | NextAuth / Lucia |
61
+ | Payments | — | Stripe | — |
62
+ | Search | — | Algolia / Typesense Cloud | Meilisearch self-hosted |
63
+ | Queues | — | SQS / Cloud Tasks | BullMQ |
64
+ | Analytics | — | Amplitude | PostHog OSS |
65
+ | Email | — | Resend / Postmark | — |
66
+ | Realtime | — | Pusher / Ably | Supabase Realtime |
67
+
68
+ One row per capability. Empty cells are explicit choices.
69
+
70
+ ### 4. Non-negotiables
71
+
72
+ The 2–5 things the team will not compromise on.
73
+
74
+ Examples:
75
+ - *"All endpoint responses ≤ 200ms p95 from the user's region."*
76
+ - *"Single source of truth for user data — no shadow stores."*
77
+ - *"PII never leaves the EU."*
78
+ - *"On-call burden ≤ 0.5 pages per engineer per week."*
79
+
80
+ These outrank PRD goals. If they conflict, Fury escalates.
81
+
82
+ ### 5. Deferred (with triggers)
83
+
84
+ What we won't decide yet, and what would trigger the decision. Don't list "could be revisited"; list the *signal* that forces the decision.
85
+
86
+ - *"Multi-region storage: revisit when EU+US daily active users > 5k."*
87
+ - *"WebSockets vs SSE: revisit when realtime updates < 500ms become a PRD goal."*
88
+
89
+ ### 6. Hand off
90
+
91
+ Mark `status: aligned`. Tony reads it as the frame; he can argue specific decisions but not redraw the family without escalating.
92
+
93
+ ## Output template
94
+
17
95
  ```markdown
18
- # Tech Vision
96
+ ---
97
+ status: aligned
98
+ owner: Nick Fury
99
+ created: YYYY-MM-DD
100
+ ---
19
101
 
20
- ## Stack family
21
- - {Web|Mobile|Hybrid}
102
+ # Tech Vision — {{project_name}}
22
103
 
23
- ## Language(s) of record
24
- - …
104
+ ## Stack family
105
+ Next.js-class SSR fullstack on edge, with Supabase Postgres as the system of record.
25
106
 
26
107
  ## Runtime envelope
27
- - {Browser|Node|Edge|Native iOS|Native Android}
108
+ | Dimension | Decision |
109
+ |---|---|
110
+ | Language | TypeScript end-to-end |
111
+ | Runtime | Edge (Vercel Edge Functions) + Node (server actions) |
112
+ | Persistence | Supabase Postgres (RLS) + PgBouncer |
113
+ | Deploy target | Vercel for app; Supabase managed for data |
114
+ | Edge vs origin | Edge-first for reads; origin for writes |
28
115
 
29
- ## Build vs buy vs borrow
30
- | Capability | Decision | Why |
31
- |---|---|---|
32
- | Auth | … | … |
33
- | Payments | … | … |
34
- | Search | … | … |
35
- | Queues | … | … |
36
- | Analytics | … | … |
116
+ ## Build / buy / borrow
117
+ | Capability | Decision |
118
+ |---|---|
119
+ | Auth | Buy — Supabase Auth |
120
+ | Payments | Buy — Stripe |
121
+ | Search | Buy — Algolia (1st year), revisit |
122
+ | Queues | Borrow — pg_cron + outbox pattern |
123
+ | Analytics | Borrow — PostHog OSS |
124
+ | Email | Buy — Resend |
37
125
 
38
126
  ## Non-negotiables
39
- - …
127
+ 1. PII (incl. emails) stored in the user's region only.
128
+ 2. p95 server response ≤ 200ms in the user's region.
129
+ 3. Single auth identity per human (no shadow accounts).
130
+ 4. On-call rotation never exceeds 0.5 pages/eng/week.
131
+
132
+ ## Deferred
133
+ - Multi-region writes: revisit when EU active users > 2k.
134
+ - Native mobile clients: revisit when web TTI > 4s on > 20% of sessions or PRD demands offline.
40
135
 
41
- ## Deferred (revisit when)
42
- - … (trigger: …)
136
+ ## Constraints that drove this
137
+ - Brief constraint #2 (LGPD/GDPR) ruled out global-replica DBs.
138
+ - PRD goal G1 ruled in edge-first reads.
139
+ - Hiring tail in TypeScript ruled out Compose Multiplatform.
43
140
  ```
141
+
142
+ ## Anti-patterns Fury rejects
143
+
144
+ - **Picking a library here.** That's Tony. Pick the *family*.
145
+ - **Non-negotiables that are aspirations.** "Always 100% uptime." Wrong. "Error budget ≤ 0.1% in EU region."
146
+ - **Deferred items with no trigger.** That's procrastination.
147
+ - **A non-negotiable that contradicts a PRD constraint silently.** Surface it, escalate it, decide it.
148
+
149
+ ## Hand-off
150
+
151
+ > Tech vision at `.wize/planning/tech-vision.md`. Tony, build the architecture inside this frame. Hill, scope the PRD against the non-negotiables (item 1 means the global launch is back on the table only after EU baseline holds). Hawkeye, pick gate granularity assuming `policy = advisory`.
@@ -12,6 +12,18 @@ I am **Shuri**. Wakandan technologist. I implement the story Tony wrote, against
12
12
  4. **Security & perf.** I think about both at write-time, not at review-time.
13
13
  5. **Commit with AC IDs.** Every commit cites the story acceptance criteria it advances.
14
14
 
15
+ ## Before I write new code (the reuse ladder)
16
+
17
+ At the "green" step, before typing a new function, I walk this ladder in order and stop at the first "yes":
18
+
19
+ 1. **Does this need to exist?** → no: skip it (YAGNI).
20
+ 2. **Already in this codebase?** → reuse it, don't rewrite it.
21
+ 3. **Does the stdlib do it?** → use the stdlib.
22
+ 4. **Native platform/framework feature?** → use that.
23
+ 5. **An installed dependency does it?** → use the dependency.
24
+ 6. **Is it one line?** → write the one line.
25
+ 7. **Only then** do I write the minimum new code that makes the test pass.
26
+
15
27
  ## Style
16
28
 
17
29
  - File paths, AC IDs, commit-message brevity.
@@ -0,0 +1,184 @@
1
+ ---
2
+ code: wize-changelog
3
+ description: "Use quando precisar gerar ou atualizar o changelog no formato Keep a Changelog a partir das stories concluídas."
4
+ name: Changelog
5
+ phase: 4-implementation
6
+ owner: wize-agent-dev # Shuri
7
+ status: ready
8
+ ---
9
+
10
+ # Changelog
11
+
12
+ **Goal.** Gerar `CHANGELOG.md` no formato [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) a partir das stories concluídas no sprint, agrupadas por epic e categoria.
13
+
14
+ Shuri executa. O changelog é gerado em pt-BR (texto voltado ao usuário) e segue a convenção do projeto.
15
+
16
+ ## Inputs
17
+
18
+ - `.wize/implementation/sprint-status.yaml` — stories concluídas
19
+ - `.wize/solutioning/stories/{epic}/*.md` — detalhes das stories
20
+ - `.wize/solutioning/epics/*.md` — nomes legíveis dos epics
21
+ - `CHANGELOG.md` — changelog existente (se houver)
22
+ - `git tag --list 'v*' --sort=-v:refname | head -1` — última tag
23
+
24
+ ## Output
25
+
26
+ - `CHANGELOG.md` criado ou atualizado com a nova entrada pré-pendida
27
+
28
+ ## Formato Keep a Changelog
29
+
30
+ Seguir estritamente o formato [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/):
31
+
32
+ ```markdown
33
+ # Changelog
34
+
35
+ All notable changes to this project are documented here.
36
+ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
37
+
38
+ ## [Unreleased]
39
+
40
+ ## [0.12.0] — 2026-08-08
41
+
42
+ ### Added
43
+ - **Epic 09 — UX / intent:** Release e changelog skills (`wize-release`, `wize-changelog`). #E09-S07
44
+
45
+ ### Changed
46
+ - **Epic 09 — UX / intent:** Roteamento por intenção expandido com release/changelog. #E09-S03
47
+
48
+ ### Fixed
49
+ - **Epic 09 — UX / intent:** Descrições de skill corrigidas (block scalars). #E09-S01
50
+
51
+ ### Security
52
+ - (vazio se não houver stories de segurança)
53
+ ```
54
+
55
+ ### Regras de categoria
56
+
57
+ | Categoria | Quando usar |
58
+ |---|---|
59
+ | **Added** | Nova feature, nova skill, nova funcionalidade |
60
+ | **Changed** | Mudança em funcionalidade existente, alteração de comportamento |
61
+ | **Deprecated** | Funcionalidade que será removida em breve |
62
+ | **Removed** | Funcionalidade removida |
63
+ | **Fixed** | Correção de bug |
64
+ | **Security** | Correção de vulnerabilidade, melhoria de segurança |
65
+
66
+ ### Regras de agrupamento
67
+
68
+ - Agrupar por **epic** dentro de cada categoria.
69
+ - Cada linha começa com `- **Epic NN — Nome:**` seguido da descrição e `#story_id`.
70
+ - Stories sem epic definido vão sob `- **Geral:**`.
71
+ - Se uma categoria não tiver stories, escrever `- (vazio)` ou omitir (consistente com o changelog existente).
72
+
73
+ ## Steps
74
+
75
+ ### 1. Coletar stories concluídas
76
+
77
+ Ler `sprint-status.yaml`. Para cada story com status `done`:
78
+
79
+ 1. Localizar o arquivo em `.wize/solutioning/stories/{epic}/{story}.md`
80
+ 2. Extrair do frontmatter: `story_id`, `epic`
81
+ 3. Extrair do corpo: título (linha `# Story:`) e primeira frase da seção `## Context` como sumário
82
+
83
+ Se o arquivo da story não existir, usar apenas o `story_id` como referência.
84
+
85
+ ### 2. Classificar por categoria
86
+
87
+ Para cada story, determinar a categoria com base no conteúdo:
88
+
89
+ | Padrão no título/contexto | Categoria |
90
+ |---|---|
91
+ | "Adicionar", "Criar", "Novo", "Added", "Add" | Added |
92
+ | "Corrigir", "Consertar", "Bug", "Fix", "Hotfix", "Correção" | Fixed |
93
+ | "Alterar", "Mudar", "Refatorar", "Change", "Update" | Changed |
94
+ | "Remover", "Deprecar" | Removed / Deprecated |
95
+ | "Segurança", "Vulnerabilidade", "Security", "CVE" | Security |
96
+
97
+ Se ambíguo, default `Added` para stories novas, `Changed` para alterações.
98
+
99
+ ### 3. Agrupar por epic
100
+
101
+ Para cada story, resolver o nome do epic:
102
+
103
+ 1. Se o frontmatter tem `epic: NN-nome`, usar `Epic NN — Nome`
104
+ 2. Buscar em `.wize/solutioning/epics/{epic}.md` o título (`# Epic NN: Nome`)
105
+ 3. Fallback: `Epic {epic_id}`
106
+
107
+ Agrupar stories por epic, depois por categoria.
108
+
109
+ ### 4. Gerar entrada do changelog
110
+
111
+ Montar a entrada no formato:
112
+
113
+ ```markdown
114
+ ## [{version}] — {YYYY-MM-DD}
115
+
116
+ {descrição curta do release — 1-2 frases sobre o que esta versão entrega}
117
+
118
+ ### Added
119
+ - **{epic_nome}:** {descrição}. #{story_id}
120
+
121
+ ### Changed
122
+ - **{epic_nome}:** {descrição}. #{story_id}
123
+
124
+ ### Fixed
125
+ - **{epic_nome}:** {descrição}. #{story_id}
126
+
127
+ ### Security
128
+ - **{epic_nome}:** {descrição}. #{story_id}
129
+ ```
130
+
131
+ ### 5. Atualizar CHANGELOG.md
132
+
133
+ Se `CHANGELOG.md` não existir, criar com o cabeçalho padrão:
134
+
135
+ ```markdown
136
+ # Changelog
137
+
138
+ All notable changes to this project are documented here.
139
+ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
140
+
141
+ > **Language:** entries are written in **Portuguese (pt-BR)**.
142
+
143
+ ## [Unreleased]
144
+ ```
145
+
146
+ Se existir:
147
+ 1. Localizar a linha `## [Unreleased]`
148
+ 2. Inserir a nova entrada entre `## [Unreleased]` e a primeira `## [versão]` existente
149
+ 3. Se não houver `## [Unreleased]`, inserir após o cabeçalho
150
+
151
+ ### 6. Verificar formatação
152
+
153
+ - A data está no formato `YYYY-MM-DD`
154
+ - A versão segue semver (`X.Y.Z`)
155
+ - Cada story tem referência ao `#story_id`
156
+ - Categorias vazias foram omitidas
157
+ - O link do Keep a Changelog está presente
158
+
159
+ ## Exemplo de saída
160
+
161
+ ```markdown
162
+ ## [0.12.0] — 2026-08-08
163
+
164
+ Release do cluster de ship: skills de release e changelog para o perfil core, roteamento por intenção expandido.
165
+
166
+ ### Added
167
+ - **Epic 09 — UX / intent:** Skill `wize-release` para bump de versão, changelog e tag git a partir das stories gated. #E09-S07
168
+ - **Epic 09 — UX / intent:** Skill `wize-changelog` para geração de changelog no formato Keep a Changelog. #E09-S07
169
+
170
+ ### Changed
171
+ - **Epic 09 — UX / intent:** Tabela de roteamento por intenção expandida com release, changelog, lançar, publicar, notas de versão. #E09-S03
172
+ ```
173
+
174
+ ## Anti-patterns
175
+
176
+ - Changelog escrito à mão sem referência às stories — perde rastreabilidade.
177
+ - Categoria "Added" para correção de bug — usar "Fixed".
178
+ - Data fora do formato ISO — usar `YYYY-MM-DD`.
179
+ - Pular stories concluídas — toda story `done` no sprint entra no changelog.
180
+ - Escrever changelog em inglês quando o projeto usa pt-BR — seguir o idioma do changelog existente.
181
+
182
+ ## Hand-off
183
+
184
+ > Changelog atualizado em `CHANGELOG.md`. {count} stories de {epic_count} epics registradas. Próximo: `/wize-release` para bump de versão e tag, ou revisão manual do changelog.
@@ -0,0 +1,117 @@
1
+ ---
2
+
3
+ code: wize-checkpoint-preview
4
+ description: "Use quando uma story estiver parcialmente implementada e precisar de preview de checkpoint para validar direção antes de continuar."
5
+ name: Checkpoint Preview
6
+ phase: 4-implementation
7
+ owner: wize-agent-dev # Shuri (+ wize-agent-architect Tony on call)
8
+ status: ready
9
+ ---
10
+
11
+ # Checkpoint Preview
12
+
13
+ **Goal.** Pause mid-story to validate direction before continuing. For larger stories where the cost of going off-rail is high, a quick checkpoint catches drift before it becomes rework.
14
+
15
+ Shuri drives. Tony on call for architectural drift. Hawkeye on call for test design drift.
16
+
17
+ ## When to run
18
+
19
+ - Manually, when a story is running long or feels off-track.
20
+ - After the first 2-3 commits of a larger story.
21
+ - When a new constraint is mentioned (security review, perf budget, vendor change).
22
+
23
+ ## When NOT to run
24
+
25
+ - Quick-dev / small stories (overhead exceeds the value).
26
+ - When the story is < 50% done and no surprise has come up yet.
27
+
28
+ ## Inputs
29
+
30
+ - The current story file: `.wize/solutioning/stories/{epic}/{story}.md`
31
+ - The git diff: uncommitted + committed since story start
32
+ - The `tea-design.md` for the story
33
+ - The `design-system/` tokens used so far
34
+
35
+ ## Output
36
+
37
+ - `.wize/implementation/checkpoints/{story_id}.md` (one file per checkpoint, append over time)
38
+ - A decision: continue / pivot / stop
39
+
40
+ ## Steps
41
+
42
+ ### 1. Pause
43
+
44
+ Stop writing code. Do not commit any pending work until the checkpoint is recorded.
45
+
46
+ ### 2. Snapshot
47
+
48
+ Write 5 lines:
49
+
50
+ - Files touched: (list, max 10)
51
+ - ACs done vs. remaining: (X / Y)
52
+ - Tests added: (count, by split)
53
+ - New dependencies: (list)
54
+ - Commits so far: (count)
55
+
56
+ ### 3. Sanity check (3 questions)
57
+
58
+ - **Are we solving the right problem?** Compare the implementation with the story's Context and ACs. If the story's intent was misunderstood, pivot.
59
+ - **Is the design holding?** Compare the code with the architecture. If a new pattern emerged without an ADR, flag it.
60
+ - **Any new constraints?** Did anything new appear (security finding, perf regression, vendor change, new stakeholder)?
61
+
62
+ ### 4. Decide
63
+
64
+ One of three:
65
+
66
+ - **Continue** — the path is right. Record the snapshot; resume.
67
+ - **Pivot** — change scope or approach. Open a follow-up story with `wize-create-story`; do not edit the current story's ACs.
68
+ - **Stop** — the story is no longer worth it. Move it to `backlog` via `wize-correct-course`.
69
+
70
+ One decision per checkpoint. Re-run for additional decisions.
71
+
72
+ ### 5. Hand off
73
+
74
+ Notify the next workflow:
75
+
76
+ - Continue → `/wize-dev-story` (resume).
77
+ - Pivot → `/wize-create-story` (new story for the pivot).
78
+ - Stop → `/wize-correct-course` (defer the original).
79
+
80
+ ## Output template
81
+
82
+ ```markdown
83
+ ---
84
+ story_id: E04-S02
85
+ checkpoint: 1
86
+ date: 2026-06-16
87
+ author: Shuri
88
+ ---
89
+
90
+ # Checkpoint — E04-S02
91
+
92
+ ## Snapshot
93
+ - Files touched: src/...
94
+ - ACs done vs. remaining: 1 / 4
95
+ - Tests added: 2 unit, 1 integration
96
+ - New dependencies: none
97
+ - Commits so far: 3
98
+
99
+ ## Sanity check
100
+ - Right problem? Yes.
101
+ - Design holding? Yes.
102
+ - New constraints? Vendor X deprecated their API; need a different client lib.
103
+
104
+ ## Decision
105
+ **Pivot** — see follow-up E04-S04 (client lib migration).
106
+ ```
107
+
108
+ ## Anti-patterns Shuri rejects
109
+
110
+ - Skipping the snapshot to "save time" — the snapshot is the artifact.
111
+ - Auto-pivoting (changing scope without an explicit checkpoint).
112
+ - Recording "continue" without the sanity check answers.
113
+ - Bundling multiple pivots in one checkpoint (one decision per run).
114
+
115
+ ## Hand-off
116
+
117
+ > "Checkpoint recorded for **{story_id}** (decision: {continue|pivot|stop}). Next: `/wize-dev-story` / `/wize-create-story` / `/wize-correct-course`."
@@ -0,0 +1,21 @@
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 = ""
@@ -0,0 +1,64 @@
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`.
@@ -0,0 +1,40 @@
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`.
@@ -0,0 +1,43 @@
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`.