docs: add report prompt and day-major pivot to weekly report spec
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,9 @@ report.
|
||||
standup weekday. The range is adjustable in the modal.
|
||||
- **Signal fed to Claude:** user prompts (intent), assistant closing summaries, and the
|
||||
user's daily notes. No git-commit scanning.
|
||||
- **Report shape:** German, grouped by day, first-person past-tense bullets, ~3-5
|
||||
bullets/day with trivia merged/dropped, notes blended into one deduplicated list per
|
||||
day. See the Report Prompt section.
|
||||
- **Placement:** a "Weekly Report" overlay modal opened from the toolbar, rendering via
|
||||
the existing `MarkdownView`.
|
||||
- **Output:** view-only in-app (no export).
|
||||
@@ -110,9 +113,10 @@ conversion via `ValueConverter`, per existing convention).
|
||||
1. Read settings (excluded paths, standup weekday).
|
||||
2. `ClaudeHistoryReader` → distilled activity.
|
||||
3. `DailyNoteRepository.ListBetweenAsync` → notes grouped by day.
|
||||
4. Build one prompt: instructions for a short, standup-focused summary grouped by
|
||||
repo and day, plus the distilled activity and the daily notes. Empty window →
|
||||
produce a "no activity" report without calling Claude.
|
||||
4. Pivot the distilled activity (repo→day from the reader) into **day-major**
|
||||
(day→repo) to match the day-grouped report, and build the prompt from the
|
||||
template in the Report Prompt section. Empty window → produce a "no activity"
|
||||
report without calling Claude.
|
||||
5. Run `ClaudeProcess` once (`claude -p`, no worktree/agents; working dir = a neutral
|
||||
dir). Read `RunResult.ResultMarkdown`.
|
||||
6. `WeekReportRepository.UpsertAsync(start, end, markdown)`; return markdown.
|
||||
@@ -121,6 +125,35 @@ conversion via `ValueConverter`, per existing convention).
|
||||
|
||||
Interfaces live in `Report/Interfaces/` per the area convention.
|
||||
|
||||
#### Report Prompt
|
||||
|
||||
`WeekReportService` assembles this prompt. Instructions are in English (more reliable
|
||||
steering); the output is forced to German. `{...}` are filled at build time.
|
||||
|
||||
```
|
||||
You are generating a concise weekly standup report for a software developer.
|
||||
Summarize what they accomplished between {start:dd.MM.yyyy} and {end:dd.MM.yyyy}.
|
||||
|
||||
Rules:
|
||||
- Write the ENTIRE report in German.
|
||||
- Group by day. One "## {Wochentag}, {dd.MM.yyyy}" section per day that has
|
||||
activity (German weekday names). Omit days with no activity entirely.
|
||||
- Within each day: 3–5 first-person, past-tense bullets ("- Habe X umgesetzt",
|
||||
"- Y behoben"). Merge related small work into one bullet.
|
||||
- Drop trivia: typo fixes, pure exploration, false starts, tooling/log noise.
|
||||
- Blend the developer's own notes and the derived activity into ONE deduplicated
|
||||
bullet list per day. The developer's notes are authoritative — never omit or
|
||||
contradict their substance.
|
||||
- Name the project/repo when it adds clarity.
|
||||
- Output ONLY the dated sections. No preamble, no intro, no closing remarks.
|
||||
|
||||
== Activity (from session history) ==
|
||||
{day-major: for each day → for each repo → its prompts + closing summaries}
|
||||
|
||||
== Developer notes ==
|
||||
{day-major: for each day → the bullets}
|
||||
```
|
||||
|
||||
### 3. IPC (Hub + WorkerClient)
|
||||
|
||||
**`WorkerHub`** new methods:
|
||||
|
||||
Reference in New Issue
Block a user