fix(worker): transcript-retentie 7 dagen via cleanupPeriodDays (ISS-38) #91

Merged
janpeter merged 1 commit from fix/transcript-retention into master 2026-09-28 14:25:46 +02:00
Owner

Voor scrum4me-server ISS-38, deel 2: transcript-retentie. Besluit JP: 7 dagen.

Probleem

Claude Code bewaart elke sessie als transcript onder ~/.claude/projects op het home-volume van de worker, en niets ruimde die op. 154 heeft 797 bestanden (60 MB) sinds 2026-08-03, max2 135. Dumpt een agent zijn env, dan blijft die daar voorgoed staan: zo bleef het superuser-wachtwoord in 21 docs-worker-transcripts staan.

Fix

  • bin/set-transcript-retention.sh zet cleanupPeriodDays (default 7, of AGENT_TRANSCRIPT_RETENTION_DAYS) in de user-settings. Het schrijft atomair; bij ongeldige invoer of JSON blijft het bestand ongewijzigd.
  • entrypoint.sh roept het als agent aan, direct na de install van de settings uit scrum4me-mcp. Faalt het, dan komt er een WARN en start de worker gewoon.

Bewijs

  • __tests__/transcript-retention.test.ts: 5 gevallen, eerst rood en daarna groen. De volledige suite geeft 213/213; dezelfde 13 dispatch-suites laden lokaal niet, net als op master.
  • In het live image scrum4me-agent-runner:idea (read-only root, cap_drop ALL, -u agent, tmpfs-home): {"cleanupPeriodDays":7,"hooks":["PostToolUse"]}, modus 644 agent. De Claude Code-versie is 2.1.283.

Uitrol

Image-rebuild en redeploy op beide hosts, zoals bij #90. De eenmalige opschoning van transcripts ouder dan 7 dagen is al gedaan (zie ISS-38).

🤖 Generated with Claude Code

Voor scrum4me-server **ISS-38**, deel 2: transcript-retentie. Besluit JP: 7 dagen. ## Probleem Claude Code bewaart elke sessie als transcript onder `~/.claude/projects` op het home-volume van de worker, en niets ruimde die op. 154 heeft 797 bestanden (60 MB) sinds 2026-08-03, max2 135. Dumpt een agent zijn env, dan blijft die daar voorgoed staan: zo bleef het superuser-wachtwoord in 21 docs-worker-transcripts staan. ## Fix - `bin/set-transcript-retention.sh` zet `cleanupPeriodDays` (default 7, of `AGENT_TRANSCRIPT_RETENTION_DAYS`) in de user-settings. Het schrijft atomair; bij ongeldige invoer of JSON blijft het bestand ongewijzigd. - `entrypoint.sh` roept het als `agent` aan, direct na de install van de settings uit scrum4me-mcp. Faalt het, dan komt er een WARN en start de worker gewoon. ## Bewijs - `__tests__/transcript-retention.test.ts`: 5 gevallen, eerst **rood** en daarna groen. De volledige suite geeft 213/213; dezelfde 13 dispatch-suites laden lokaal niet, net als op master. - In het live image `scrum4me-agent-runner:idea` (read-only root, `cap_drop ALL`, `-u agent`, tmpfs-home): `{"cleanupPeriodDays":7,"hooks":["PostToolUse"]}`, modus 644 agent. De Claude Code-versie is 2.1.283. ## Uitrol Image-rebuild en redeploy op beide hosts, zoals bij #90. De eenmalige opschoning van transcripts ouder dan 7 dagen is al gedaan (zie ISS-38). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(worker): transcript-retentie van 7 dagen via cleanupPeriodDays (scrum4me-server ISS-38)
All checks were successful
CI / Compose config (pull_request) Successful in 5s
CI / Build-arg coverage (pull_request) Successful in 3s
CI / Docker build (pull_request) Successful in 1m11s
1eef365e81
Claude Code bewaart elke sessie als transcript onder ~/.claude/projects op het
home-volume van de worker, en niets ruimde die op. Op 154 staan ~800 bestanden
sinds 2026-08-03. Dumpt een agent zijn env, dan blijft die daar voorgoed
staan: zo bleef het superuser-wachtwoord in 21 transcripts van de docs-worker
staan (ISS-38).

- bin/set-transcript-retention.sh zet `cleanupPeriodDays` in de user-settings.
  Default 7, of AGENT_TRANSCRIPT_RETENTION_DAYS. Het schrijft atomair; bij
  ongeldige invoer of JSON blijft het bestand ongewijzigd.
- entrypoint.sh roept het als agent aan, direct na het installeren van de
  settings uit scrum4me-mcp. Faalt het, dan logt het een WARN en start de
  worker gewoon.

Tests: __tests__/transcript-retention.test.ts, 5 gevallen, eerst rood en
daarna groen. De volledige suite geeft 213/213; dezelfde 13 dispatch-suites
laden niet lokaal, net als op master. In het live image
(scrum4me-agent-runner:idea, read-only root, cap_drop ALL, -u agent, tmpfs
home) komt cleanupPeriodDays=7 erin, blijft de PostToolUse-hook intact en
blijft de modus 644 agent.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
s4m-codex-reviewer left a comment

Verdict: APPROVED

Findings

  • Geen blokkerende of error-severity findings aangetroffen.

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

## Verdict: APPROVED ### Findings - Geen blokkerende of error-severity findings aangetroffen. Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
janpeter merged commit 52ded1352b into master 2026-09-28 14:25:46 +02:00
Sign in to join this conversation.
No reviewers
No labels
severity/s3
No milestone
No project
No assignees
2 participants
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-docker!91
No description provided.