2026-04-22 — SSOT consolidation: docs site as single source of truth
Introduced the SSOT discipline, the changelog contract, the docs-guard CI check, and the one-canonical-clone rule.
2026-04-25 edit: Follow-up bullet 5 scrubbed of the leaked PAT prefix per
feedback_never_quote_secret_characters.md. Rotation and revocation completed 2026-04-25 (see #641 for the audit trail).
What changed
- Declared
https://docs.fragjulia.de(sourced fromapps/docs/content/docs/) the single authoritative description of how fragJulia works. - Added
apps/docs/content/docs/operations/ssot-discipline.mdxdescribing the principle, the changelog contract, and the issue-closure audit rule. - Added
apps/docs/content/docs/changelog/(this directory) with this seed entry. - Added
.github/pull_request_template.mdwith required checkboxes for changelog entry and SSOT doc updates. - Added
.github/workflows/docs-guard.yml— a PR-blocking check that requires a new file underapps/docs/content/docs/changelog/. Bypassable only with theno-changeloglabel and a stated reason. - Rewrote the repo-root
CLAUDE.mdfrom a ~200-line duplicate-of-global file into a ~60-line local-rules pointer.
Why
Working documents (handoffs, design deltas, plans) had accumulated across OneDrive, ~/.claude/files by dave/, and multiple parallel clones. Claude sessions were writing HANDOFF-*.md directly into C:\Users\dapar\OneDrive\Dokumente\Claude\Projects\fragJUlia\ — a path the user didn't intend to sync. Five parallel fragJulia clones existed on five different branches, each with its own divergent work. The project CLAUDE.md duplicated 100+ lines of ToolSearch rules that already live in the global ~/.claude/global-CLAUDE.md. A GitHub PAT had leaked into three allowedTools permission strings in ~/.claude/settings.local.json.
SSOT plus the CI-enforced changelog gives every change one place to land and one trail of record. The local-clone rule stops OneDrive sync from corrupting git state. Together they end the "works on session A, broken in session B" failure mode.
Scope of this entry
This is a governance change, not a feature change. No user-visible behavior is altered. closes: points to the SSOT epic (#640).
Follow-ups
- Migrate
DesignGUIDE/fragjulia-design-brief-v3.mdintoapps/docs/content/docs/design/and delete the legacy directory. - Migrate the 9
HANDOFF-2026-04-22-*.mdfiles currently in~/OneDrive/Dokumente/Claude/Projects/fragJUlia/intoapps/docs/content/docs/operations/or discard as session-scoped. - Migrate
PLAN.mdandLAUNCH-AUDIT-*.mdfrom the repo root intoapps/docs/content/docs/operations/. - Consolidate the 5 parallel clones (
~/fragjulia/,~/Documents/Claude/Projects/fragjulia/,~/AppData/Local/Temp/fragjulia/,~/~/fragjulia/,C:\code\fragjulia) intoC:\code\fragjuliawith git worktrees for each active branch, preserving uncommitted work. Rotate the leaked PAT and updateDone 2026-04-25 (see #641).~/.claude.jsonwith the new value.- Add the post-merge audit cron that tags issues closed without a matching changelog entry.
2026-04-22 — PAT rotation after internal leak audit
Rotated the GitHub Personal Access Token used by the local Claude Code harness after an internal audit surfaced leaked copies in allowedTools permission strings.
Changelog
Every user-visible or operator-visible change to fragJulia, in reverse chronological order.