wicked-brain 0.12.1 → 0.13.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 +3 -2
- package/server/bin/wicked-brain-call.mjs +575 -0
- package/server/package.json +3 -2
- package/skills/wicked-brain-agent/SKILL.md +7 -1
- package/skills/wicked-brain-compile/SKILL.md +11 -19
- package/skills/wicked-brain-configure/SKILL.md +12 -16
- package/skills/wicked-brain-confirm/SKILL.md +8 -14
- package/skills/wicked-brain-enhance/SKILL.md +7 -14
- package/skills/wicked-brain-forget/SKILL.md +9 -13
- package/skills/wicked-brain-ingest/SKILL.md +16 -25
- package/skills/wicked-brain-init/SKILL.md +20 -17
- package/skills/wicked-brain-lint/SKILL.md +9 -20
- package/skills/wicked-brain-lsp/SKILL.md +22 -28
- package/skills/wicked-brain-memory/SKILL.md +9 -13
- package/skills/wicked-brain-migrate/SKILL.md +10 -14
- package/skills/wicked-brain-query/SKILL.md +8 -19
- package/skills/wicked-brain-review/SKILL.md +10 -16
- package/skills/wicked-brain-search/SKILL.md +12 -19
- package/skills/wicked-brain-server/SKILL.md +43 -65
- package/skills/wicked-brain-status/SKILL.md +13 -32
- package/skills/wicked-brain-synonyms/SKILL.md +6 -15
- package/skills/wicked-brain-ui/SKILL.md +16 -10
- package/skills/wicked-brain-update/SKILL.md +1 -3
|
@@ -17,15 +17,10 @@ You answer questions from the brain's content by dispatching a query subagent.
|
|
|
17
17
|
|
|
18
18
|
## Config
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
to
|
|
24
|
-
wicked-brain:init. Read the resolved file for brain path and server port.
|
|
25
|
-
|
|
26
|
-
Do NOT read a bare relative `_meta/config.json` — the model will resolve it
|
|
27
|
-
against the current working directory and brain files will end up in the
|
|
28
|
-
project root.
|
|
20
|
+
Brain discovery + server lifecycle are handled by `wicked-brain-call`. Pass
|
|
21
|
+
`--brain <path>` to override the auto-detected brain, or set
|
|
22
|
+
`WICKED_BRAIN_PATH`. The CLI starts the server on first call (no manual
|
|
23
|
+
init required) and writes an audit record to `{brain}/calls/` per call.
|
|
29
24
|
|
|
30
25
|
## Parameters
|
|
31
26
|
|
|
@@ -37,7 +32,7 @@ Dispatch a query subagent with these instructions:
|
|
|
37
32
|
|
|
38
33
|
```
|
|
39
34
|
You are a research agent for the digital brain at {brain_path}.
|
|
40
|
-
Server:
|
|
35
|
+
Server interactions: use `npx wicked-brain-call <action> [--param k=v ...]`.
|
|
41
36
|
|
|
42
37
|
Question: "{question}"
|
|
43
38
|
|
|
@@ -95,9 +90,7 @@ Run multiple searches if key terms suggest different angles.
|
|
|
95
90
|
|
|
96
91
|
Search the brain for relevant content:
|
|
97
92
|
```bash
|
|
98
|
-
|
|
99
|
-
-H "Content-Type: application/json" \
|
|
100
|
-
-d '{"action":"search","params":{"query":"{term}","limit":10,"session_id":"{session_id}"}}'
|
|
93
|
+
npx wicked-brain-call search --param query={term} --param limit=10 --param session_id={session_id}
|
|
101
94
|
```
|
|
102
95
|
|
|
103
96
|
Pass a session_id with every search call. This enables access tracking for
|
|
@@ -108,9 +101,7 @@ used for access-log tracking and diversity ranking across repeated searches.
|
|
|
108
101
|
|
|
109
102
|
If the question implies recency ("recently", "this week", "latest"), add a `since` parameter to the search with an ISO 8601 timestamp. For example, for "this week" use the date 7 days ago:
|
|
110
103
|
```bash
|
|
111
|
-
|
|
112
|
-
-H "Content-Type: application/json" \
|
|
113
|
-
-d '{"action":"search","params":{"query":"{term}","limit":10,"session_id":"{session_id}","since":"{iso8601_date}"}}'
|
|
104
|
+
npx wicked-brain-call search --param query={term} --param limit=10 --param session_id={session_id} --param since={iso8601_date}
|
|
114
105
|
```
|
|
115
106
|
|
|
116
107
|
Also search with grep for exact phrases (use your Grep tool when available —
|
|
@@ -154,9 +145,7 @@ Check the content for [[wikilinks]]. If following them would provide useful cont
|
|
|
154
145
|
|
|
155
146
|
Check backlinks — what else references the content you found:
|
|
156
147
|
```bash
|
|
157
|
-
|
|
158
|
-
-H "Content-Type: application/json" \
|
|
159
|
-
-d '{"action":"backlinks","params":{"id":"{result_path}"}}'
|
|
148
|
+
npx wicked-brain-call backlinks --param id={result_path}
|
|
160
149
|
```
|
|
161
150
|
|
|
162
151
|
## Step 4: Synthesize answer
|
|
@@ -17,21 +17,19 @@ compact, navigable list.
|
|
|
17
17
|
|
|
18
18
|
## Cross-Platform Notes
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
This skill uses `npx wicked-brain-call` for all server interaction. The CLI
|
|
21
|
+
works on macOS, Linux, and Windows; it discovers the brain, auto-starts the
|
|
22
|
+
server, and writes a per-call audit record under `{brain}/calls/`.
|
|
23
|
+
|
|
21
24
|
- File reads use the agent-native Read tool
|
|
22
25
|
- Paths always use forward slashes
|
|
23
26
|
|
|
24
27
|
## Config
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
to
|
|
30
|
-
wicked-brain:init. Read the resolved file for brain path and server port.
|
|
31
|
-
|
|
32
|
-
Do NOT read a bare relative `_meta/config.json` — the model will resolve it
|
|
33
|
-
against the current working directory and brain files will end up in the
|
|
34
|
-
project root.
|
|
29
|
+
Brain discovery + server lifecycle are handled by `wicked-brain-call`. Pass
|
|
30
|
+
`--brain <path>` to override the auto-detected brain, or set
|
|
31
|
+
`WICKED_BRAIN_PATH`. The CLI starts the server on first call (no manual
|
|
32
|
+
init required) and writes an audit record to `{brain}/calls/` per call.
|
|
35
33
|
|
|
36
34
|
## Parameters
|
|
37
35
|
|
|
@@ -48,9 +46,7 @@ project root.
|
|
|
48
46
|
Start with the aggregate view so the user can see the landscape before the list:
|
|
49
47
|
|
|
50
48
|
```bash
|
|
51
|
-
|
|
52
|
-
-H "Content-Type: application/json" \
|
|
53
|
-
-d '{"action":"memory_stats"}'
|
|
49
|
+
npx wicked-brain-call memory_stats
|
|
54
50
|
```
|
|
55
51
|
|
|
56
52
|
Render `total`, `by_type`, `by_tier`, `by_age` as a one-line header.
|
|
@@ -58,9 +54,7 @@ Render `total`, `by_type`, `by_tier`, `by_age` as a one-line header.
|
|
|
58
54
|
### Step 2: Fetch candidates
|
|
59
55
|
|
|
60
56
|
```bash
|
|
61
|
-
|
|
62
|
-
-H "Content-Type: application/json" \
|
|
63
|
-
-d '{"action":"recent_memories","params":{"days":{days},"limit":{limit * 3}}}'
|
|
57
|
+
npx wicked-brain-call recent_memories --param days={days} --param limit={limit * 3}
|
|
64
58
|
```
|
|
65
59
|
|
|
66
60
|
Over-fetch by 3x so agent-side type/tier filtering still returns a useful page.
|
|
@@ -30,15 +30,10 @@ For the brain path default:
|
|
|
30
30
|
|
|
31
31
|
## Config
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
to
|
|
37
|
-
wicked-brain:init. Read the resolved file for brain path and server port.
|
|
38
|
-
|
|
39
|
-
Do NOT read a bare relative `_meta/config.json` — the model will resolve it
|
|
40
|
-
against the current working directory and brain files will end up in the
|
|
41
|
-
project root.
|
|
33
|
+
Brain discovery + server lifecycle are handled by `wicked-brain-call`. Pass
|
|
34
|
+
`--brain <path>` to override the auto-detected brain, or set
|
|
35
|
+
`WICKED_BRAIN_PATH`. The CLI starts the server on first call (no manual
|
|
36
|
+
init required) and writes an audit record to `{brain}/calls/` per call.
|
|
42
37
|
|
|
43
38
|
## Parameters
|
|
44
39
|
|
|
@@ -76,13 +71,15 @@ Build a list of accessible brains with their absolute paths.
|
|
|
76
71
|
|
|
77
72
|
### Step 2: Ensure server is running
|
|
78
73
|
|
|
74
|
+
`wicked-brain-call` auto-starts the server on first invocation. If you want
|
|
75
|
+
to be defensive, run a probe up front:
|
|
76
|
+
|
|
79
77
|
```bash
|
|
80
|
-
|
|
81
|
-
-H "Content-Type: application/json" \
|
|
82
|
-
-d '{"action":"health","params":{}}'
|
|
78
|
+
npx wicked-brain-call health
|
|
83
79
|
```
|
|
84
80
|
|
|
85
|
-
|
|
81
|
+
Exit code 0 means the server is up. Exit code 2 indicates an infra failure
|
|
82
|
+
(server could not be reached or spawned).
|
|
86
83
|
|
|
87
84
|
### Step 3: Dispatch search subagents in parallel
|
|
88
85
|
|
|
@@ -104,9 +101,7 @@ Search for: "{query}"
|
|
|
104
101
|
## Step 1: Server search (FTS5)
|
|
105
102
|
|
|
106
103
|
```bash
|
|
107
|
-
|
|
108
|
-
-H "Content-Type: application/json" \
|
|
109
|
-
-d '{"action":"search","params":{"query":"{query}","limit":{limit}}}'
|
|
104
|
+
npx wicked-brain-call search --param query={query} --param limit={limit} --brain {brain_path}
|
|
110
105
|
```
|
|
111
106
|
|
|
112
107
|
Parse the JSON response to get results.
|
|
@@ -136,9 +131,7 @@ After all subagents return:
|
|
|
136
131
|
If the merged results have 0 matches across all brains, the query is a "search miss."
|
|
137
132
|
Log it so the brain can learn:
|
|
138
133
|
```bash
|
|
139
|
-
|
|
140
|
-
-H "Content-Type: application/json" \
|
|
141
|
-
-d '{"action":"search_misses","params":{"query":"{original_query}","session_id":"{session_id}"}}'
|
|
134
|
+
npx wicked-brain-call search_misses --param query={original_query} --param session_id={session_id}
|
|
142
135
|
```
|
|
143
136
|
|
|
144
137
|
Note: This logging happens server-side automatically when search returns 0 results.
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wicked-brain:server
|
|
3
3
|
description: |
|
|
4
|
-
Manages the wicked-brain background server.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Manages the wicked-brain background server. Most callers should use
|
|
5
|
+
`wicked-brain-call` directly — it auto-starts the server. This skill is
|
|
6
|
+
for explicit lifecycle management: start, stop, status, or recovery from
|
|
7
|
+
a stuck process.
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# wicked-brain:server
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
Manage the wicked-brain background server lifecycle explicitly. **Most skills
|
|
13
|
+
do not need this** — `npx wicked-brain-call <action>` will spawn the server
|
|
14
|
+
on first call (lock-guarded against races) and reuse it thereafter.
|
|
13
15
|
|
|
14
16
|
## Cross-Platform Notes
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
This skill uses `npx wicked-brain-call` for all server interaction. The CLI
|
|
19
|
+
works on macOS, Linux, and Windows; it discovers the brain, auto-starts the
|
|
20
|
+
server, and writes a per-call audit record under `{brain}/calls/`.
|
|
19
21
|
|
|
20
22
|
For the brain path default:
|
|
21
23
|
- macOS/Linux: `~/.wicked-brain/projects/{cwd_basename}`
|
|
@@ -23,71 +25,47 @@ For the brain path default:
|
|
|
23
25
|
|
|
24
26
|
## Config
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
to
|
|
30
|
-
wicked-brain:init. Read the resolved file to get `brain_path` and `server_port`.
|
|
28
|
+
Brain discovery + server lifecycle are handled by `wicked-brain-call`. Pass
|
|
29
|
+
`--brain <path>` to override the auto-detected brain, or set
|
|
30
|
+
`WICKED_BRAIN_PATH`. The CLI starts the server on first call (no manual
|
|
31
|
+
init required) and writes an audit record to `{brain}/calls/` per call.
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
re-resolving.
|
|
33
|
+
## When to use
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
- Explicitly start, stop, or check the server (rare — `wicked-brain-call`
|
|
36
|
+
handles this for you on every call)
|
|
37
|
+
- Recover from a stuck or stale server process
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## Canonical commands
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx wicked-brain-call --status [--brain {brain_path}]
|
|
43
|
+
npx wicked-brain-call --start [--brain {brain_path}]
|
|
44
|
+
npx wicked-brain-call --stop [--brain {brain_path}]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`--status` reports whether a live server is answering on the configured port,
|
|
48
|
+
the bound port, and the brain id. `--start` spawns the server (idempotent —
|
|
49
|
+
no-op if already running). `--stop` signals the recorded PID and clears the
|
|
50
|
+
PID file.
|
|
51
|
+
|
|
52
|
+
If the user reports "the brain server seems wedged":
|
|
40
53
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
1. Read the file at `{brain_path}/_meta/config.json` to get the port and brain path.
|
|
47
|
-
|
|
48
|
-
2. Try a health check:
|
|
49
|
-
```bash
|
|
50
|
-
curl -s -f -X POST http://localhost:{port}/api \
|
|
51
|
-
-H "Content-Type: application/json" \
|
|
52
|
-
-d '{"action":"health","params":{}}'
|
|
53
|
-
```
|
|
54
|
-
A successful response returns `{"status":"ok"}`. If the request succeeds,
|
|
55
|
-
the server is running — report the status and stop.
|
|
56
|
-
|
|
57
|
-
3. If connection refused:
|
|
58
|
-
a. Read the file at `{brain_path}/_meta/server.pid` to get the PID.
|
|
59
|
-
|
|
60
|
-
b. Check if the process is running:
|
|
61
|
-
- macOS/Linux: `kill -0 {pid} 2>/dev/null`
|
|
62
|
-
- Windows: `tasklist /FI "PID eq {pid}" 2>nul | findstr {pid}`
|
|
63
|
-
- Or use Python: `python3 -c "import os; os.kill({pid}, 0)" 2>/dev/null || python -c "import os; os.kill({pid}, 0)"`
|
|
64
|
-
|
|
65
|
-
c. If the process is dead or no PID file, start the server.
|
|
66
|
-
Also pass `--source` if `source_path` is set in `{brain_path}/_meta/config.json`
|
|
67
|
-
(this roots LSP language servers at the ingested project so symbol
|
|
68
|
-
lookup and go-to-definition work correctly):
|
|
69
|
-
```bash
|
|
70
|
-
npx wicked-brain-server --brain {brain_path} --port {port} [--source {source_path}] &
|
|
71
|
-
```
|
|
72
|
-
On Windows (PowerShell):
|
|
73
|
-
```powershell
|
|
74
|
-
Start-Process -FilePath "npx" -ArgumentList "wicked-brain-server", "--brain", "{brain_path}", "--port", "{port}" -NoNewWindow
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
d. Wait 2 seconds, then retry the health check.
|
|
78
|
-
e. If still failing, tell the user:
|
|
79
|
-
"The brain server couldn't start automatically. Please run:
|
|
80
|
-
`npx wicked-brain-server --brain {brain_path} --port {port}`"
|
|
54
|
+
1. `npx wicked-brain-call --status --brain {brain_path}` to confirm.
|
|
55
|
+
2. `npx wicked-brain-call --stop --brain {brain_path}` to terminate.
|
|
56
|
+
3. `npx wicked-brain-call --start --brain {brain_path}` to relaunch.
|
|
57
|
+
4. `npx wicked-brain-call health --brain {brain_path}` to verify.
|
|
81
58
|
|
|
82
59
|
## API pattern for other skills
|
|
83
60
|
|
|
84
|
-
All skills
|
|
61
|
+
All skills should call the server through `wicked-brain-call`:
|
|
85
62
|
|
|
86
63
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
64
|
+
npx wicked-brain-call <action> # no params
|
|
65
|
+
npx wicked-brain-call <action> --param key=value [--param ...] # simple params
|
|
66
|
+
npx wicked-brain-call <action> '{"k":"v","nested":[1,2]}' # complex JSON
|
|
67
|
+
echo '{"k":"v"}' | npx wicked-brain-call <action> - # stdin (kubectl-style)
|
|
90
68
|
```
|
|
91
69
|
|
|
92
|
-
`
|
|
93
|
-
|
|
70
|
+
Exit codes: `0` = ok, `1` = API returned an error, `2` = infra failure
|
|
71
|
+
(server unreachable or could not be spawned).
|
|
@@ -24,15 +24,10 @@ For the brain path default:
|
|
|
24
24
|
|
|
25
25
|
## Config
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
to
|
|
31
|
-
wicked-brain:init. Read the resolved file for brain path and server port.
|
|
32
|
-
|
|
33
|
-
Do NOT read a bare relative `_meta/config.json` — the model will resolve it
|
|
34
|
-
against the current working directory and brain files will end up in the
|
|
35
|
-
project root.
|
|
27
|
+
Brain discovery + server lifecycle are handled by `wicked-brain-call`. Pass
|
|
28
|
+
`--brain <path>` to override the auto-detected brain, or set
|
|
29
|
+
`WICKED_BRAIN_PATH`. The CLI starts the server on first call (no manual
|
|
30
|
+
init required) and writes an audit record to `{brain}/calls/` per call.
|
|
36
31
|
|
|
37
32
|
## Parameters
|
|
38
33
|
|
|
@@ -46,14 +41,12 @@ Use the Read tool on `{brain_path}/brain.json` to get id, name, parents, links.
|
|
|
46
41
|
|
|
47
42
|
### Step 2: Get server stats
|
|
48
43
|
|
|
49
|
-
|
|
44
|
+
`wicked-brain-call` auto-starts the server on first invocation:
|
|
50
45
|
```bash
|
|
51
|
-
|
|
52
|
-
-H "Content-Type: application/json" \
|
|
53
|
-
-d '{"action":"stats","params":{}}'
|
|
46
|
+
npx wicked-brain-call stats
|
|
54
47
|
```
|
|
55
48
|
|
|
56
|
-
If
|
|
49
|
+
If the call exits with code 2 (infra failure), surface the error to the user.
|
|
57
50
|
|
|
58
51
|
### Step 3: Return at requested depth
|
|
59
52
|
|
|
@@ -77,17 +70,13 @@ Depth 0 plus:
|
|
|
77
70
|
- Show topic distribution for the last 7 days by searching with a `since` filter.
|
|
78
71
|
The `since` value must be ISO 8601 format (e.g., `2025-01-15T00:00:00Z`):
|
|
79
72
|
```bash
|
|
80
|
-
|
|
81
|
-
-H "Content-Type: application/json" \
|
|
82
|
-
-d '{"action":"search","params":{"query":"*","limit":100,"since":"{iso8601_7_days_ago}"}}'
|
|
73
|
+
npx wicked-brain-call search --param query=* --param limit=100 --param since={iso8601_7_days_ago}
|
|
83
74
|
```
|
|
84
75
|
Group results by path prefix (e.g., `chunks/extracted/`, `wiki/`) to show recent activity distribution.
|
|
85
76
|
- List the top 10 most common tags
|
|
86
77
|
- Flag wiki staleness warnings by calling `verify_wiki`:
|
|
87
78
|
```bash
|
|
88
|
-
|
|
89
|
-
-H "Content-Type: application/json" \
|
|
90
|
-
-d '{"action":"verify_wiki","params":{}}'
|
|
79
|
+
npx wicked-brain-call verify_wiki
|
|
91
80
|
```
|
|
92
81
|
Report one line per non-fresh bucket — only emit the lines where the count is > 0:
|
|
93
82
|
```
|
|
@@ -103,9 +92,7 @@ Depth 0 plus:
|
|
|
103
92
|
Detect chunks that are frequently accessed but have never been compiled into wiki articles:
|
|
104
93
|
|
|
105
94
|
```bash
|
|
106
|
-
|
|
107
|
-
-H "Content-Type: application/json" \
|
|
108
|
-
-d '{"action":"candidates","params":{"mode":"promote","limit":50}}'
|
|
95
|
+
npx wicked-brain-call candidates --param mode=promote --param limit=50
|
|
109
96
|
```
|
|
110
97
|
|
|
111
98
|
For each result where `access_count >= 5` and `session_diversity >= 3`, check whether any wiki article references it. Use the Grep tool on `{brain_path}/wiki/` searching for the chunk path string. If no wiki article references it, flag it as convergence debt:
|
|
@@ -120,9 +107,7 @@ If any convergence debt exists, suggest running `wicked-brain:compile` to promot
|
|
|
120
107
|
Detect path prefixes that concentrate multiple contradictions:
|
|
121
108
|
|
|
122
109
|
```bash
|
|
123
|
-
|
|
124
|
-
-H "Content-Type: application/json" \
|
|
125
|
-
-d '{"action":"contradictions","params":{}}'
|
|
110
|
+
npx wicked-brain-call contradictions
|
|
126
111
|
```
|
|
127
112
|
|
|
128
113
|
Group the returned contradiction links by path prefix: take the first two path segments of each linked path (e.g., a path `chunks/extracted/auth/session.md` yields prefix `chunks/extracted/auth/`). If any prefix has 2 or more contradiction links, flag it as a hotspot:
|
|
@@ -142,9 +127,7 @@ Check link integrity and surface knowledge gaps using two additional API calls.
|
|
|
142
127
|
|
|
143
128
|
Get link health:
|
|
144
129
|
```bash
|
|
145
|
-
|
|
146
|
-
-H "Content-Type: application/json" \
|
|
147
|
-
-d '{"action":"link_health","params":{}}'
|
|
130
|
+
npx wicked-brain-call link_health
|
|
148
131
|
```
|
|
149
132
|
|
|
150
133
|
Report:
|
|
@@ -154,9 +137,7 @@ Report:
|
|
|
154
137
|
|
|
155
138
|
Get recent search misses:
|
|
156
139
|
```bash
|
|
157
|
-
|
|
158
|
-
-H "Content-Type: application/json" \
|
|
159
|
-
-d '{"action":"search_misses","params":{"limit":20}}'
|
|
140
|
+
npx wicked-brain-call search_misses --param limit=20
|
|
160
141
|
```
|
|
161
142
|
|
|
162
143
|
Report the top recurring search miss queries to identify knowledge gaps. If a query appears multiple times, that topic is a strong candidate for ingestion or wiki article creation.
|
|
@@ -25,15 +25,10 @@ For the brain path default:
|
|
|
25
25
|
|
|
26
26
|
## Config
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
to
|
|
32
|
-
wicked-brain:init. Read the resolved file for brain path and server port.
|
|
33
|
-
|
|
34
|
-
Do NOT read a bare relative `_meta/config.json` — the model will resolve it
|
|
35
|
-
against the current working directory and brain files will end up in the
|
|
36
|
-
project root.
|
|
28
|
+
Brain discovery + server lifecycle are handled by `wicked-brain-call`. Pass
|
|
29
|
+
`--brain <path>` to override the auto-detected brain, or set
|
|
30
|
+
`WICKED_BRAIN_PATH`. The CLI starts the server on first call (no manual
|
|
31
|
+
init required) and writes an audit record to `{brain}/calls/` per call.
|
|
37
32
|
|
|
38
33
|
## Synonym File
|
|
39
34
|
|
|
@@ -99,17 +94,13 @@ for user review.
|
|
|
99
94
|
**Step 1: Get recent search misses**
|
|
100
95
|
|
|
101
96
|
```bash
|
|
102
|
-
|
|
103
|
-
-H "Content-Type: application/json" \
|
|
104
|
-
-d '{"action":"search_misses","params":{"limit":50}}'
|
|
97
|
+
npx wicked-brain-call search_misses --param limit=50
|
|
105
98
|
```
|
|
106
99
|
|
|
107
100
|
**Step 2: Get tag frequency**
|
|
108
101
|
|
|
109
102
|
```bash
|
|
110
|
-
|
|
111
|
-
-H "Content-Type: application/json" \
|
|
112
|
-
-d '{"action":"tag_frequency","params":{}}'
|
|
103
|
+
npx wicked-brain-call tag_frequency
|
|
113
104
|
```
|
|
114
105
|
|
|
115
106
|
**Step 3: Cross-reference and suggest**
|
|
@@ -19,9 +19,15 @@ server for the current project's brain (or a named brain).
|
|
|
19
19
|
|
|
20
20
|
## Cross-Platform Notes
|
|
21
21
|
|
|
22
|
+
Server interaction goes through `npx wicked-brain-call`, which works on
|
|
23
|
+
macOS, Linux, and Windows; it discovers the brain, auto-starts the server,
|
|
24
|
+
and writes a per-call audit record under `{brain}/calls/`.
|
|
25
|
+
|
|
22
26
|
The only platform-specific piece is the "open a URL in the default browser"
|
|
23
|
-
command.
|
|
24
|
-
|
|
27
|
+
command. The viewer is served at `GET /` on the same port the JSON API uses,
|
|
28
|
+
so the URL still needs the bound `server_port` — read it from the resolved
|
|
29
|
+
`{brain_path}/_meta/config.json` (the CLI writes the actual bound port back
|
|
30
|
+
to that file on startup).
|
|
25
31
|
|
|
26
32
|
For the brain path default:
|
|
27
33
|
- macOS/Linux: `~/.wicked-brain/projects/{project-name}`
|
|
@@ -54,17 +60,17 @@ Read the resolved config to get `server_port`.
|
|
|
54
60
|
|
|
55
61
|
### Step 2: Verify the server is running
|
|
56
62
|
|
|
63
|
+
`wicked-brain-call` auto-starts the server on first invocation, so a single
|
|
64
|
+
health probe is enough:
|
|
65
|
+
|
|
57
66
|
```bash
|
|
58
|
-
|
|
59
|
-
-H "Content-Type: application/json" \
|
|
60
|
-
-d '{"action":"health","params":{}}'
|
|
67
|
+
npx wicked-brain-call health --brain {brain_path}
|
|
61
68
|
```
|
|
62
69
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
user then has to refresh.
|
|
70
|
+
Exit code 0 confirms the server is up. Exit code 2 (infra failure) means the
|
|
71
|
+
server could not be reached or spawned — surface the error and stop. Never
|
|
72
|
+
open a browser at a URL that isn't serving yet; that produces a scary "can't
|
|
73
|
+
connect" page the user then has to refresh.
|
|
68
74
|
|
|
69
75
|
### Step 3: Build the URL
|
|
70
76
|
|
|
@@ -166,9 +166,7 @@ run in order, and are idempotent (safe to re-run).
|
|
|
166
166
|
After server restart, verify the server started successfully and migrations ran:
|
|
167
167
|
|
|
168
168
|
```bash
|
|
169
|
-
|
|
170
|
-
-H "Content-Type: application/json" \
|
|
171
|
-
-d '{"action":"health"}'
|
|
169
|
+
npx wicked-brain-call health --brain "{brain_dir}"
|
|
172
170
|
```
|
|
173
171
|
|
|
174
172
|
If the health check fails, the migration may have errored. To diagnose:
|