@redaksjon/protokoll 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.nvmrc +2 -0
  2. package/LICENSE +190 -0
  3. package/README.md +88 -0
  4. package/dist/arguments.js +158 -0
  5. package/dist/arguments.js.map +1 -0
  6. package/dist/constants.js +82 -0
  7. package/dist/constants.js.map +1 -0
  8. package/dist/logging.js +46 -0
  9. package/dist/logging.js.map +1 -0
  10. package/dist/main.js +5 -0
  11. package/dist/main.js.map +1 -0
  12. package/dist/phases/locate.js +55 -0
  13. package/dist/phases/locate.js.map +1 -0
  14. package/dist/phases/transcribe.js +149 -0
  15. package/dist/phases/transcribe.js.map +1 -0
  16. package/dist/processor.js +35 -0
  17. package/dist/processor.js.map +1 -0
  18. package/dist/prompt/instructions/transcribe.md +46 -0
  19. package/dist/prompt/personas/transcriber.md +37 -0
  20. package/dist/prompt/transcribe.js +41 -0
  21. package/dist/prompt/transcribe.js.map +1 -0
  22. package/dist/protokoll.js +81 -0
  23. package/dist/protokoll.js.map +1 -0
  24. package/dist/util/dates.js +96 -0
  25. package/dist/util/dates.js.map +1 -0
  26. package/dist/util/general.js +39 -0
  27. package/dist/util/general.js.map +1 -0
  28. package/dist/util/media.js +103 -0
  29. package/dist/util/media.js.map +1 -0
  30. package/dist/util/openai.js +92 -0
  31. package/dist/util/openai.js.map +1 -0
  32. package/dist/util/storage.js +135 -0
  33. package/dist/util/storage.js.map +1 -0
  34. package/docs/index.html +16 -0
  35. package/docs/package-lock.json +1521 -0
  36. package/docs/package.json +21 -0
  37. package/docs/vite.config.js +10 -0
  38. package/eslint.config.mjs +82 -0
  39. package/nodemon.json +14 -0
  40. package/output/kodrdriv/250702-1905-commit-message.md +1 -0
  41. package/output/kodrdriv/250702-1905-commit.request.json +14 -0
  42. package/output/kodrdriv/250702-1905-commit.response.json +36 -0
  43. package/output/kodrdriv/250702-1906-commit-message.md +1 -0
  44. package/output/kodrdriv/250702-1907-commit-message.md +1 -0
  45. package/output/kodrdriv/250702-1907-commit.request.json +14 -0
  46. package/output/kodrdriv/250702-1907-commit.response.json +36 -0
  47. package/output/kodrdriv/250716-1517-review-analysis.md +39 -0
  48. package/output/kodrdriv/250716-1517-review-notes.md +69 -0
  49. package/output/kodrdriv/250716-1518-review-analysis.md +15 -0
  50. package/output/kodrdriv/250716-1518-review-notes.md +67 -0
  51. package/output/kodrdriv/250716-1523-review-analysis.md +36 -0
  52. package/output/kodrdriv/250716-1523-review-notes.md +87 -0
  53. package/output/kodrdriv/250722-1135-commit-message.md +1 -0
  54. package/output/kodrdriv/250722-1331-commit-message.md +1 -0
  55. package/output/kodrdriv/250722-1335-commit-message.md +1 -0
  56. package/output/kodrdriv/250722-1337-commit-message.md +1 -0
  57. package/output/kodrdriv/250722-1342-release-notes.md +26 -0
  58. package/output/kodrdriv/250722-1416-commit-message.md +3 -0
  59. package/output/kodrdriv/250722-1420-commit-message.md +1 -0
  60. package/output/kodrdriv/250722-1422-commit-message.md +1 -0
  61. package/output/kodrdriv/250722-1423-commit-message.md +1 -0
  62. package/output/kodrdriv/250722-1425-release-notes.md +41 -0
  63. package/output/kodrdriv/250722-1527-commit-message.md +13 -0
  64. package/output/kodrdriv/250722-1532-commit-message.md +1 -0
  65. package/output/kodrdriv/250722-1532-release-notes.md +32 -0
  66. package/output/kodrdriv/250722-2314-review-analysis.md +28 -0
  67. package/output/kodrdriv/250722-2314-review-notes.md +464 -0
  68. package/output/kodrdriv/250722-2315-review-analysis.md +28 -0
  69. package/output/kodrdriv/250722-2315-review-notes.md +477 -0
  70. package/output/kodrdriv/250804-1623-review-analysis.md +38 -0
  71. package/output/kodrdriv/250804-1623-review-notes.md +479 -0
  72. package/output/kodrdriv/250804-1638-review-analysis.md +56 -0
  73. package/output/kodrdriv/250804-1638-review-notes.md +502 -0
  74. package/output/kodrdriv/250812-2021-review-analysis.md +27 -0
  75. package/output/kodrdriv/250812-2021-review-notes.md +571 -0
  76. package/output/kodrdriv/250826-0700-commit-message.md +12 -0
  77. package/output/kodrdriv/RELEASE_NOTES.md +30 -0
  78. package/output/kodrdriv/RELEASE_TITLE.md +1 -0
  79. package/package.json +78 -0
  80. package/tsconfig.tsbuildinfo +1 -0
  81. package/vite.config.ts +124 -0
  82. package/vitest.config.ts +30 -0
