pantheon-opencode 1.6.0-beta.1 → 1.6.0-beta.11

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 (133) hide show
  1. package/AGENTS.global.md +206 -0
  2. package/AGENTS.md +10 -891
  3. package/CHANGELOG.md +350 -0
  4. package/README.md +561 -52
  5. package/README.pt-BR.md +285 -20
  6. package/bin/pantheon-init.mjs +70 -4
  7. package/commands/pantheon-audit.md +7 -1
  8. package/commands/pantheon-consolidate.md +1 -1
  9. package/commands/pantheon-deepwork.md +14 -3
  10. package/commands/pantheon-focus.md +17 -0
  11. package/commands/pantheon-vision.md +61 -12
  12. package/package.json +24 -17
  13. package/plugin.json +2 -2
  14. package/pyproject.toml +8 -6
  15. package/scripts/build-agents-md.mjs +428 -56
  16. package/scripts/changelog-merge.mjs +161 -0
  17. package/scripts/{code_mode_server.py → code_mode.py} +3 -3
  18. package/scripts/cost.mjs +244 -41
  19. package/scripts/doctor.mjs +151 -1
  20. package/scripts/install/agents-md.mjs +4 -4
  21. package/scripts/install/backup.mjs +475 -0
  22. package/scripts/install/cli-ui.mjs +6 -1
  23. package/scripts/install/config-migration.mjs +317 -4
  24. package/scripts/install/exit-codes.mjs +26 -0
  25. package/scripts/install/health-check.mjs +21 -19
  26. package/scripts/install/interactive.mjs +16 -2
  27. package/scripts/install/migrate.mjs +41 -22
  28. package/scripts/install/opencode-version.mjs +246 -4
  29. package/scripts/install/opencode.mjs +1175 -215
  30. package/scripts/install/plan.mjs +287 -0
  31. package/scripts/install/plugin.mjs +62 -14
  32. package/scripts/install/shared.mjs +190 -48
  33. package/scripts/install/strings.mjs +20 -0
  34. package/scripts/install/venv.mjs +13 -3
  35. package/scripts/install/vision-prompt.mjs +171 -0
  36. package/scripts/install-mcp.mjs +28 -9
  37. package/scripts/{mcp_persistence_server.py → mcp_persistence.py} +52 -17
  38. package/{src/mcp/mcp_resources_server.py → scripts/mcp_resources.py} +2 -2
  39. package/scripts/{memory_mcp_server.py → memory_mcp.py} +2 -2
  40. package/scripts/probe-context-rehydrate.mjs +8 -2
  41. package/scripts/probe-pantheon-cost.mjs +71 -15
  42. package/scripts/prune.mjs +9 -3
  43. package/scripts/restore.mjs +222 -0
  44. package/scripts/run-node-tests.mjs +189 -0
  45. package/scripts/sync-artifacts.mjs +26 -13
  46. package/scripts/sync-tui.mjs +24 -3
  47. package/scripts/test-opencode-v2-sandbox.sh +180 -26
  48. package/scripts/validate-routing.mjs +3 -3
  49. package/scripts/validate-sandbox-install.mjs +138 -0
  50. package/scripts/versioning.mjs +13 -1
  51. package/scripts/vision-status.mjs +682 -0
  52. package/skills-lock.json +8 -8
  53. package/src/agents/aphrodite.md +20 -37
  54. package/src/agents/apollo.md +7 -3
  55. package/src/agents/athena.md +63 -35
  56. package/src/agents/demeter.md +8 -28
  57. package/src/agents/gaia.md +1 -1
  58. package/src/agents/hephaestus.md +10 -21
  59. package/src/agents/hermes.md +15 -38
  60. package/src/agents/iris.md +7 -1
  61. package/src/agents/mnemosyne.md +18 -54
  62. package/src/agents/nyx.md +1 -1
  63. package/src/agents/prometheus.md +16 -20
  64. package/src/agents/talos.md +10 -2
  65. package/src/agents/themis.md +5 -5
  66. package/src/agents/zeus.md +99 -172
  67. package/src/instructions/agent-return-format.instructions.md +34 -17
  68. package/src/instructions/backend-standards.instructions.md +2 -0
  69. package/src/instructions/frontend-standards.instructions.md +3 -1
  70. package/src/instructions/memory-protocol.instructions.md +12 -110
  71. package/src/instructions/test-economy.instructions.md +21 -0
  72. package/src/instructions/zeus-anti-stall.instructions.md +20 -67
  73. package/src/instructions/zeus-communication-rules.instructions.md +0 -1
  74. package/src/instructions/zeus-council-synthesis.instructions.md +31 -260
  75. package/src/instructions/zeus-memory-operations.instructions.md +30 -0
  76. package/src/instructions/zeus-timeout-retry.instructions.md +61 -89
  77. package/src/mcp/{code_mode_server.py → code_mode.py} +3 -3
  78. package/src/mcp/eval_store.py +2 -2
  79. package/src/mcp/{mcp_persistence_server.py → mcp_persistence.py} +52 -17
  80. package/{scripts/mcp_resources_server.py → src/mcp/mcp_resources.py} +2 -2
  81. package/src/mcp/{memory_mcp_server.py → memory_mcp.py} +2 -2
  82. package/src/mcp/{pantheon_vision_server.py → pantheon_vision.py} +286 -42
  83. package/src/mcp/requirements-mcp.txt +6 -4
  84. package/src/mcp/requirements-vision.txt +2 -2
  85. package/src/pantheon/cost-command.ts +403 -102
  86. package/src/pantheon/delegation-enforce.ts +10 -1
  87. package/src/pantheon/model-agents.ts +19 -0
  88. package/src/pantheon/model-command.ts +218 -56
  89. package/src/pantheon/presets.d.mts +0 -8
  90. package/src/pantheon/presets.mjs +5 -32
  91. package/src/pantheon/v2-bounded-read.ts +640 -0
  92. package/src/pantheon/v2-delegation-enforce.ts +214 -0
  93. package/src/pantheon/v2-execute-after.ts +186 -0
  94. package/src/pantheon/v2-model-overrides.ts +275 -0
  95. package/src/pantheon/v2-tools.ts +418 -0
  96. package/src/pantheon/v2-unsupported.d.mts +11 -0
  97. package/src/pantheon/v2-unsupported.mjs +90 -0
  98. package/src/pantheon/v2-vision.ts +622 -0
  99. package/src/pantheon/vision-local.ts +531 -0
  100. package/src/pantheon/vision.ts +1160 -115
  101. package/src/plugin-v2.ts +1158 -219
  102. package/src/plugin.ts +12 -9
  103. package/src/plugins/tui/dist/server.d.ts +1 -2
  104. package/src/plugins/tui/dist/server.d.ts.map +1 -1
  105. package/src/plugins/tui/dist/tui-v2.d.ts +154 -0
  106. package/src/plugins/tui/dist/tui-v2.d.ts.map +1 -0
  107. package/src/plugins/tui/dist/tui-v2.js +659 -0
  108. package/src/plugins/tui/dist/tui-v2.js.map +1 -0
  109. package/src/plugins/tui/dist/tui.d.ts +85 -82
  110. package/src/plugins/tui/dist/tui.d.ts.map +1 -1
  111. package/src/plugins/tui/dist/tui.js +72 -59
  112. package/src/plugins/tui/index-v2.ts +6 -0
  113. package/src/plugins/tui/package-lock.json +5516 -1353
  114. package/src/plugins/tui/package.json +22 -12
  115. package/src/plugins/tui/src/index-v2.tsx +734 -0
  116. package/src/plugins/tui/src/index.tsx +106 -85
  117. package/src/plugins/tui/src/opencode-v2.d.ts +13 -0
  118. package/src/plugins/tui/tsconfig.build.json +5 -0
  119. package/src/plugins/tui/tsconfig.typecheck.json +5 -0
  120. package/src/plugins/tui/tsdown.config.ts +22 -2
  121. package/src/plugins/tui/tui-v2.ts +2 -0
  122. package/src/plugins/tui/tui.ts +3 -0
  123. package/src/routing.yml +11 -21
  124. package/src/skills/README.md +3 -3
  125. package/src/skills/agent-coordination/SKILL.md +7 -2
  126. package/src/skills/artifact-management/SKILL.md +12 -5
  127. package/src/skills/auto-continue/SKILL.md +52 -35
  128. package/src/skills/code-review-checklist/SKILL.md +5 -5
  129. package/src/skills/context-compression/SKILL.md +26 -879
  130. package/src/skills/session-goal/SKILL.md +14 -5
  131. package/src/skills/spec-driven-development/SKILL.md +3 -1
  132. package/src/skills/tdd-with-agents/SKILL.md +18 -10
  133. package/opencode.json +0 -58
