cleanup(legibility): repo hygiene — untrack artifacts, update gitignore
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m44s
CI / OCR Service Tests (push) Successful in 44s
CI / Backend Unit Tests (push) Failing after 3m43s
CI / Unit & Component Tests (pull_request) Failing after 3m42s
CI / OCR Service Tests (pull_request) Successful in 43s
CI / Backend Unit Tests (pull_request) Failing after 3m23s

CLEANUP-4 (#415):

Untracked from git (files stay on disk where appropriate):
- frontend/e2e/.auth/user.json — dev credential, already gitignored in
  frontend/.gitignore; git rm --cached so the rule takes effect
- proofshot-artifacts/ (44 files, ~7.6MB) — browser verification
  screenshots committed by mistake; added root .gitignore entry
- frontend/.svelte-kit.old/ — stale type stub from stammbaum route
  rename; deleted from disk
- frontend/test-results.locked/ — Playwright E2E artifacts; deleted
  from disk
- node_modules/.vite/vitest/.../results.json — Vite test cache committed
  by mistake

Deleted from repo:
- package.json / package-lock.json at root (3 testing-library devDeps
  with no justification for living outside frontend/)

.gitignore additions:
- root: proofshot-artifacts/, node_modules/
- frontend: **/test-results.locked/, **/.svelte-kit.old/

After this commit, git status on a fresh clone shows zero unexpected
items (only docs/superpowers/ and familienarchiv-408/ remain untracked,
both pre-existing).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-07 09:27:09 +02:00
parent 0fa90d58cb
commit d28c455991
53 changed files with 10 additions and 4053 deletions

6
.gitignore vendored
View File

@@ -18,5 +18,11 @@ scripts/large-data.sql
.claude/worktrees/ .claude/worktrees/
.claude/scheduled_tasks.lock .claude/scheduled_tasks.lock
# Run artifacts from verification tooling
proofshot-artifacts/
# Root-level Node.js tooling artifacts
node_modules/
# Repo uses npm; yarn.lock is ignored to avoid double-lockfile drift. # Repo uses npm; yarn.lock is ignored to avoid double-lockfile drift.
frontend/yarn.lock frontend/yarn.lock

4
frontend/.gitignore vendored
View File

@@ -36,6 +36,10 @@ src/lib/paraglide_bak*
e2e/.auth/ e2e/.auth/
**/test-results/** **/test-results/**
**/test-results.locked/
# Stale SvelteKit build artifacts
**/.svelte-kit.old/
# Proofshot browser verification artifacts # Proofshot browser verification artifacts
proofshot-artifacts/ proofshot-artifacts/

View File

@@ -1,24 +0,0 @@
import type * as Kit from '@sveltejs/kit';
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
type MatcherParam<M> = M extends (param : string) => param is (infer U extends string) ? U : string;
type RouteParams = { };
type RouteId = '/stammbaum';
type MaybeWithVoid<T> = {} extends T ? T | void : T;
export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
type EnsureDefined<T> = T extends null | undefined ? {} : T;
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
export type Snapshot<T = any> = Kit.Snapshot<T>;
type PageServerParentData = EnsureDefined<import('../$types.js').LayoutServerData>;
type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
export type PageServerLoad<OutputData extends OutputDataShape<PageServerParentData> = OutputDataShape<PageServerParentData>> = Kit.ServerLoad<RouteParams, PageServerParentData, OutputData, RouteId>;
export type PageServerLoadEvent = Parameters<PageServerLoad>[0];
export type ActionData = unknown;
export type PageServerData = Expand<OptionalUnion<EnsureDefined<Kit.LoadProperties<Awaited<ReturnType<typeof import('../../../../../src/routes/stammbaum/+page.server.js').load>>>>>>;
export type PageData = Expand<Omit<PageParentData, keyof PageServerData> & EnsureDefined<PageServerData>>;
export type Action<OutputData extends Record<string, any> | void = Record<string, any> | void> = Kit.Action<RouteParams, OutputData, RouteId>
export type Actions<OutputData extends Record<string, any> | void = Record<string, any> | void> = Kit.Actions<RouteParams, OutputData, RouteId>
export type PageProps = { params: RouteParams; data: PageData; form: ActionData }
export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>;

View File

@@ -1,25 +0,0 @@
{
"cookies": [
{
"name": "PARAGLIDE_LOCALE",
"value": "de",
"domain": "localhost",
"path": "/",
"expires": 1812352142.362504,
"httpOnly": false,
"secure": false,
"sameSite": "Lax"
},
{
"name": "auth_token",
"value": "Basic%20YWRtaW5AZmFtaWx5YXJjaGl2ZS5sb2NhbDphZG1pbjEyMw%3D%3D",
"domain": "localhost",
"path": "/",
"expires": 1777878542.943668,
"httpOnly": true,
"secure": false,
"sameSite": "Strict"
}
],
"origins": []
}

View File

@@ -1,6 +0,0 @@
{
"status": "failed",
"failedTests": [
"17e3fe6f4d9d8bd79c6b-60f085b113a677673906"
]
}

File diff suppressed because one or more lines are too long

1071
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
{
"devDependencies": {
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/svelte": "^5.3.1",
"jsdom": "^29.0.2"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -1,6 +0,0 @@
{
"branch": "feature/153-notification-history",
"commitSha": "edeff353931e9d625083eec983fe174c138c340d",
"startedAt": "2026-03-29T00:00:00.000Z",
"description": "Notification history page (/notifications): empty state, list view (20 items), load-more view (40 items) — 320/768/1440px, light/dark"
}

View File

@@ -1,6 +0,0 @@
{
"branch": "main",
"commitSha": "0797406f02698a5bf43ce3ecb17336017245f91b",
"startedAt": "2026-04-25T10:54:51.868Z",
"description": "Verify /hilfe/transkription: examples with input→output, no names in intro, Wikipedia link with icon"
}

View File

@@ -1,34 +0,0 @@
# ProofShot Verification Report
**Date:** 2026-04-25 10:57:13
**Project:** familienarchiv
**Dev Server:** external on localhost:5173
## What Was Verified
Verify /hilfe/transkription: examples with input→output, no names in intro, Wikipedia link with icon
## Video Recording
Full session recording: [session.webm](./session.webm) (50s)
## Screenshots
![step-full-page.png](./step-full-page.png)
![step-page-top.png](./step-page-top.png)
![step-rules.png](./step-rules.png)
## Console Errors
No console errors detected.
## Server Errors
No server errors detected.
## Environment
- Browser: Chromium (headless)
- Viewport: 1280x720
- Duration: 50 seconds

View File

@@ -1,10 +0,0 @@
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.

View File

@@ -1,6 +0,0 @@
{
"branch": "main",
"commitSha": "0797406f02698a5bf43ce3ecb17336017245f91b",
"startedAt": "2026-04-25T10:56:18.954Z",
"description": "Verify /hilfe/transkription: examples with input→output, no names in intro, Wikipedia link with icon"
}

View File

@@ -1,78 +0,0 @@
[
{
"action": "open http://localhost:5173/hilfe/transkription",
"relativeTimeSec": 3.1,
"timestamp": "2026-04-25T10:56:25.098Z"
},
{
"action": "screenshot step-full-page.png",
"relativeTimeSec": 3.5,
"timestamp": "2026-04-25T10:56:25.511Z"
},
{
"action": "snapshot -i",
"relativeTimeSec": 7.5,
"timestamp": "2026-04-25T10:56:29.579Z"
},
{
"action": "fill @e6 admin@familyarchive.local",
"relativeTimeSec": 21.4,
"timestamp": "2026-04-25T10:56:43.431Z",
"element": {
"label": "E-Mail-Adresse",
"bbox": {
"x": 481,
"y": 314,
"width": 318,
"height": 42
},
"viewport": {
"width": 1280,
"height": 720
}
}
},
{
"action": "fill @e7 admin123",
"relativeTimeSec": 22.2,
"timestamp": "2026-04-25T10:56:44.231Z",
"element": {
"label": "Passwort",
"bbox": {
"x": 481,
"y": 398,
"width": 318,
"height": 42
},
"viewport": {
"width": 1280,
"height": 720
}
}
},
{
"action": "click @e8",
"relativeTimeSec": 23.3,
"timestamp": "2026-04-25T10:56:45.379Z"
},
{
"action": "open http://localhost:5173/hilfe/transkription",
"relativeTimeSec": 30.4,
"timestamp": "2026-04-25T10:56:52.485Z"
},
{
"action": "screenshot step-page-top.png",
"relativeTimeSec": 31.5,
"timestamp": "2026-04-25T10:56:53.525Z"
},
{
"action": "snapshot",
"relativeTimeSec": 43.7,
"timestamp": "2026-04-25T10:57:05.733Z"
},
{
"action": "screenshot step-rules.png",
"relativeTimeSec": 44,
"timestamp": "2026-04-25T10:57:06.051Z"
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -1,34 +0,0 @@
# ProofShot Verification Report
**Date:** 2026-04-25 11:04:14
**Project:** familienarchiv
**Dev Server:** external on localhost:5173
## What Was Verified
Verify B: CSS strikethrough for struck-through rule, no fake input for illegible
## Video Recording
Full session recording: [session.webm](./session.webm) (88s)
## Screenshots
![step-rules.png](./step-rules.png)
![step-scrolled.png](./step-scrolled.png)
![step-strikethrough.png](./step-strikethrough.png)
## Console Errors
No console errors detected.
## Server Errors
No server errors detected.
## Environment
- Browser: Chromium (headless)
- Viewport: 1280x720
- Duration: 88 seconds

View File

@@ -1,23 +0,0 @@
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.
[error] Failed to fetch unread count TypeError: Failed to fetch
at window.fetch (http://localhost:5173/node_modules/@sveltejs/kit/src/runtime/client/fetcher.js?v=9aff597a:66:10)
at fetchUnreadCount (http://localhost:5173/src/lib/stores/notifications.svelte.ts?t=1777114433090:31:46)
at Object.init (http://localhost:5173/src/lib/stores/notifications.svelte.ts?t=1777114433090:74:2)
at http://localhost:5173/src/lib/components/NotificationBell.svelte?t=1777114433090:71:10
at untrack (http://localhost:5173/node_modules/.vite/deps/chunk-W6TT6Y22.js?v=9aff597a:4131:12)
at $effect (http://localhost:5173/node_modules/.vite/deps/chunk-XZDNTRGL.js?v=9aff597a:4165:23)
at update_reaction (http://localhost:5173/node_modules/.vite/deps/chunk-W6TT6Y22.js?v=9aff597a:3831:18)
at update_effect (http://localhost:5173/node_modules/.vite/deps/chunk-W6TT6Y22.js?v=9aff597a:3970:21)
at flush_queued_effects (http://localhost:5173/node_modules/.vite/deps/chunk-W6TT6Y22.js?v=9aff597a:2955:7)
at #process (http://localhost:5173/node_modules/.vite/deps/chunk-W6TT6Y22.js?v=9aff597a:2613:7)
[debug] [vite] connecting...
[debug] [vite] connected.
[debug] [vite] connecting...
[debug] [vite] connected.

View File

@@ -1,6 +0,0 @@
{
"branch": "main",
"commitSha": "0797406f02698a5bf43ce3ecb17336017245f91b",
"startedAt": "2026-04-25T11:02:36.168Z",
"description": "Verify B: CSS strikethrough for struck-through rule, no fake input for illegible"
}

View File

@@ -1,121 +0,0 @@
[
{
"action": "open http://localhost:5173/hilfe/transkription",
"relativeTimeSec": 2.8,
"timestamp": "2026-04-25T11:02:46.720Z"
},
{
"action": "screenshot step-rules.png",
"relativeTimeSec": 3.3,
"timestamp": "2026-04-25T11:02:47.146Z"
},
{
"action": "snapshot -i",
"relativeTimeSec": 6.5,
"timestamp": "2026-04-25T11:02:50.423Z"
},
{
"action": "fill @e6 admin@familyarchive.local",
"relativeTimeSec": 10.7,
"timestamp": "2026-04-25T11:02:54.622Z",
"element": {
"label": "E-Mail-Adresse",
"bbox": {
"x": 481,
"y": 314,
"width": 318,
"height": 42
},
"viewport": {
"width": 1280,
"height": 720
}
}
},
{
"action": "fill @e7 admin123",
"relativeTimeSec": 11.5,
"timestamp": "2026-04-25T11:02:55.421Z",
"element": {
"label": "Passwort",
"bbox": {
"x": 481,
"y": 398,
"width": 318,
"height": 42
},
"viewport": {
"width": 1280,
"height": 720
}
}
},
{
"action": "click @e8",
"relativeTimeSec": 12.7,
"timestamp": "2026-04-25T11:02:56.543Z"
},
{
"action": "open http://localhost:5173/hilfe/transkription",
"relativeTimeSec": 14.9,
"timestamp": "2026-04-25T11:02:58.745Z"
},
{
"action": "screenshot step-rules.png",
"relativeTimeSec": 15.9,
"timestamp": "2026-04-25T11:02:59.804Z"
},
{
"action": "snapshot",
"relativeTimeSec": 27.8,
"timestamp": "2026-04-25T11:03:11.712Z"
},
{
"action": "click @e17",
"relativeTimeSec": 38.6,
"timestamp": "2026-04-25T11:03:22.492Z",
"element": {
"label": "Durchgestrichene Wörter",
"bbox": {
"x": 366,
"y": 711.5,
"width": 174,
"height": 24
},
"viewport": {
"width": 1280,
"height": 720
}
}
},
{
"action": "screenshot step-strikethrough.png",
"relativeTimeSec": 39,
"timestamp": "2026-04-25T11:03:22.830Z"
},
{
"action": "open http://localhost:5173/hilfe/transkription",
"relativeTimeSec": 62.2,
"timestamp": "2026-04-25T11:03:46.063Z"
},
{
"action": "screenshot --full-page step-full.png",
"relativeTimeSec": 63.7,
"timestamp": "2026-04-25T11:03:47.577Z"
},
{
"action": "scroll 0 500",
"relativeTimeSec": 77.7,
"timestamp": "2026-04-25T11:04:01.584Z"
},
{
"action": "scroll down",
"relativeTimeSec": 80.7,
"timestamp": "2026-04-25T11:04:04.579Z"
},
{
"action": "screenshot step-scrolled.png",
"relativeTimeSec": 81,
"timestamp": "2026-04-25T11:04:04.856Z"
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB