@redaksjon/protokoll 0.3.0 → 1.0.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/.kronologi/config.yaml +10 -0
- package/.kronologi/jobs/monthly-summary/config.yaml +40 -0
- package/.kronologi/jobs/monthly-summary/instructions.md +23 -0
- package/.kronologi/jobs/monthly-summary/persona.md +11 -0
- package/.kronologi/jobs/weekly-summary/config.yaml +42 -0
- package/.kronologi/jobs/weekly-summary/instructions.md +21 -0
- package/.kronologi/jobs/weekly-summary/persona.md +10 -0
- package/README.md +41 -0
- package/activity/2026/4/test-activity.md +10 -0
- package/dist/main.js +2 -2
- package/dist/mcp/prompts/batch_transcription.md +3 -0
- package/dist/mcp/prompts/edit_entity.md +9 -0
- package/dist/mcp/prompts/enrich_entity.md +3 -0
- package/dist/mcp/prompts/find_and_analyze.md +3 -0
- package/dist/mcp/prompts/review_transcript.md +13 -0
- package/dist/mcp/prompts/setup_project.md +12 -0
- package/dist/mcp/prompts/transcribe_with_context.md +8 -0
- package/dist/mcp/server.js +2314 -2416
- package/dist/mcp/server.js.map +1 -1
- package/dist/term-assist.js +11 -3
- package/dist/term-assist.js.map +1 -1
- package/dist/term-context.js +10 -2
- package/dist/term-context.js.map +1 -1
- package/dist/transcript.js +168 -124
- package/dist/transcript.js.map +1 -1
- package/guide/index.md +6 -0
- package/guide/quickstart.md +26 -1
- package/package.json +1 -1
- package/summary/2026/4/completion.json +16 -0
- package/summary/2026/4/inputs.json +60 -0
- package/summary/2026/4/summary.md +26 -0
- package/.cursor/rules/definition-of-done.md +0 -90
- package/.cursor/rules/no-auto-summary-files.md +0 -43
- package/.cursor/rules/no-emoticons.md +0 -57
- package/nodemon.json +0 -14
- package/tsconfig.tsbuildinfo +0 -1
package/guide/index.md
CHANGED
|
@@ -190,6 +190,12 @@ export OPENAI_API_KEY="sk-..."
|
|
|
190
190
|
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
+
### System Requirements
|
|
194
|
+
|
|
195
|
+
- **Node.js 18+** and **npm 9+**
|
|
196
|
+
- **ffmpeg** for audio format conversion (install with `brew install ffmpeg`, `apt-get install ffmpeg`, or from [ffmpeg.org](https://ffmpeg.org))
|
|
197
|
+
- **OpenAI API key** (required for transcription)
|
|
198
|
+
|
|
193
199
|
## For AI Assistants
|
|
194
200
|
|
|
195
201
|
If you're an AI helping someone use Protokoll:
|
package/guide/quickstart.md
CHANGED
|
@@ -6,10 +6,26 @@ Get Protokoll working in 5 minutes.
|
|
|
6
6
|
|
|
7
7
|
- Node.js 18+
|
|
8
8
|
- npm 9+
|
|
9
|
+
- ffmpeg (for audio format conversion)
|
|
9
10
|
- OpenAI API key
|
|
10
11
|
|
|
11
12
|
## Installation
|
|
12
13
|
|
|
14
|
+
### 1. Install ffmpeg
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# macOS
|
|
18
|
+
brew install ffmpeg
|
|
19
|
+
|
|
20
|
+
# Ubuntu/Debian
|
|
21
|
+
sudo apt-get install ffmpeg
|
|
22
|
+
|
|
23
|
+
# Windows
|
|
24
|
+
# Download from https://ffmpeg.org/download.html
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. Install Protokoll
|
|
28
|
+
|
|
13
29
|
```bash
|
|
14
30
|
npm install -g @redaksjon/protokoll
|
|
15
31
|
```
|
|
@@ -34,7 +50,16 @@ export OPENAI_API_KEY='sk-...'
|
|
|
34
50
|
export ANTHROPIC_API_KEY='sk-ant-...'
|
|
35
51
|
```
|
|
36
52
|
|
|
37
|
-
### 2.
|
|
53
|
+
### 2. Verify ffmpeg Installation
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
ffmpeg -version
|
|
57
|
+
# Should show version info
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If you see "command not found", make sure ffmpeg is installed and in your PATH.
|
|
61
|
+
|
|
62
|
+
### 3. Create Config (optional)
|
|
38
63
|
|
|
39
64
|
```bash
|
|
40
65
|
mkdir -p ~/.protokoll
|
package/package.json
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"choices": [
|
|
3
|
+
{
|
|
4
|
+
"message": {
|
|
5
|
+
"content": "**Weekly Summary: Week 4, 2026**\n\n**Overview:** \nThis week focused on resolving technical issues within the project, particularly related to model configurations and documentation updates. Significant progress was made in bug fixes and enhancing the build process.\n\n**Key Accomplishments:** \n- Resolved a critical bug concerning the model default configuration in the kronologi system.\n- Ensured built files have the correct executable permissions.\n- Updated and clarified documentation regarding the configuration hierarchy, improving overall project clarity.\n\n**Progress:** \n- Initiated testing of the newly implemented weekly summary functionality, with early results showing promise.\n- Made advancements in verifying improvements to the build process, contributing to more efficient workflows.\n\n**Decisions:** \n- It was decided to prioritize the testing of the weekly summary feature to ensure its reliability before further rollout.\n\n**Challenges:** \n- No significant blockers were reported this week; however, ongoing testing may reveal unforeseen issues that will need to be addressed.\n\n**Next Steps:** \n- Complete testing of the weekly summary functionality and gather feedback for any necessary adjustments.\n- Finalize verification of the build process improvements and implement any outstanding changes identified during testing.\n- Continue monitoring for potential issues during the implementation of updates. \n\nThis summary encapsulates the key activities and progress made during the week and sets the stage for continued advancements in the upcoming week."
|
|
6
|
+
},
|
|
7
|
+
"finish_reason": "stop"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"usage": {
|
|
11
|
+
"prompt_tokens": 331,
|
|
12
|
+
"completion_tokens": 269,
|
|
13
|
+
"total_tokens": 600
|
|
14
|
+
},
|
|
15
|
+
"model": "gpt-4o-mini"
|
|
16
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"model": "gpt-4o-mini",
|
|
4
|
+
"temperature": 0.7,
|
|
5
|
+
"maxCompletionTokens": 4000,
|
|
6
|
+
"parameters": {
|
|
7
|
+
"year": {
|
|
8
|
+
"type": "number",
|
|
9
|
+
"description": "Year for the summary",
|
|
10
|
+
"required": true
|
|
11
|
+
},
|
|
12
|
+
"month": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"description": "Month number (1-12) - used as week identifier for weekly summaries",
|
|
15
|
+
"required": true
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"context": {},
|
|
19
|
+
"content": {
|
|
20
|
+
"activity": {
|
|
21
|
+
"type": "activity",
|
|
22
|
+
"name": "Weekly Activity",
|
|
23
|
+
"directory": "",
|
|
24
|
+
"pattern": "*.md"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"output": {
|
|
28
|
+
"summary": {
|
|
29
|
+
"type": "summary",
|
|
30
|
+
"format": "markdown",
|
|
31
|
+
"name": "Weekly Summary",
|
|
32
|
+
"pattern": "summary.md"
|
|
33
|
+
},
|
|
34
|
+
"completion": {
|
|
35
|
+
"type": "metadata",
|
|
36
|
+
"format": "json",
|
|
37
|
+
"pattern": "completion.json"
|
|
38
|
+
},
|
|
39
|
+
"inputs": {
|
|
40
|
+
"type": "metadata",
|
|
41
|
+
"format": "json",
|
|
42
|
+
"pattern": "inputs.json"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"name": "weekly-summary"
|
|
46
|
+
},
|
|
47
|
+
"request": {
|
|
48
|
+
"model": "gpt-4o-mini",
|
|
49
|
+
"messages": [
|
|
50
|
+
{
|
|
51
|
+
"role": "system",
|
|
52
|
+
"content": "<Weekly Summary Persona>\nYou are a professional technical writer who creates concise, informative weekly summaries.\n\nYour summaries:\n\n- Highlight key accomplishments and progress\n- Identify important decisions and changes\n- Note blockers or challenges\n- Are written in clear, professional language\n- Focus on what matters most to stakeholders\n</Weekly Summary Persona>"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"role": "user",
|
|
56
|
+
"content": "<Context>\n\n</Context>\n\n<Weekly Summary Instructions>\nCreate a comprehensive weekly summary based on the provided activity files.\n\n<Structure>\n- **Overview**: Brief summary of the week's focus and major themes\n- **Key Accomplishments**: What was completed or achieved\n- **Progress**: Work that advanced significantly\n- **Decisions**: Important decisions made\n- **Challenges**: Blockers or issues encountered\n- **Next Steps**: Planned work for the coming week\n</Structure>\n\n<Guidelines>\n- Be concise but informative\n- Use bullet points for easy scanning\n- Highlight the most important items\n- Include relevant context for decisions\n- Note any risks or concerns\n- Keep the tone professional and factual\n</Guidelines>\n</Weekly Summary Instructions>\n\n<Content>\n<Weekly Activity Content>\n<activity/2026/4/test-activity.md>\n# Test Activity for Week 4, 2026\n\n## Completed Tasks\n- Fixed model default configuration bug in kronologi\n- Added executable permissions to built files\n- Updated documentation for configuration hierarchy\n\n## In Progress\n- Testing weekly summary functionality\n- Verifying build process improvements\n\n</activity/2026/4/test-activity.md>\n</Weekly Activity Content>\n</Content>"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
**Weekly Summary: Week 4, 2026**
|
|
2
|
+
|
|
3
|
+
**Overview:**
|
|
4
|
+
This week focused on resolving technical issues within the project, particularly related to model configurations and documentation updates. Significant progress was made in bug fixes and enhancing the build process.
|
|
5
|
+
|
|
6
|
+
**Key Accomplishments:**
|
|
7
|
+
- Resolved a critical bug concerning the model default configuration in the kronologi system.
|
|
8
|
+
- Ensured built files have the correct executable permissions.
|
|
9
|
+
- Updated and clarified documentation regarding the configuration hierarchy, improving overall project clarity.
|
|
10
|
+
|
|
11
|
+
**Progress:**
|
|
12
|
+
- Initiated testing of the newly implemented weekly summary functionality, with early results showing promise.
|
|
13
|
+
- Made advancements in verifying improvements to the build process, contributing to more efficient workflows.
|
|
14
|
+
|
|
15
|
+
**Decisions:**
|
|
16
|
+
- It was decided to prioritize the testing of the weekly summary feature to ensure its reliability before further rollout.
|
|
17
|
+
|
|
18
|
+
**Challenges:**
|
|
19
|
+
- No significant blockers were reported this week; however, ongoing testing may reveal unforeseen issues that will need to be addressed.
|
|
20
|
+
|
|
21
|
+
**Next Steps:**
|
|
22
|
+
- Complete testing of the weekly summary functionality and gather feedback for any necessary adjustments.
|
|
23
|
+
- Finalize verification of the build process improvements and implement any outstanding changes identified during testing.
|
|
24
|
+
- Continue monitoring for potential issues during the implementation of updates.
|
|
25
|
+
|
|
26
|
+
This summary encapsulates the key activities and progress made during the week and sets the stage for continued advancements in the upcoming week.
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# Definition of DONE
|
|
2
|
-
|
|
3
|
-
## Critical Requirement
|
|
4
|
-
|
|
5
|
-
**A feature, bugfix, or enhancement is NOT DONE until `npm run precommit` passes completely.**
|
|
6
|
-
|
|
7
|
-
### What `npm run precommit` Includes
|
|
8
|
-
|
|
9
|
-
The precommit script runs two critical checks sequentially:
|
|
10
|
-
|
|
11
|
-
1. **Linting** (`npm run lint`)
|
|
12
|
-
- ESLint checks for code quality issues
|
|
13
|
-
- No console statements without explicit `@typescript-eslint/no-unused-vars` disable comments
|
|
14
|
-
- No unused imports or variables
|
|
15
|
-
- Proper TypeScript types and no `any` unless explicitly needed
|
|
16
|
-
- Code style consistency
|
|
17
|
-
|
|
18
|
-
2. **Testing** (`npm run test`)
|
|
19
|
-
- All unit tests must pass
|
|
20
|
-
- Test coverage must meet thresholds (currently 80%+ for statements/lines, 65%+ for branches)
|
|
21
|
-
- No failing or skipped tests (except known skips that are documented)
|
|
22
|
-
|
|
23
|
-
### The Complete Success Criteria
|
|
24
|
-
|
|
25
|
-
For work to be considered complete:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npm run precommit # Must exit with code 0 (success)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
This single command encompasses:
|
|
32
|
-
- ✅ Linting passes (no errors or warnings)
|
|
33
|
-
- ✅ All tests pass
|
|
34
|
-
- ✅ Code coverage maintained or improved
|
|
35
|
-
- ✅ No console statements that violate style rules
|
|
36
|
-
- ✅ No unused imports or variables
|
|
37
|
-
|
|
38
|
-
### Common Issues and Fixes
|
|
39
|
-
|
|
40
|
-
#### console.log() Statements
|
|
41
|
-
If linting fails with "Unexpected console statement":
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
// WRONG - fails linting
|
|
45
|
-
console.log("some output");
|
|
46
|
-
|
|
47
|
-
// RIGHT - use eslint-disable comment
|
|
48
|
-
// eslint-disable-next-line no-console
|
|
49
|
-
console.log("some output");
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Or use logger instead:
|
|
53
|
-
```typescript
|
|
54
|
-
logger.info('message with %s', variable);
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
#### Unused Imports
|
|
58
|
-
If linting fails with "is defined but never used":
|
|
59
|
-
- Remove the unused import
|
|
60
|
-
- Don't leave imports just in case they might be needed
|
|
61
|
-
|
|
62
|
-
#### Test Failures
|
|
63
|
-
If tests fail:
|
|
64
|
-
- Run `npm test` to see detailed errors
|
|
65
|
-
- Fix the underlying issue, not the test
|
|
66
|
-
- Ensure edge cases are covered
|
|
67
|
-
|
|
68
|
-
### CI/CD Integration
|
|
69
|
-
|
|
70
|
-
When submitting PRs or merging code:
|
|
71
|
-
- The CI pipeline will run `npm run precommit`
|
|
72
|
-
- If it fails, the build is blocked
|
|
73
|
-
- This prevents broken code from reaching production
|
|
74
|
-
|
|
75
|
-
### Quality Bar
|
|
76
|
-
|
|
77
|
-
This definition of DONE ensures:
|
|
78
|
-
- Code quality is consistent across the project
|
|
79
|
-
- Tests catch regressions early
|
|
80
|
-
- Linting prevents common mistakes
|
|
81
|
-
- Coverage metrics track code reliability
|
|
82
|
-
- All code follows the same standards
|
|
83
|
-
|
|
84
|
-
### Remember
|
|
85
|
-
|
|
86
|
-
**Tests passing alone is not enough.** Linting must also pass.
|
|
87
|
-
|
|
88
|
-
Both are equally important to code quality.
|
|
89
|
-
|
|
90
|
-
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Do Not Create Automatic Summary Files
|
|
2
|
-
|
|
3
|
-
## Rule: No Automatic Documentation or Reflection Files
|
|
4
|
-
|
|
5
|
-
**NEVER** automatically create files that summarize, document, or reflect on actions taken during a conversation unless explicitly requested by the user.
|
|
6
|
-
|
|
7
|
-
### Prohibited Actions
|
|
8
|
-
|
|
9
|
-
Do NOT create files with names like:
|
|
10
|
-
- `agentic-reflection-*.md`
|
|
11
|
-
- `summary-*.md`
|
|
12
|
-
- `changelog-*.md`
|
|
13
|
-
- `session-notes-*.md`
|
|
14
|
-
- Any other automatically generated documentation files
|
|
15
|
-
|
|
16
|
-
### When This Rule Applies
|
|
17
|
-
|
|
18
|
-
This rule applies to ALL interactions unless the user explicitly says:
|
|
19
|
-
- "Create a summary file"
|
|
20
|
-
- "Document what you did"
|
|
21
|
-
- "Write a reflection"
|
|
22
|
-
- Or similar explicit requests
|
|
23
|
-
|
|
24
|
-
### What You Should Do Instead
|
|
25
|
-
|
|
26
|
-
1. **Communicate directly**: Explain what you did in your response to the user
|
|
27
|
-
2. **Only create necessary files**: Create only the files needed to complete the actual task (source code, configuration files, etc.)
|
|
28
|
-
3. **Ask first**: If you think documentation would be helpful, ASK the user if they want it before creating it
|
|
29
|
-
|
|
30
|
-
### Example Scenarios
|
|
31
|
-
|
|
32
|
-
❌ **WRONG**: User asks to fix a bug → You fix it AND create `agentic-reflection-commit-2026-01-10.md`
|
|
33
|
-
|
|
34
|
-
✅ **CORRECT**: User asks to fix a bug → You fix it and explain what you did in your response
|
|
35
|
-
|
|
36
|
-
❌ **WRONG**: User asks to add a feature → You add it AND create a summary document
|
|
37
|
-
|
|
38
|
-
✅ **CORRECT**: User asks to add a feature → You add it and describe the changes in your response
|
|
39
|
-
|
|
40
|
-
### Rationale
|
|
41
|
-
|
|
42
|
-
The user finds these automatically generated files cluttering the workspace. They prefer clean, focused changes that only include the files necessary for the actual task at hand.
|
|
43
|
-
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# No Emoticons in Documentation
|
|
2
|
-
|
|
3
|
-
Do not use emoticons, emoji, or unicode symbols as grammatical decoration in documentation. This includes:
|
|
4
|
-
|
|
5
|
-
- README.md
|
|
6
|
-
- Guide files (guide/*.md)
|
|
7
|
-
- Documentation files (docs/*.md)
|
|
8
|
-
- Prompt files (src/prompt/**/*.md)
|
|
9
|
-
- Any other markdown or documentation files
|
|
10
|
-
|
|
11
|
-
## What to Avoid
|
|
12
|
-
|
|
13
|
-
**Never use emoticons or symbols for:**
|
|
14
|
-
|
|
15
|
-
- Decorating headings (🚀, 🎯, 📝, etc.)
|
|
16
|
-
- Bullet point prefixes (✅, ⭐, 👉, etc.)
|
|
17
|
-
- Emphasis or flair in prose
|
|
18
|
-
- Making lists look "fun" or "engaging"
|
|
19
|
-
|
|
20
|
-
Emoticons add visual noise without semantic value. Professional documentation communicates through clear language, not decorative symbols.
|
|
21
|
-
|
|
22
|
-
## Acceptable Uses
|
|
23
|
-
|
|
24
|
-
The following are acceptable because they convey actual meaning:
|
|
25
|
-
|
|
26
|
-
- ASCII checkmarks in feature comparison tables: ✓ and ✗
|
|
27
|
-
- Status indicators in CI/build tables where visual scanning matters
|
|
28
|
-
|
|
29
|
-
These should only appear in structured data tables, never in prose, headings, or list items.
|
|
30
|
-
|
|
31
|
-
## Examples
|
|
32
|
-
|
|
33
|
-
**Bad:**
|
|
34
|
-
|
|
35
|
-
```markdown
|
|
36
|
-
## 🚀 Getting Started
|
|
37
|
-
### 🎯 Features
|
|
38
|
-
- 📝 Smart transcription
|
|
39
|
-
- ✅ **For Developers**: Great tooling
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Good:**
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
## Getting Started
|
|
46
|
-
### Features
|
|
47
|
-
- Smart transcription
|
|
48
|
-
- **For Developers**: Great tooling
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Acceptable (feature comparison tables only):**
|
|
52
|
-
|
|
53
|
-
```markdown
|
|
54
|
-
| Feature | Protokoll | Other |
|
|
55
|
-
|---------|-----------|-------|
|
|
56
|
-
| Name Recognition | ✓ | ✗ |
|
|
57
|
-
```
|