@@ -11,10 +11,10 @@ permission:
11
11
  gh *: allow
12
12
  webfetch: allow
13
13
  edit: deny
14
+ hashline_edit: deny
14
15
  task:
15
16
  "*": deny
16
17
  temperature: 0.2
17
- steps: 25
18
18
  skills:
19
19
  - git-workflow-and-versioning
20
20
  - artifact-management
@@ -46,6 +46,12 @@ mcp_tools:
46
46
  - Always open PRs as DRAFT unless explicitly told otherwise
47
47
  - Wait for human approval before merging
48
48
  - Never delete branches without confirmation
49
+ - **Never bypass hooks.** Never pass `--no-verify`, `-n`, or any hook-skipping
50
+ equivalent to `git commit`/`git push`. The pre-commit and commit-msg hooks MUST
51
+ run: they are a fail-closed security gate, not an optional step.
52
+ - **A failing or missing hook tool is a STOP, not an obstacle.** Report the exact
53
+ hook and error to @zeus and halt; never bypass it, amend around it, or work
54
+ around it — even when the failure looks unrelated to the staged change.
49
55
 
50
56
  ## Handoffs
51
57
  - Called by @zeus after review phase
@@ -6,24 +6,15 @@ description: Memory bank quality owner — initializes .pantheon/memory-bank/, w
6
6
  mode: all
