docs(plans): M16 fase 3 implementation plan — workers-registry + API-tokens #38

Merged
janpeter merged 2 commits from docs/M16-fase3-plan into main 2026-05-27 00:12:10 +02:00
Owner

M16 platform-split fase 3 — implementation plan voor verhuizing van API-token UI + workers-registry naar workers.jp-visser.nl.

Scope-keuzes (vastgesteld)

  • last_used_at: skip voor v1 — UI toont alleen created_at + revoked_at
  • expires_at: optioneel — default null, UI biedt 30d/90d/1y/none
  • /workers filter: cross-product (admin sees all)
  • scoped_repos: schema-only in v1 (field added, no UI)
  • Token-rotation: clipboard copy + SSH paste (zelfde flow als Scrum4Me-web)
  • Schema-migration: all-in-one via scrum4me-shared submodule

Structuur

25 tasks in 7 batches:

Batch Tasks Locatie Doel
A 1-5 shared + 3 consumer-bumps Schema-uitbreiding ApiTokenKind + scoped_repos + expires_at; backfill
B 6-8 workers-app rate-limit + token-utils + actions/api-tokens (TDD)
C 9-12 workers-app /api-tokens UI (TokenRevealedModal + CreateDialog + List)
D 13-15 workers-app /workers read-only registry
E 16-17 Scrum4Me Delete /settings/tokens + deeplink-banner
F 18-20 alle 3 repos Push branches + 3 PRs
G 21-25 [SERVER] Rebuild + token-rotation + revoke oude token

Voorwaarden voor uitvoering

  • Fase 2 PRs gemerged: PR #4 (jobs-UI) ✓, PR #5 (Dockerfile-fix) — pending
  • workers.jp-visser.nl live + admin login bevestigd
  • Server-Claude beschikbaar voor Batch G token-rotation

Design-spec referentie

docs/specs/2026-05-26-scrum4me-platform-split-design.md sectie 5 (API-tokens) + sectie 7.3 (fase 3 steps)

**M16 platform-split fase 3** — implementation plan voor verhuizing van API-token UI + workers-registry naar workers.jp-visser.nl. ## Scope-keuzes (vastgesteld) - `last_used_at`: **skip voor v1** — UI toont alleen created_at + revoked_at - `expires_at`: **optioneel** — default null, UI biedt 30d/90d/1y/none - `/workers` filter: **cross-product** (admin sees all) - `scoped_repos`: **schema-only in v1** (field added, no UI) - Token-rotation: **clipboard copy + SSH paste** (zelfde flow als Scrum4Me-web) - Schema-migration: **all-in-one** via scrum4me-shared submodule ## Structuur 25 tasks in 7 batches: | Batch | Tasks | Locatie | Doel | |---|---|---|---| | A | 1-5 | shared + 3 consumer-bumps | Schema-uitbreiding `ApiTokenKind` + `scoped_repos` + `expires_at`; backfill | | B | 6-8 | workers-app | rate-limit + token-utils + actions/api-tokens (TDD) | | C | 9-12 | workers-app | /api-tokens UI (TokenRevealedModal + CreateDialog + List) | | D | 13-15 | workers-app | /workers read-only registry | | E | 16-17 | Scrum4Me | Delete /settings/tokens + deeplink-banner | | F | 18-20 | alle 3 repos | Push branches + 3 PRs | | G | 21-25 | [SERVER] | Rebuild + token-rotation + revoke oude token | ## Voorwaarden voor uitvoering - Fase 2 PRs gemerged: PR #4 (jobs-UI) ✓, PR #5 (Dockerfile-fix) — pending - workers.jp-visser.nl live + admin login bevestigd - Server-Claude beschikbaar voor Batch G token-rotation ## Design-spec referentie [`docs/specs/2026-05-26-scrum4me-platform-split-design.md`](../specs/2026-05-26-scrum4me-platform-split-design.md) sectie 5 (API-tokens) + sectie 7.3 (fase 3 steps)
docs(plans): M16 fase 3 implementation plan — workers-registry + API-tokens
Some checks failed
CI / Lint, Typecheck, Test & Build (pull_request) Failing after 1m26s
CI / Deploy Manual (workflow_dispatch) (pull_request) Has been skipped
CI / Detect deploy-relevant changes (pull_request) Has been skipped
CI / Deploy Preview (PR) (pull_request) Has been skipped
CI / Deploy Production (main) (pull_request) Has been skipped
f88bb07931
Plan voor verhuizing van /api-tokens en /workers UI naar workers.jp-visser.nl
met schema-uitbreiding van ApiToken (kind enum, scoped_repos, expires_at).

Scope-keuzes vastgelegd:
- last_used_at: skip voor v1
- expires_at: optioneel, default null, UI biedt 30d/90d/1y/none
- /workers: cross-product admin view
- scoped_repos: schema-only in v1
- Token-rotation: clipboard copy + SSH paste (zelfde patroon als Scrum4Me)
- Schema-migration: all-in-one via scrum4me-shared submodule

25 tasks in 7 batches:
- A: scrum4me-shared schema + submodule bumps
- B: Token CRUD actions in workers
- C: /api-tokens UI
- D: /workers UI (read-only)
- E: Remove Scrum4Me /settings/tokens + deeplink
- F: Push + PRs
- G: [SERVER] rebuild + token rotation

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix(ci): checkout submodules so @shared/* re-exports resolve
All checks were successful
CI / Lint, Typecheck, Test & Build (pull_request) Successful in 3m7s
CI / Deploy Manual (workflow_dispatch) (pull_request) Has been skipped
CI / Detect deploy-relevant changes (pull_request) Has been skipped
CI / Deploy Preview (PR) (pull_request) Has been skipped
CI / Deploy Production (main) (pull_request) Has been skipped
fce22ea365
`actions/checkout@v5` defaults to submodules: false, leaving
vendor/scrum4me-shared/ empty on the runner. lib/{job-config,
job-status,task-status}.ts are re-export shims that resolve
@shared/* via tsconfig paths to that vendored submodule, so
typecheck failed with TS2307 + ~25 cascade TS2305 errors after
the M16 platform-split.

Add submodules: true to all four named Checkout steps (ci,
deploy-preview, deploy-production, deploy-manual). The `changes`
job uses dorny/paths-filter and doesn't need submodule content.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
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!38
No description provided.