feat(workers): pr_url-plumbing + pr-review template + enqueue (Phase 2) #38

Merged
janpeter merged 3 commits from feat/codex-pr-review-phase2 into main 2026-06-10 09:51:23 +02:00
Owner

Phase 2 workers-slice: de pr-review-template wordt enqueue-baar met een volledig persisterende pr_url-keten.

Wat

  • Keten naar het taskId/ideaId-patroon (codex plan-review P1, 2 rondes): MANUAL_JOB_KINDS in BEIDE modules (manual-job-draft.ts en manual-jobs/validation.ts), ManualJobDraftInput.prUrl + zod, ManualJobValidationInput.prUrl + veldregels (verplicht + Forgejo-PR-formaat …/pulls/), LaunchPreview.context.prUrl, editor-mapping uit inputValues.pr_url (gated op template.kind), readPrUrlFromLaunchPreview + verplicht-guard in de enqueue, ClaudeJob.pr_url op create.
  • pr-review-template: kind PR_REVIEW, defaultRuntime codex, defaultAdapter codex_cli (coherentie-fix: de editor reset adapter naar template.defaultAdapter bij template-select — codex+claude_messages_api zou direct invalide zijn), allowedRuntimes claude+codex, capability review; velden product + pr_url (required) + instruction (optioneel).
  • Phase-1 codex-snapshot-override (requested_model=codex-default) hergebruikt; idea-binding-guard blokkeert PR_REVIEW vanzelf niet (isManualIdeaJobKind dekt alleen IDEA_*).
  • KIND_LABELS (job-card/jobs-column) + snapshot-tests bijgewerkt (typecheck-afgedwongen); submodule-bump scrum4me-shared (PR_REVIEW enum).

Tests

Save-draft persisteert launch_preview_json.context.prUrl via de echte saveManualJobDraftAction; enqueue zet pr_url + codex-default op de job en weigert zonder prUrl; validatie valid/missing/malformed; template-defaults valideren coherent. npm run verify groen (80 files, 478 passed, lint + typecheck clean).

Spec/plan: scrum4me-mcp docs/superpowers 2026-06-09 (codex 3x GO + 154 GO). mcp#45 en shared#11 gemerged; docker#35 codex-GO.

🤖 Generated with Claude Code

Phase 2 workers-slice: de pr-review-template wordt enqueue-baar met een volledig persisterende pr_url-keten. ## Wat - **Keten naar het taskId/ideaId-patroon** (codex plan-review P1, 2 rondes): MANUAL_JOB_KINDS in BEIDE modules (manual-job-draft.ts en manual-jobs/validation.ts), ManualJobDraftInput.prUrl + zod, ManualJobValidationInput.prUrl + veldregels (verplicht + Forgejo-PR-formaat …/pulls/<nr>), LaunchPreview.context.prUrl, editor-mapping uit inputValues.pr_url (gated op template.kind), readPrUrlFromLaunchPreview + verplicht-guard in de enqueue, ClaudeJob.pr_url op create. - **pr-review-template**: kind PR_REVIEW, defaultRuntime codex, defaultAdapter codex_cli (coherentie-fix: de editor reset adapter naar template.defaultAdapter bij template-select — codex+claude_messages_api zou direct invalide zijn), allowedRuntimes claude+codex, capability review; velden product + pr_url (required) + instruction (optioneel). - Phase-1 codex-snapshot-override (requested_model=codex-default) hergebruikt; idea-binding-guard blokkeert PR_REVIEW vanzelf niet (isManualIdeaJobKind dekt alleen IDEA_*). - KIND_LABELS (job-card/jobs-column) + snapshot-tests bijgewerkt (typecheck-afgedwongen); submodule-bump scrum4me-shared (PR_REVIEW enum). ## Tests Save-draft persisteert launch_preview_json.context.prUrl via de echte saveManualJobDraftAction; enqueue zet pr_url + codex-default op de job en weigert zonder prUrl; validatie valid/missing/malformed; template-defaults valideren coherent. npm run verify groen (80 files, 478 passed, lint + typecheck clean). Spec/plan: scrum4me-mcp docs/superpowers 2026-06-09 (codex 3x GO + 154 GO). mcp#45 en shared#11 gemerged; docker#35 codex-GO. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Volledige keten naar het taskId/ideaId-patroon: MANUAL_JOB_KINDS (beide modules), ManualJobDraftInput.prUrl + zod, ManualJobValidationInput.prUrl + veldregels (verplicht + Forgejo-PR-formaat), LaunchPreview.context.prUrl, editor-mapping uit inputValues.pr_url, readPrUrlFromLaunchPreview + verplicht-guard in de enqueue, ClaudeJob.pr_url op create. Save-draft persisteert context.prUrl (regressietest).

Exhaustieve Record<ClaudeJobKind, string> in job-card.tsx en jobs-column.tsx aangevuld met PR_REVIEW:'PR'; snapshot-tests in templates.test.ts en template-versions.test.ts bijgewerkt voor het nieuwe pr-review template; vendor/scrum4me-shared submodule-bump meegenomen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codex PR-38 round-1: P1 lege prompt blokkeerde save (template heeft nu echte promptSections; prompt_md wordt downstream de payload-instructie), P2 prUrl-rehydratie bij draft-select, P3 PR-URL-shape-check in context-patch + readPrUrlFromLaunchPreview (gedeeld PR_URL_PATTERN).

Co-Authored-By: Claude Opus 4.8 (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-workers!38
No description provided.