wizz-method 2.25.3 → 2.26.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
|
@@ -19,7 +19,7 @@ description: >
|
|
|
19
19
|
|
|
20
20
|
```
|
|
21
21
|
Session: /iniciar /salvar /ver
|
|
22
|
-
Routine: /dia
|
|
22
|
+
Routine: /dia /higiene
|
|
23
23
|
Capture: /dump /decisao /conteudo
|
|
24
24
|
Research: /prospect
|
|
25
25
|
Memory: /memoria
|
|
@@ -42,13 +42,14 @@ Read offset=(line-5) limit=15 # → reads only the needed excerpt
|
|
|
42
42
|
| /salvar | 2 | 3 |
|
|
43
43
|
| /ver | 1 | 0 |
|
|
44
44
|
| /dia | 1 per active project | 0 |
|
|
45
|
+
| /higiene | 0 | only after the user confirms |
|
|
45
46
|
| /dump | 0 | 1 |
|
|
46
47
|
| /decisao | 0 | 2 |
|
|
47
48
|
| /memoria | 1 | 0 |
|
|
48
49
|
|
|
49
50
|
**Per-file reading rules:**
|
|
50
51
|
- `CEREBRO.md` — **never full Read**. Grep to find the project block (5–8 lines), Edit directly.
|
|
51
|
-
- `projetos/[name].md` — Read the **last
|
|
52
|
+
- `projetos/[name].md` — Read the **top** (`limit=14`, the `Estado` block). Only `/salvar` also reads the last 40 lines (What's left + Sessions). Never a tail of 80.
|
|
52
53
|
- `_decisions/`, `_content/` — Write directly, without reading the existing file.
|
|
53
54
|
|
|
54
55
|
## Vault
|
|
@@ -88,8 +89,9 @@ grep -m1 "^vault:" "/path/CEREBRO.md"
|
|
|
88
89
|
_knowledge/
|
|
89
90
|
about-me.md
|
|
90
91
|
goals.md
|
|
91
|
-
_decisions/ ← YYYY-MM-DD-[slug].md, with frontmatter (
|
|
92
|
-
status, supersede). The `tema` field is what grep finds.
|
|
92
|
+
_decisions/ ← YYYY-MM-DD-[slug].md, with frontmatter (data, projeto, tema,
|
|
93
|
+
status, supersede, substituida_por). The `tema` field is what grep finds.
|
|
94
|
+
Schema and enums: see "Decision schema" below.
|
|
93
95
|
(`_learnings/` no longer exists: it was written to and never
|
|
94
96
|
read by any command, and was removed on 2026-08-28.
|
|
95
97
|
Stack gotchas and non-obvious bugs go to the agent's
|
|
@@ -100,14 +102,36 @@ grep -m1 "^vault:" "/path/CEREBRO.md"
|
|
|
100
102
|
[name].md ← current project state (structure: header + 12-line `Estado` block at the top + Preferences + Context + What's left + Sessions)
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
**Linking rule:**
|
|
105
|
+
**Linking rule:** `[[file]]` wiki-links only for notes that exist inside the vault. Anything outside it (auto-memory files, repo paths, skills) goes in backticks, never in `[[ ]]`: a wiki-link to a file outside the vault shows up as a broken link and pollutes the graph.
|
|
106
|
+
|
|
107
|
+
## Decision schema (single, mandatory)
|
|
108
|
+
|
|
109
|
+
Every file in `_decisions/` uses this frontmatter, with these exact Portuguese keys (never `date`/`project`):
|
|
110
|
+
|
|
111
|
+
| key | rule |
|
|
112
|
+
|---|---|
|
|
113
|
+
| `data` | `YYYY-MM-DD` |
|
|
114
|
+
| `projeto` | lowercase slug equal to the file name in `projetos/` (`meju`, not `MeJu`) |
|
|
115
|
+
| `tema` | 2 to 4 comma-separated **concepts** (never words copied from the slug like `only`, `antes`, `fase1`); reuse terms that already exist, see `/decisao` step 2 |
|
|
116
|
+
| `status` | one of `ativa`, `substituida`, `encerrada` (no other word) |
|
|
117
|
+
| `supersede` | slug of the decision this one replaces (optional) |
|
|
118
|
+
| `substituida_por` | slug of the decision that replaced this one (optional; the only name for this key) |
|
|
119
|
+
|
|
120
|
+
The body must link its project (`Projeto: [[projetos/<slug>]]`) so the decision is never an orphan in the graph; when it replaces another, also link the old one.
|
|
121
|
+
|
|
122
|
+
## Vault hygiene
|
|
123
|
+
|
|
124
|
+
- A project file that grows past ~300 lines moves its oldest sessions to `_index/sessoes-<nome>.md` (move, never delete).
|
|
125
|
+
- An archived project leaves a stub in `_archive/projetos/<nome>.md` so old links keep resolving.
|
|
126
|
+
- No empty `Sem título*.canvas`, no `.DS_Store` committed.
|
|
127
|
+
- Graph (`.obsidian/graph.json`, only touch it when the user asks): color by project, one group per project with the query `[projeto:<slug>] OR path:projetos/<slug>` (Tableau palette, so a decision and its project hub share a color), `file:CEREBRO` gold first, then one neutral group per folder. Keep labels for zoom only (`textFadeMultiplier` ~0.8, never negative), `nodeSizeMultiplier` ~1.5, `centerStrength` 0.5, `repelStrength` 10, `linkStrength` 1, `linkDistance` ~120. Every folder or project in a color query must exist.
|
|
104
128
|
|
|
105
129
|
## Commands (load on demand)
|
|
106
130
|
|
|
107
131
|
Each command has its full step-by-step procedure in a reference file. Load only the file for the command group the user triggered:
|
|
108
132
|
|
|
109
133
|
- `references/comandos-sessao.md` — `/iniciar` (set up new project), `/ver` (quick current state), `/salvar` (close session) with full steps, token budget and templates.
|
|
110
|
-
- `references/comandos-rotina-e-captura.md` — `/dia` (daily briefing), `/dump` (quick capture), `/decisao` (record decision), `/conteudo` (content idea) with full steps and templates.
|
|
134
|
+
- `references/comandos-rotina-e-captura.md` — `/dia` (daily briefing), `/higiene` (vault health report, then asks before fixing), `/dump` (quick capture), `/decisao` (record decision), `/conteudo` (content idea) with full steps and templates.
|
|
111
135
|
- `references/comandos-pesquisa-e-memoria.md` — `/prospect` (research a prospect) and `/memoria` (read and feed the project's auto-memory from any platform) with full steps and templates.
|
|
112
136
|
|
|
113
137
|
## General rules
|
|
@@ -115,7 +139,7 @@ Each command has its full step-by-step procedure in a reference file. Load only
|
|
|
115
139
|
- Wiki-links `[[file]]` within the vault.
|
|
116
140
|
- Absolute dates in `YYYY-MM-DD` format, never relative ("yesterday", "last week"). Volatile facts (published version, release state, etc.) carry an `em YYYY-MM-DD:` prefix in the text; on re-reading, the agent treats it as a snapshot of that moment, not a current fact.
|
|
117
141
|
- Never delete history — only append.
|
|
118
|
-
- **Grep before writing.** Before creating a new decision, idea or record, search the topic in the destination folder. If the fact already exists, update the existing record; a decision that replaces another marks the old one as `
|
|
142
|
+
- **Grep before writing.** Before creating a new decision, idea or record, search the topic in the destination folder. If the fact already exists, update the existing record; a decision that replaces another marks the old one as `substituida` instead of keeping both alive.
|
|
119
143
|
- Session narrative lives in the project file: `Estado` block at the top (12 lines, overwritten on every `/salvar`) + 1 line in the `Sessões` table. `_index/sessions.md` no longer exists: it was written to and never read by any command, and was removed on 2026-08-28.
|
|
120
144
|
- Summaries: 1 line per item.
|
|
121
145
|
- CEREBRO.md should always stay under 150 useful lines — move long tables to `_index/`.
|
|
@@ -8,7 +8,7 @@ Load this file when running `/dia`, `/dump`, `/decisao` or `/conteudo`. Before a
|
|
|
8
8
|
|
|
9
9
|
**Steps:**
|
|
10
10
|
1. `grep -A4 "### " "$VAULT/CEREBRO.md"` → lists every project block (name + last session + pending)
|
|
11
|
-
2. For each project with active status (🟢🟡):
|
|
11
|
+
2. For each project with active status (🟢🟡): Read the top with `limit=14` (the `Estado` block); no tail
|
|
12
12
|
3. Build a consolidated briefing
|
|
13
13
|
4. Don't read `_knowledge/goals.md` unless the user explicitly asks
|
|
14
14
|
|
|
@@ -29,11 +29,45 @@ Load this file when running `/dia`, `/dump`, `/decisao` or `/conteudo`. Before a
|
|
|
29
29
|
|
|
30
30
|
**Steps:**
|
|
31
31
|
1. Receive the content (from the argument or ask in 1 message)
|
|
32
|
-
2. Classify: idea /
|
|
32
|
+
2. Classify: idea / decision / reference / content. A technical learning (stack gotcha, non-obvious bug) is not a vault fact: send it to the agent's auto-memory instead
|
|
33
33
|
3. Write directly to the right file — without reading anything first
|
|
34
|
-
4. `grep -n "## Conteúdo em aberto
|
|
34
|
+
4. `grep -n "## Conteúdo em aberto" "$VAULT/CEREBRO.md"` → find the line for a 1-line Edit
|
|
35
35
|
5. Confirm in 1 line
|
|
36
36
|
|
|
37
|
+
## /higiene
|
|
38
|
+
|
|
39
|
+
**Goal:** a health report of the vault, then an offer to fix. The check is read-only (zero Reads, bash only); **nothing is changed until the user confirms**.
|
|
40
|
+
|
|
41
|
+
**Steps** (one bash call, `VAULT` from the Vault section):
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
cd "$VAULT"
|
|
45
|
+
echo "decisão sem tema:"; grep -L "^tema:" _decisions/*.md
|
|
46
|
+
echo "status fora do enum:"; grep -H "^status:" _decisions/*.md | grep -v -E "status: (ativa|substituida|encerrada)$"
|
|
47
|
+
echo "decisão sem link de projeto:"; grep -L "\[\[projetos/" _decisions/*.md
|
|
48
|
+
echo "projeto > 300 linhas:"; wc -l projetos/*.md | awk '$1>300 && $2!="total"'
|
|
49
|
+
echo "CEREBRO.md linhas:"; wc -l < CEREBRO.md
|
|
50
|
+
echo "pastas que não deviam existir:"; ls -d _learnings _moc 2>/dev/null
|
|
51
|
+
echo "hubs (mais citados):"; grep -rhoE "\[\[[^]|#]+" --include="*.md" . | sed 's/\[\[//' | sort | uniq -c | sort -rn | head -10
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
For orphans: a note that no other file cites (`grep -rl "\[\[<name>" .` returns only itself) is an orphan; check only the notes listed above, not the whole vault.
|
|
55
|
+
|
|
56
|
+
**Output:** one line per finding (`path · problem · suggested fix`), at most 20 lines, then 1 line with the totals. Nothing found = say so in 1 line and stop.
|
|
57
|
+
|
|
58
|
+
**Then ask once** (AskUserQuestion where available, a numbered question otherwise) which groups to fix, multi-select, nothing pre-selected:
|
|
59
|
+
|
|
60
|
+
| group | what the fix does | safe to batch |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| Decisions without project link | adds `Projeto: [[projetos/<projeto>]]` under the title, from the `projeto:` field | yes |
|
|
63
|
+
| Decisions without `tema` or with a wrong `status` | fills `tema` from the existing vocabulary, normalizes `status` to the enum | yes |
|
|
64
|
+
| Oversize projects | moves old sessions to `_index/sessoes-<nome>.md` (see `/salvar` step 6) | one project at a time |
|
|
65
|
+
| Over-long `CEREBRO.md` | moves the oldest `Decisões recentes` to `_index/cerebro-archive.md` | yes |
|
|
66
|
+
| Removed folders that came back (`_learnings`) | never deleted: lists the files and asks where each goes (auto-memory, `_decisions/`, `_archive/`) | no, one by one |
|
|
67
|
+
| Orphans and hubs | informational only, no fix | n/a |
|
|
68
|
+
|
|
69
|
+
Apply only the groups the user ticked, with surgical Edits (never rewrite a whole file), never delete anything (move only), and end with 1 line per group saying how many files changed. A group the user did not tick stays reported and untouched. If the question tool is not available and the user does not answer, change nothing.
|
|
70
|
+
|
|
37
71
|
## /decisao
|
|
38
72
|
|
|
39
73
|
**Goal:** record a decision. 1 grep first, no Read.
|
|
@@ -47,28 +81,38 @@ grep -ril "<2 or 3 words about the topic>" "$VAULT/_decisions/" | head -5
|
|
|
47
81
|
```
|
|
48
82
|
|
|
49
83
|
- Found a decision on the same topic: **don't create a new file**. Open the existing one and decide between two paths:
|
|
50
|
-
- the new decision **replaces** the old one → mark the old one with `status:
|
|
84
|
+
- the new decision **replaces** the old one → mark the old one with `status: substituida` and `substituida_por: <new slug>`, and create the new one with `supersede: <old slug>`
|
|
51
85
|
- the new decision **elaborates on** the old one → edit the old one, don't create a second
|
|
52
86
|
- Found nothing: proceed to step 3.
|
|
53
87
|
|
|
54
|
-
3.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
88
|
+
3. **Reuse the theme vocabulary** (1 bash call) before choosing `tema`:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
grep -h "^tema:" "$VAULT/_decisions/"*.md | sed 's/^tema: *//' | tr ',' '\n' | sed 's/^ *//' | sort | uniq -c | sort -rn | head -40
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Pick existing terms when they fit; add a new one only for a genuinely new concept. The theme names what the decision is about (`consentimento, tracking`), not the words of its title.
|
|
95
|
+
|
|
96
|
+
4. Write directly to `_decisions/YYYY-MM-DD-[slug].md` (template below), with `Projeto: [[projetos/<slug>]]` under the title
|
|
97
|
+
5. `grep -n "## Decisões recentes" "$VAULT/CEREBRO.md"` → line
|
|
98
|
+
6. Edit to insert a wiki-link reference right below that line
|
|
99
|
+
7. If there's a project: `grep -n "## Decisões" "$VAULT/projetos/$PROJ.md"` → Edit 1 line
|
|
58
100
|
|
|
59
101
|
**Template `_decisions/YYYY-MM-DD-[slug].md`:**
|
|
60
102
|
```markdown
|
|
61
103
|
---
|
|
62
104
|
data: YYYY-MM-DD
|
|
63
|
-
projeto: [name]
|
|
105
|
+
projeto: [lowercase slug equal to the file name in projetos/]
|
|
64
106
|
tema: [2 to 4 keywords separated by comma, this is what grep finds]
|
|
65
|
-
status: ativa
|
|
107
|
+
status: ativa # ativa | substituida | encerrada
|
|
66
108
|
supersede: [slug of the decision this replaces, or omit]
|
|
67
|
-
|
|
109
|
+
substituida_por: [filled in later, when another decision replaces this one]
|
|
68
110
|
---
|
|
69
111
|
|
|
70
112
|
# [Title]
|
|
71
113
|
|
|
114
|
+
Projeto: [[projetos/<slug>]]
|
|
115
|
+
|
|
72
116
|
## Decision
|
|
73
117
|
[1-2 lines]
|
|
74
118
|
|
|
@@ -84,6 +84,14 @@ What does **not** go in the block: history, decisions, learnings, a long list of
|
|
|
84
84
|
1. Read `projetos/[name].md` with `limit=14` (the State block is at the top)
|
|
85
85
|
2. Return the block almost as-is, without rewriting it
|
|
86
86
|
|
|
87
|
+
**`/ver decisoes <tema>`:** read the decisions about a theme, without opening files. One bash call:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
grep -l "^tema:.*<tema>" "$VAULT/_decisions/"*.md | xargs grep -L "^status: substituida" | sort -r | head -5
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Return at most 5 lines `date · title · status` (title = the first `# ` line). Open one decision only if the user asks. Decisions marked `substituida` are skipped on purpose: the one that replaced them is the live one.
|
|
94
|
+
|
|
87
95
|
**Old file, with no State block at the top:** falls onto the slow path exactly once — `wc -l` and Read of the last 60 lines — and when returning it, offer to create the block. Once accepted, the next `/ver` goes back to costing 1 short Read.
|
|
88
96
|
|
|
89
97
|
## /salvar
|
|
@@ -143,4 +151,10 @@ grep -c "^| " "$VAULT/projetos/$PROJ.md"
|
|
|
143
151
|
|
|
144
152
|
- Sessions table with more than 15 lines: move the oldest ones to `_index/cerebro-archive.md`, under `## Sessões antigas — [project]`, leaving the 15 newest in the project file. Never delete, only move.
|
|
145
153
|
|
|
154
|
+
```bash
|
|
155
|
+
wc -l "$VAULT/projetos/$PROJ.md"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
- Project file over ~300 lines: move the oldest sessions (and any history block that is not `Estado`, `O que falta` or the 15 newest sessions) to `_index/sessoes-$PROJ.md`, leaving a 1-line `[[_index/sessoes-$PROJ]]` pointer. Never delete, only move.
|
|
159
|
+
|
|
146
160
|
**7. Confirm in 2 lines** what was saved.
|