wizz-method 2.27.0 → 2.28.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "wizz-method",
4
- "version": "2.27.0",
4
+ "version": "2.28.0",
5
5
  "description": "Wizz Method: método de agência orientado por IA em PT-BR",
6
6
  "keywords": [
7
7
  "agile",
@@ -6,4 +6,4 @@
6
6
  # once. Don't copy this text into another toml: reference it via `include`.
7
7
  # ---
8
8
 
9
- Mechanical work (scanning, lookup, repetitive diff, an already-specified change): don't run it in the session when it's large (more than 3 files, or a scan across a directory; a tiny mechanical change stays in the session); dispatch wizz-exec-mechanical/wizz-exec-standard subagents, partitioned one per file/module, up to 4 concurrent. The session's model is the boss: on the Standard tier it does common work itself; above Standard (Opus, Fable) it delegates execution below its tier, sending common work to wizz-exec-standard and keeping only work that fits in 1 file and a few lines; it dispatches and decides with the user. Hard work escalates to wizz-exec-strong when the session's own tier isn't enough (same error twice, cause unclear, or architecture/schema/auth/payments/3+ modules); strong never dispatches, it returns ESCALAR to the session, which then dispatches wizz-exec-ultra with strong's findings. Before any dispatch, measure the size, not just the difficulty: more than one layer (database, backend/worker, app/UI, external automation) or ~8 files means one executor per layer, each brief with max_calls at about 2/3 of the tier's turn cap; a cross-layer story never goes whole to one executor, and a partial return gets split, not "continue". Diff review always goes to wizz-exec-review (pinned to the Strong tier, never inherits the session). Tell the user the tier and quantity of each dispatch. Full ladder in `_shared/model-ladder.md` and the rule in `_shared/token-economy.md` of the wizz module.
9
+ Mechanical work (scanning, lookup, repetitive diff, an already-specified change): don't run it in the session when it's large (more than 3 files, or a scan across a directory; a tiny mechanical change stays in the session); dispatch wizz-exec-mechanical/wizz-exec-standard subagents, partitioned one per file/module, up to 4 concurrent. The session's model is the boss: on the Standard tier it does common work itself; above Standard (Opus, Fable) it delegates execution below its tier, sending common work to wizz-exec-standard and keeping only work that fits in 1 file and a few lines; it dispatches and decides with the user. Hard work escalates to wizz-exec-strong when the session's own tier isn't enough (same error twice, cause unclear, or architecture/schema/auth/payments/3+ modules); strong never dispatches, it returns ESCALAR to the session, which then dispatches wizz-exec-ultra with strong's findings. Before any dispatch, measure the size, not just the difficulty: more than one layer (database, backend/worker, app/UI, external automation) or ~8 files means one executor per layer, each brief with max_calls at about 2/3 of the tier's turn cap; a cross-layer story never goes whole to one executor, and a partial return gets split, not "continue". Diff review always goes to wizz-exec-review (pinned to the Strong tier, never inherits the session). Before the first dispatch of a session, run `_shared/despacho-checklist.md` (whole story, tier, layers, discovery, announcement); with `/orchestration` in the request, every worker goes through `orca orchestration worker-start`, never `Agent`. Tell the user the tier and quantity of each dispatch. Full ladder in `_shared/model-ladder.md` and the rule in `_shared/token-economy.md` of the wizz module.
@@ -0,0 +1,11 @@
1
+ # Dispatch checklist (single source)
2
+
3
+ Run these five steps before the FIRST dispatch of a session, whatever the vehicle (subagent `Agent` or Orca worker). Without all five, do not dispatch. The router, the maestro and `wizz-quick-dev` point here instead of repeating it.
4
+
5
+ 1. **Read the whole story** (or brief). Look for the tier, order and merge notes between stories. Never decide from a summary, a title or an epics header.
6
+ 2. **Tier by the ladder** (`_shared/model-ladder.md`). A "sensitive" guess needs the story to say so; do not assume it.
7
+ 3. **Layers and files.** More than one layer (database, backend/worker, app/UI, external automation, docs) or about 8 files means one executor per layer, each brief with `max_calls`. Check the fan-out cap in the ladder.
8
+ 4. **Discovery** (only when the request carries `/orchestration`): `orca account list`, `which claude codex agy`, the Codex default in `~/.codex/config.toml`, `agy models`. Dispatch only to an agent with an active account.
9
+ 5. **Announce** agent, model, effort and quantity to the user before dispatching ("2 × Codex gpt-6.1-sol medium: UI layer; 1 × Claude Sonnet: migration").
10
+
11
+ **Vehicle.** If the request carries `/orchestration`, every worker, starting with the first, goes through `orca orchestration worker-start` with `--agent`, `--model` and `--effort`. A native `Agent` subagent is allowed only when the request does not mention orchestration. Every brief ends with a mandatory `worker_done`; acceptance is the session's own verification (type check and tests run by the session), never only the worker's report.
@@ -4,7 +4,7 @@ The names `wizz-exec-mechanical`/`wizz-exec-standard`/`wizz-exec-strong`/`wizz-e
4
4
 
5
5
  ## The recommended session (the boss)
6
6
 
7
- The recommended session model is the Standard tier (Sonnet / gpt-6-sol / claude-sonnet-5-5 / gemini-3.5-flash). The boss does common work itself — commands, questions, implementation with a spec — dispatches subagents for isolation or parallel work, arbitrates conflict between executor and reviewer, and takes architecture/product decisions WITH the user.
7
+ The recommended session model is the Standard tier (Sonnet / gpt-6.1-sol / claude-sonnet-5-5 / gemini-3.5-flash). The boss does common work itself — commands, questions, implementation with a spec — dispatches subagents for isolation or parallel work, arbitrates conflict between executor and reviewer, and takes architecture/product decisions WITH the user.
8
8
 
9
9
  A session running above Standard (Opus, Fable, Mythos...) thinks, decides and reviews, and delegates execution below its tier: common work (implementation with a spec, a bug with a known cause, tests) goes to `wizz-exec-standard`, mechanical work to `wizz-exec-mechanical`. It only does by hand what costs less than a subagent's fixed context: work that fits in 1 file and a few lines, commands, questions. Work at its own tier stays with it: an Opus session does Strong work itself and dispatches `wizz-exec-ultra` only after that attempt returns `ESCALAR` per the escalation signals below; a session on the Ultra model (Fable) takes strong's `ESCALAR` itself and never dispatches `wizz-exec-ultra`. Review is the exception — it never stays with the boss: it always runs on `wizz-exec-review`, pinned to the Strong tier, so in a Fable session review moves off the boss and onto Opus. (Owner's decision, 2026-11-04: an Opus session used to absorb every tier below it and nothing was ever dispatched.)
10
10
 
@@ -14,13 +14,13 @@ How to know who the boss is in Claude Code: the system prompt states the session
14
14
 
15
15
  | Tier | Subagent | Use | Claude Code | Codex | OpenCode | Gemini CLI | Antigravity (Orca worker) |
16
16
  |---|---|---|---|---|---|---|---|
17
- | Mechanical | `wizz-exec-mechanical` | scanning, rename, repetitive diff, 100% specified change | haiku (maxTurns 50, no effort field) | gpt-6-luna, effort low | anthropic/claude-haiku-4-5 | gemini-3.1-flash-lite (max_turns 50, no effort field) | gemini-3.8-flash-low |
18
- | Standard | `wizz-exec-standard` | small/medium defined feature, bug with known cause, tests | sonnet, effort medium (maxTurns 80) | gpt-6-sol, effort medium | anthropic/claude-sonnet-5-5 | gemini-3.5-flash (max_turns 80) | gemini-3.8-flash-medium |
19
- | Strong | `wizz-exec-strong` | bug with unclear cause after one investigation cycle, refactor spanning modules, schema/auth/payment changes, local technical decision | opus, effort high (maxTurns 120) | gpt-6-sol, effort high | anthropic/claude-opus-5-5 | gemini-3.1-pro-preview (max_turns 120) | gemini-4-argon-high |
20
- | Ultra | `wizz-exec-ultra` | ultra-hard work the Strong tier returned `ESCALAR` on, plus its findings | fable, effort xhigh (maxTurns 150) | gpt-6-astra, effort xhigh | anthropic/claude-fable-5-1 | no ultra tier on this platform | no ultra tier: goes to Claude Fable |
21
- | Review | `wizz-exec-review` | review of a diff produced by any tier; pinned to Strong, never inherits the session | opus, effort high (maxTurns 60) | gpt-6-sol, effort high | anthropic/claude-opus-5-5 | gemini-3.1-pro-preview (max_turns 60) | not used: review stays on Claude (see Orca workers) |
17
+ | Mechanical | `wizz-exec-mechanical` | scanning, rename, repetitive diff, 100% specified change | haiku (maxTurns 50, no effort field) | gpt-6-luna, effort low | anthropic/claude-haiku-4-5 | gemini-3.1-flash-lite (max_turns 50, no effort field) | gemini-3.8-flash-high |
18
+ | Standard | `wizz-exec-standard` | small/medium defined feature, bug with known cause, tests | sonnet, effort medium (maxTurns 80) | gpt-6.1-sol, effort medium | anthropic/claude-sonnet-5-5 | gemini-3.5-flash (max_turns 80) | gemini-4-hydrogen-high |
19
+ | Strong | `wizz-exec-strong` | bug with unclear cause after one investigation cycle, refactor spanning modules, schema/auth/payment changes, local technical decision | opus, effort high (maxTurns 120) | gpt-6.1-sol, effort high | anthropic/claude-opus-5-5 | gemini-3.1-pro-preview (max_turns 120) | gemini-4-hydrogen-xhigh |
20
+ | Ultra | `wizz-exec-ultra` | ultra-hard work the Strong tier returned `ESCALAR` on, plus its findings | fable, effort high (maxTurns 150) | gpt-6-astra, effort xhigh | anthropic/claude-fable-5-1 | no ultra tier on this platform | no ultra tier: goes to Claude Fable |
21
+ | Review | `wizz-exec-review` | review of a diff produced by any tier; pinned to Strong, never inherits the session | opus, effort high (maxTurns 60) | gpt-6.1-sol, effort high | anthropic/claude-opus-5-5 | gemini-3.1-pro-preview (max_turns 60) | not used: review stays on Claude (see Orca workers) |
22
22
 
23
- Staying current: Claude Code tiers are aliases that Claude Code points at the newest model, so they never need a bump. Codex has no such alias: on install and on every `wizz update`, the installer reads the machine's Codex models cache (`~/.codex/models_cache.json`) and swaps each pinned Codex model for the newest current model of the same class (fast, workhorse, frontier). The table's Codex column is the fallback, used when the cache is missing, older than the spec, or the newer model lacks the tier's effort. OpenCode and Gemini CLI stay pinned to the table. The Antigravity column is not installed as subagents: it is the fallback for Orca workers (`--agent antigravity`), and the session confirms it against `agy models` before each dispatch (checked on 2026-11-04).
23
+ Staying current: Claude Code tiers are aliases that Claude Code points at the newest model, so they never need a bump. Codex has no such alias: on install and on every `wizz update`, the installer reads the machine's Codex models cache (`~/.codex/models_cache.json`) and swaps each pinned Codex model for the newest current model of the same class (fast, workhorse, frontier). The table's Codex column is the fallback, used when the cache is missing, older than the spec, or the newer model lacks the tier's effort. OpenCode and Gemini CLI stay pinned to the table. The Antigravity column is not installed as subagents: it is the fallback for Orca workers (`--agent antigravity`), and the session confirms it against `agy models` before each dispatch (checked on 2026-11-14).
24
24
 
25
25
  OpenCode gets the model only: its per-agent effort field isn't documented, and it has no per-agent turn cap field either. Claude Code and Gemini CLI enforce turn caps natively (`maxTurns` / `max_turns`); Codex and OpenCode have no per-agent turn cap field, so briefs to them should always carry `max_calls`.
26
26
 
@@ -81,13 +81,28 @@ The tier answers "how hard"; it does not answer "how big". Work that is easy per
81
81
 
82
82
  Applies only when the session runs `/orchestration` (Orca workers); without it, nothing above changes. Orca workers let the session spread work across vendors (Claude, Codex, Antigravity), each with its own quota. The boss is still the Claude session.
83
83
 
84
+ 0. **Checklist first.** Run `_shared/despacho-checklist.md` before the first worker. With `/orchestration` in the request, the first dispatch is already a worker (`orca orchestration worker-start`), never `Agent`; the `wizz-router-enforce.js` hook injects this reminder when the prompt carries the command.
84
85
  1. **Discover before dispatching.** `orca account list` (which Claude/Codex accounts are active), `which claude codex agy`, the Codex default in `~/.codex/config.toml`, and `agy models` for Antigravity. Dispatch only to an agent with an active account; never assume the list.
85
86
  2. **Tier first, agent second.** Classify each worker with this ladder (mechanical, standard, strong, ultra) exactly as for subagents, then pick, among the available agents, the cheapest model that covers the tier (the table above maps tier to model per vendor).
86
87
  3. **Sensitive areas stay on Claude.** Work touching database schema or migrations, auth, payments, permissions, or deletion of data goes to a Claude worker (or a `wizz-exec-*` subagent), whatever the tier.
87
88
  4. **A failure escalates to Claude.** If a non-Claude worker fails once (gives up, returns broken work, or `ESCALAR`), the retry goes to Claude at the same tier or above, never to the same vendor again for that unit.
88
89
  5. **Explicit agent and model.** Every `orca orchestration worker-start` carries `--agent` and `--model` (and `--effort` when the agent accepts it). A worker on the agent's default model breaks the ladder, like a subagent without `model`. Briefs to Codex and Antigravity always carry `max_calls`.
89
90
  6. **Review is always Claude.** Every worker's output, from any vendor, is reviewed by `wizz-exec-review` (Claude, Strong tier), never in another vendor. Other vendors build; Claude reviews and the boss gives the final verdict. (Owner's decision, 2026-11-04.)
90
- 7. **Transparency.** Each dispatch states agent, model, quantity and why ("2 × Codex gpt-6-sol medium: UI layer; 1 × Claude Sonnet: migration, sensitive area").
91
+ 7. **Transparency.** Each dispatch states agent, model, quantity and why ("2 × Codex gpt-6.1-sol medium: UI layer; 1 × Claude Sonnet: migration, sensitive area").
92
+
93
+ ## Benchmark basis (researched 2026-11-14)
94
+
95
+ Why the table looks like this. Official = vendor docs; independent = Vals.ai Terminal-Bench 4.0 (same harness for all, updated 2026-11-11). Vendor-reported SWE-bench Pro is not comparable with the Scale leaderboard, so it is not used to rank.
96
+
97
+ - **Claude:** Sonnet 5.5 64.1% vs Opus 5.5 65.2% vs Fable 5.2 65.2% (independent), at US$10.75 / 12.04 / 14.56 per task. Sonnet is the standard tier; Opus earns its place on long, multi-module work; Fable pays off only on very long tasks, so `max` effort is not worth it. Haiku 5.5 scores 36.4% and its price jumps 5x above 100k prompt tokens: mechanical only, with short context.
98
+ - **Codex:** gpt-6.1-sol has the best cost per task in the ranking (55.1% at US$1.72); gpt-6-astra adds a few points for about 5x the price. gpt-6-luna scores 13.6% on long terminal work: never beyond mechanical. gpt-6-sol is no longer recommended by Codex; the pinned Codex column now names gpt-6.1-sol (bumped 2026-11-14).
99
+ - **Antigravity (owner has the Pro plan, 2026-11-14):** mechanical is gemini-3.8-flash at high effort (cheapest; 80% SWE-bench and 89.5% LiveCodeBench in short tasks, but 18.2% on long terminal work, so scoped edits only). Claude Opus/Sonnet via agy spend Google quota, not Anthropic's, and are available on Pro. gemini-4-hydrogen is the only Gemini 4 on every plan (54.0% at US$7.56 per task). gemini-4-argon has the worst cost per result (57.6% at US$17.64). gemini-4-carbon needs the Ultra plan.
100
+ - **Effort before model:** raise effort one step on the same model before moving up a tier. A cheaper model with a lower effort can match a pricier one.
101
+ - **Delegate only independent pieces** or work larger than one context window. A chain of dependent steps stays on one model.
102
+ - **Cross-vendor review is asymmetric** (arXiv 2607.21656): Claude reviewing Codex improved results, Codex reviewing Claude made them worse. This backs "review is always Claude".
103
+ - **Quota is opaque:** no vendor publishes how much quota each effort level consumes. Using Claude through `agy` spends Google's quota, not Anthropic's.
104
+
105
+ Review this section when: a model is retired, a promo ends (Argon and Carbon double on 2026-12-01, Gemini 3.8 Flash on 2027-01-01, the Claude 4.6 models and GPT-OSS leave Antigravity on 2026-11-18), a new model ships, or the user asks to update the repos.
91
106
 
92
107
  ## Transparency
93
108
 
@@ -125,7 +125,7 @@ Handoff rule:
125
125
 
126
126
  **Invocation contract:** `areas.<area>.agent` and the menu destinations are **persona skill** names, not native subagent types. In the current session, invoke `Skill(skill="wizz-growth", args="<CRO brief>")` (or the chosen area's skill). Never pass `wizz-growth`, `wizz-designer`, `wizz-qa`, or `wizz-maestro` as `subagent_type` just because the registry calls them agents.
127
127
 
128
- Before any `wizz-exec-*` dispatch, measure and partition: count layers (database, backend/worker, app/UI, external automation, docs) and files; more than one layer or ~8 files means one executor per layer, each brief with `max_calls`, and you join the parts (rule in "Size before dispatch", `_shared/model-ladder.md`). For isolated/parallel work, pick a `wizz-exec-*` that's on the list of available agents and pass in the brief the area skill to load, the shard, and the scope. The executor must load the full entry skill before the relevant references; it doesn't inherit the skills the maestro already loaded. If no suitable executor is available, run the skill in the current session. If the skill is also missing, report the missing install, without inventing an agent type or repeating the call that failed. When the session runs `/orchestration` (Orca workers), each worker follows "Orca workers" in `_shared/model-ladder.md`: tier first, then the cheapest available agent that covers it, explicit `--agent`/`--model`, sensitive areas on Claude, and review always on Claude.
128
+ Before the first dispatch of a session, run `_shared/despacho-checklist.md` (whole story, tier, layers, discovery, announcement). When the request carries `/orchestration`, dispatch with `orca orchestration worker-start --agent --model --effort` from the first worker, never with `Agent` (section "Orca workers" in `_shared/model-ladder.md`). Before any `wizz-exec-*` dispatch, measure and partition: count layers (database, backend/worker, app/UI, external automation, docs) and files; more than one layer or ~8 files means one executor per layer, each brief with `max_calls`, and you join the parts (rule in "Size before dispatch", `_shared/model-ladder.md`). For isolated/parallel work, pick a `wizz-exec-*` that's on the list of available agents and pass in the brief the area skill to load, the shard, and the scope. The executor must load the full entry skill before the relevant references; it doesn't inherit the skills the maestro already loaded. If no suitable executor is available, run the skill in the current session. If the skill is also missing, report the missing install, without inventing an agent type or repeating the call that failed. When the session runs `/orchestration` (Orca workers), each worker follows "Orca workers" in `_shared/model-ladder.md`: tier first, then the cheapest available agent that covers it, explicit `--agent`/`--model`, sensitive areas on Claude, and review always on Claude.
129
129
 
130
130
  When invoking the area agent, declare the brief in the format of the [shared handoff protocol](../../../../core-skills/_shared/handoff-protocol.md): `feature` (the slug resolved above, or `nenhuma`), `origem` (you, for the anti-loop — the agent never hands the same request back to you), `cérebro já consultado` (the up-to-3-line summary you already pulled in Step 2, cutting the agent's duplicate lookup), decisions already made in the chain, the entry skill **by name** (when the registry `when:` matches the request, write it: "entry skill: wizz-vsl", not just the area) and the relevant references (without loading references unrelated to the task), optional `model_hint`, and optional `max_calls` (cap on the executor's tool calls). The area agent that receives this summary skips its own `/wizz-cerebro ver` step.
131
131
 
@@ -1,9 +1,9 @@
1
1
  # Gerado por tools/generate-subagents.mjs a partir de src/modules/wizz/subagents/spec.yaml. Não edite este arquivo direto: edite o spec.yaml e rode `npm run generate:subagents`.
2
2
  name = "wizz-exec-review"
3
3
  description = """
4
- Wizz Method reviewer pinned to the Strong tier (gpt-6-sol, effort high), never to the session's model. Receives a diff or an executor's result and reviews correctness, security, regressions, and scope adherence. Inside wizz-code-review it runs ONE layer; it never replaces that skill, which orchestrates the layers from the main session. Doesn't implement: returns a verdict and a list of issues with file:line.
4
+ Wizz Method reviewer pinned to the Strong tier (gpt-6.1-sol, effort high), never to the session's model. Receives a diff or an executor's result and reviews correctness, security, regressions, and scope adherence. Inside wizz-code-review it runs ONE layer; it never replaces that skill, which orchestrates the layers from the main session. Doesn't implement: returns a verdict and a list of issues with file:line.
5
5
  """
6
- model = "gpt-6-sol"
6
+ model = "gpt-6.1-sol"
7
7
  model_reasoning_effort = "high"
8
8
  sandbox_mode = "read-only"
9
9
  developer_instructions = """
@@ -1,9 +1,9 @@
1
1
  # Gerado por tools/generate-subagents.mjs a partir de src/modules/wizz/subagents/spec.yaml. Não edite este arquivo direto: edite o spec.yaml e rode `npm run generate:subagents`.
2
2
  name = "wizz-exec-standard"
3
3
  description = """
4
- Standard Wizz Method executor for day-to-day implementation. Well-defined small/medium features, bug fixes with a known cause, multi-file edits, tests. Same tier as the recommended session model: dispatch it for isolation or parallel work (1 per file/module, up to 4 at once), not to escalate. Size, not just difficulty: work crossing more than one layer (database, backend/worker, app/UI, external automation) or ~8 files is split, one dispatch per layer, each brief with max_calls. Model on this platform: gpt-6-sol, effort medium.
4
+ Standard Wizz Method executor for day-to-day implementation. Well-defined small/medium features, bug fixes with a known cause, multi-file edits, tests. Same tier as the recommended session model: dispatch it for isolation or parallel work (1 per file/module, up to 4 at once), not to escalate. Size, not just difficulty: work crossing more than one layer (database, backend/worker, app/UI, external automation) or ~8 files is split, one dispatch per layer, each brief with max_calls. Model on this platform: gpt-6.1-sol, effort medium.
5
5
  """
6
- model = "gpt-6-sol"
6
+ model = "gpt-6.1-sol"
7
7
  model_reasoning_effort = "medium"
8
8
  developer_instructions = """
9
9
  You are an implementation executor for the Wizz Method. You receive a brief with a goal and context, and you implement it.
@@ -1,9 +1,9 @@
1
1
  # Gerado por tools/generate-subagents.mjs a partir de src/modules/wizz/subagents/spec.yaml. Não edite este arquivo direto: edite o spec.yaml e rode `npm run generate:subagents`.
2
2
  name = "wizz-exec-strong"
3
3
  description = """
4
- Strong Wizz Method executor for hard work. Bugs with no known cause after one investigation cycle, cross-module refactors, schema/auth/payment changes, local technical decisions. Size, not just difficulty: work crossing more than one layer (database, backend/worker, app/UI, external automation) or ~8 files is split, one dispatch per layer, each brief with max_calls. The session dispatches it when the work is too hard for the session's own tier. If the work turns out to be ultra hard, it returns ESCALAR with its findings; it never dispatches anything itself. Model on this platform: gpt-6-sol, effort high.
4
+ Strong Wizz Method executor for hard work. Bugs with no known cause after one investigation cycle, cross-module refactors, schema/auth/payment changes, local technical decisions. Size, not just difficulty: work crossing more than one layer (database, backend/worker, app/UI, external automation) or ~8 files is split, one dispatch per layer, each brief with max_calls. The session dispatches it when the work is too hard for the session's own tier. If the work turns out to be ultra hard, it returns ESCALAR with its findings; it never dispatches anything itself. Model on this platform: gpt-6.1-sol, effort high.
5
5
  """
6
- model = "gpt-6-sol"
6
+ model = "gpt-6.1-sol"
7
7
  model_reasoning_effort = "high"
8
8
  developer_instructions = """
9
9
  You are a senior executor for the Wizz Method. You receive a brief with a goal and context for hard work, where the root cause or the path forward isn't clear yet.
@@ -175,10 +175,10 @@ models:
175
175
  # reuse sol at higher effort; ultra stays on astra.
176
176
  codex:
177
177
  mechanical: gpt-6-luna
178
- standard: gpt-6-sol
179
- strong: gpt-6-sol
178
+ standard: gpt-6.1-sol
179
+ strong: gpt-6.1-sol
180
180
  ultra: gpt-6-astra
181
- review: gpt-6-sol
181
+ review: gpt-6.1-sol
182
182
 
183
183
  # Codex `model_reasoning_effort`.
184
184
  codex_effort:
@@ -194,7 +194,7 @@ claude_effort:
194
194
  mechanical: null
195
195
  standard: medium
196
196
  strong: high
197
- ultra: xhigh
197
+ ultra: high
198
198
  review: high
199
199
 
200
200
  # Turn cap: Claude Code `maxTurns`, Gemini CLI `max_turns`. Sized a little
@@ -4,7 +4,7 @@ name: wizz-exec-ultra
4
4
  description: >-
5
5
  Ultra Wizz Method executor, the top tier, for ultra-hard work only. The session dispatches it after wizz-exec-strong returned ESCALAR, passing along the strong executor's findings. Never the first dispatch for routine or merely hard work. If it fails too, the work goes back to the user.
6
6
  model: fable
7
- effort: xhigh
7
+ effort: high
8
8
  maxTurns: 150
9
9
  ---
10
10
 
@@ -4,7 +4,7 @@ description: >
4
4
  Persistent memory system across AI sessions. Use this skill whenever the user types
5
5
  /iniciar, /salvar, /ver, /dia, /dump, /decisao, /conteudo, /prospect or /memoria. Also activate when the
6
6
  user mentions "cerebro", "atualizar o cerebro", "salvar sessão", "resumo do projeto",
7
- "estado atual", "registrar decisão", "ideia de conteúdo", "pesquisar prospect" or "ler a auto-memória".
7
+ "estado atual", "salva/anota/guarda no cérebro", "registrar decisão", "ideia de conteúdo", "pesquisar prospect" or "ler a auto-memória".
8
8
  This skill maintains CEREBRO.md as the central index plus one file per project — it's the user's
9
9
  memory across Claude Code, Codex and any other agent.
10
10
  The agent's auto-memory is the other layer, and `/memoria` is the read bridge to it from
@@ -15,6 +15,8 @@ description: >
15
15
 
16
16
  # Cérebro — Persistent Memory System
17
17
 
18
+ **Any "save/note this in the Cérebro" request lands in the vault (`/salvar`, `/decisao`, `/dump`), never in `CLAUDE.md` or `AGENTS.md`: those files load on every session and cost tokens each time.**
19
+
18
20
  ## Command groups
19
21
 
20
22
  ```
@@ -23,7 +23,7 @@ You are the **Director / entry point** — not the orchestrator (that's `wizz-ma
23
23
 
24
24
  **Token economy:** the `rtk-rewrite.sh` hook already handles RTK automatically (don't run `rtk --version` on every routing). Before reading raw files, prefer `/wizz-cerebro ver` or a specific `grep`.
25
25
 
26
- **With `/orchestration` (Orca):** workers follow the same ladder; before starting any Orca worker, apply "Orca workers" in the wizz module's `_shared/model-ladder.md` (discover agents, tier first, explicit `--agent`/`--model`, sensitive areas on Claude, review always on Claude).
26
+ **With `/orchestration` (Orca):** the first dispatch is already an Orca worker (`orca orchestration worker-start`), never `Agent`; run `_shared/despacho-checklist.md` first. Workers follow the same ladder; before starting any Orca worker, apply "Orca workers" in the wizz module's `_shared/model-ladder.md` (discover agents, tier first, explicit `--agent`/`--model`, sensitive areas on Claude, review always on Claude).
27
27
 
28
28
  ## Triage and delegation (the Director's core job)
29
29
 
@@ -126,6 +126,16 @@ function findWizzRoot(startDir) {
126
126
  const WIZZ_PROJECT_HINT =
127
127
  '🎛️ Wizz: NÃO invoque wizz-router. Capacidades → rel necessário à entrega → áreas → atalhos. 2+ áreas → `wizz-maestro`. 1 área: 2+ fatores (multi-passo, planejar, artefato memorável) → `wizz-maestro`; senão → Skill da área. Auth/pagamento/permissão/migração → maestro. Personas são skills, não subagent_type; Agent usa tipos disponíveis wizz-exec-*; difícil → wizz-exec-strong (ESCALAR → ultra).';
128
128
 
129
+ // /orchestration no pedido: o despacho vai por worker do Orca, nunca por Agent
130
+ // (adendo 2026-11-12). Conferência por código: a regra não depende de lembrar.
131
+ const ORCHESTRATION_RE = /(^|\s)\/orchestration(?=\s|$|[.,;:!?])/i;
132
+ const ORCHESTRATION_HINT =
133
+ ' 🛰️ /orchestration: despache com `orca orchestration worker-start --agent --model --effort`, nunca com Agent; antes do 1º despacho cumpra `_shared/despacho-checklist.md`.';
134
+
135
+ function orchestrationLine(prompt) {
136
+ return ORCHESTRATION_RE.test(String(prompt || '')) ? ORCHESTRATION_HINT : '';
137
+ }
138
+
129
139
  function buildContext(isWizzProject) {
130
140
  if (isWizzProject) return WIZZ_PROJECT_HINT;
131
141
  return (
@@ -245,14 +255,29 @@ function runHook() {
245
255
  const prompt = data.prompt || '';
246
256
  const trivial = !prompt || isTrivial(prompt);
247
257
  if (trivial) {
248
- traceLine({ ts: new Date().toISOString(), isTrivial: true, mode: null });
258
+ // Prompt que começa com "/" é trivial para o roteamento, mas /orchestration
259
+ // ainda precisa do aviso de despacho (caso real de 2026-11-12).
260
+ const orchestrationOnly = orchestrationLine(prompt).trim();
261
+ traceLine({
262
+ ts: new Date().toISOString(),
263
+ isTrivial: true,
264
+ mode: null,
265
+ ...(orchestrationOnly ? { contextInjected: orchestrationOnly } : {}),
266
+ });
267
+ if (orchestrationOnly) {
268
+ process.stdout.write(
269
+ JSON.stringify({
270
+ hookSpecificOutput: { hookEventName: 'UserPromptSubmit', additionalContext: orchestrationOnly },
271
+ }),
272
+ );
273
+ }
249
274
  process.exit(0);
250
275
  }
251
276
 
252
277
  const cwd = data.cwd || process.cwd();
253
278
  const wizzRoot = findWizzRoot(cwd);
254
279
  const isWizzProject = Boolean(wizzRoot);
255
- const context = buildContext(isWizzProject) + featureLine(wizzRoot);
280
+ const context = buildContext(isWizzProject) + featureLine(wizzRoot) + orchestrationLine(prompt);
256
281
 
257
282
  const warnings = checkFallbackWarnings(isWizzProject, wizzRoot);
258
283
  if (warnings.length > 0) emitFallbackWarnings(warnings);
@@ -285,6 +310,7 @@ if (require.main === module) {
285
310
  module.exports = {
286
311
  isTrivial,
287
312
  buildContext,
313
+ orchestrationLine,
288
314
  featureLine,
289
315
  findWizzRoot,
290
316
  isTraceEnabled,