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.
|
standup weekday. The range is adjustable in the modal.
|
||||||
- **Signal fed to Claude:** user prompts (intent), assistant closing summaries, and the
|
- **Signal fed to Claude:** user prompts (intent), assistant closing summaries, and the
|
||||||
user's daily notes. No git-commit scanning.
|
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
|
- **Placement:** a "Weekly Report" overlay modal opened from the toolbar, rendering via
|
||||||
the existing `MarkdownView`.
|
the existing `MarkdownView`.
|
||||||
- **Output:** view-only in-app (no export).
|
- **Output:** view-only in-app (no export).
|
||||||
@@ -110,9 +113,10 @@ conversion via `ValueConverter`, per existing convention).
|
|||||||
1. Read settings (excluded paths, standup weekday).
|
1. Read settings (excluded paths, standup weekday).
|
||||||
2. `ClaudeHistoryReader` → distilled activity.
|
2. `ClaudeHistoryReader` → distilled activity.
|
||||||
3. `DailyNoteRepository.ListBetweenAsync` → notes grouped by day.
|
3. `DailyNoteRepository.ListBetweenAsync` → notes grouped by day.
|
||||||
4. Build one prompt: instructions for a short, standup-focused summary grouped by
|
4. Pivot the distilled activity (repo→day from the reader) into **day-major**
|
||||||
repo and day, plus the distilled activity and the daily notes. Empty window →
|
(day→repo) to match the day-grouped report, and build the prompt from the
|
||||||
produce a "no activity" report without calling Claude.
|
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
|
5. Run `ClaudeProcess` once (`claude -p`, no worktree/agents; working dir = a neutral
|
||||||
dir). Read `RunResult.ResultMarkdown`.
|
dir). Read `RunResult.ResultMarkdown`.
|
||||||
6. `WeekReportRepository.UpsertAsync(start, end, markdown)`; return markdown.
|
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.
|
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)
|
### 3. IPC (Hub + WorkerClient)
|
||||||
|
|
||||||
**`WorkerHub`** new methods:
|
**`WorkerHub`** new methods:
|
||||||
|
|||||||
Reference in New Issue
Block a user