16 Commits

Author SHA1 Message Date
a4ca887d32 docs: Plan 2.5 RFC + add to sync include list 2026-05-19 17:00:02 +02:00
537ec09835 chore(sync): include Plan 3 plan-doc in Claude sync
Adds dev-docs/superpowers/plans/2026-05-17-gui-redesign-tier1-primitives.md
to .claude-sync.conf so the Plan 3 doc is visible to Claude Chat for
drift detection and review during Plan 3 execution.

Glob support remains the right BACKLOG item (TECH-SYNC-001 candidate)
to eliminate manual conf maintenance for future plans.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 22:51:07 +02:00
95496ce216 chore(sync): include GUI-redesign docs in Claude sync
Adds to .claude-sync/ scope (.claude-sync.conf):
- dev-docs/RFC-WS-GUI-REDESIGN-CREWLI-STARTER.md
- dev-docs/superpowers/specs/2026-05-15-crewli-starter-gui-redesign-design.md
- dev-docs/superpowers/plans/2026-05-16-gui-redesign-foundation.md

These docs are referenced by RFC-WS-FRONTEND-PRIMEVUE.md and
PRIMEVUE_COMPONENTS.md but were absent from sync coverage, preventing
Claude Chat from drift-checking or reviewing Plan 3 work against
actual spec content.