7
7
  reasoning_effort: low
8
8
 
9
- steps: 25
10
9
  mcp_tools:
11
10
  pantheon-resources: all
12
11
  pantheon-memory:
13
12
  - memory_recall
14
13
  - memory_store
15
14
  - memory_search
16
- - memory_delete
17
- - memory_update
18
- - memory_export
19
- - memory_link
20
- - memory_traverse
21
- - memory_compress
22
- - memory_consolidate
23
- - memory_verify
24
- - memory_sessions
25
- - memory_expand
26
- - memory_cleanup
15
+ - memory_forget
16
+ - memory_list
17
+ - memory_stats
27
18
  pantheon-code-mode: [execute_code_script]
28
19
  skills:
29
20
  - artifact-management
@@ -65,6 +56,7 @@ If asked to edit code, refuse and redirect to the appropriate implementation age
65
56
  - Close sprints (wipe .tmp/)
66
57
  - Clean tmp without closing sprint
67
58
  - List artifacts
59
+ - Use `memory_forget` only for an explicitly requested durable-memory deletion; do not delete automatically.
68
60
 
69
61
  ### 2. Artifact Management
70
62
  - Create artifacts in .pantheon/memory-bank/.tmp/ (PLAN, IMPL, REVIEW, DISC)
@@ -114,9 +106,9 @@ Mnemosyne executes the expanded compression pipeline. When Zeus delegates compre
114
106
  - Append new entries to `_xref/index.md`
115
107
  - Increment `_xref/_next_id.json`
116
108
 
117
- 7. **Auto-index memory**: Store the new entries with the `memory_store` MCP tool (namespace `memory-bank`) so `memory_search` can find them. Search is FTS5 (BM25) keyword retrieval — there is no embedding step to run or report on.
109
+ 7. **Optional durable memory**: Only when explicitly requested and the result is reusable across sessions, store one concise top-level decision/fact. Do not index every compressed entry, phase result, or artifact.
118
110
 
119
- 8. **Report**: Return summary: "Compressed. 2 CRITICAL, 1 HIGH, 3 STANDARD. Budget: 15/20 lines. Cross-refs: +2 entities, +1 decision. Indexed X new, skipped Y duplicates."
111
+ 8. **Report**: Return the compression summary and any unresolved items; do not report memory-index counts unless an explicit store was requested.
120
112
 
121
113
  ### Write Protocol
122
114
  - Atomic write: .tmp → fsync → validate → rename
