@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,502 @@
1
+ # Review Notes
2
+
3
+ I would love to be able to run Matnava with a limit so that I'm not being asked to wait for all the files to be completed, I think it's important to give the user the ability to say, "Run this but only process N number of files."
4
+
5
+ I would also like to put forward this idea of running Matnava in an interactive format. Generate the transcript, and then load up both the raw transcript and the final reviewed transcript side by side. The give the user the ability to scroll through both and identify inconsistencies and additions. In this same view I would also love to be able to give the user the ability to press an edit button that would allow them to edit the final transcript.
6
+
7
+ Last, if we did have that interactive "verification" step the other thing I would find interesting is an ability to keep track of the substitutions and changes that were made throughout the transcript. These changes could then be analyzed after-the-fact to create something that could help train future transcripts or define more context.
8
+
9
+ # Commit History Context
10
+
11
+
12
+
13
+ [Recent Commit History]
14
+ commit 2af48dccaf2d88b04eeba60a88a7cc0ac61822cb
15
+ Author: Simran Jafari <jafarisimran@gmail.com>
16
+ Date: Tue Jul 22 15:33:53 2025 -0700
17
+
18
+ 0.0.4
19
+
20
+ (#3)
21
+
22
+ * Add documentation site for Matnava with automated GitHub Pages deployment
23
+
24
+ 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.
25
+
26
+ Key additions and setup:
27
+ - `docs/README.md`: Instructions for local development, structure, and deployment workflow.
28
+ - `docs/src/`: Contains the main React components and styles (`App.jsx`, `index.css`, `main.jsx`).
29
+ - `docs/vite.config.js`: Vite configuration with `/matnava/` base for correct GH Pages routing.
30
+ - `docs/package.json`: Dependencies and scripts using pnpm.
31
+ - `.github/workflows/deploy-docs.yml`: GitHub Actions workflow to build and deploy the docs site on pushes to the `main` branch.
32
+ - `.gitignore`: Node, build artifacts, and local config files ignored under `docs/`.
33
+
34
+ This enables automated, seamless deployment of up-to-date documentation with every change to the `main` branch.
35
+
36
+ * Add NPM lockfile and .npmrc to docs for isolated dependency management
37
+
38
+ 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.
39
+
40
+ * No changes detected — empty commit.
41
+
42
+ * 0.0.4
43
+
44
+ commit 6c8c60dbf41bd6c24de187fa217b4835fcb1dfa5
45
+ Author: Simran Jafari <jafarisimran@gmail.com>
46
+ Date: Tue Jul 22 14:27:02 2025 -0700
47
+
48
+ 0.0.3
49
+
50
+ (#2)
51
+
52
+ * 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.
53
+
54
+ * 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.
55
+
56
+ * Removed mockdate from devDependencies in package.json to eliminate unused development dependency.
57
+
58
+ * 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.
59
+
60
+ * 0.0.2
61
+
62
+ * Removed local configuration and context files in favor of pnpm-workspace.yaml overrides; tightened dependency handling and updated instructional prompt
63
+
64
+ 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.
65
+
66
+ * No changes detected — empty commit.
67
+
68
+ * No changes detected — empty commit.
69
+
70
+ * No changes detected — empty commit.
71
+
72
+ * Removing pnpm-workspace
73
+
74
+ * 0.0.3
75
+
76
+ commit de67713d5aa8b4e2fcdf7d3a4b5cfc0ff0e26dca
77
+ Author: Simran Jafari <jafarisimran@gmail.com>
78
+ Date: Tue Jul 22 11:16:09 2025 -0700
79
+
80
+ Initial commit
81
+
82
+
83
+ # Recent Diffs Context
84
+
85
+
86
+
87
+ [Recent Diff 1 (HEAD~1)]
88
+ diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml
89
+ new file mode 100644
90
+ index 0000000..a9fd775
91
+ --- /dev/null
92
+ +++ b/.github/workflows/deploy-docs.yml
93
+ @@ -0,0 +1,61 @@
94
+ +name: Deploy Documentation to GitHub Pages
95
+ +
96
+ +on:
97
+ + push:
98
+ + branches: [ main ]
99
+ + workflow_dispatch:
100
+ +
101
+ +permissions:
102
+ + contents: read
103
+ + pages: write
104
+ + id-token: write
105
+ +
106
+ +concurrency:
107
+ + group: "pages"
108
+ + cancel-in-progress: false
109
+ +
110
+ +jobs:
111
+ + build:
112
+ + runs-on: ubuntu-latest
113
+ + steps:
114
+ + - name: Checkout
115
+ + uses: actions/checkout@v4
116
+ +
117
+ + - name: Setup Node.js
118
+ + uses: actions/setup-node@v4
119
+ + with:
120
+ + node-version: '18'
121
+ +
122
+ + - name: Setup pnpm
123
+ + uses: pnpm/action-setup@v4
124
+ + with:
125
+ + version: 10.13.1
126
+ +
127
+ + - name: Install dependencies
128
+ + run: |
129
+ + cd docs
130
+ + pnpm install
131
+ +
132
+ + - name: Build documentation
133
+ + run: |
134
+ + cd docs
135
+ + pnpm run build
136
+ +
137
+ + - name: Setup Pages
138
+ + uses: actions/configure-pages@v4
139
+ +
140
+ + - name: Upload artifact
141
+ + uses: actions/upload-pages-artifact@v3
142
+ + with:
143
+ + path: ./docs/dist
144
+ +
145
+ + deploy:
146
+ + environment:
147
+ + name: github-pages
148
+ + url: ${{ steps.deployment.outputs.page_url }}
149
+ + runs-on: ubuntu-latest
150
+ + needs: build
151
+ + steps:
152
+ + - name: Deploy to GitHub Pages
153
+ + id: deployment
154
+ + uses: actions/deploy-pages@v4
155
+
156
+ diff --git a/docs/.gitignore b/docs/.gitignore
157
+ new file mode 100644
158
+ index 0000000..3c4acb8
159
+ --- /dev/null
160
+ +++ b/docs/.gitignore
161
+ @@ -0,0 +1,38 @@
162
+ +# Dependencies
163
+ +node_modules/
164
+ +/.pnp
165
+ +.pnp.js
166
+ +
167
+ +# Production builds
168
+ +/dist
169
+ +/build
170
+ +
171
+ +# Environment variables
172
+ +.env
173
+ +.env.local
174
+ +.env.development.local
175
+ +.env.test.local
176
+ +.env.production.local
177
+ +
178
+ +# Logs
179
+ +npm-debug.log*
180
+ +yarn-debug.log*
181
+ +yarn-error.log*
182
+ +pnpm-debug.log*
183
+ +lerna-debug.log*
184
+ +
185
+ +# Runtime data
186
+ +pids
187
+ +*.pid
188
+ +*.seed
189
+ +*.pid.lock
190
+ +
191
+ +# IDE files
192
+ +.vscode/
193
+ +.idea/
194
+ +*.swp
195
+ +*.swo
196
+ +
197
+ +# OS files
198
+ +.DS_Store
199
+ +Thumbs.db
200
+
201
+ diff --git a/docs/.npmrc b/docs/.npmrc
202
+ new file mode 100644
203
+ index 0000000..de14fd9
204
+ --- /dev/null
205
+ +++ b/docs/.npmrc
206
+ @@ -0,0 +1 @@
207
+ +ignore-workspace=true
208
+ diff --git a/docs/README.md b/docs/README.md
209
+ new file mode 100644
210
+ index 0000000..fe32a9d
211
+ --- /dev/null
212
+ +++ b/docs/README.md
213
+ @@ -0,0 +1,50 @@
214
+ +# Matnava Documentation Site
215
+ +
216
+ +This is a simple React documentation site for Matnava, deployed automatically to GitHub Pages.
217
+ +
218
+ +## Local Development
219
+ +
220
+ +To work on the documentation site locally:
221
+ +
222
+ +```bash
223
+ +# Navigate to the docs directory
224
+ +cd docs
225
+ +
226
+ +# Install dependencies
227
+ +pnpm install
228
+ +
229
+ +# Start the development server
230
+ +pnpm run dev
231
+ +
232
+ +# Build for production
233
+ +pnpm run build
234
+ +
235
+ +# Preview the production build
236
+ +pnpm run preview
237
+ +```
238
+ +
239
+ +## Deployment
240
+ +
241
+ +The site is automatically deployed to GitHub Pages via a GitHub workflow whenever commits are pushed to the `main` branch. The workflow:
242
+ +
243
+ +1. Installs dependencies using pnpm
244
+ +2. Builds the React app
245
+ +3. Deploys to GitHub Pages
246
+ +
247
+ +The site will be available at: `https://[username].github.io/matnava/`
248
+ +
249
+ +## Structure
250
+ +
251
+ +- `src/App.jsx` - Main React component with all the documentation content
252
+ +- `src/index.css` - Styles with dark/light mode support
253
+ +- `vite.config.js` - Vite configuration with GitHub Pages base path
254
+ +- `package.json` - Dependencies and scripts for the React app
255
+ +
256
+ +## Customization
257
+ +
258
+ +To update the documentation:
259
+ +
260
+ +1. Edit `src/App.jsx` to modify content
261
+ +2. Edit `src/index.css` to modify styling
262
+ +3. Test locally with `pnpm run dev`
263
+ +4. Commit and push to trigger automatic deployment
264
+
265
+ diff --git a/docs/index.html b/docs/index.html
266
+ new file mode 100644
267
+ index 0000000..cb07c28
268
+ --- /dev/null
269
+ +++ b/docs/index.html
270
+ @@ -0,0 +1,16 @@
271
+ +<!doctype html>
272
+ +<html lang="en">
273
+ +
274
+ +<head>
275
+ + <meta charset="UTF-8" />
276
+ + <link rel="icon" type="image/svg+xml" href="/vite.svg" />
277
+ + <meta name="viewport" content="width=device-width, initial-scale=1.0" />
278
+ + <title>Matnava - Focused Audio Transcription Tool</title>
279
+ +</head>
280
+ +
281
+ +<body>
282
+ + <div id="root"></div>
283
+ + <script type="module" src="/src/main.jsx"></script>
284
+ +</body>
285
+ +
286
+ +</html>
287
+
288
+ diff --git a/docs/package.json b/docs/package.json
289
+ new file mode 100644
290
+ index 0000000..e338989
291
+ --- /dev/null
292
+ +++ b/docs/package.json
293
+ @@ -0,0 +1,21 @@
294
+ +{
295
+ + "name": "matnava-docs",
296
+ + "version": "1.0.0",
297
+ + "description": "Documentation site for Matnava - a focused transcription tool",
298
+ + "type": "module",
299
+ + "scripts": {
300
+ + "dev": "vite",
301
+ + "build": "vite build",
302
+ + "preview": "vite preview"
303
+ + },
304
+ + "dependencies": {
305
+ + "react": "^18.2.0",
306
+ + "react-dom": "^18.2.0"
307
+ + },
308
+ + "devDependencies": {
309
+ + "@types/react": "^18.2.0",
310
+ + "@types/react-dom": "^18.2.0",
311
+ + "@vitejs/plugin-react": "^4.0.0",
312
+ + "vite": "^5.0.0"
313
+ + }
314
+ +}
315
+
316
+ ... [TRUNCATED: Original diff was 16153 characters, showing first 4987] ...
317
+
318
+ [Recent Diff 2 (HEAD~2..HEAD~1)]
319
+ diff --git a/.cursorrules b/.cursorrules
320
+ deleted file mode 100644
321
+ index ac40cec..0000000
322
+ --- a/.cursorrules
323
+ +++ /dev/null
324
+ @@ -1,8 +0,0 @@
325
+ -When writing tests make use of @ts-ignore to simplify things. Don't spend too much effort trying to address these errors.
326
+ -
327
+ -When mocking ESM modules in Jest, we need to make use of this approach:
328
+ -
329
+ - // Mock the modules before importing
330
+ - jest.unstable_mockModule('../../src/logging', () => ({
331
+ - getLogger: jest.fn(() => mockLogger)
332
+ - }));
333
+ diff --git a/.github/workflows/pnpm-publish.yml b/.github/workflows/pnpm-publish.yml
334
+ index cadaebc..18e8c81 100644
335
+ --- a/.github/workflows/pnpm-publish.yml
336
+ +++ b/.github/workflows/pnpm-publish.yml
337
+ @@ -24,7 +24,7 @@ jobs:
338
+ - run: pnpm install --frozen-lockfile --strict-peer-dependencies
339
+ - run: pnpm run lint
340
+ - run: pnpm run build
341
+ - - run: pnpm test --coverage
342
+ + - run: pnpm test
343
+ - uses: codecov/codecov-action@v5
344
+ with:
345
+ slug: jafarisimran/maloomscan
346
+ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
347
+ index 894747f..31e6581 100644
348
+ --- a/.github/workflows/test.yml
349
+ +++ b/.github/workflows/test.yml
350
+ @@ -22,7 +22,7 @@ jobs:
351
+ - run: pnpm install --frozen-lockfile --strict-peer-dependencies
352
+ - run: pnpm run lint
353
+ - run: pnpm run build
354
+ - - run: pnpm test --coverage
355
+ + - run: pnpm test
356
+ - uses: codecov/codecov-action@v5
357
+ with:
358
+ slug: jafarisimran/maloomscan
359
+ diff --git a/.kodrdriv/config.yaml b/.kodrdriv/config.yaml
360
+ deleted file mode 100644
361
+ index 6e93ef3..0000000
362
+ --- a/.kodrdriv/config.yaml
363
+ +++ /dev/null
364
+ @@ -1,8 +0,0 @@
365
+ -contextDirectories:
366
+ - - .kodrdriv/context
367
+ -commit:
368
+ - cached: true
369
+ - sendit: true
370
+ -release:
371
+ - from: main
372
+ - to: HEAD
373
+
374
+ diff --git a/.kodrdriv/context/content.md b/.kodrdriv/context/content.md
375
+ deleted file mode 100644
376
+ index 28ae833..0000000
377
+ --- a/.kodrdriv/context/content.md
378
+ +++ /dev/null
379
+ @@ -1 +0,0 @@
380
+ -Maloomscan takes audio recordings and turned them into intellgent notes.
381
+ diff --git a/package.json b/package.json
382
+ index 3785f24..e544d4d 100644
383
+ --- a/package.json
384
+ +++ b/package.json
385
+ @@ -1,6 +1,6 @@
386
+ {
387
+ "name": "@jankhoj/matnava",
388
+ - "version": "0.0.1",
389
+ + "version": "0.0.3",
390
+ "description": "Matnava is a focused transcription tool that helps you transcribe audio intelligently using context.",
391
+ "main": "dist/main.js",
392
+ "type": "module",
393
+ @@ -11,7 +11,7 @@
394
+ "type": "git",
395
+ "url": "git+https://github.com/jafarisimran/matnava.git"
396
+ },
397
+ - "packageManager": "pnpm@10.11.0",
398
+ + "packageManager": "pnpm@10.13.1",
399
+ "scripts": {
400
+ "build": "pnpm run lint &&tsc --noEmit && vite build && copyfiles -u 1 \"src/**/*.md\" dist",
401
+ "dev": "vite",
402
+ @@ -31,9 +31,9 @@
403
+ "author": "Simran Jafari <jafarisimran@gmail.com>",
404
+ "license": "Apache-2.0",
405
+ "dependencies": {
406
+ - "@riotprompt/riotprompt": "link:../../StJustReckoning/riotprompt",
407
+ - "@theunwalked/cardigantime": "link:../../SemicolonAmbulance/cardigantime",
408
+ - "@theunwalked/dreadcabinet": "link:../../SemicolonAmbulance/dreadcabinet",
409
+ + "@riotprompt/riotprompt": "^0.0.8",
410
+ + "@theunwalked/cardigantime": "^0.0.16",
411
+ + "@theunwalked/dreadcabinet": "^0.0.10",
412
+ "@types/fluent-ffmpeg": "^2.1.27",
413
+ "commander": "^14.0.0",
414
+ "dayjs": "^1.11.13",
415
+ @@ -62,6 +62,7 @@
416
+ "eslint": "^9.31.0",
417
+ "eslint-plugin-import": "^2.32.0",
418
+ "globals": "^16.3.0",
419
+ + "mockdate": "^3.0.5",
420
+ "rollup-plugin-preserve-shebang": "^1.0.1",
421
+ "rollup-plugin-visualizer": "^6.0.3",
422
+ "typescript": "^5.8.3",
423
+ @@ -69,4 +70,4 @@
424
+ "vite-plugin-node": "^7.0.0",
425
+ "vitest": "^3.2.4"
426
+ }
427
+ -}
428
+
429
+ +}
430
+ diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
431
+ deleted file mode 100644
432
+ index 39693c1..0000000
433
+ --- a/pnpm-workspace.yaml
434
+ +++ /dev/null
435
+ @@ -1,4 +0,0 @@
436
+ -overrides:
437
+ - '@riotprompt/riotprompt': link:../../StJustReckoning/riotprompt
438
+ - '@theunwalked/cardigantime': link:../../SemicolonAmbulance/cardigantime
439
+ - '@theunwalked/dreadcabinet': link:../../SemicolonAmbulance/dreadcabinet
440
+ diff --git a/src/arguments.ts b/src/arguments.ts
441
+ index 00dc70e..1e435ff 100644
442
+ --- a/src/arguments.ts
443
+ +++ b/src/arguments.ts
444
+ @@ -36,23 +36,50 @@ export const configure = async (dreadcabinet: Dreadcabinet.DreadCabinet, cardiga
445
+ program = await cardigantime.configure(program);
446
+ program.version(VERSION);
447
+
448
+ + // Check if --check-config is in process.argv early
449
+ + if (process.argv.includes('--check-config')) {
450
+ + program.parse();
451
+ + const cliArgs: Args = program.opts<Args>();
452
+ +
453
+ + // Use CardiganTime's built-in checkConfig method
454
+ + await cardigantime.checkConfig(cliArgs);
455
+ +
456
+ + // Return minimal config for consistency, but main processing is done
457
+ + const config: Config = MATNAVA_DEFAULTS as Config;
458
+
459
+ ... [TRUNCATED: Original diff was 13636 characters, showing first 4951] ...
460
+
461
+ # GitHub Issues Context
462
+
463
+ Issue #13: Clarify and implement audio file movement from Inbound to Processed directories post-transcription
464
+ Labels: priority-medium, review, category-investigation
465
+ Created: 2025-08-04T23:23:49Z
466
+ Updated: 2025-08-04T23:23:49Z
467
+ Body: ## Description
468
+
469
+ Currently, after transcription, audio files remain in the Inbound directory, leading to ambiguity over workflow status. It's unclear whether files are supposed to be moved to a Processed directory after transcription. Leaving files unmoved may result in duplicate processing, clutter in the Inbound directory, and operational confusion. The reviewer requests a clear policy and automation (if needed) governing the movement of files once they're transcribed.
470
+
471
+ ## Details
472
+
473
+ - **Priority...
474
+ ---
475
+
476
+ Issue #12: Fix transcript timestamps to use user’s local time instead of UTC
477
+ Labels: category-functionality, review, priority-high
478
+ Created: 2025-08-04T23:23:45Z
479
+ Updated: 2025-08-04T23:23:45Z
480
+ Body: ## Description
481
+
482
+ Transcripts generated by Matnava currently record timestamps in UTC. This results in logs that may not accurately reflect when recordings were actually made from the user's perspective. For example, a recording made at 5 PM Pacific would be logged as occurring the next day in UTC, creating confusion for users tracking their activities or reviewing transcripts. This issue risks misalignment with user expectations and can cause organizational or compliance concerns if the recorded ...
483
+ ---
484
+
485
+ Issue #6: Implement a Unified Project Analytics Dashboard (MindShone Concept)
486
+ Labels: priority-medium, category-functionality, review
487
+ Created: 2025-07-23T06:15:43Z
488
+ Updated: 2025-07-23T06:15:43Z
489
+ Body: ## Description
490
+
491
+ 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...
492
+ ---
493
+
494
+ Issue #5: Introduce dedicated directories for transcript file lifecycle management
495
+ Labels: priority-medium, category-functionality, review
496
+ Created: 2025-07-23T06:15:05Z
497
+ Updated: 2025-07-23T06:15:05Z
498
+ Body: ## Description
499
+
500
+ 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...
501
+ ---
502
+
@@ -0,0 +1,27 @@
1
+ # Review Analysis Result
2
+
3
+ ## Summary
4
+ The reviewer challenges the approach of hard-coding or maintaining an explicit allow-list/deny-list of transcription models within the tool, highlighting that model availability is highly dynamic and subject to frequent change. The core motivation is to make the tool resilient to evolving model ecosystems, favoring user flexibility and maintainability over rigid constraints. This reveals potential underlying requirements: enabling broader model compatibility, avoiding brittle configuration, and possibly rethinking how model selection is surfaced or managed by the tool. The main actionable outcome is to investigate and redesign the model selection logic to remove strict enforcement and instead rely on dynamic discovery and user configuration, if necessary.
5
+
6
+ ## Total Issues Found
7
+ 1
8
+
9
+ ## Issues
10
+
11
+ [
12
+ {
13
+ "title": "Redesign model selection logic to avoid hard-coded allow/deny lists for transcription models",
14
+ "description": "Context: The current implementation or design plan for model selection in the Matnava tool relies on specifying which transcription models are allowed or not allowed. This is problematic, as the reviewer notes, because model availability can change frequently—models may appear, disappear, or be deprecated rapidly by providers such as OpenAI or others, making any static list quickly outdated and frustrating for users.\n\nSpecific Requirements:\n- Refactor or remove any logic that hard-codes lists of allowed or disallowed models for audio transcription (for example, in configuration or validation layers).\n- Instead, implement dynamic discovery of available models using the API(s) of the relevant provider(s) at runtime, or accept any model string that the provider supports.\n- If user input is required for model choice, provide clear guidance and helpful error messages when an unsupported or unavailable model is selected, rather than pre-blocking unknown models.\n- Ensure documentation (docs/ and README.md) is updated to reflect this new approach to model selection and guide users accordingly.\n\nImplementation Details:\n- Review code in areas responsible for model selection and validation (e.g., src/arguments.ts, config schemas, any prompt logic that restricts model choice).\n- Remove explicit arrays or logic enforcing allow/deny lists.\n- If needed, integrate a function that queries the active provider's API for available models, or documents how users can discover/provider the desired model strings as part of configuration.\n- Update documentation in docs/src/App.jsx and usage instructions to explain the flexible approach, and how users can determine which model names to use.\n\nExpected Behavior:\n- Users are able to select any available model offered by the provider without being blocked by stale or incomplete allow-lists.\n- If a user specifies an invalid model, the error message should come from the provider API or offer meaningful advice, not an outdated local validation.\n- The codebase avoids assumptions about model availability, leading to better long-term maintainability.\n\nTechnical Considerations:\n- Consider edge cases where a provider's API may temporarily fail to list models, or where naming conventions change.\n- Ensure there is fallback guidance for users (e.g., logging a link to the provider's documentation on available models).\n- Watch for any dependencies (such as in configuration schemas) that might still expect a fixed set of names.\n\nDefine Success Criteria:\n- All static model lists are removed from the codebase.\n- Users can supply any model supported by the provider.\n- Documentation and error handling are updated to match this dynamic/flexible selection process.",
15
+ "priority": "medium",
16
+ "category": "functionality",
17
+ "suggestions": [
18
+ "Audit codebase for any static model allow-lists and replace with dynamic validation or API-driven approach",
19
+ "Update documentation to guide users in choosing or discovering supported models"
20
+ ],
21
+ "relatedIssues": []
22
+ }
23
+ ]
24
+
25
+ ---
26
+
27
+ *Analysis completed at 2025-08-13T03:21:46.519Z*