@@ -0,0 +1,479 @@
1
+ # Review Notes
2
+
3
+ When Matnava creates a transcript, what I'm noticing is that it is converting the time of the file to UTC. This means that if I record something at 5 PM Pacific, it'll be logged against the following day. Can you fix that timestamp issue?
4
+
5
+
6
+ We also need to figure out if the files in the Inbound directory are going to be copied to Processed. Right now, you run the tool against a collection of audio files, and nothing moves.
7
+
8
+ # Commit History Context
9
+
10
+
11
+
12
+ [Recent Commit History]
13
+ commit 2af48dccaf2d88b04eeba60a88a7cc0ac61822cb
14
+ Author: Simran Jafari <jafarisimran@gmail.com>
15
+ Date: Tue Jul 22 15:33:53 2025 -0700
16
+
17
+ 0.0.4
18
+
19
+ (#3)
20
+
21
+ * Add documentation site for Matnava with automated GitHub Pages deployment
22
+
23
+ Introduce a standalone documentation site under the `docs/` directory, built with React and Vite, featuring step-by-step setup instructions, feature overview, example usage, and customization guidance. The site leverages modern styling with dark/light mode support and is configured for GitHub Pages deployment.
24
+
25
+ Key additions and setup:
26
+ - `docs/README.md`: Instructions for local development, structure, and deployment workflow.
27
+ - `docs/src/`: Contains the main React components and styles (`App.jsx`, `index.css`, `main.jsx`).
28
+ - `docs/vite.config.js`: Vite configuration with `/matnava/` base for correct GH Pages routing.
29
+ - `docs/package.json`: Dependencies and scripts using pnpm.
30
+ - `.github/workflows/deploy-docs.yml`: GitHub Actions workflow to build and deploy the docs site on pushes to the `main` branch.
31
+ - `.gitignore`: Node, build artifacts, and local config files ignored under `docs/`.
32
+
33
+ This enables automated, seamless deployment of up-to-date documentation with every change to the `main` branch.
34
+
35
+ * Add NPM lockfile and .npmrc to docs for isolated dependency management
36
+
37
+ Introduced `docs/package-lock.json` to lock dependency versions for the documentation site, ensuring reproducible installs regardless of workspace settings. Added `docs/.npmrc` with `ignore-workspace=true` to prevent local or monorepo workspace dependencies from interfering, supporting reliable standalone installation via npm. These files improve CI stability and local development by decoupling the docs build from any global or workspace package manager configuration.
38
+
39
+ * No changes detected — empty commit.
40
+
41
+ * 0.0.4
42
+
43
+ commit 6c8c60dbf41bd6c24de187fa217b4835fcb1dfa5
44
+ Author: Simran Jafari <jafarisimran@gmail.com>
45
+ Date: Tue Jul 22 14:27:02 2025 -0700
46
+
47
+ 0.0.3
48
+
49
+ (#2)
50
+
51
+ * Removed ts-expect-error for config shape in matnava.ts, corrected error assertion in media utility test to throw an error, and fixed typo in tsconfig.json types array by removing duplicate entries and ensuring correct type specification.
52
+
53
+ * Upgraded @riotprompt/riotprompt, @theunwalked/cardigantime, and @theunwalked/dreadcabinet dependencies from local workspace links to released package versions in package.json, removed pnpm-workspace.yaml, and updated the packageManager field to require pnpm 10.13.1. This streamlines dependency management by transitioning from local development references to stable, published versions, and eliminates the need for custom workspace overrides.
54
+
55
+ * Removed mockdate from devDependencies in package.json to eliminate unused development dependency.
56
+
57
+ * Removed duplicate test execution in GitHub Actions workflows by deleting redundant 'pnpm test --coverage' steps from both pnpm-publish.yml and test.yml, ensuring tests run only once before code coverage upload.
58
+
59
+ * 0.0.2
60
+
61
+ * Removed local configuration and context files in favor of pnpm-workspace.yaml overrides; tightened dependency handling and updated instructional prompt
62
+
63
+ Deleted .cursorrules, .kodrdriv/config.yaml, and .kodrdriv/context/content.md to eliminate local test, workflow, and documentation rules. Added pnpm-workspace.yaml with explicit package link overrides to control dependency resolution. Expanded and clarified src/prompt/instructions/transcribe.md to set stricter constraints and formatting requirements for transcript processing, including clearer guidelines for spelling correction, Markdown structure, and fidelity, while discouraging summarization and interpretation. Refined src/arguments.ts and src/constants.ts to streamline config merging and remove unnecessary default properties and early argument parsing for --check-config and --init-config. Adjusted SecureConfigSchema in src/matnava.ts for proper secure configuration typing. Updated Vite rollupOptions externals list for more robust dependency exclusion. These changes enhance reproducibility, make project dependency management explicit, and improve transcript post-processing consistency.
64
+
65
+ * No changes detected — empty commit.
66
+
67
+ * No changes detected — empty commit.
68
+
69
+ * No changes detected — empty commit.
70
+
71
+ * Removing pnpm-workspace
72
+
73
+ * 0.0.3
74
+
75
+ commit de67713d5aa8b4e2fcdf7d3a4b5cfc0ff0e26dca
76
+ Author: Simran Jafari <jafarisimran@gmail.com>
77
+ Date: Tue Jul 22 11:16:09 2025 -0700
78
+
79
+ Initial commit
80
+
81
+
82
+ # Recent Diffs Context
83
+
84
+
85
+
86
+ [Recent Diff 1 (HEAD~1)]
87
+ diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml
88
+ new file mode 100644
89
+ index 0000000..a9fd775
90
+ --- /dev/null
91
+ +++ b/.github/workflows/deploy-docs.yml
92
+ @@ -0,0 +1,61 @@
93
+ +name: Deploy Documentation to GitHub Pages
94
+ +
95
+ +on:
96
+ + push:
97
+ + branches: [ main ]
98
+ + workflow_dispatch:
99
+ +
100
+ +permissions:
101
+ + contents: read
102
+ + pages: write
103
+ + id-token: write
104
+ +
105
+ +concurrency:
106
+ + group: "pages"
107
+ + cancel-in-progress: false
108
+ +
109
+ +jobs:
110
+ + build:
111
+ + runs-on: ubuntu-latest
112
+ + steps:
113
+ + - name: Checkout
114
+ + uses: actions/checkout@v4
115
+ +
116
+ + - name: Setup Node.js
117
+ + uses: actions/setup-node@v4
118
+ + with:
119
+ + node-version: '18'
120
+ +
121
+ + - name: Setup pnpm
122
+ + uses: pnpm/action-setup@v4
123
+ + with:
124
+ + version: 10.13.1
125
+ +
126
+ + - name: Install dependencies
127
+ + run: |
128
+ + cd docs
129
+ + pnpm install
130
+ +
131
+ + - name: Build documentation
132
+ + run: |
133
+ + cd docs
134
+ + pnpm run build
135
+ +
136
+ + - name: Setup Pages
137
+ + uses: actions/configure-pages@v4
138
+ +
139
+ + - name: Upload artifact
140
+ + uses: actions/upload-pages-artifact@v3
141
+ + with:
142
+ + path: ./docs/dist
143
+ +
144
+ + deploy:
145
+ + environment:
146
+ + name: github-pages
147
+ + url: ${{ steps.deployment.outputs.page_url }}
148
+ + runs-on: ubuntu-latest
149
+ + needs: build
150
+ + steps:
151
+ + - name: Deploy to GitHub Pages
152
+ + id: deployment
153
+ + uses: actions/deploy-pages@v4
154
+
155
+ diff --git a/docs/.gitignore b/docs/.gitignore
156
+ new file mode 100644
157
+ index 0000000..3c4acb8
158
+ --- /dev/null
159
+ +++ b/docs/.gitignore
160
+ @@ -0,0 +1,38 @@
161
+ +# Dependencies
162
+ +node_modules/
163
+ +/.pnp
164
+ +.pnp.js
165
+ +
166
+ +# Production builds
167
+ +/dist
168
+ +/build
169
+ +
170
+ +# Environment variables
171
+ +.env
172
+ +.env.local
173
+ +.env.development.local
174
+ +.env.test.local
175
+ +.env.production.local
176
+ +
177
+ +# Logs
178
+ +npm-debug.log*
179
+ +yarn-debug.log*
180
+ +yarn-error.log*
181
+ +pnpm-debug.log*
182
+ +lerna-debug.log*
183
+ +
184
+ +# Runtime data
185
+ +pids
186
+ +*.pid
187
+ +*.seed
188
+ +*.pid.lock
189
+ +
190
+ +# IDE files
191
+ +.vscode/
192
+ +.idea/
193
+ +*.swp
194
+ +*.swo
195
+ +
196
+ +# OS files
197
+ +.DS_Store
198
+ +Thumbs.db
199
+
200
+ diff --git a/docs/.npmrc b/docs/.npmrc
201
+ new file mode 100644
202
+ index 0000000..de14fd9
203
+ --- /dev/null
204
+ +++ b/docs/.npmrc
205
+ @@ -0,0 +1 @@
206
+ +ignore-workspace=true
207
+ diff --git a/docs/README.md b/docs/README.md
208
+ new file mode 100644
209
+ index 0000000..fe32a9d
210
+ --- /dev/null
211
+ +++ b/docs/README.md
212
+ @@ -0,0 +1,50 @@
213
+ +# Matnava Documentation Site
214
+ +
215
+ +This is a simple React documentation site for Matnava, deployed automatically to GitHub Pages.
216
+ +
217
+ +## Local Development
218
+ +
219
+ +To work on the documentation site locally:
220
+ +
221
+ +```bash
222
+ +# Navigate to the docs directory
223
+ +cd docs
224
+ +
225
+ +# Install dependencies
226
+ +pnpm install
227
+ +
228
+ +# Start the development server
229
+ +pnpm run dev
230
+ +
231
+ +# Build for production
232
+ +pnpm run build
233
+ +
234
+ +# Preview the production build
235
+ +pnpm run preview
236
+ +```
237
+ +
238
+ +## Deployment
239
+ +
240
+ +The site is automatically deployed to GitHub Pages via a GitHub workflow whenever commits are pushed to the `main` branch. The workflow:
241
+ +
242
+ +1. Installs dependencies using pnpm
243
+ +2. Builds the React app
244
+ +3. Deploys to GitHub Pages
245
+ +
246
+ +The site will be available at: `https://[username].github.io/matnava/`
247
+ +
248
+ +## Structure
249
+ +
250
+ +- `src/App.jsx` - Main React component with all the documentation content
251
+ +- `src/index.css` - Styles with dark/light mode support
252
+ +- `vite.config.js` - Vite configuration with GitHub Pages base path
253
+ +- `package.json` - Dependencies and scripts for the React app
254
+ +
255
+ +## Customization
256
+ +
257
+ +To update the documentation:
258
+ +
259
+ +1. Edit `src/App.jsx` to modify content
260
+ +2. Edit `src/index.css` to modify styling
261
+ +3. Test locally with `pnpm run dev`
262
+ +4. Commit and push to trigger automatic deployment
263
+
264
+ diff --git a/docs/index.html b/docs/index.html
265
+ new file mode 100644
266
+ index 0000000..cb07c28
267
+ --- /dev/null
268
+ +++ b/docs/index.html
269
+ @@ -0,0 +1,16 @@
270
+ +<!doctype html>
271
+ +<html lang="en">
272
+ +
273
+ +<head>
274
+ + <meta charset="UTF-8" />
275
+ + <link rel="icon" type="image/svg+xml" href="/vite.svg" />
276
+ + <meta name="viewport" content="width=device-width, initial-scale=1.0" />
277
+ + <title>Matnava - Focused Audio Transcription Tool</title>
278
+ +</head>
279
+ +
280
+ +<body>
281
+ + <div id="root"></div>
282
+ + <script type="module" src="/src/main.jsx"></script>
283
+ +</body>
284
+ +
285
+ +</html>
286
+
287
+ diff --git a/docs/package.json b/docs/package.json
288
+ new file mode 100644
289
+ index 0000000..e338989
290
+ --- /dev/null
291
+ +++ b/docs/package.json
292
+ @@ -0,0 +1,21 @@
293
+ +{
294
+ + "name": "matnava-docs",
295
+ + "version": "1.0.0",
296
+ + "description": "Documentation site for Matnava - a focused transcription tool",
297
+ + "type": "module",
298
+ + "scripts": {
299
+ + "dev": "vite",
300
+ + "build": "vite build",
301
+ + "preview": "vite preview"
302
+ + },
303
+ + "dependencies": {
304
+ + "react": "^18.2.0",
305
+ + "react-dom": "^18.2.0"
306
+ + },
307
+ + "devDependencies": {
308
+ + "@types/react": "^18.2.0",
309
+ + "@types/react-dom": "^18.2.0",
310
+ + "@vitejs/plugin-react": "^4.0.0",
311
+ + "vite": "^5.0.0"
312
+ + }
313
+ +}
314
+
315
+ ... [TRUNCATED: Original diff was 16153 characters, showing first 4987] ...
316
+
317
+ [Recent Diff 2 (HEAD~2..HEAD~1)]
318
+ diff --git a/.cursorrules b/.cursorrules
319
+ deleted file mode 100644
320
+ index ac40cec..0000000
321
+ --- a/.cursorrules
322
+ +++ /dev/null
323
+ @@ -1,8 +0,0 @@
324
+ -When writing tests make use of @ts-ignore to simplify things. Don't spend too much effort trying to address these errors.
325
+ -
326
+ -When mocking ESM modules in Jest, we need to make use of this approach:
327
+ -
328
+ - // Mock the modules before importing
329
+ - jest.unstable_mockModule('../../src/logging', () => ({
330
+ - getLogger: jest.fn(() => mockLogger)
331
+ - }));
332
+ diff --git a/.github/workflows/pnpm-publish.yml b/.github/workflows/pnpm-publish.yml
333
+ index cadaebc..18e8c81 100644
334
+ --- a/.github/workflows/pnpm-publish.yml
335
+ +++ b/.github/workflows/pnpm-publish.yml
336
+ @@ -24,7 +24,7 @@ jobs:
337
+ - run: pnpm install --frozen-lockfile --strict-peer-dependencies
338
+ - run: pnpm run lint
339
+ - run: pnpm run build
340
+ - - run: pnpm test --coverage
341
+ + - run: pnpm test
342
+ - uses: codecov/codecov-action@v5
343
+ with:
344
+ slug: jafarisimran/maloomscan
345
+ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
346
+ index 894747f..31e6581 100644
347
+ --- a/.github/workflows/test.yml
348
+ +++ b/.github/workflows/test.yml
349
+ @@ -22,7 +22,7 @@ jobs:
350
+ - run: pnpm install --frozen-lockfile --strict-peer-dependencies
351
+ - run: pnpm run lint
352
+ - run: pnpm run build
353
+ - - run: pnpm test --coverage
354
+ + - run: pnpm test
355
+ - uses: codecov/codecov-action@v5
356
+ with:
357
+ slug: jafarisimran/maloomscan
358
+ diff --git a/.kodrdriv/config.yaml b/.kodrdriv/config.yaml
359
+ deleted file mode 100644
360
+ index 6e93ef3..0000000
361
+ --- a/.kodrdriv/config.yaml
362
+ +++ /dev/null
363
+ @@ -1,8 +0,0 @@
364
+ -contextDirectories:
365
+ - - .kodrdriv/context
366
+ -commit:
367
+ - cached: true
368
+ - sendit: true
369
+ -release:
370
+ - from: main
371
+ - to: HEAD
372
+
373
+ diff --git a/.kodrdriv/context/content.md b/.kodrdriv/context/content.md
374
+ deleted file mode 100644
375
+ index 28ae833..0000000
376
+ --- a/.kodrdriv/context/content.md
377
+ +++ /dev/null
378
+ @@ -1 +0,0 @@
379
+ -Maloomscan takes audio recordings and turned them into intellgent notes.
380
+ diff --git a/package.json b/package.json
381
+ index 3785f24..e544d4d 100644
382
+ --- a/package.json
383
+ +++ b/package.json
384
+ @@ -1,6 +1,6 @@
385
+ {
386
+ "name": "@jankhoj/matnava",
387
+ - "version": "0.0.1",
388
+ + "version": "0.0.3",
389
+ "description": "Matnava is a focused transcription tool that helps you transcribe audio intelligently using context.",
390
+ "main": "dist/main.js",
391
+ "type": "module",
392
+ @@ -11,7 +11,7 @@
393
+ "type": "git",
394
+ "url": "git+https://github.com/jafarisimran/matnava.git"
395
+ },
396
+ - "packageManager": "pnpm@10.11.0",
397
+ + "packageManager": "pnpm@10.13.1",
398
+ "scripts": {
399
+ "build": "pnpm run lint &&tsc --noEmit && vite build && copyfiles -u 1 \"src/**/*.md\" dist",
400
+ "dev": "vite",
401
+ @@ -31,9 +31,9 @@
402
+ "author": "Simran Jafari <jafarisimran@gmail.com>",
403
+ "license": "Apache-2.0",
404
+ "dependencies": {
405
+ - "@riotprompt/riotprompt": "link:../../StJustReckoning/riotprompt",
406
+ - "@theunwalked/cardigantime": "link:../../SemicolonAmbulance/cardigantime",
407
+ - "@theunwalked/dreadcabinet": "link:../../SemicolonAmbulance/dreadcabinet",
408
+ + "@riotprompt/riotprompt": "^0.0.8",
409
+ + "@theunwalked/cardigantime": "^0.0.16",
410
+ + "@theunwalked/dreadcabinet": "^0.0.10",
411
+ "@types/fluent-ffmpeg": "^2.1.27",
412
+ "commander": "^14.0.0",
413
+ "dayjs": "^1.11.13",
414
+ @@ -62,6 +62,7 @@
415
+ "eslint": "^9.31.0",
416
+ "eslint-plugin-import": "^2.32.0",
417
+ "globals": "^16.3.0",
418
+ + "mockdate": "^3.0.5",
419
+ "rollup-plugin-preserve-shebang": "^1.0.1",
420
+ "rollup-plugin-visualizer": "^6.0.3",
421
+ "typescript": "^5.8.3",
422
+ @@ -69,4 +70,4 @@
423
+ "vite-plugin-node": "^7.0.0",
424
+ "vitest": "^3.2.4"
425
+ }
426
+ -}
427
+
428
+ +}
429
+ diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
430
+ deleted file mode 100644
431
+ index 39693c1..0000000
432
+ --- a/pnpm-workspace.yaml
433
+ +++ /dev/null
434
+ @@ -1,4 +0,0 @@
435
+ -overrides:
436
+ - '@riotprompt/riotprompt': link:../../StJustReckoning/riotprompt
437
+ - '@theunwalked/cardigantime': link:../../SemicolonAmbulance/cardigantime
438
+ - '@theunwalked/dreadcabinet': link:../../SemicolonAmbulance/dreadcabinet
439
+ diff --git a/src/arguments.ts b/src/arguments.ts
440
+ index 00dc70e..1e435ff 100644
441
+ --- a/src/arguments.ts
442
+ +++ b/src/arguments.ts
443
+ @@ -36,23 +36,50 @@ export const configure = async (dreadcabinet: Dreadcabinet.DreadCabinet, cardiga
444
+ program = await cardigantime.configure(program);
445
+ program.version(VERSION);
446
+
447
+ + // Check if --check-config is in process.argv early
448
+ + if (process.argv.includes('--check-config')) {
449
+ + program.parse();
450
+ + const cliArgs: Args = program.opts<Args>();
451
+ +
452
+ + // Use CardiganTime's built-in checkConfig method
453
+ + await cardigantime.checkConfig(cliArgs);
454
+ +
455
+ + // Return minimal config for consistency, but main processing is done
456
+ + const config: Config = MATNAVA_DEFAULTS as Config;
457
+
458
+ ... [TRUNCATED: Original diff was 13636 characters, showing first 4951] ...
459
+
460
+ # GitHub Issues Context
461
+
462
+ Issue #6: Implement a Unified Project Analytics Dashboard (MindShone Concept)
463
+ Labels: priority-medium, category-functionality, review
464
+ Created: 2025-07-23T06:15:43Z
465
+ Updated: 2025-07-23T06:15:43Z
466
+ Body: ## Description
467
+
468
+ The reviewer suggests adding a 'unified view', similar to RunGhost or inspired by the original MindShone concept. This dashboard should aggregate and report on statistics across all monitored projects—such as the number of audio files, count and location of transcripts, and general progress metrics. The reviewer wants insights on overall progress, involvement levels per project, and comparative attention over time. The value is to provide high-level navigation and situational awa...
469
+ ---
470
+
471
+ Issue #5: Introduce dedicated directories for transcript file lifecycle management
472
+ Labels: priority-medium, category-functionality, review
473
+ Created: 2025-07-23T06:15:05Z
474
+ Updated: 2025-07-23T06:15:05Z
475
+ Body: ## Description
476
+
477
+ Currently, all transcript files are collected without a clear organizational system, leading to duplicate processing and reduced workflow efficiency. The reviewer suggests implementing a system where transcripts, once generated by the transcription tool (e.g., Matnava), are placed in a dedicated 'transcripts' directory. After they are processed (e.g., reviewed or converted into notes), they should be moved to a secondary directory such as 'notes' or 'review'. This will make it ea...
478
+ ---
479
+
@@ -0,0 +1,56 @@
1
+ # Review Analysis Result
2
+
3
+ ## Summary
4
+ The review highlights a desire for enhanced user control, better workflow interactivity, and advanced auditability within the Matnava transcription tool. Specifically, the user wants to process a limited number of files per run, introduce an interactive transcript verification and editing interface, and track or analyze modifications made during review. These suggestions aim to improve usability, transparency, and the potential to refine or train future transcription workflows.
5
+
6
+ ## Total Issues Found
7
+ 4
8
+
9
+ ## Issues
10
+
11
+ [
12
+ {
13
+ "title": "Add option to limit the number of files processed per Matnava run",
14
+ "description": "Currently, Matnava processes all available audio files in a batch, requiring users to wait for all files to finish. The user requests the ability to define a limit (N) so that only a set number of files are processed in a single run, enhancing control and efficiency for large batches or time-constrained scenarios.",
15
+ "priority": "high",
16
+ "category": "functionality",
17
+ "suggestions": [
18
+ "Add a CLI/configuration option (e.g., --limit or --max-files) to specify the number of files to process per run.",
19
+ "Update processing loop to respect this limit and document the feature in user-facing docs."
20
+ ]
21
+ },
22
+ {
23
+ "title": "Design and implement interactive transcript verification interface",
24
+ "description": "The reviewer proposes an interactive UI workflow where, after transcript generation, both the raw and reviewed transcripts are shown side by side. This interface should allow users to scroll through both versions for consistency checks, and provide a convenient 'edit' button to enable direct modification of the final transcript. The goal is to streamline review, improve user empowerment, and ensure transcript quality.",
25
+ "priority": "medium",
26
+ "category": "ui",
27
+ "suggestions": [
28
+ "Prototype a two-pane transcript comparison UI with synchronized scrolling.",
29
+ "Integrate an inline edit function for the reviewed transcript and gather user feedback on interaction flow."
30
+ ]
31
+ },
32
+ {
33
+ "title": "Enable transcript editing during verification/review stage",
34
+ "description": "As part of the proposed interactive verification interface, provide users with the ability to edit the final transcript directly from the verification view. This allows for quick corrections or contextual adjustments, aligning the tool more closely with real-world review workflows.",
35
+ "priority": "high",
36
+ "category": "functionality",
37
+ "suggestions": [
38
+ "Implement editable fields or modal dialogs for transcript segments in the UI.",
39
+ "Ensure all edits are saved and version-controlled to prevent data loss or confusion."
40
+ ]
41
+ },
42
+ {
43
+ "title": "Track and analyze transcript modifications for training and context improvement",
44
+ "description": "The reviewer sees value in maintaining a change log of substitutions and edits made during transcript review. By systematically collecting and analyzing these changes, the tool could surface patterns—potentially improving future transcription accuracy or contextual prompts. This would both aid user transparency and lay groundwork for adaptive system learning.",
45
+ "priority": "medium",
46
+ "category": "investigation",
47
+ "suggestions": [
48
+ "Research feasible approaches for diffing and recording changes between original and edited transcripts during verification.",
49
+ "Explore possible uses for this data, such as retraining models, generating heuristics, or providing review analytics."
50
+ ]
51
+ }
52
+ ]
53
+
54
+ ---
55
+
56
+ *Analysis completed at 2025-08-04T23:38:44.041Z*