@@ -146,61 +138,33 @@ Mnemosyne recalls stored entries with the `memory_search` MCP tool:
146
138
  ```
147
139
 
148
140
  **Integration with compress_context:**
149
- After each `compress_context` run, store the new entries with `memory_store`:
150
- 1. Store each new entry with namespace `memory-bank` and a `memory-bank/<id>` key
151
- 2. Report: "Indexed X new memories, skipped Y duplicates"
141
+ Do not store each compressed entry automatically. Persist only one concise, reusable outcome when explicitly requested.
152
142
 
153
143
  **Integration with Close sprint:**
154
- When `Close sprint` is called, before wiping .tmp/:
155
- 1. Store the final batch of entries
156
- 2. Report final index stats
144
+ When `Close sprint` is called, do not create a durable-memory copy of temporary artifacts unless explicitly requested.
157
145
 
158
146
  ## Invocation Rules
159
147
  - Never invoked automatically after phases
160
148
  - Called explicitly by @zeus for memory tasks
161
- - Called by any agent for artifact creation
149
+ - Called by another agent only when an artifact/memory task is explicitly requested
162
150
 
163
- ## Quick-Index Handler (Tier 1 — Background Agent Results)
151
+ ## Explicit Memory Store
164
152
 
165
- Called automatically by Zeus when any agent returns a subtask_summary
166
- (background or foreground). Persists results via the `memory_store` MCP tool
167
- immediately, no Themis needed.
153
+ Use this only when the user or Zeus explicitly asks to preserve a reusable result. Never auto-index a `subtask_summary` or background-agent result.
168
154
 
169
- **Trigger patterns:**
170
- - Background agent completes → Zeus calls Mnemosyne Quick-index
171
- - Apollo returns discovery results → auto-indexed
172
- - Any agent returns subtask_summary → auto-indexed
155
+ **Use only for an explicit request to preserve one reusable result.** Background completion, Apollo discovery, and `subtask_summary` return are not triggers for durable storage.
173
156
 
174
- **Command:** `@mnemosyne Quick-index <subtask_summary_json>`
157
+ **Command:** `@mnemosyne Store <concise reusable result>`
175
158
 
176
159
  **What it does:**
177
- 1. Calls `memory_store` with the summary fields
178
- 2. Stores under a `type/agent` namespace and a `<type>:<agent>:<date>` key
179
- 3. Reports: "Indexed: {type} from @{agent} (namespace {namespace})"
180
-
181
- **Parameters (from subtask_summary):**
182
- | Field | Source | Required |
183
- |-------|--------|----------|
184
- | `summary` | subtask_summary.summary | [OK] |
185
- | `agent` | Agent name | [OK] |
186
- | `files_changed` | subtask_summary.files_changed | [FAIL] (optional) |
187
- | `status` | subtask_summary.status | [FAIL] (default: complete) |
188
- | `source_type` | Context: subtask_summary / impl_artifact / discovery | [FAIL] (default: subtask_summary) |
189
- | `tags` | Comma-separated | [FAIL] (auto-generated) |
190
-
191
- **Idempotency:** content_hash dedup — calling twice with same summary is a no-op.
192
-
193
- **Safety:**
194
- - [OK] Safe to call on partial results (indexes what's available)
195
- - [OK] Safe to call multiple times (idempotent)
196
- - [OK] Works with no embedding backend (FTS5 keyword search only)
197
- - [FAIL] Does NOT generate ZZ artifact (that's Tier 2)
198
- - [FAIL] Does NOT update 01-active-context.md (that's Tier 2)
160
+ 1. Check whether the fact/decision is already present if duplication matters
161
+ 2. Store one concise result with an appropriate namespace and stable key
162
+ 3. Confirm success; never claim a failed or unavailable store was persisted
199
163
 
200
164
  ## Auto-Continue (Embedded: Memory)
201
165
 
202
- - Auto-continue through memory initialization and Quick-index operations
203
- - No checkpoint needed (all operations are idempotent)
166
+ - Continue through explicitly requested memory-bank tasks
167
+ - Do not start Quick-index or persistence operations automatically
204
168
  - Stop before destructive memory operations (delete, cleanup, compress with force)
205
169
  - For context compression pipeline: auto-continue through all 8 steps
206
170
  - For Sprint close: auto-continue through final index → wipe .tmp/ → update progress
package/src/agents/nyx.md CHANGED
@@ -9,10 +9,10 @@ permission:
9
9
  bash: allow
10
10
  webfetch: allow
11
11
  edit: deny
12
+ hashline_edit: deny
12
13
  task:
13
14
  "*": deny
14
15
  temperature: 0.1
15
- steps: 25
16
16
  skills:
17
17
  - security-hardening
18
18
  - auto-continue
@@ -12,7 +12,6 @@ permission:
12
12
  task:
13
13
  "*": deny
14
14
  temperature: 0.2
15
- steps: 30
16
15
  skills:
17
16
  - git-workflow-and-versioning
18
17
  - incremental-implementation
@@ -51,8 +50,14 @@ mcp_tools:
51
50
  - Separate configs: dev/staging/prod
52
51
 
53
52
  ## Handoffs
54
- - **@apollo**: For infrastructure research and patterns
55
- - **@themis**: For code review after implementation
53
+ - **@apollo**: For external or broad infrastructure research when needed
54
+ - **@themis**: For security-sensitive, global, production-impacting, or material configuration changes
55
+
56
+ ## Proportional Execution
57
+
58
+ - Inspect relevant configuration directly and make a bounded, reversible fix without mandatory research, planning, or parallel delegation.
59
+ - Use external research only when provider/runtime behavior is unknown; verify the changed configuration or build path with focused checks.
60
+ - Global/provider credentials, broad permissions, destructive infrastructure changes, and production deploys require Themis review where applicable and explicit human approval. Full-auto cannot authorize them.
56
61
 
57
62
  ## Model Provider Hub
58
63
 
@@ -71,7 +76,7 @@ You are the model provider hub. You route AI requests to the right model, optimi
71
76
  ## Workflow
72
77
 
73
78
  ### Provider Configuration
74
- 1. Research current model pricing and capabilities (use webfetch or delegate to @apollo)
79
+ 1. Research current pricing/capabilities only when the requested choice depends on changing external facts
75
80
  2. Configure routing rules: which model for which task type
76
81
  3. Set up fallback chains: if model A fails/rate-limits → model B
77
82
  4. Validate: test each provider endpoint, verify cost estimates
@@ -80,12 +85,12 @@ You are the model provider hub. You route AI requests to the right model, optimi
80
85
  1. Analyze current usage patterns (delegate to @nyx for observability data)
81
86
  2. Identify expensive patterns: premium models used for simple tasks, excessive token counts
82
87
  3. Recommend tier adjustments: simple tasks → fast models, complex tasks → premium
83
- 4. Document trade-offs: "Switching [task] from [premium] to [default] saves $X/month with Y% quality impact"
88
+ 4. Document trade-offs from dated evidence; report quality deltas only after an A/B evaluation and never combine unrelated tier savings
84
89
 
85
90
  ### Post-Configuration
86
- 1. Send to @themis for provider config review
87
- 2. Document routing decisions in ADR format via @mnemosyne
88
- 3. Report: "Model routing configured. Providers: [list]. Fallback chains: [list]. Estimated monthly cost: $X."
91
+ 1. Send material/security-sensitive or global provider configuration to @themis before activation
92
+ 2. Record durable architecture decisions through @mnemosyne when one is warranted
93
+ 3. Summarize the changed providers, checks, and any measured cost estimate; do not invent projections
89
94
 
90
95
  ## When NOT to Use Prometheus
91
96
  - For backend business logic — that's @hermes
@@ -144,20 +149,11 @@ Document each chain in routing.yml under the agent's delegation entry.
144
149
 
145
150
  ## Auto-Continue (Embedded: Deploy)
146
151
 
147
- - Auto-continue through Docker build → test → push pipeline
148
- - Checkpoint after build succeeds — run `pantheon-code-mode execute_code_script checkpoint_session.py save prometheus`
149
- - STOP before deploy to production — always ask for human confirmation
152
+ - Auto-continue through authorized build and focused test steps
153
+ - Do not require a checkpoint script for a one-off command; checkpoint only long-running/multi-phase work when context-loss risk warrants it
154
+ - STOP before push, merge, production deploy, global configuration, destructive operation, or broad permission change — require explicit human confirmation
150
155
  - If build fails, stop and diagnose — do not retry blindly
151
156
  - Partial results NOT allowed — must complete or fail
152
157
 
153
- ## Inline Compression
154
-
155
- Compress working context with the `context-compression` skill (L1, Pantheon-native) when:
156
- - > Inline compression: See `skill: context-compression` (C8, C9, C11)
157
-
158
- **How**: call `execute_code_script("compress-inline.py", args=["compress", "--text", "<content>"])`. Use `score` to preview priority, `batch` for multiple files. See the `context-compression` skill for the full protocol.
159
-
160
- **Note**: scrubbing is automatic in the MCP layer; never embed raw secrets in the `--text` argument beyond what the tool scrubs.
161
-
162
158
  ## Skills
163
159
  `security-hardening`, `git-workflow-and-versioning`
@@ -10,7 +10,6 @@ permission:
10
10
  task:
11
11
  "*": deny
12
12
  temperature: 0.3
13
- steps: 35
14
13
  skills:
15
14
  - incremental-implementation
16
15
  mcp_tools:
@@ -28,7 +27,7 @@ mcp_tools:
28
27
 
29
28
  ### 2. No TDD Ceremony
30
29
  - Hotfixes skip the RED->GREEN->REFACTOR cycle
31
- - Fix and verify with existing tests
30
+ - Fix and run the narrowest relevant existing test/check; do not run a full suite for a micro-edit
32
31
  - Document the root cause inline
33
32
 
34
33
  ### 3. Escalation Rules
@@ -36,8 +35,17 @@ Escalate to @zeus if:
36
35
  - Fix requires > 2 files or > 10 lines changed
37
36
  - Has security implications
38
37
  - Requires database migration
38
+ - Touches authentication, security-sensitive behavior, production data, global configuration, or broad permissions
39
39
  - Breaks existing tests unexpectedly
40
40
 
41
+ Full-auto does not permit Talos to perform push/merge/deploy, destructive/global changes, or sensitive work; escalate for required specialist review and explicit human approval.
42
+
43
+ ## Requested Artifact Completion
44
+
45
+ - When a task names an output file, complete it with a successful native `write` or `edit` tool call; research or formatting the contents in a reply is not file completion.
46
+ - Searching the MCP Code Mode catalog only discovers MCP tools. A missing MCP match does not mean native file tools are unavailable.
47
+ - Verify the write succeeded and, when practical, read the artifact back. If a native file tool is actually unavailable or denies the write, state that specific limitation and do not claim completion.
48
+
41
49
  ## Constraints
42
50
  - No orchestration: you work standalone
43
51
  - No Themis review needed (low-risk)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: themis
3
- description: "Quality & security gate — Ruff/Biome linting, dead/legacy code detection, OWASP Top 10, coverage >80%, correctness, deprecation audit. Called by implementers; escalates blockers to zeus."
3
+ description: "Quality & security gate — Ruff/Biome linting, dead/legacy code detection, OWASP Top 10, applicable coverage requirements, correctness, deprecation audit. Called for material/sensitive changes; escalates blockers to zeus."
4
4
  mode: all
5
5
  reasoning_effort: high
6
6
  permission:
@@ -8,15 +8,14 @@ permission:
8
8
  grep: allow
9
9
  bash: allow
10
10
  edit: deny
11
+ hashline_edit: deny
11
12
  task:
12
13
  "*": deny
13
14
  temperature: 0.1
14
- steps: 30
15
15
  skills:
16
16
  - code-review-checklist
17
17
  - security-hardening
18
18
  - tdd-with-agents
19
- - context-compression
20
19
  mcp_tools:
21
20
  pantheon-resources: all
22
21
  pantheon-memory: [memory_search]
@@ -138,13 +137,14 @@ Tempo estimado: ~60% do esforco de review
138
137
  - Bug fix com 1 linha: so Layer 1.5 + Layer 1
139
138
  - Pull request de 50+ arquivos: no minimo Layer 1.5 + Layer 1 + 2
140
139
 
141
- ## Quality Gates (Nao Negociavel)
140
+ ## Quality Gates (Proporcionais)
142
141
 
143
- - [ ] Coverage minimo: 80%
142
+ - [ ] Verificar a cobertura exigida pelo repositório somente quando mensurável e relevante ao código alterado; não impor um percentual universal a typo, documentação ou microedição isolada
144
143
  - [ ] Todos os testes passam
145
144
  - [ ] Nenhuma vulnerabilidade critica (OWASP)
146
145
  - [ ] Sem deprecacoes ou libs obsoletas
147
146
  - [ ] IntentGate passou (codigo resolve o problema certo)
147
+ - [ ] Auth/security, dados/schema e ações sensíveis mantêm testes, revisão especializada e aprovação humana aplicáveis
148
148
 
149
149
  ## Verdict
150
150