@redaksjon/protokoll 0.0.11 → 0.0.13
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/.cursor/rules/definition-of-done.md +1 -0
- package/.cursor/rules/no-emoticons.md +26 -12
- package/README.md +483 -69
- package/dist/agentic/executor.js +473 -41
- package/dist/agentic/executor.js.map +1 -1
- package/dist/agentic/index.js.map +1 -1
- package/dist/agentic/tools/lookup-person.js +123 -4
- package/dist/agentic/tools/lookup-person.js.map +1 -1
- package/dist/agentic/tools/lookup-project.js +139 -22
- package/dist/agentic/tools/lookup-project.js.map +1 -1
- package/dist/agentic/tools/route-note.js +5 -1
- package/dist/agentic/tools/route-note.js.map +1 -1
- package/dist/arguments.js +6 -3
- package/dist/arguments.js.map +1 -1
- package/dist/cli/action.js +704 -0
- package/dist/cli/action.js.map +1 -0
- package/dist/cli/config.js +482 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/context.js +466 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/feedback.js +858 -0
- package/dist/cli/feedback.js.map +1 -0
- package/dist/cli/index.js +103 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.js +572 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/transcript.js +199 -0
- package/dist/cli/transcript.js.map +1 -0
- package/dist/constants.js +12 -5
- package/dist/constants.js.map +1 -1
- package/dist/context/discovery.js +1 -1
- package/dist/context/discovery.js.map +1 -1
- package/dist/context/index.js +25 -1
- package/dist/context/index.js.map +1 -1
- package/dist/context/storage.js +57 -4
- package/dist/context/storage.js.map +1 -1
- package/dist/interactive/handler.js +310 -9
- package/dist/interactive/handler.js.map +1 -1
- package/dist/main.js +11 -1
- package/dist/main.js.map +1 -1
- package/dist/output/index.js.map +1 -1
- package/dist/output/manager.js +47 -2
- package/dist/output/manager.js.map +1 -1
- package/dist/phases/complete.js +38 -3
- package/dist/phases/complete.js.map +1 -1
- package/dist/phases/locate.js +1 -1
- package/dist/phases/locate.js.map +1 -1
- package/dist/pipeline/orchestrator.js +104 -31
- package/dist/pipeline/orchestrator.js.map +1 -1
- package/dist/protokoll.js +68 -2
- package/dist/protokoll.js.map +1 -1
- package/dist/reasoning/client.js +83 -0
- package/dist/reasoning/client.js.map +1 -1
- package/dist/reasoning/index.js +1 -0
- package/dist/reasoning/index.js.map +1 -1
- package/dist/routing/router.js +2 -2
- package/dist/routing/router.js.map +1 -1
- package/dist/util/media.js +1 -1
- package/dist/util/media.js.map +1 -1
- package/dist/util/metadata.js.map +1 -1
- package/dist/util/sound.js +116 -0
- package/dist/util/sound.js.map +1 -0
- package/dist/util/storage.js +3 -3
- package/dist/util/storage.js.map +1 -1
- package/docs/duplicate-question-prevention.md +117 -0
- package/docs/examples.md +152 -0
- package/docs/interactive-context-example.md +92 -0
- package/docs/package-lock.json +6 -0
- package/docs/package.json +3 -1
- package/eslint.config.mjs +1 -1
- package/guide/action.md +375 -0
- package/guide/config.md +207 -0
- package/guide/configuration.md +82 -67
- package/guide/context-commands.md +574 -0
- package/guide/context-system.md +20 -7
- package/guide/development.md +106 -4
- package/guide/feedback.md +335 -0
- package/guide/index.md +100 -4
- package/guide/interactive.md +15 -14
- package/guide/quickstart.md +21 -7
- package/guide/reasoning.md +18 -4
- package/guide/routing.md +192 -97
- package/package.json +2 -3
- package/scripts/copy-assets.mjs +47 -0
- package/scripts/coverage-priority.mjs +323 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/vite.config.ts +6 -13
- package/vitest.config.ts +5 -1
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
# Feedback Command
|
|
2
|
+
|
|
3
|
+
Protokoll includes an intelligent `feedback` command that uses an agentic model to understand natural language feedback about your transcripts and take appropriate actions automatically.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The feedback command allows you to describe problems with a transcript in plain English, and Protokoll will:
|
|
8
|
+
|
|
9
|
+
1. **Understand your feedback** using a reasoning model
|
|
10
|
+
2. **Take corrective actions** like fixing text, adding terms/people to context, or changing project assignments
|
|
11
|
+
3. **Learn for the future** by updating your context to prevent similar issues
|
|
12
|
+
|
|
13
|
+
## Basic Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
protokoll feedback /path/to/transcript.md
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This prompts you interactively:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
────────────────────────────────────────────────────────────
|
|
23
|
+
[Feedback for: transcript.md]
|
|
24
|
+
────────────────────────────────────────────────────────────
|
|
25
|
+
|
|
26
|
+
Describe what needs to be corrected in natural language.
|
|
27
|
+
Examples:
|
|
28
|
+
- "YB should be Wibey"
|
|
29
|
+
- "San Jay Grouper is actually Sanjay Gupta"
|
|
30
|
+
- "This should be in the Quantum Readiness project"
|
|
31
|
+
- "What feedback can I give?" (for help)
|
|
32
|
+
|
|
33
|
+
What is your feedback?
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Non-Interactive Mode
|
|
37
|
+
|
|
38
|
+
Provide feedback directly on the command line:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
protokoll feedback /path/to/transcript.md -f "YB should be spelled Wibey"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Preview Changes (Dry Run)
|
|
45
|
+
|
|
46
|
+
See what would happen without making changes:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
protokoll feedback /path/to/transcript.md --dry-run -v
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## What You Can Do
|
|
53
|
+
|
|
54
|
+
### 1. Fix Terms & Abbreviations
|
|
55
|
+
|
|
56
|
+
When you notice a term or abbreviation was transcribed incorrectly:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
protokoll feedback /path/to/transcript.md
|
|
60
|
+
# "Everywhere it says WCMP, that should be WCNP - Walmart's Native Cloud Platform"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**What happens:**
|
|
64
|
+
1. Replaces "WCMP" with "WCNP" throughout the transcript
|
|
65
|
+
2. Adds "WCNP" to your context vocabulary with:
|
|
66
|
+
- The correct spelling
|
|
67
|
+
- The full expansion ("Walmart's Native Cloud Platform")
|
|
68
|
+
- Phonetic variants so it won't be misheard again
|
|
69
|
+
|
|
70
|
+
### 2. Fix Names
|
|
71
|
+
|
|
72
|
+
When a person's name was transcribed incorrectly:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
protokoll feedback /path/to/transcript.md
|
|
76
|
+
# "San Jay Grouper is actually Sanjay Gupta"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**What happens:**
|
|
80
|
+
1. Replaces "San Jay Grouper" with "Sanjay Gupta" throughout
|
|
81
|
+
2. Looks for variations like "San Jay", "Sanjay Grouper" and fixes those too
|
|
82
|
+
3. Adds "Sanjay Gupta" to your people context with phonetic variants
|
|
83
|
+
|
|
84
|
+
### 3. Change Project Assignment
|
|
85
|
+
|
|
86
|
+
When a transcript was routed to the wrong project:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
protokoll feedback /path/to/transcript.md
|
|
90
|
+
# "This should be in the Quantum Readiness project"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**What happens:**
|
|
94
|
+
1. Updates the project metadata in the transcript
|
|
95
|
+
2. Moves the file to the project's configured destination
|
|
96
|
+
3. Renames the file according to the project's filename rules
|
|
97
|
+
|
|
98
|
+
### 4. Change Title
|
|
99
|
+
|
|
100
|
+
When you want a more descriptive title:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
protokoll feedback /path/to/transcript.md
|
|
104
|
+
# "Change the title to Q1 Planning Session"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**What happens:**
|
|
108
|
+
1. Updates the document heading to `# Q1 Planning Session`
|
|
109
|
+
2. Renames the file to include the slugified title
|
|
110
|
+
|
|
111
|
+
### 5. General Text Corrections
|
|
112
|
+
|
|
113
|
+
For any other text that needs fixing:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
protokoll feedback /path/to/transcript.md
|
|
117
|
+
# "Replace 'gonna' with 'going to' everywhere"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 6. Get Help
|
|
121
|
+
|
|
122
|
+
If you're not sure what feedback you can give:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
protokoll feedback --help-me
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Or ask the system during an interactive session:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
protokoll feedback /path/to/transcript.md
|
|
132
|
+
# "What kinds of feedback can I give?"
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Command Options
|
|
136
|
+
|
|
137
|
+
| Option | Short | Description |
|
|
138
|
+
|--------|-------|-------------|
|
|
139
|
+
| `--feedback <text>` | `-f` | Provide feedback directly (non-interactive) |
|
|
140
|
+
| `--model <model>` | `-m` | Reasoning model to use (default: gpt-5.2) |
|
|
141
|
+
| `--dry-run` | | Show what would happen without making changes |
|
|
142
|
+
| `--verbose` | `-v` | Show detailed output of each action |
|
|
143
|
+
| `--help-me` | | Show examples of feedback you can provide |
|
|
144
|
+
|
|
145
|
+
## How It Works
|
|
146
|
+
|
|
147
|
+
The feedback command uses an **agentic architecture** with specialized tools:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
┌─────────────────┐ ┌──────────────────┐ ┌────────────────┐
|
|
151
|
+
│ Your Feedback │ ──▶ │ Reasoning Model │ ──▶ │ Tool Calls │
|
|
152
|
+
│ (plain text) │ │ (understands) │ │ (executes) │
|
|
153
|
+
└─────────────────┘ └──────────────────┘ └────────────────┘
|
|
154
|
+
│
|
|
155
|
+
┌───────────────────────────────┘
|
|
156
|
+
▼
|
|
157
|
+
┌──────────────────────────────────────────────────┐
|
|
158
|
+
│ Available Tools: │
|
|
159
|
+
│ • correct_text - Replace text in transcript │
|
|
160
|
+
│ • add_term - Add term to context │
|
|
161
|
+
│ • add_person - Add person to context │
|
|
162
|
+
│ • change_project - Update project assignment │
|
|
163
|
+
│ • change_title - Update document title │
|
|
164
|
+
│ • provide_help - Show helpful information │
|
|
165
|
+
└──────────────────────────────────────────────────┘
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Tool Execution Order
|
|
169
|
+
|
|
170
|
+
For comprehensive corrections, the system typically:
|
|
171
|
+
|
|
172
|
+
1. **First**: Makes text corrections (`correct_text`)
|
|
173
|
+
2. **Then**: Adds entities to context (`add_term`, `add_person`)
|
|
174
|
+
3. **Finally**: Updates metadata if needed (`change_project`, `change_title`)
|
|
175
|
+
|
|
176
|
+
### Example: Complete Term Correction
|
|
177
|
+
|
|
178
|
+
When you say: *"WCMP should be WCNP - Walmart's Native Cloud Platform"*
|
|
179
|
+
|
|
180
|
+
The model executes:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
1. correct_text(find="WCMP", replace="WCNP", replace_all=true)
|
|
184
|
+
→ Replaced 3 occurrences
|
|
185
|
+
|
|
186
|
+
2. add_term(term="WCNP", definition="Walmart's Native Cloud Platform",
|
|
187
|
+
sounds_like=["WCMP", "W C M P", "double-u see em pee"])
|
|
188
|
+
→ Added term to context
|
|
189
|
+
|
|
190
|
+
3. complete(summary="Fixed WCMP→WCNP (3 occurrences) and added term to vocabulary")
|
|
191
|
+
→ Done
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Context Learning
|
|
195
|
+
|
|
196
|
+
When the feedback system adds entities to your context, they're stored in your `.protokoll` directory:
|
|
197
|
+
|
|
198
|
+
### Terms
|
|
199
|
+
|
|
200
|
+
```yaml
|
|
201
|
+
# ~/.protokoll/terms/wcnp.yaml
|
|
202
|
+
id: wcnp
|
|
203
|
+
name: WCNP
|
|
204
|
+
type: term
|
|
205
|
+
expansion: "Walmart's Native Cloud Platform"
|
|
206
|
+
sounds_like:
|
|
207
|
+
- WCMP
|
|
208
|
+
- W C M P
|
|
209
|
+
- double-u see en pee
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### People
|
|
213
|
+
|
|
214
|
+
```yaml
|
|
215
|
+
# ~/.protokoll/people/sanjay-gupta.yaml
|
|
216
|
+
id: sanjay-gupta
|
|
217
|
+
name: Sanjay Gupta
|
|
218
|
+
type: person
|
|
219
|
+
sounds_like:
|
|
220
|
+
- San Jay Grouper
|
|
221
|
+
- Sanjay Grouper
|
|
222
|
+
- San Jay
|
|
223
|
+
role: Engineer
|
|
224
|
+
company: Acme Corp
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Verbose Mode
|
|
228
|
+
|
|
229
|
+
Use `-v` or `--verbose` to see what the system is doing:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
protokoll feedback /path/to/transcript.md -f "YB should be Wibey" -v
|
|
233
|
+
|
|
234
|
+
[Processing feedback...]
|
|
235
|
+
|
|
236
|
+
[Executing: correct_text]
|
|
237
|
+
✓ Replaced "YB" → "Wibey" (2x)
|
|
238
|
+
|
|
239
|
+
[Executing: add_term]
|
|
240
|
+
✓ Added term: Wibey = "Correct spelling of YB"
|
|
241
|
+
sounds_like: YB, Y B
|
|
242
|
+
|
|
243
|
+
[Executing: complete]
|
|
244
|
+
|
|
245
|
+
────────────────────────────────────────────────────────────
|
|
246
|
+
[Changes Applied]
|
|
247
|
+
────────────────────────────────────────────────────────────
|
|
248
|
+
✓ Replaced "YB" with "Wibey" (2 occurrences)
|
|
249
|
+
✓ Added term "Wibey" to context
|
|
250
|
+
|
|
251
|
+
File updated: /path/to/transcript.md
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Use Cases
|
|
255
|
+
|
|
256
|
+
### Fixing Common Transcription Errors
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# API pronounced letter-by-letter
|
|
260
|
+
protokoll feedback notes.md -f "API should be written as A-P-I"
|
|
261
|
+
|
|
262
|
+
# Acronyms
|
|
263
|
+
protokoll feedback notes.md -f "AWS was transcribed as 'ay double-u ess', fix it"
|
|
264
|
+
|
|
265
|
+
# Technical terms
|
|
266
|
+
protokoll feedback notes.md -f "Kubernetes was written as 'Cooper Netties'"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Fixing Names
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Full name correction
|
|
273
|
+
protokoll feedback notes.md -f "Priya was transcribed as 'pre a'"
|
|
274
|
+
|
|
275
|
+
# Name with title
|
|
276
|
+
protokoll feedback notes.md -f "Doctor Smith was written as 'Doc Tor Smith'"
|
|
277
|
+
|
|
278
|
+
# International names
|
|
279
|
+
protokoll feedback notes.md -f "Mikhail was transcribed as 'Me Kyle'"
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Project Reorganization
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Simple reassignment
|
|
286
|
+
protokoll feedback notes.md -f "This belongs in the Q4-planning project"
|
|
287
|
+
|
|
288
|
+
# With explanation
|
|
289
|
+
protokoll feedback notes.md -f "This was incorrectly classified as personal, it's actually work related to the Sales project"
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## Troubleshooting
|
|
293
|
+
|
|
294
|
+
### "Text not found in transcript"
|
|
295
|
+
|
|
296
|
+
The exact text you specified doesn't exist. Try:
|
|
297
|
+
- Checking the exact spelling/capitalization in the transcript
|
|
298
|
+
- Using a shorter, more unique phrase
|
|
299
|
+
- Looking at the transcript preview shown when running the command
|
|
300
|
+
|
|
301
|
+
### "Project not found"
|
|
302
|
+
|
|
303
|
+
The project ID you specified doesn't exist. List available projects:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
protokoll project list
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Changes Not Taking Effect
|
|
310
|
+
|
|
311
|
+
Make sure you're not running in `--dry-run` mode. Remove that flag to apply changes.
|
|
312
|
+
|
|
313
|
+
### Model Not Understanding Feedback
|
|
314
|
+
|
|
315
|
+
Try being more explicit:
|
|
316
|
+
- Instead of: "Fix the name"
|
|
317
|
+
- Try: "Replace 'San Jay' with 'Sanjay' everywhere"
|
|
318
|
+
|
|
319
|
+
## Best Practices
|
|
320
|
+
|
|
321
|
+
1. **Be specific**: "Replace X with Y" is clearer than "fix X"
|
|
322
|
+
|
|
323
|
+
2. **Include context**: "WCNP is Walmart's Native Cloud Platform" helps the model add useful metadata
|
|
324
|
+
|
|
325
|
+
3. **Use --dry-run first**: Preview changes before applying them
|
|
326
|
+
|
|
327
|
+
4. **Check with --verbose**: See exactly what actions are being taken
|
|
328
|
+
|
|
329
|
+
5. **Review context files**: Check `~/.protokoll/` to see what was added
|
|
330
|
+
|
|
331
|
+
## See Also
|
|
332
|
+
|
|
333
|
+
- [Context System](./context-system.md) - How context storage works
|
|
334
|
+
- [Transcript Actions](./action.md) - Other ways to edit transcripts
|
|
335
|
+
- [Context Commands](./context-commands.md) - Managing entities directly
|
package/guide/index.md
CHANGED
|
@@ -13,12 +13,16 @@ Protokoll transforms audio recordings into intelligent, context-enhanced transcr
|
|
|
13
13
|
### Getting Started
|
|
14
14
|
- [**Quick Start**](./quickstart.md): Get Protokoll working in 5 minutes
|
|
15
15
|
- [**Configuration**](./configuration.md): All configuration options
|
|
16
|
+
- [**Config Command**](./config.md): Interactive configuration editor
|
|
16
17
|
|
|
17
18
|
### Understanding Protokoll
|
|
18
19
|
- [**Architecture**](./architecture.md): System design and data flow
|
|
19
20
|
- [**Context System**](./context-system.md): How context storage works
|
|
21
|
+
- [**Context Commands**](./context-commands.md): CLI for managing entities
|
|
20
22
|
- [**Routing**](./routing.md): Intelligent note routing
|
|
21
23
|
- [**Reasoning**](./reasoning.md): Reasoning model integration
|
|
24
|
+
- [**Transcript Actions**](./action.md): Post-processing commands (combine, etc.)
|
|
25
|
+
- [**Feedback**](./feedback.md): Intelligent feedback for corrections
|
|
22
26
|
|
|
23
27
|
### Development
|
|
24
28
|
- [**Development**](./development.md): Building and testing
|
|
@@ -29,11 +33,11 @@ Protokoll transforms audio recordings into intelligent, context-enhanced transcr
|
|
|
29
33
|
### Essential Commands
|
|
30
34
|
|
|
31
35
|
```bash
|
|
32
|
-
# Basic transcription (self-reflection enabled by default)
|
|
36
|
+
# Basic transcription (interactive and self-reflection enabled by default)
|
|
33
37
|
protokoll --input-directory ./recordings
|
|
34
38
|
|
|
35
|
-
#
|
|
36
|
-
protokoll --input-directory ./recordings --
|
|
39
|
+
# Disable interactive mode (for automation/cron)
|
|
40
|
+
protokoll --input-directory ./recordings --batch
|
|
37
41
|
|
|
38
42
|
# Disable self-reflection
|
|
39
43
|
protokoll --input-directory ./recordings --no-self-reflection
|
|
@@ -42,6 +46,97 @@ protokoll --input-directory ./recordings --no-self-reflection
|
|
|
42
46
|
protokoll --input-directory ./recordings --debug --verbose
|
|
43
47
|
```
|
|
44
48
|
|
|
49
|
+
### Configuration Commands
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Interactive configuration editor
|
|
53
|
+
protokoll config
|
|
54
|
+
|
|
55
|
+
# List all settings
|
|
56
|
+
protokoll config --list
|
|
57
|
+
|
|
58
|
+
# View a specific setting
|
|
59
|
+
protokoll config model
|
|
60
|
+
|
|
61
|
+
# Set a specific value
|
|
62
|
+
protokoll config model gpt-4o-mini
|
|
63
|
+
protokoll config debug true
|
|
64
|
+
protokoll config outputDirectory ~/my-notes
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Context Management Commands
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# List entities
|
|
71
|
+
protokoll project list
|
|
72
|
+
protokoll person list
|
|
73
|
+
protokoll term list
|
|
74
|
+
protokoll company list
|
|
75
|
+
protokoll ignored list
|
|
76
|
+
|
|
77
|
+
# Show entity details
|
|
78
|
+
protokoll project show <id>
|
|
79
|
+
protokoll person show <id>
|
|
80
|
+
|
|
81
|
+
# Add new entities (interactive)
|
|
82
|
+
protokoll project add
|
|
83
|
+
protokoll person add
|
|
84
|
+
protokoll term add
|
|
85
|
+
protokoll company add
|
|
86
|
+
protokoll ignored add
|
|
87
|
+
|
|
88
|
+
# Delete entities
|
|
89
|
+
protokoll project delete <id>
|
|
90
|
+
protokoll person delete <id> --force
|
|
91
|
+
|
|
92
|
+
# Context overview
|
|
93
|
+
protokoll context status
|
|
94
|
+
protokoll context search <query>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Transcript Actions
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Edit a single transcript - change title
|
|
101
|
+
protokoll action --title "Time to Celebrate" /path/to/transcript.md
|
|
102
|
+
|
|
103
|
+
# Edit a single transcript - change project
|
|
104
|
+
protokoll action --project client-alpha /path/to/transcript.md
|
|
105
|
+
|
|
106
|
+
# Combine multiple transcripts (source files are auto-deleted)
|
|
107
|
+
protokoll action --title "Full Meeting Notes" --combine "/path/to/file1.md
|
|
108
|
+
/path/to/file2.md
|
|
109
|
+
/path/to/file3.md"
|
|
110
|
+
|
|
111
|
+
# Combine and change project
|
|
112
|
+
protokoll action --title "Sprint Planning" --project my-project --combine "/path/to/files..."
|
|
113
|
+
|
|
114
|
+
# Preview without making changes
|
|
115
|
+
protokoll action --title "New Title" /path/to/file.md --dry-run --verbose
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Feedback
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Provide feedback interactively
|
|
122
|
+
protokoll feedback /path/to/transcript.md
|
|
123
|
+
|
|
124
|
+
# Provide feedback directly
|
|
125
|
+
protokoll feedback /path/to/transcript.md -f "YB should be Wibey"
|
|
126
|
+
|
|
127
|
+
# Fix a name and add to context
|
|
128
|
+
protokoll feedback /path/to/transcript.md -f "San Jay Grouper is actually Sanjay Gupta"
|
|
129
|
+
|
|
130
|
+
# Change project assignment
|
|
131
|
+
protokoll feedback /path/to/transcript.md -f "This should be in the Quantum Readiness project"
|
|
132
|
+
|
|
133
|
+
# Preview changes
|
|
134
|
+
protokoll feedback /path/to/transcript.md -f "WCMP should be WCNP" --dry-run -v
|
|
135
|
+
|
|
136
|
+
# Get help on feedback options
|
|
137
|
+
protokoll feedback --help-me
|
|
138
|
+
```
|
|
139
|
+
|
|
45
140
|
### Key Directories
|
|
46
141
|
|
|
47
142
|
```
|
|
@@ -84,8 +179,9 @@ If you're an AI helping someone use Protokoll:
|
|
|
84
179
|
| Setting | Default Value |
|
|
85
180
|
|---------|---------------|
|
|
86
181
|
| Reasoning Model | `gpt-5.2` |
|
|
182
|
+
| Reasoning Level | `medium` |
|
|
87
183
|
| Transcription Model | `whisper-1` |
|
|
88
184
|
| Self-Reflection | `true` (enabled) |
|
|
89
|
-
| Interactive Mode | `
|
|
185
|
+
| Interactive Mode | `true` (enabled, use `--batch` to disable) |
|
|
90
186
|
| Output Structure | `month` |
|
|
91
187
|
|
package/guide/interactive.md
CHANGED
|
@@ -11,20 +11,21 @@ When enabled, Protokoll will:
|
|
|
11
11
|
3. Offer to remember new entities
|
|
12
12
|
4. Request routing clarification
|
|
13
13
|
|
|
14
|
-
**Note**: Interactive mode is
|
|
14
|
+
**Note**: Interactive mode is **enabled by default**. Use `--batch` to disable it for automation.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Disabling Interactive Mode
|
|
17
|
+
|
|
18
|
+
For automation or cron jobs, disable interactive prompts:
|
|
17
19
|
|
|
18
20
|
```bash
|
|
19
|
-
protokoll --
|
|
21
|
+
protokoll --batch --input-directory ./recordings
|
|
20
22
|
```
|
|
21
23
|
|
|
22
24
|
Or in config:
|
|
23
25
|
|
|
24
26
|
```yaml
|
|
25
27
|
# ~/.protokoll/config.yaml
|
|
26
|
-
|
|
27
|
-
interactive: true
|
|
28
|
+
interactive: false
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
## Clarification Types
|
|
@@ -93,15 +94,15 @@ All clarifications are recorded in the session file:
|
|
|
93
94
|
}
|
|
94
95
|
```
|
|
95
96
|
|
|
96
|
-
## Non-Interactive Mode (
|
|
97
|
+
## Non-Interactive Mode (Batch)
|
|
97
98
|
|
|
98
|
-
|
|
99
|
+
For automation, run without prompts using `--batch`:
|
|
99
100
|
|
|
100
101
|
```bash
|
|
101
|
-
protokoll --input-directory ./recordings
|
|
102
|
+
protokoll --batch --input-directory ./recordings
|
|
102
103
|
```
|
|
103
104
|
|
|
104
|
-
In non-interactive mode:
|
|
105
|
+
In non-interactive (batch) mode:
|
|
105
106
|
- Uses suggestions when available
|
|
106
107
|
- Skips unknown entities
|
|
107
108
|
- Uses default routing
|
|
@@ -109,7 +110,7 @@ In non-interactive mode:
|
|
|
109
110
|
|
|
110
111
|
## First-Run Onboarding
|
|
111
112
|
|
|
112
|
-
On first run with
|
|
113
|
+
On first run with interactive mode (the default) and no existing config:
|
|
113
114
|
|
|
114
115
|
```
|
|
115
116
|
Welcome to Protokoll!
|
|
@@ -182,14 +183,14 @@ type ClarificationType =
|
|
|
182
183
|
|
|
183
184
|
### No Prompts Appearing
|
|
184
185
|
|
|
185
|
-
1. Check `--
|
|
186
|
-
2.
|
|
187
|
-
3.
|
|
186
|
+
1. Check `--batch` flag is NOT set
|
|
187
|
+
2. Check config doesn't have `interactive: false`
|
|
188
|
+
3. Verify terminal supports prompts (TTY environment required)
|
|
188
189
|
|
|
189
190
|
### Too Many Prompts
|
|
190
191
|
|
|
191
192
|
1. Add more context entries
|
|
192
|
-
2. Run
|
|
193
|
+
2. Run with `--batch` for known content
|
|
193
194
|
3. Add sounds_like mappings
|
|
194
195
|
|
|
195
196
|
### Prompts Timing Out
|
package/guide/quickstart.md
CHANGED
|
@@ -43,10 +43,8 @@ mkdir -p ~/.protokoll
|
|
|
43
43
|
```yaml
|
|
44
44
|
# ~/.protokoll/config.yaml
|
|
45
45
|
model: "gpt-5.2"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
path: "~/notes"
|
|
49
|
-
structure: "month"
|
|
46
|
+
outputDirectory: "~/notes"
|
|
47
|
+
outputStructure: "month"
|
|
50
48
|
```
|
|
51
49
|
|
|
52
50
|
## First Transcription
|
|
@@ -59,12 +57,24 @@ protokoll --input-directory ~/recordings
|
|
|
59
57
|
# Self-reflection report is generated by default
|
|
60
58
|
```
|
|
61
59
|
|
|
60
|
+
When processing multiple files, you'll see progress indicators:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Found 11 file(s) to process in ~/recordings
|
|
64
|
+
[1/11] Starting: ~/recordings/meeting.m4a
|
|
65
|
+
[1/11] Transcribing audio...
|
|
66
|
+
[1/11] Enhancing with gpt-5.2...
|
|
67
|
+
[1/11] Output: ~/notes/2026/01/260115-meeting.md (7.3s total)
|
|
68
|
+
[2/11] Starting: ~/recordings/quick-thought.m4a
|
|
69
|
+
...
|
|
70
|
+
```
|
|
71
|
+
|
|
62
72
|
## Interactive Mode
|
|
63
73
|
|
|
64
|
-
|
|
74
|
+
Interactive mode is **enabled by default**. Protokoll will ask questions to learn names and projects as you go:
|
|
65
75
|
|
|
66
76
|
```bash
|
|
67
|
-
protokoll --input-directory ~/recordings
|
|
77
|
+
protokoll --input-directory ~/recordings
|
|
68
78
|
```
|
|
69
79
|
|
|
70
80
|
Protokoll will ask:
|
|
@@ -111,6 +121,9 @@ protokoll --input-directory ~/recordings --debug
|
|
|
111
121
|
# Disable self-reflection (enabled by default)
|
|
112
122
|
protokoll --input-directory ~/recordings --no-self-reflection
|
|
113
123
|
|
|
124
|
+
# Disable interactive mode (for automation/cron jobs)
|
|
125
|
+
protokoll --input-directory ~/recordings --batch
|
|
126
|
+
|
|
114
127
|
# Dry run (show what would happen)
|
|
115
128
|
protokoll --input-directory ~/recordings --dry-run
|
|
116
129
|
|
|
@@ -124,8 +137,9 @@ protokoll --input-directory ~/recordings --model claude-3-5-sonnet
|
|
|
124
137
|
|--------|---------|
|
|
125
138
|
| `--model` | `gpt-5.2` |
|
|
126
139
|
| `--transcription-model` | `whisper-1` |
|
|
140
|
+
| `--reasoning-level` | `medium` |
|
|
127
141
|
| `--self-reflection` | `true` (enabled) |
|
|
128
|
-
|
|
|
142
|
+
| Interactive mode | `true` (enabled, use `--batch` to disable) |
|
|
129
143
|
| Output structure | `month` |
|
|
130
144
|
| Filename options | `date`, `time`, `subject` |
|
|
131
145
|
|
package/guide/reasoning.md
CHANGED
|
@@ -45,14 +45,27 @@ The reasoning system:
|
|
|
45
45
|
```yaml
|
|
46
46
|
# ~/.protokoll/config.yaml
|
|
47
47
|
model: "gpt-5.2"
|
|
48
|
+
reasoningLevel: "medium" # low, medium, or high
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
Or via command line:
|
|
51
52
|
|
|
52
53
|
```bash
|
|
53
|
-
protokoll --model claude-3-5-sonnet --input-directory ./recordings
|
|
54
|
+
protokoll --model claude-3-5-sonnet --reasoning-level medium --input-directory ./recordings
|
|
54
55
|
```
|
|
55
56
|
|
|
57
|
+
## Reasoning Levels
|
|
58
|
+
|
|
59
|
+
For models that support the `reasoning_effort` parameter (gpt-5.1, gpt-5.2, o1, o1-mini, o3, o3-mini), you can control how much reasoning effort the model expends:
|
|
60
|
+
|
|
61
|
+
| Level | Description | Best For |
|
|
62
|
+
|-------|-------------|----------|
|
|
63
|
+
| `low` | Quick processing, minimal reasoning | Simple transcripts with few corrections needed |
|
|
64
|
+
| `medium` | **Default** - Balanced reasoning | Standard transcription with context lookup |
|
|
65
|
+
| `high` | Maximum reasoning effort | Unusual or highly technical content |
|
|
66
|
+
|
|
67
|
+
The default is `medium` because transcript enhancement benefits from balanced reasoning: looking up names, correcting spellings, and categorizing content requires moderate context analysis. Use `low` for simple transcripts with few corrections needed, or `high` for complex technical content.
|
|
68
|
+
|
|
56
69
|
## Reasoning Strategies
|
|
57
70
|
|
|
58
71
|
### Simple
|
|
@@ -175,9 +188,10 @@ interface ReasoningResponse {
|
|
|
175
188
|
|
|
176
189
|
### Slow Processing
|
|
177
190
|
|
|
178
|
-
1. Use
|
|
179
|
-
2.
|
|
180
|
-
3.
|
|
191
|
+
1. Use lower reasoning level: `--reasoning-level low`
|
|
192
|
+
2. Use faster model: `--model gpt-4o-mini`
|
|
193
|
+
3. Check self-reflection for bottlenecks
|
|
194
|
+
4. Add more context to reduce iterations
|
|
181
195
|
|
|
182
196
|
### Poor Quality
|
|
183
197
|
|