mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 04:19:39 +02:00
Some checks are pending
CI / Build mana-api-gateway (push) Blocked by required conditions
CI / Build mana-crawler (push) Blocked by required conditions
CD Mac Mini / Detect Changes (push) Waiting to run
CD Mac Mini / Deploy (push) Blocked by required conditions
CI / Detect Changes (push) Waiting to run
CI / Validate (push) Waiting to run
CI / Build mana-search (push) Blocked by required conditions
CI / Build mana-sync (push) Blocked by required conditions
Mirror to Forgejo / Push to Forgejo (push) Waiting to run
Vollständige Bau-Geschichte des Monorepos in der Tages-Devlog- Konvention (mana/docs/DEVLOG.md). Bodies sind heuristik- generiert aus den Commit-Subjects pro Tag (Lead-Satz + Highlights/Commit-Bullets, kein LLM-Pfad). Tage mit hand- curate-Bedarf können nachträglich überarbeitet werden — der Auto-Stub-Marker ist weg, die Bodies sind editierbar. 321 Files (data.json + spieler.md + macher.md pro Tag). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
683 lines
17 KiB
JSON
683 lines
17 KiB
JSON
{
|
|
"date": "2026-04-28",
|
|
"day_number": 97,
|
|
"weekday": "Dienstag",
|
|
"commits": 65,
|
|
"authors": [
|
|
{
|
|
"name": "Till JS",
|
|
"count": 65
|
|
}
|
|
],
|
|
"additions": 21935,
|
|
"deletions": 29438,
|
|
"net_lines": -7503,
|
|
"files_changed": 491,
|
|
"new_files": 0,
|
|
"deleted_files": 0,
|
|
"session": {
|
|
"first_commit_at": "2026-04-28T12:54:32.000Z",
|
|
"last_commit_at": "2026-04-29T00:50:16.000Z",
|
|
"total_span_minutes": 716,
|
|
"active_minutes": 436,
|
|
"pauses": [
|
|
{
|
|
"from": "16:24",
|
|
"to": "16:57",
|
|
"minutes": 33
|
|
},
|
|
{
|
|
"from": "17:37",
|
|
"to": "20:57",
|
|
"minutes": 199
|
|
},
|
|
{
|
|
"from": "01:30",
|
|
"to": "02:17",
|
|
"minutes": 48
|
|
}
|
|
],
|
|
"longest_focus_minutes": 273
|
|
},
|
|
"top_dirs": [
|
|
{
|
|
"path": "apps/mana/apps/web",
|
|
"pct": 54
|
|
},
|
|
{
|
|
"path": "games/arcade/apps",
|
|
"pct": 13
|
|
},
|
|
{
|
|
"path": "services/mana-geocoding/src",
|
|
"pct": 9
|
|
},
|
|
{
|
|
"path": "apps/api/src/modules",
|
|
"pct": 3
|
|
},
|
|
{
|
|
"path": "packages/shared-branding/src",
|
|
"pct": 2
|
|
}
|
|
],
|
|
"top_extensions": [
|
|
{
|
|
"ext": ".ts",
|
|
"count": 311
|
|
},
|
|
{
|
|
"ext": ".svelte",
|
|
"count": 170
|
|
},
|
|
{
|
|
"ext": ".json",
|
|
"count": 85
|
|
},
|
|
{
|
|
"ext": ".md",
|
|
"count": 25
|
|
},
|
|
{
|
|
"ext": ".html",
|
|
"count": 23
|
|
},
|
|
{
|
|
"ext": ".yml",
|
|
"count": 15
|
|
}
|
|
],
|
|
"tags": ["articles", "forms", "feedback", "geocoding", "deploy"],
|
|
"commits_list": [
|
|
{
|
|
"hash": "44f9155",
|
|
"short": "chore(dev): pnpm dev:analytics script + test-checklist mentions local-dev startup",
|
|
"type": "chore",
|
|
"scope": "dev",
|
|
"additions": 19,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T14:54:32+02:00"
|
|
},
|
|
{
|
|
"hash": "0c30a16",
|
|
"short": "fix: 4 boot-time noise + correctness bugs surfaced by post-deploy smoke",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 106,
|
|
"deletions": 55,
|
|
"timestamp": "2026-04-28T14:56:24+02:00"
|
|
},
|
|
{
|
|
"hash": "5377190",
|
|
"short": "infra(macmini): bump squeezed container memory limits",
|
|
"type": "infra",
|
|
"scope": "macmini",
|
|
"additions": 10,
|
|
"deletions": 5,
|
|
"timestamp": "2026-04-28T15:02:38+02:00"
|
|
},
|
|
{
|
|
"hash": "eaa1d74",
|
|
"short": "fix: silence two cosmetic boot-time devtools warnings",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 55,
|
|
"deletions": 20,
|
|
"timestamp": "2026-04-28T15:10:15+02:00"
|
|
},
|
|
{
|
|
"hash": "94d3277",
|
|
"short": "feat(feedback): \"Idee teilen\" lebt jetzt im PillNav-Usermenü",
|
|
"type": "feat",
|
|
"scope": "feedback",
|
|
"additions": 65,
|
|
"deletions": 109,
|
|
"timestamp": "2026-04-28T15:12:27+02:00"
|
|
},
|
|
{
|
|
"hash": "ff823bf",
|
|
"short": "fix(feedback): POST /api/v1/feedback liest appId aus X-App-Id-Header",
|
|
"type": "fix",
|
|
"scope": "feedback",
|
|
"additions": 6,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T15:16:11+02:00"
|
|
},
|
|
{
|
|
"hash": "f1e4a39",
|
|
"short": "feat(geocoding): provider chain with Photon + Nominatim fallbacks",
|
|
"type": "feat",
|
|
"scope": "geocoding",
|
|
"additions": 2120,
|
|
"deletions": 184,
|
|
"timestamp": "2026-04-28T15:21:11+02:00"
|
|
},
|
|
{
|
|
"hash": "f39e723",
|
|
"short": "chore(ci): drop 16 dead build-* jobs + per-product detect-changes branches",
|
|
"type": "chore",
|
|
"scope": "ci",
|
|
"additions": 30,
|
|
"deletions": 727,
|
|
"timestamp": "2026-04-28T15:32:43+02:00"
|
|
},
|
|
{
|
|
"hash": "15ab24b",
|
|
"short": "feat(feedback): heart-half als globales Feedback-Icon + inline-Form in der Workbench",
|
|
"type": "feat",
|
|
"scope": "feedback",
|
|
"additions": 441,
|
|
"deletions": 341,
|
|
"timestamp": "2026-04-28T15:36:52+02:00"
|
|
},
|
|
{
|
|
"hash": "9a0cf5b",
|
|
"short": "fix(geocoding): bump PROVIDER_TIMEOUT_MS default 5s → 8s",
|
|
"type": "fix",
|
|
"scope": "geocoding",
|
|
"additions": 6,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-28T15:39:09+02:00"
|
|
},
|
|
{
|
|
"hash": "34b1690",
|
|
"short": "fix(mana-ai): copy missing workspace deps into Docker installer stage",
|
|
"type": "fix",
|
|
"scope": "mana-ai",
|
|
"additions": 11,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T15:42:20+02:00"
|
|
},
|
|
{
|
|
"hash": "164d5da",
|
|
"short": "fix(mana-llm): copy aliases.yaml into Docker image",
|
|
"type": "fix",
|
|
"scope": "mana-llm",
|
|
"additions": 5,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T15:47:48+02:00"
|
|
},
|
|
{
|
|
"hash": "bcc21ca",
|
|
"short": "feat(geocoding): privacy hardening — sensitive-query block + coord quantization + extended cache TTL for public answers",
|
|
"type": "feat",
|
|
"scope": "geocoding",
|
|
"additions": 658,
|
|
"deletions": 29,
|
|
"timestamp": "2026-04-28T16:04:56+02:00"
|
|
},
|
|
{
|
|
"hash": "698e09b",
|
|
"short": "chore(deploy): auto-apply additive Drizzle schema migrations + RAM headroom for mana-web build",
|
|
"type": "chore",
|
|
"scope": "deploy",
|
|
"additions": 283,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T16:10:31+02:00"
|
|
},
|
|
{
|
|
"hash": "112e2cc",
|
|
"short": "feat(feedback): rename community → feedback (module + routes + domain)",
|
|
"type": "feat",
|
|
"scope": "feedback",
|
|
"additions": 51,
|
|
"deletions": 51,
|
|
"timestamp": "2026-04-28T16:18:45+02:00"
|
|
},
|
|
{
|
|
"hash": "f20a411",
|
|
"short": "chore(infra): right-size mem_limits based on observed RSS (Tier-3 sweep)",
|
|
"type": "chore",
|
|
"scope": "infra",
|
|
"additions": 28,
|
|
"deletions": 8,
|
|
"timestamp": "2026-04-28T16:18:58+02:00"
|
|
},
|
|
{
|
|
"hash": "b1fa55d",
|
|
"short": "feat(places): surface geocoding privacy notices in autocomplete UI",
|
|
"type": "feat",
|
|
"scope": "places",
|
|
"additions": 218,
|
|
"deletions": 25,
|
|
"timestamp": "2026-04-28T16:24:15+02:00"
|
|
},
|
|
{
|
|
"hash": "e4d9dc5",
|
|
"short": "fix(deploy): safe-db-push uses pnpm dlx when local drizzle-kit is missing",
|
|
"type": "fix",
|
|
"scope": "deploy",
|
|
"additions": 14,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-28T16:57:35+02:00"
|
|
},
|
|
{
|
|
"hash": "6f83fba",
|
|
"short": "docs(reports): geocoding self-hosting decision — recommend Photon on mana-gpu",
|
|
"type": "docs",
|
|
"scope": "reports",
|
|
"additions": 219,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T17:04:30+02:00"
|
|
},
|
|
{
|
|
"hash": "941df57",
|
|
"short": "feat(feedback): rename community-identity columns + settings-section",
|
|
"type": "feat",
|
|
"scope": "feedback",
|
|
"additions": 544,
|
|
"deletions": 209,
|
|
"timestamp": "2026-04-28T17:09:58+02:00"
|
|
},
|
|
{
|
|
"hash": "104a5a4",
|
|
"short": "fix(deploy): pnpm install workspace deps before running safe-db-push",
|
|
"type": "fix",
|
|
"scope": "deploy",
|
|
"additions": 42,
|
|
"deletions": 12,
|
|
"timestamp": "2026-04-28T17:10:08+02:00"
|
|
},
|
|
{
|
|
"hash": "153ad80",
|
|
"short": "feat(geocoding): support dual-Photon (self-hosted + public) for GPU migration",
|
|
"type": "feat",
|
|
"scope": "geocoding",
|
|
"additions": 537,
|
|
"deletions": 16,
|
|
"timestamp": "2026-04-28T17:19:04+02:00"
|
|
},
|
|
{
|
|
"hash": "f851f15",
|
|
"short": "feat(lasts): tidy ListView header — single-row quick-add + scrollable icon-tabs",
|
|
"type": "feat",
|
|
"scope": "lasts",
|
|
"additions": 109,
|
|
"deletions": 108,
|
|
"timestamp": "2026-04-28T17:22:40+02:00"
|
|
},
|
|
{
|
|
"hash": "c709420",
|
|
"short": "fix(feedback): ReactionBar stoppt Click-Bubbling",
|
|
"type": "fix",
|
|
"scope": "feedback",
|
|
"additions": 6,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-28T17:25:22+02:00"
|
|
},
|
|
{
|
|
"hash": "f41ca54",
|
|
"short": "fix(deploy): safe-db-push cleanup trap also removes snapshot + journal",
|
|
"type": "fix",
|
|
"scope": "deploy",
|
|
"additions": 37,
|
|
"deletions": 24,
|
|
"timestamp": "2026-04-28T17:25:46+02:00"
|
|
},
|
|
{
|
|
"hash": "f754d4e",
|
|
"short": "chore(infra): provision 2 GiB swap inside Colima VM as OOM safety net",
|
|
"type": "chore",
|
|
"scope": "infra",
|
|
"additions": 21,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T17:31:52+02:00"
|
|
},
|
|
{
|
|
"hash": "248549b",
|
|
"short": "fix(feedback): keine doppelte Anzeige von Title + Body",
|
|
"type": "fix",
|
|
"scope": "feedback",
|
|
"additions": 54,
|
|
"deletions": 3,
|
|
"timestamp": "2026-04-28T17:37:51+02:00"
|
|
},
|
|
{
|
|
"hash": "7ebbf06",
|
|
"short": "feat(macmini): pass PHOTON_SELF_API_URL through to mana-geocoding",
|
|
"type": "feat",
|
|
"scope": "macmini",
|
|
"additions": 9,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T21:15:54+02:00"
|
|
},
|
|
{
|
|
"hash": "fc49198",
|
|
"short": "docs(geocoding): post-migration log + Photon weekly-refresh operator scripts",
|
|
"type": "docs",
|
|
"scope": "geocoding",
|
|
"additions": 254,
|
|
"deletions": 5,
|
|
"timestamp": "2026-04-28T21:31:08+02:00"
|
|
},
|
|
{
|
|
"hash": "5535f2d",
|
|
"short": "feat(articles): server-side bulk-import worker (Phase 2)",
|
|
"type": "feat",
|
|
"scope": "articles",
|
|
"additions": 723,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T21:33:49+02:00"
|
|
},
|
|
{
|
|
"hash": "7bca16d",
|
|
"short": "feat(articles): bulk-import schema + plan (Phase 1)",
|
|
"type": "feat",
|
|
"scope": "articles",
|
|
"additions": 785,
|
|
"deletions": 4249,
|
|
"timestamp": "2026-04-28T22:11:51+02:00"
|
|
},
|
|
{
|
|
"hash": "2bbcf14",
|
|
"short": "chore(geocoding): remove Pelias + close 3 bypass paths to public Nominatim",
|
|
"type": "chore",
|
|
"scope": "geocoding",
|
|
"additions": 332,
|
|
"deletions": 1264,
|
|
"timestamp": "2026-04-28T22:12:26+02:00"
|
|
},
|
|
{
|
|
"hash": "a9bcd41",
|
|
"short": "feat(articles): client-side pickup consumer (Phase 3)",
|
|
"type": "feat",
|
|
"scope": "articles",
|
|
"additions": 166,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T22:16:10+02:00"
|
|
},
|
|
{
|
|
"hash": "19627f1",
|
|
"short": "docs(demo-personas): Runbook für echte-Account-Demo-Workflow",
|
|
"type": "docs",
|
|
"scope": "demo-personas",
|
|
"additions": 233,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T22:17:18+02:00"
|
|
},
|
|
{
|
|
"hash": "962606b",
|
|
"short": "feat(demo-personas): chor tägerwilen — Recherche + Seed (118 Records)",
|
|
"type": "feat",
|
|
"scope": "demo-personas",
|
|
"additions": 1275,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T22:17:32+02:00"
|
|
},
|
|
{
|
|
"hash": "8a5fad3",
|
|
"short": "fix(geocoding): bump PROVIDER_TIMEOUT_MS to 20s for cold cross-LAN",
|
|
"type": "fix",
|
|
"scope": "geocoding",
|
|
"additions": 18,
|
|
"deletions": 6,
|
|
"timestamp": "2026-04-28T22:19:21+02:00"
|
|
},
|
|
{
|
|
"hash": "fa299e3",
|
|
"short": "feat(app-registry): wire up 4 modules + 7 routes + tier-patch validator",
|
|
"type": "feat",
|
|
"scope": "app-registry",
|
|
"additions": 812,
|
|
"deletions": 556,
|
|
"timestamp": "2026-04-28T22:21:41+02:00"
|
|
},
|
|
{
|
|
"hash": "29cbaf3",
|
|
"short": "feat(articles): bulk-import store + queries (Phase 4)",
|
|
"type": "feat",
|
|
"scope": "articles",
|
|
"additions": 275,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T22:23:45+02:00"
|
|
},
|
|
{
|
|
"hash": "5f0a1b5",
|
|
"short": "feat(articles): bulk-import UI (Phase 5)",
|
|
"type": "feat",
|
|
"scope": "articles",
|
|
"additions": 773,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T22:30:36+02:00"
|
|
},
|
|
{
|
|
"hash": "0fc16d1",
|
|
"short": "feat(articles): bulk-import AI tool wiring (Phase 6)",
|
|
"type": "feat",
|
|
"scope": "articles",
|
|
"additions": 130,
|
|
"deletions": 3,
|
|
"timestamp": "2026-04-28T22:33:31+02:00"
|
|
},
|
|
{
|
|
"hash": "33b3f65",
|
|
"short": "test(articles): parseUrls unit tests + extract pure module (Phase 7)",
|
|
"type": "test",
|
|
"scope": "articles",
|
|
"additions": 184,
|
|
"deletions": 49,
|
|
"timestamp": "2026-04-28T22:39:17+02:00"
|
|
},
|
|
{
|
|
"hash": "230dfd5",
|
|
"short": "chore: extract arcade into standalone repo",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 107,
|
|
"deletions": 17469,
|
|
"timestamp": "2026-04-28T22:29:14+02:00"
|
|
},
|
|
{
|
|
"hash": "907a3ad",
|
|
"short": "Create forms-module.md",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 364,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T22:41:45+02:00"
|
|
},
|
|
{
|
|
"hash": "6d193a9",
|
|
"short": "chore(app-registry): polish 4 small wins — TOC + AppId-derive + route-drift test + 3 MANA_APPS",
|
|
"type": "chore",
|
|
"scope": "app-registry",
|
|
"additions": 205,
|
|
"deletions": 37,
|
|
"timestamp": "2026-04-28T22:59:26+02:00"
|
|
},
|
|
{
|
|
"hash": "75d9207",
|
|
"short": "feat(forms): M1 skeleton — module + Dexie v57 + welcome-seed",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 1063,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T23:01:05+02:00"
|
|
},
|
|
{
|
|
"hash": "f104a2b",
|
|
"short": "feat(forms): M2 builder + CRUD — drag-reorder + 11 field-types",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 1414,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-28T23:21:27+02:00"
|
|
},
|
|
{
|
|
"hash": "0ef71de",
|
|
"short": "feat(forms): M3a responses view + CSV export + detail modal",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 1088,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T23:21:51+02:00"
|
|
},
|
|
{
|
|
"hash": "afeb32f",
|
|
"short": "feat(forms): M4a conditional branching — pure resolver + UI editor",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 842,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-28T23:31:17+02:00"
|
|
},
|
|
{
|
|
"hash": "18f13e1",
|
|
"short": "feat(forms): M4b visibility + unlisted-sharing + public render",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 800,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-28T23:39:41+02:00"
|
|
},
|
|
{
|
|
"hash": "054b9e5",
|
|
"short": "fix(articles): import-projection accepts F3 + legacy field_meta shapes",
|
|
"type": "fix",
|
|
"scope": "articles",
|
|
"additions": 28,
|
|
"deletions": 92,
|
|
"timestamp": "2026-04-28T23:22:30+02:00"
|
|
},
|
|
{
|
|
"hash": "8fbdc6d",
|
|
"short": "feat(notes): isSpaceContext flag replaces kontext module (Option B)",
|
|
"type": "feat",
|
|
"scope": "notes",
|
|
"additions": 496,
|
|
"deletions": 983,
|
|
"timestamp": "2026-04-29T00:06:34+02:00"
|
|
},
|
|
{
|
|
"hash": "1815139",
|
|
"short": "chore: drop context module — registry refs, schema, AI route, AppId",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 11,
|
|
"deletions": 96,
|
|
"timestamp": "2026-04-28T20:57:14+02:00"
|
|
},
|
|
{
|
|
"hash": "5c8faae",
|
|
"short": "chore: drop remaining context module legacy refs",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 1,
|
|
"deletions": 66,
|
|
"timestamp": "2026-04-28T21:44:33+02:00"
|
|
},
|
|
{
|
|
"hash": "a295894",
|
|
"short": "chore: drop legacy context module files (companion to acb737e25)",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 0,
|
|
"deletions": 2241,
|
|
"timestamp": "2026-04-29T00:23:10+02:00"
|
|
},
|
|
{
|
|
"hash": "0d85d7c",
|
|
"short": "feat(forms): M5 AI tools — 7 tools im AI_TOOL_CATALOG",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 640,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-29T00:33:55+02:00"
|
|
},
|
|
{
|
|
"hash": "e99fea1",
|
|
"short": "feat(forms): M3b public-submit endpoint — schließt den Public-Loop",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 360,
|
|
"deletions": 23,
|
|
"timestamp": "2026-04-29T00:44:42+02:00"
|
|
},
|
|
{
|
|
"hash": "b297f68",
|
|
"short": "fix(articles, mana-ai): rollout-block hardening for sync_changes projections",
|
|
"type": "fix",
|
|
"scope": "articles, mana-ai",
|
|
"additions": 223,
|
|
"deletions": 69,
|
|
"timestamp": "2026-04-29T00:53:39+02:00"
|
|
},
|
|
{
|
|
"hash": "93545f8",
|
|
"short": "chore: drop who + kontext MANA_APPS entries to match earlier extractions",
|
|
"type": null,
|
|
"scope": null,
|
|
"additions": 0,
|
|
"deletions": 98,
|
|
"timestamp": "2026-04-29T01:04:34+02:00"
|
|
},
|
|
{
|
|
"hash": "59373c0",
|
|
"short": "chore(articles): hygiene pass — shared-ai actor + lib/sync-db + metrics (#5,#7,#11)",
|
|
"type": "chore",
|
|
"scope": "articles",
|
|
"additions": 247,
|
|
"deletions": 124,
|
|
"timestamp": "2026-04-29T01:06:15+02:00"
|
|
},
|
|
{
|
|
"hash": "7f805d9",
|
|
"short": "feat(forms): M7a auto-sync zu contacts — der Mana-Differentiator",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 548,
|
|
"deletions": 4,
|
|
"timestamp": "2026-04-29T01:07:22+02:00"
|
|
},
|
|
{
|
|
"hash": "e8774fc",
|
|
"short": "test(articles): worker rollup + field-meta + consent-wall + recovery UI (#6,#14)",
|
|
"type": "test",
|
|
"scope": "articles",
|
|
"additions": 222,
|
|
"deletions": 3,
|
|
"timestamp": "2026-04-29T01:30:04+02:00"
|
|
},
|
|
{
|
|
"hash": "57b7a43",
|
|
"short": "feat(forms): M7b auto-sync zu events — RSVP-Pipeline für Anmeldungen",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 285,
|
|
"deletions": 34,
|
|
"timestamp": "2026-04-29T02:17:37+02:00"
|
|
},
|
|
{
|
|
"hash": "ace1b70",
|
|
"short": "feat(forms): M8 website-block — formEmbed bindet Mana-Formulare ein",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 913,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-29T02:38:28+02:00"
|
|
},
|
|
{
|
|
"hash": "e37c008",
|
|
"short": "chore(articles): polish pass — schema cleanup, MAX cap, filters, docs (#8,#9,#13,#15,#18,#20)",
|
|
"type": "chore",
|
|
"scope": "articles",
|
|
"additions": 218,
|
|
"deletions": 22,
|
|
"timestamp": "2026-04-29T02:42:46+02:00"
|
|
},
|
|
{
|
|
"hash": "48bd091",
|
|
"short": "feat(forms): FormsWidget — Workbench-Karte mit Stats + letzte Forms",
|
|
"type": "feat",
|
|
"scope": "forms",
|
|
"additions": 196,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-29T02:50:16+02:00"
|
|
}
|
|
],
|
|
"review_state": "auto",
|
|
"llm": {
|
|
"model": null,
|
|
"generated_at": null
|
|
}
|
|
}
|