The sync script has no glob support, so each new
dev-docs/superpowers/plans/*.md must be added to .claude-sync.conf by
hand (noted inline in the conf).
2026-05-17 17:52:27 +02:00
37af961b3e fix(lefthook): remove duplicate git-lfs pre-push command
Lefthook v2 runs `git lfs pre-push` internally for pre-push hooks (per
docs/usage/features/git-lfs.md; confirmed in internal/run/controller/
lfs.go where the internal handler invokes `git lfs pre-push <remote>
<url>` with a buffered `cachedStdin`). Our manual `git-lfs:` command
in lefthook.yml was a second invocation against the same remote; the
duplicate is directly visible in `LEFTHOOK_VERBOSE=1` output as
`[git-lfs] executing hook` (internal) followed by `[lefthook] run:
git lfs pre-push` (manual).

The previous fix attempt (piped: true, commit 1b06804) was based on a
wrong understanding of `piped`'s semantics — `piped` controls
fail-fast behavior, not stdin routing or sequencing. Default lefthook
behavior is already sequential per docs/configuration/parallel.md.
That "fix" was placebo; incident 2 (F2 push, zero LFS objects, commit
99eedb6) proved it.

Phase A investigation: documentary + source confirmation that lefthook
owns the LFS pre-push call. Phase B sandbox test against a filesystem
remote confirmed the duplicate execution in logs but did NOT reproduce
the production hang — likely because the duplicate manual call against
a local remote has no LFS server to interact with. A network-y remote
(Gitea over SSH/HTTPS) appears to be part of the trigger. Two
mechanisms remain plausible (H1: PTY-stdin without EOF in
`while read` loop per docs/configuration/use_stdin.md; H4: server-side
LFS interaction on the duplicate call). Both are eliminated by the
same fix: remove the manual command. LFS uploads continue to work via
lefthook's internal handler (verified in sandbox post-fix).

Regression coverage: scripts/test-lefthook-pre-push.sh asserts exactly
one internal LFS invocation, zero manual ones, and `Uploading LFS
objects: 100%` present, against a disposable sandbox.

See dev-docs/ADR-LEFTHOOK-LFS-INTEGRATION.md for full context, both
misconceptions to prevent regression, and the alternative-scenarios
playbook if Phase E ever regresses.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-11 00:18:56 +02:00
99eedb6004 chore(sync): add PRIMEVUE_COMPONENTS.md to .claude-sync.conf
Closes B5 of F2 (RFC-WS-FRONTEND-PRIMEVUE). PRIMEVUE_COMPONENTS.md
joins the synced doc set so Claude Project Knowledge picks it up on
next upload of .claude-sync/.

Sync output:
- .claude-sync.conf: 34 → 35 entries (+1: PRIMEVUE_COMPONENTS.md)
- .claude-sync/*.md: 34 → 35 files (sync script output;
  SYNC_MANIFEST.md auto-regenerated, not counted as net-new)

VUEXY_COMPONENTS.md kept in conf (deprecation stub still useful as a
forwarding marker during F4); removed in F6.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 22:51:54 +02:00
7e21c6a633 docs(testing): add ARCH-TESTING.md — test pyramid, scope per tier, anti-patterns
B5 of TEST-INFRA-001 (RFC-WS-FRONTEND-PRIMEVUE Amendment A-1).

- Add dev-docs/ARCH-TESTING.md (~13 KB):
  §1 Five-tier pyramid (Unit / Component / Integration / Visual /
     E2E) with environment, cost, and purpose per tier
  §2 Decision tree — pick by what is being verified, not by speed
  §3 Mock-vs-real-backend rules + the self-confirming-bias anti-
     pattern that motivated TEST-CONTRACT-001
  §4 Visual baseline workflow including the composite-over-isolated
     strategy used in B3
  §5 CI strategy stub — deferred to TEST-INFRA-002
  §6 Conventions + 5 anti-patterns
  §7 Vuetify-during-PrimeVue-migration: explicit doc that the
     Vuetify plugin in playwright/index.ts is INTENTIONAL TEMPORARY
     STATE replaced in F3 by PrimeVue. Forbids the "abstract the UI
     framework provider" deferred-cost trap.
  §8 Host setup — Node, pnpm, Chromium, Git LFS, MySQL 8, PHP, .env;
     known risks (unpkg.com flakiness, shared crewli_test DB)
  §9 Deferred work cross-references to BACKLOG entries
- Update CLAUDE.md ### Testing section to reference ARCH-TESTING.md
- Add ARCH-TESTING.md to .claude-sync.conf so the dev-docs sync
  pipeline picks it up; sync script run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 15:29:18 +02:00
253f8a32e6 chore(sync): expand .claude-sync.conf to cover 11 missing dev-docs
Following an audit triggered by amendment commit 0d4afcd not auto-
regenerating .claude-sync (because RFC-WS-FRONTEND-PRIMEVUE.md was
absent from .claude-sync.conf), this commit closes the gap.

Added (11):
- 2 PrimeVue migration docs (RFC + audit)
- 5 tooling docs referenced from CLAUDE.md (CLAUDE_CODE_TOOLING,
  FRONTEND-TOOLING, LARASTAN, RECTOR, TELESCOPE)
- 1 architectural policy (FORM_BUILDER_SCOPE_POLICY)
- 1 sprint audit referenced from CLAUDE.md (WS-3-SESSION-1C-AUDIT)
- 2 reference docs (COPY_CATALOGUE, TEST_SCENARIO)

Skipped (12) with rationale documented in chat thread: one-time setup
docs, sprint-bound audits, end-user docs, superseded precursors, and
duplications of CLAUDE.md content.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-10 14:07:22 +02:00
c9863ee4f8 Add design en information for developing the Artist Management module 2026-05-08 17:01:13 +02:00
1af7b9506d Add RFC-WS-6.md to the documentation sync 2026-05-07 23:00:35 +02:00
e9da01ffce docs: WS-7 closure — RFC status + SECURITY_AUDIT + BACKLOG + sync config
PR-4 commit 3 — closure-bookkeeping nu de implementation-PRs en de
twee runbooks gemerged zijn.

- RFC-WS-7-OBSERVABILITY.md: nieuwe §9 Implementation status (mei 2026)
  vat samen welke acceptance criteria via PR-1..PR-4 zijn voldaan en
  welke (1, 2, 7, 9, 10) op Bert's deploy-checklist resteren. Pointer
  naar ARCH-OBSERVABILITY.md als levende reference; de RFC blijft
  historisch document.
- SECURITY_AUDIT.md: nieuwe sectie 'WS-7 Observability — finale audit
  (mei 2026)' tussen A13-10 en Positive Findings. Bevat (1) acceptance
  criteria checklist met status per criterium, (2) processing register
  entry voor GlitchTip (controller-not-processor, retention 90 dagen,
  TLS+full-disk-encryption+2FA), (3) zeven security controls die WS-7
  introduceert (PII scrubbing, CSP whitelist, sourcemap upload-only,
  listener registration discipline, runtime portal-context-split,
  multi-tenant tag invariant, impersonation.active binary signal),
  (4) pointer naar runbooks/observability-erasure.md voor Art. 17.
- BACKLOG.md: status-overzicht-tabel boven de OBS-entries. Toegevoegd
  als entry: OBS-2 (early-pipeline log context,  Resolved), OBS-3
  (sentry-context middleware coverage,  Resolved — opgevouwen in
  AuthScopeContextListener), OBS-5 (Crewli render handlers report()
  invariant,  Resolved via 48f2a00 + ExceptionReportingTest), en
  OBS-9 (Active — staging environment GlitchTip CSP whitelist follow-up
  bij staging-introductie). Bestaande OBS-1, 4, 6, 7 ongewijzigd
  (Active); OBS-8 staat al op Resolved sinds dee1401.
- .claude-sync.conf: drie nieuwe doc-paths toegevoegd
  (ARCH-OBSERVABILITY.md, runbooks/observability-triage.md,
  runbooks/observability-erasure.md). Post-commit sync-claude-docs
  hook regenereert SYNC_MANIFEST.md met deze entries.

Closes WS-7 documentation acceptance criteria 8 (ARCH) en 14
(SECURITY_AUDIT). Resterende criteria (1, 2, 7, 9, 10) zijn
deploy-checklist door Bert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 19:47:12 +02:00
d4b785a2c9 chore: add WS-7 observability docs to sync manifest 2026-05-06 08:41:45 +02:00
b3fb617985 chore(sync): track ARCH-API-VALIDATION.md in .claude-sync.conf 2026-05-05 22:17:45 +02:00
b5a2140517 fix(sync): track ARCH-BINDINGS.md in .claude-sync.conf 2026-05-05 20:43:20 +02:00
ff9fe0d749 chore(sync): track ARCH-CONSOLIDATION-ADDENDUM in claude-sync manifest 2026-04-24 20:57:45 +02:00
f9cc8c0a1b chore: add consolidation charter to claude-sync pipeline
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 12:47:59 +02:00
79189a64e5 chore: add Claude Project Knowledge sync tooling
- scripts/sync-claude-docs.sh with sync/check/list/help subcommands
- scripts/install-claude-sync-hooks.sh for one-time hook setup
- .githooks/post-commit auto-syncs on dev-doc changes
- .githooks/pre-push warns (non-blocking) on stale sync
- .claude-sync.conf lists 11 synced documents
- SYNC_MANIFEST.md provides drift-detection anchor for Claude Chat
- package.json: npm run sync:docs | sync:check
- .gitignore excludes .claude-sync/ output directory

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 12:38:26 +02:00