feat(guide): infra-problemen registreren in de issue-tracker #118

Merged
janpeter merged 1 commit from feat/agent-guide-issues into main 2026-08-17 14:27:59 +02:00
Owner

Runbook issue-tracker-rolloutstap 6, eerste helft.

De runbook noemt adoptie expliciet onderdeel van de Definition of Done: "Zonder deze stap komt er nooit een issue binnen." De guide is de plek die élke agent via get_agent_guide te zien krijgt.

Wat erin staat

Een sectie Report infra problems met de vier dingen die anders stilletjes misgaan:

  • De fingerprint host:component:core. Zonder krijg je bij elke herhaling een nieuw issue in plaats van een opgetelde teller — en dat is precies het verschil tussen een tracker en een berg duplicaten.
  • reported_by op je eigen queue-adres.
  • append_research / append_resolution appenden, dus je wist het werk van een voorganger niet. Sluiten kan alleen mét resolution.
  • Geen secrets, omdat de inhoud naar Forgejo gespiegeld wordt en daar leesbaar is voor iedereen met repo-toegang.

Twee bewuste afwijkingen van de runbook-tekst

Vertaald naar Engels. De runbook levert de snippet in het Nederlands; dit bestand is volledig Engels. Een Nederlands blok ertussen leest als ingeplakt. Alle inhoudelijke punten zijn intact.

Het voorbeeldadres is aangepast. De runbook gebruikt max2:claude. De bestaande test "is model-agnostic (no brand coupling)" doet letterlijk expect(...toLowerCase()).not.toContain('claude') en sloeg daar terecht op aan — het bestand zegt in zijn eigen kopcommentaar "Keep model-agnostic". Vervangen door de vorm host:model.

Die tweede was geen theoretische zorg: mijn eerste versie faalde op die test. Goed dat hij er staat.

Verificatie

  • volledige suite: 187 passed / 3 skipped, geen failures
  • tsc --noEmit: 0 fouten
  • guide-lengte 3163 tekens (de test bewaakt < 8000)
  • template-literal intact: 0 backticks en 0 ${ in de body — dit is een TS-string, geen .md

Terzijde: een verse checkout gaf eerst 24 typefouten. Dat was een stale generated client; na submodule update + sync-schema + prisma generate zijn het er 0. Die valkuil is hier vandaag vaker langsgekomen.

Wat hierna nog open is in stap 6

Het tweede vinkje, "snippet toegevoegd aan de s4m-queue-rule", zit niet in een repo: die rule is ~/.claude/skills/s4m-queue/SKILL.md, een handmatig bestand per host. Aanpassen op één host bereikt de andere niet. Zie de begeleidende melding — dat vraagt een besluit over waar de canonieke bron hoort te staan.

Runbook [issue-tracker-rollout](https://git.jp-visser.nl/janpeter/Scrum4Me/src/branch/main/docs/runbooks/issue-tracker-rollout.md) — **stap 6**, eerste helft. De runbook noemt adoptie expliciet onderdeel van de Definition of Done: *"Zonder deze stap komt er nooit een issue binnen."* De guide is de plek die élke agent via `get_agent_guide` te zien krijgt. ## Wat erin staat Een sectie **Report infra problems** met de vier dingen die anders stilletjes misgaan: - **De fingerprint** `host:component:core`. Zonder krijg je bij elke herhaling een nieuw issue in plaats van een opgetelde teller — en dat is precies het verschil tussen een tracker en een berg duplicaten. - **`reported_by`** op je eigen queue-adres. - **`append_research` / `append_resolution`** appenden, dus je wist het werk van een voorganger niet. Sluiten kan alleen mét resolution. - **Geen secrets**, omdat de inhoud naar Forgejo gespiegeld wordt en daar leesbaar is voor iedereen met repo-toegang. ## Twee bewuste afwijkingen van de runbook-tekst **Vertaald naar Engels.** De runbook levert de snippet in het Nederlands; dit bestand is volledig Engels. Een Nederlands blok ertussen leest als ingeplakt. Alle inhoudelijke punten zijn intact. **Het voorbeeldadres is aangepast.** De runbook gebruikt `max2:claude`. De bestaande test *"is model-agnostic (no brand coupling)"* doet letterlijk `expect(...toLowerCase()).not.toContain('claude')` en sloeg daar terecht op aan — het bestand zegt in zijn eigen kopcommentaar "Keep model-agnostic". Vervangen door de vorm `host:model`. Die tweede was geen theoretische zorg: mijn eerste versie faalde op die test. Goed dat hij er staat. ## Verificatie - volledige suite: **187 passed / 3 skipped**, geen failures - `tsc --noEmit`: **0 fouten** - guide-lengte **3163 tekens** (de test bewaakt < 8000) - template-literal intact: 0 backticks en 0 `${` in de body — dit is een TS-string, geen `.md` Terzijde: een verse checkout gaf eerst 24 typefouten. Dat was een stale generated client; na `submodule update` + `sync-schema` + `prisma generate` zijn het er 0. Die valkuil is hier vandaag vaker langsgekomen. ## Wat hierna nog open is in stap 6 Het tweede vinkje, "snippet toegevoegd aan de s4m-queue-rule", zit **niet** in een repo: die rule is `~/.claude/skills/s4m-queue/SKILL.md`, een handmatig bestand per host. Aanpassen op één host bereikt de andere niet. Zie de begeleidende melding — dat vraagt een besluit over waar de canonieke bron hoort te staan.
feat(guide): infra-problemen registreren in de issue-tracker
All checks were successful
CI / Verify (pull_request) Successful in 1m59s
3451f64483
Stap 6 van de issue-tracker-rollout: zonder adoptie komt er nooit een issue
binnen, en dat staat in de runbook expliciet als onderdeel van de Definition of
Done.

Nieuwe sectie "Report infra problems" met de vier dingen die anders misgaan:
de fingerprint host:component:core (zonder fingerprint krijg je bij elke
herhaling een nieuw issue in plaats van een opgetelde teller), reported_by op je
eigen queue-adres, append_research/append_resolution die appenden zodat je het
werk van een voorganger niet wist, en het verbod op secrets omdat de inhoud naar
Forgejo gespiegeld wordt.

De runbook levert deze tekst in het Nederlands aan. Dit bestand is volledig
Engels en model-agnostisch, dus de tekst is omgezet naar de stijl van het
bestand met alle inhoudelijke punten intact. Het voorbeeld-adres uit de runbook
(max2:claude) is vervangen door de vorm host:model — de bestaande test
"is model-agnostic (no brand coupling)" verbiedt merknamen letterlijk en sloeg
daar terecht op aan.

Geverifieerd: 187 passed / 3 skipped, tsc 0 fouten, guide 3163 tekens (grens
8000), geen backticks of ${ in de template-literal.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-mcp!118
No description provided.