mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 07: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>
895 lines
22 KiB
JSON
895 lines
22 KiB
JSON
{
|
|
"date": "2026-04-23",
|
|
"day_number": 92,
|
|
"weekday": "Donnerstag",
|
|
"commits": 88,
|
|
"authors": [
|
|
{
|
|
"name": "Till JS",
|
|
"count": 88
|
|
}
|
|
],
|
|
"additions": 44269,
|
|
"deletions": 2706,
|
|
"net_lines": 41563,
|
|
"files_changed": 370,
|
|
"new_files": 0,
|
|
"deleted_files": 0,
|
|
"session": {
|
|
"first_commit_at": "2026-04-23T11:01:29.000Z",
|
|
"last_commit_at": "2026-04-24T00:41:27.000Z",
|
|
"total_span_minutes": 820,
|
|
"active_minutes": 441,
|
|
"pauses": [
|
|
{
|
|
"from": "15:36",
|
|
"to": "18:09",
|
|
"minutes": 153
|
|
},
|
|
{
|
|
"from": "19:14",
|
|
"to": "21:07",
|
|
"minutes": 113
|
|
},
|
|
{
|
|
"from": "21:53",
|
|
"to": "22:24",
|
|
"minutes": 31
|
|
},
|
|
{
|
|
"from": "00:09",
|
|
"to": "01:31",
|
|
"minutes": 82
|
|
}
|
|
],
|
|
"longest_focus_minutes": 155
|
|
},
|
|
"top_dirs": [
|
|
{
|
|
"path": "apps/mana/apps/web",
|
|
"pct": 39
|
|
},
|
|
{
|
|
"path": "packages/website-blocks/src",
|
|
"pct": 11
|
|
},
|
|
{
|
|
"path": "apps/api/src/modules",
|
|
"pct": 5
|
|
},
|
|
{
|
|
"path": "services/mana-auth/src",
|
|
"pct": 5
|
|
},
|
|
{
|
|
"path": "packages/shared-ai/src",
|
|
"pct": 5
|
|
}
|
|
],
|
|
"top_extensions": [
|
|
{
|
|
"ext": ".ts",
|
|
"count": 350
|
|
},
|
|
{
|
|
"ext": ".svelte",
|
|
"count": 118
|
|
},
|
|
{
|
|
"ext": ".md",
|
|
"count": 41
|
|
},
|
|
{
|
|
"ext": ".json",
|
|
"count": 28
|
|
},
|
|
{
|
|
"ext": ".sql",
|
|
"count": 7
|
|
},
|
|
{
|
|
"ext": ".yaml",
|
|
"count": 6
|
|
}
|
|
],
|
|
"tags": ["website", "wardrobe", "personas", "plans", "shared-ai"],
|
|
"commits_list": [
|
|
{
|
|
"hash": "f719d17",
|
|
"short": "chore(infra): unify prod deploy on .env.macmini + document missing keys",
|
|
"type": "chore",
|
|
"scope": "infra",
|
|
"additions": 50,
|
|
"deletions": 6,
|
|
"timestamp": "2026-04-23T13:01:29+02:00"
|
|
},
|
|
{
|
|
"hash": "16c8818",
|
|
"short": "feat(mcp): M1+M1.5 MCP gateway + tool-registry + shared-crypto",
|
|
"type": "feat",
|
|
"scope": "mcp",
|
|
"additions": 2855,
|
|
"deletions": 257,
|
|
"timestamp": "2026-04-23T13:18:35+02:00"
|
|
},
|
|
{
|
|
"hash": "32c95a3",
|
|
"short": "chore(diagnostics): headless prod smoke scripts",
|
|
"type": "chore",
|
|
"scope": "diagnostics",
|
|
"additions": 258,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T13:42:52+02:00"
|
|
},
|
|
{
|
|
"hash": "89258eb",
|
|
"short": "feat(profile,api): meImages foundation for AI reference generation (M1)",
|
|
"type": "feat",
|
|
"scope": "profile,api",
|
|
"additions": 790,
|
|
"deletions": 4,
|
|
"timestamp": "2026-04-23T13:50:53+02:00"
|
|
},
|
|
{
|
|
"hash": "69f1261",
|
|
"short": "feat(infra): route events.mana.how + research.mana.how through tunnel",
|
|
"type": "feat",
|
|
"scope": "infra",
|
|
"additions": 4,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T13:51:53+02:00"
|
|
},
|
|
{
|
|
"hash": "493db0c",
|
|
"short": "feat(personas): M2.a-c — persona schemas + admin endpoints + seed pipeline",
|
|
"type": "feat",
|
|
"scope": "personas",
|
|
"additions": 849,
|
|
"deletions": 8,
|
|
"timestamp": "2026-04-23T13:55:14+02:00"
|
|
},
|
|
{
|
|
"hash": "e5d230e",
|
|
"short": "feat(agent-loop): M1 — policy gate + reminder channel + parallel reads",
|
|
"type": "feat",
|
|
"scope": "agent-loop",
|
|
"additions": 2550,
|
|
"deletions": 29,
|
|
"timestamp": "2026-04-23T13:56:40+02:00"
|
|
},
|
|
{
|
|
"hash": "faa472b",
|
|
"short": "feat(mana-ai): first live reminder producers — token budget + retry-loop",
|
|
"type": "feat",
|
|
"scope": "mana-ai",
|
|
"additions": 330,
|
|
"deletions": 4,
|
|
"timestamp": "2026-04-23T14:00:04+02:00"
|
|
},
|
|
{
|
|
"hash": "a1caeaa",
|
|
"short": "feat(personas): M3.a — scaffold mana-persona-runner service on :3070",
|
|
"type": "feat",
|
|
"scope": "personas",
|
|
"additions": 422,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-23T14:00:43+02:00"
|
|
},
|
|
{
|
|
"hash": "a64a7e3",
|
|
"short": "feat(profile): UI for me-images management at /profile/me-images (M2)",
|
|
"type": "feat",
|
|
"scope": "profile",
|
|
"additions": 564,
|
|
"deletions": 5,
|
|
"timestamp": "2026-04-23T14:01:40+02:00"
|
|
},
|
|
{
|
|
"hash": "54a12ff",
|
|
"short": "feat(webapp): wire isParallelSafe in Companion chat + Mission runner",
|
|
"type": "feat",
|
|
"scope": "webapp",
|
|
"additions": 5522,
|
|
"deletions": 111,
|
|
"timestamp": "2026-04-23T14:11:24+02:00"
|
|
},
|
|
{
|
|
"hash": "38dc806",
|
|
"short": "feat(personas): M3.b-d — tick loop + Claude Agent SDK + persistence",
|
|
"type": "feat",
|
|
"scope": "personas",
|
|
"additions": 240,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T14:16:36+02:00"
|
|
},
|
|
{
|
|
"hash": "f07eae3",
|
|
"short": "feat(personas): M3.b-d — tick loop + Claude Agent SDK + persistence (real)",
|
|
"type": "feat",
|
|
"scope": "personas",
|
|
"additions": 884,
|
|
"deletions": 19,
|
|
"timestamp": "2026-04-23T14:18:31+02:00"
|
|
},
|
|
{
|
|
"hash": "c94ab01",
|
|
"short": "feat(mana-mcp): Prometheus metrics for policy gate + tool invocations",
|
|
"type": "feat",
|
|
"scope": "mana-mcp",
|
|
"additions": 89,
|
|
"deletions": 3,
|
|
"timestamp": "2026-04-23T14:23:08+02:00"
|
|
},
|
|
{
|
|
"hash": "d087b47",
|
|
"short": "chore(observability): scrape mana-mcp at :3069",
|
|
"type": "chore",
|
|
"scope": "observability",
|
|
"additions": 237,
|
|
"deletions": 14,
|
|
"timestamp": "2026-04-23T14:24:13+02:00"
|
|
},
|
|
{
|
|
"hash": "25c3bb6",
|
|
"short": "docs(mana-mcp,mana-ai): CLAUDE.md coverage for M1 agent-loop primitives",
|
|
"type": "docs",
|
|
"scope": "mana-mcp,mana-ai",
|
|
"additions": 32,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T14:25:14+02:00"
|
|
},
|
|
{
|
|
"hash": "7a4f889",
|
|
"short": "feat(website): M3 — 5 more blocks, containers, upload, themes",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 2899,
|
|
"deletions": 40,
|
|
"timestamp": "2026-04-23T14:27:49+02:00"
|
|
},
|
|
{
|
|
"hash": "79d1126",
|
|
"short": "feat(personas): M5.a — Playwright visual suite scaffold",
|
|
"type": "feat",
|
|
"scope": "personas",
|
|
"additions": 398,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-23T14:33:06+02:00"
|
|
},
|
|
{
|
|
"hash": "57be0f6",
|
|
"short": "feat(website): M4 — forms + moduleEmbed",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 1817,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-23T14:36:52+02:00"
|
|
},
|
|
{
|
|
"hash": "e2b5ac3",
|
|
"short": "feat(profile): migrate auth.users.image into meImages + avatar autosync (M2.5)",
|
|
"type": "feat",
|
|
"scope": "profile",
|
|
"additions": 211,
|
|
"deletions": 216,
|
|
"timestamp": "2026-04-23T14:38:20+02:00"
|
|
},
|
|
{
|
|
"hash": "fc635f9",
|
|
"short": "feat(tool-registry): me.listReferenceImages + me.generateWithReference (M5)",
|
|
"type": "feat",
|
|
"scope": "tool-registry",
|
|
"additions": 257,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-23T14:43:56+02:00"
|
|
},
|
|
{
|
|
"hash": "8f28372",
|
|
"short": "feat(agent-loop): activate retryLoopReminder via LoopState.recentCalls",
|
|
"type": "feat",
|
|
"scope": "agent-loop",
|
|
"additions": 171,
|
|
"deletions": 24,
|
|
"timestamp": "2026-04-23T15:02:40+02:00"
|
|
},
|
|
{
|
|
"hash": "9589feb",
|
|
"short": "fix(infra): mana-web COPY + research URL + Umami version pin",
|
|
"type": "fix",
|
|
"scope": "infra",
|
|
"additions": 16,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-23T15:05:47+02:00"
|
|
},
|
|
{
|
|
"hash": "638f9c3",
|
|
"short": "docs(plans): me-images M1-M5 status + new wardrobe plan",
|
|
"type": "docs",
|
|
"scope": "plans",
|
|
"additions": 429,
|
|
"deletions": 46,
|
|
"timestamp": "2026-04-23T15:08:45+02:00"
|
|
},
|
|
{
|
|
"hash": "3edf680",
|
|
"short": "feat(mana-ai): telemetry for reminder producers (mana_ai_reminders_emitted_total)",
|
|
"type": "feat",
|
|
"scope": "mana-ai",
|
|
"additions": 100,
|
|
"deletions": 40,
|
|
"timestamp": "2026-04-23T15:10:27+02:00"
|
|
},
|
|
{
|
|
"hash": "13efae8",
|
|
"short": "feat(website): M5 — AI tools + starter templates",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 1486,
|
|
"deletions": 235,
|
|
"timestamp": "2026-04-23T15:14:45+02:00"
|
|
},
|
|
{
|
|
"hash": "13361eb",
|
|
"short": "feat(shared-ai): compactHistory() — context-window compactor primitive (M2.1)",
|
|
"type": "feat",
|
|
"scope": "shared-ai",
|
|
"additions": 475,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T15:21:10+02:00"
|
|
},
|
|
{
|
|
"hash": "aab1e30",
|
|
"short": "docs(plans): wardrobe is space-scoped, allow in all six space types",
|
|
"type": "docs",
|
|
"scope": "plans",
|
|
"additions": 30,
|
|
"deletions": 6,
|
|
"timestamp": "2026-04-23T15:23:10+02:00"
|
|
},
|
|
{
|
|
"hash": "3d8214a",
|
|
"short": "feat(shared-ai): wire compactor into runPlannerLoop (M2.2)",
|
|
"type": "feat",
|
|
"scope": "shared-ai",
|
|
"additions": 236,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-23T15:25:35+02:00"
|
|
},
|
|
{
|
|
"hash": "5a5e24f",
|
|
"short": "chore(docker): drop obsolete services/mana-search/docker-compose.dev.yml",
|
|
"type": "chore",
|
|
"scope": "docker",
|
|
"additions": 0,
|
|
"deletions": 58,
|
|
"timestamp": "2026-04-23T15:27:19+02:00"
|
|
},
|
|
{
|
|
"hash": "83a4606",
|
|
"short": "feat(mana-ai): wire context-window compactor into mission runner (M2.3)",
|
|
"type": "feat",
|
|
"scope": "mana-ai",
|
|
"additions": 68,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-23T15:28:20+02:00"
|
|
},
|
|
{
|
|
"hash": "3eca5ac",
|
|
"short": "feat(website): M6 — subdomain publish + custom-domain foundation",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 1078,
|
|
"deletions": 17,
|
|
"timestamp": "2026-04-23T15:29:42+02:00"
|
|
},
|
|
{
|
|
"hash": "703ef69",
|
|
"short": "feat(webapp): wire context-window compactor into Companion + Mission runner (M2.4)",
|
|
"type": "feat",
|
|
"scope": "webapp",
|
|
"additions": 43,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T15:33:18+02:00"
|
|
},
|
|
{
|
|
"hash": "eb8fac2",
|
|
"short": "fix(personas): exact tool_use_id pairing + CI drift audit",
|
|
"type": "fix",
|
|
"scope": "personas",
|
|
"additions": 150,
|
|
"deletions": 12,
|
|
"timestamp": "2026-04-23T15:34:52+02:00"
|
|
},
|
|
{
|
|
"hash": "700861f",
|
|
"short": "feat(pill-nav): show Anmelden pill for guests next to menu icon",
|
|
"type": "feat",
|
|
"scope": "pill-nav",
|
|
"additions": 10,
|
|
"deletions": 15,
|
|
"timestamp": "2026-04-23T15:36:09+02:00"
|
|
},
|
|
{
|
|
"hash": "be8f561",
|
|
"short": "chore(setup:db): surface drizzle-kit errors instead of catch-all",
|
|
"type": "chore",
|
|
"scope": "setup:db",
|
|
"additions": 7,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-23T15:36:18+02:00"
|
|
},
|
|
{
|
|
"hash": "72f7978",
|
|
"short": "feat(agent-loop): expose compactionsDone + compactedReminder producer",
|
|
"type": "feat",
|
|
"scope": "agent-loop",
|
|
"additions": 122,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T15:36:21+02:00"
|
|
},
|
|
{
|
|
"hash": "52f53c8",
|
|
"short": "chore(mana-auth): add 005 persona tables migration",
|
|
"type": "chore",
|
|
"scope": "mana-auth",
|
|
"additions": 77,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T15:36:26+02:00"
|
|
},
|
|
{
|
|
"hash": "89388fb",
|
|
"short": "refactor(mana-auth): move enums from public to auth schema",
|
|
"type": "refactor",
|
|
"scope": "mana-auth",
|
|
"additions": 101,
|
|
"deletions": 12,
|
|
"timestamp": "2026-04-23T15:36:39+02:00"
|
|
},
|
|
{
|
|
"hash": "004b3b7",
|
|
"short": "chore(observability): Grafana dashboard for agent-loop metrics",
|
|
"type": "chore",
|
|
"scope": "observability",
|
|
"additions": 412,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:09:32+02:00"
|
|
},
|
|
{
|
|
"hash": "cb9a9bb",
|
|
"short": "refactor(profile,tool-registry): flip meImages from user-scoped to space-scoped (v40)",
|
|
"type": "refactor",
|
|
"scope": "profile,tool-registry",
|
|
"additions": 235,
|
|
"deletions": 36,
|
|
"timestamp": "2026-04-23T18:09:57+02:00"
|
|
},
|
|
{
|
|
"hash": "d68dbc9",
|
|
"short": "docs(optimizable): add MCP + personas live-smoke to manual-test-backlog",
|
|
"type": "docs",
|
|
"scope": "optimizable",
|
|
"additions": 60,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:12:06+02:00"
|
|
},
|
|
{
|
|
"hash": "2769241",
|
|
"short": "docs(plans): agent-loop plan reflects M1 shipped + M2 core shipped",
|
|
"type": "docs",
|
|
"scope": "plans",
|
|
"additions": 50,
|
|
"deletions": 15,
|
|
"timestamp": "2026-04-23T18:12:58+02:00"
|
|
},
|
|
{
|
|
"hash": "f7536bc",
|
|
"short": "feat(shared-ai): route compactor to Haiku-tier model by default (M2.5)",
|
|
"type": "feat",
|
|
"scope": "shared-ai",
|
|
"additions": 83,
|
|
"deletions": 16,
|
|
"timestamp": "2026-04-23T18:26:50+02:00"
|
|
},
|
|
{
|
|
"hash": "4fc9d6c",
|
|
"short": "feat(wardrobe): module foundation — garments + outfits space-scoped data layer (M1)",
|
|
"type": "feat",
|
|
"scope": "wardrobe",
|
|
"additions": 1951,
|
|
"deletions": 51,
|
|
"timestamp": "2026-04-23T18:27:37+02:00"
|
|
},
|
|
{
|
|
"hash": "d518169",
|
|
"short": "feat(website): M7 — observability + analytics + GC + M2-polish",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 3,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:30:49+02:00"
|
|
},
|
|
{
|
|
"hash": "5a49bcb",
|
|
"short": "feat(wardrobe): garments UI — /wardrobe + /wardrobe/garment/[id] (M2)",
|
|
"type": "feat",
|
|
"scope": "wardrobe",
|
|
"additions": 926,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:37:38+02:00"
|
|
},
|
|
{
|
|
"hash": "4966ca6",
|
|
"short": "feat(tool-registry): add mood module (log/today/recent)",
|
|
"type": "feat",
|
|
"scope": "tool-registry",
|
|
"additions": 265,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:39:00+02:00"
|
|
},
|
|
{
|
|
"hash": "507af32",
|
|
"short": "docs(plans): spec for per-Space destructive-tools opt-in",
|
|
"type": "docs",
|
|
"scope": "plans",
|
|
"additions": 373,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:39:56+02:00"
|
|
},
|
|
{
|
|
"hash": "441f956",
|
|
"short": "docs(website): smoketest walkthrough + manual-test-backlog entry",
|
|
"type": "docs",
|
|
"scope": "website",
|
|
"additions": 524,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T18:42:42+02:00"
|
|
},
|
|
{
|
|
"hash": "2b89bf7",
|
|
"short": "feat(wardrobe): outfits composer + detail page + tab switcher (M3)",
|
|
"type": "feat",
|
|
"scope": "wardrobe",
|
|
"additions": 997,
|
|
"deletions": 5,
|
|
"timestamp": "2026-04-23T18:45:21+02:00"
|
|
},
|
|
{
|
|
"hash": "d56ad39",
|
|
"short": "feat(wardrobe,picture): try-on integration — outfit → OpenAI edit (M4)",
|
|
"type": "feat",
|
|
"scope": "wardrobe,picture",
|
|
"additions": 352,
|
|
"deletions": 27,
|
|
"timestamp": "2026-04-23T18:52:57+02:00"
|
|
},
|
|
{
|
|
"hash": "66b7e08",
|
|
"short": "feat(shared-ai): runSubAgent() primitive — Claude-Code I2A pattern (M3.1)",
|
|
"type": "feat",
|
|
"scope": "shared-ai",
|
|
"additions": 1138,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-23T18:59:05+02:00"
|
|
},
|
|
{
|
|
"hash": "7e3f53f",
|
|
"short": "feat(tool-registry): wardrobe.* MCP tools — listGarments/listOutfits/createOutfit/tryOn (M5)",
|
|
"type": "feat",
|
|
"scope": "tool-registry",
|
|
"additions": 116,
|
|
"deletions": 129,
|
|
"timestamp": "2026-04-23T18:59:31+02:00"
|
|
},
|
|
{
|
|
"hash": "101af46",
|
|
"short": "feat(shared-ai): LLM-facing `task` tool wrapper for runSubAgent (M3.2)",
|
|
"type": "feat",
|
|
"scope": "shared-ai",
|
|
"additions": 489,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T19:05:09+02:00"
|
|
},
|
|
{
|
|
"hash": "66bfcb3",
|
|
"short": "feat(webapp): wire `task` tool into Companion chat + Mission runner (M3.3)",
|
|
"type": "feat",
|
|
"scope": "webapp",
|
|
"additions": 102,
|
|
"deletions": 41,
|
|
"timestamp": "2026-04-23T19:14:36+02:00"
|
|
},
|
|
{
|
|
"hash": "f20ace0",
|
|
"short": "test(website): broad automated coverage across the builder surface",
|
|
"type": "test",
|
|
"scope": "website",
|
|
"additions": 844,
|
|
"deletions": 39,
|
|
"timestamp": "2026-04-23T21:07:40+02:00"
|
|
},
|
|
{
|
|
"hash": "e082033",
|
|
"short": "feat(wardrobe): solo-garment try-on + plan-doc status updates (M4.1)",
|
|
"type": "feat",
|
|
"scope": "wardrobe",
|
|
"additions": 406,
|
|
"deletions": 103,
|
|
"timestamp": "2026-04-23T21:14:35+02:00"
|
|
},
|
|
{
|
|
"hash": "36c427d",
|
|
"short": "fix(scope): align scope filter with guest-mode write hook",
|
|
"type": "fix",
|
|
"scope": "scope",
|
|
"additions": 80,
|
|
"deletions": 11,
|
|
"timestamp": "2026-04-23T21:25:29+02:00"
|
|
},
|
|
{
|
|
"hash": "645993d",
|
|
"short": "feat(webapp): register wardrobe in workbench app-registry",
|
|
"type": "feat",
|
|
"scope": "webapp",
|
|
"additions": 15,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T21:32:13+02:00"
|
|
},
|
|
{
|
|
"hash": "c404db5",
|
|
"short": "fix(website): publish failed with uuid type error on Better-Auth ids",
|
|
"type": "fix",
|
|
"scope": "website",
|
|
"additions": 31,
|
|
"deletions": 6,
|
|
"timestamp": "2026-04-23T21:43:57+02:00"
|
|
},
|
|
{
|
|
"hash": "2531420",
|
|
"short": "fix(wardrobe): strip route-idiom wrapper from ListView so it fits both shells",
|
|
"type": "fix",
|
|
"scope": "wardrobe",
|
|
"additions": 69,
|
|
"deletions": 14,
|
|
"timestamp": "2026-04-23T21:53:19+02:00"
|
|
},
|
|
{
|
|
"hash": "bdd4e05",
|
|
"short": "feat(website): reorder blocks via up/down arrows in inspector",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 123,
|
|
"deletions": 8,
|
|
"timestamp": "2026-04-23T22:24:00+02:00"
|
|
},
|
|
{
|
|
"hash": "5a92e11",
|
|
"short": "feat(onboarding): M1 — data model + endpoints + client store",
|
|
"type": "feat",
|
|
"scope": "onboarding",
|
|
"additions": 504,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T22:24:49+02:00"
|
|
},
|
|
{
|
|
"hash": "5aecf8b",
|
|
"short": "feat(onboarding): M2 — route guard + shell + Screen 1 (name)",
|
|
"type": "feat",
|
|
"scope": "onboarding",
|
|
"additions": 698,
|
|
"deletions": 238,
|
|
"timestamp": "2026-04-23T22:49:52+02:00"
|
|
},
|
|
{
|
|
"hash": "d1ac8a6",
|
|
"short": "feat(onboarding): M3 — Screen 2 (Look — theme mode + variant)",
|
|
"type": "feat",
|
|
"scope": "onboarding",
|
|
"additions": 380,
|
|
"deletions": 3,
|
|
"timestamp": "2026-04-23T22:58:47+02:00"
|
|
},
|
|
{
|
|
"hash": "1198d01",
|
|
"short": "feat(onboarding): M4 — Screen 3 (Templates) + finish handler",
|
|
"type": "feat",
|
|
"scope": "onboarding",
|
|
"additions": 579,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T23:03:00+02:00"
|
|
},
|
|
{
|
|
"hash": "aa79090",
|
|
"short": "feat(website): full-bleed editor + unified sidebar with Seiten/Einfügen/Block tabs",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 156,
|
|
"deletions": 55,
|
|
"timestamp": "2026-04-23T23:03:19+02:00"
|
|
},
|
|
{
|
|
"hash": "bb8e7c2",
|
|
"short": "feat(onboarding): M5 — settings re-trigger",
|
|
"type": "feat",
|
|
"scope": "onboarding",
|
|
"additions": 55,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T23:05:26+02:00"
|
|
},
|
|
{
|
|
"hash": "aeba23f",
|
|
"short": "feat(profile,wardrobe,picture): inline me-image upload instead of deep-link",
|
|
"type": "feat",
|
|
"scope": "profile,wardrobe,picture",
|
|
"additions": 305,
|
|
"deletions": 59,
|
|
"timestamp": "2026-04-23T23:08:13+02:00"
|
|
},
|
|
{
|
|
"hash": "00ddd1e",
|
|
"short": "fix(api/profile): send credentials cross-origin so Better-Auth updateUser works",
|
|
"type": "fix",
|
|
"scope": "api/profile",
|
|
"additions": 7,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T23:16:43+02:00"
|
|
},
|
|
{
|
|
"hash": "4f40fda",
|
|
"short": "fix(mana-web): copy packages/website-blocks into the build context",
|
|
"type": "fix",
|
|
"scope": "mana-web",
|
|
"additions": 1,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T23:19:02+02:00"
|
|
},
|
|
{
|
|
"hash": "81c0d8c",
|
|
"short": "feat(website): session-scoped undo/redo for the editor",
|
|
"type": "feat",
|
|
"scope": "website",
|
|
"additions": 381,
|
|
"deletions": 7,
|
|
"timestamp": "2026-04-23T23:21:42+02:00"
|
|
},
|
|
{
|
|
"hash": "62267f3",
|
|
"short": "feat(wardrobe): upload feedback + success confirmation on face-ref banner",
|
|
"type": "feat",
|
|
"scope": "wardrobe",
|
|
"additions": 143,
|
|
"deletions": 30,
|
|
"timestamp": "2026-04-23T23:29:03+02:00"
|
|
},
|
|
{
|
|
"hash": "4093b91",
|
|
"short": "fix(profile): setPrimary no longer overwrites face-ref with avatar",
|
|
"type": "fix",
|
|
"scope": "profile",
|
|
"additions": 139,
|
|
"deletions": 23,
|
|
"timestamp": "2026-04-23T23:38:59+02:00"
|
|
},
|
|
{
|
|
"hash": "ca2809d",
|
|
"short": "docs(plans): visibility-system — unified 4-tier privacy model (planning)",
|
|
"type": "docs",
|
|
"scope": "plans",
|
|
"additions": 274,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-23T23:50:17+02:00"
|
|
},
|
|
{
|
|
"hash": "2b5a7b1",
|
|
"short": "refactor(wardrobe): lift upload zone to top, move intro behind help icon",
|
|
"type": "refactor",
|
|
"scope": "wardrobe",
|
|
"additions": 52,
|
|
"deletions": 47,
|
|
"timestamp": "2026-04-24T00:09:56+02:00"
|
|
},
|
|
{
|
|
"hash": "f9ca6ca",
|
|
"short": "chore(branding): drop wardrobe tier to guest for local testing [LOCAL PATCH]",
|
|
"type": "chore",
|
|
"scope": "branding",
|
|
"additions": 1,
|
|
"deletions": 1,
|
|
"timestamp": "2026-04-24T01:31:28+02:00"
|
|
},
|
|
{
|
|
"hash": "15bedde",
|
|
"short": "fix(picture): use image[] array syntax for multi-ref gpt-image-2 edits",
|
|
"type": "fix",
|
|
"scope": "picture",
|
|
"additions": 41,
|
|
"deletions": 8,
|
|
"timestamp": "2026-04-24T01:43:01+02:00"
|
|
},
|
|
{
|
|
"hash": "b204958",
|
|
"short": "feat(picture): fall back to gpt-image-1 when gpt-image-2 org-unverified",
|
|
"type": "feat",
|
|
"scope": "picture",
|
|
"additions": 62,
|
|
"deletions": 20,
|
|
"timestamp": "2026-04-24T01:50:21+02:00"
|
|
},
|
|
{
|
|
"hash": "e666540",
|
|
"short": "feat(auth): error-classification layer + passkey end-to-end",
|
|
"type": "feat",
|
|
"scope": "auth",
|
|
"additions": 3333,
|
|
"deletions": 435,
|
|
"timestamp": "2026-04-24T01:52:51+02:00"
|
|
},
|
|
{
|
|
"hash": "91fd88e",
|
|
"short": "fix(picture): normalize Try-On refs to clean RGB PNG before OpenAI call",
|
|
"type": "fix",
|
|
"scope": "picture",
|
|
"additions": 41,
|
|
"deletions": 11,
|
|
"timestamp": "2026-04-24T01:55:00+02:00"
|
|
},
|
|
{
|
|
"hash": "49935c9",
|
|
"short": "feat(shared-privacy): M1 — visibility foundation package",
|
|
"type": "feat",
|
|
"scope": "shared-privacy",
|
|
"additions": 994,
|
|
"deletions": 42,
|
|
"timestamp": "2026-04-24T01:59:11+02:00"
|
|
},
|
|
{
|
|
"hash": "d5ae2f1",
|
|
"short": "feat(library): M2 — adopt unified visibility system as the pilot module",
|
|
"type": "feat",
|
|
"scope": "library",
|
|
"additions": 121,
|
|
"deletions": 10,
|
|
"timestamp": "2026-04-24T02:08:29+02:00"
|
|
},
|
|
{
|
|
"hash": "0e9f574",
|
|
"short": "feat(picture): M3 — boards adopt the unified visibility system (soft)",
|
|
"type": "feat",
|
|
"scope": "picture",
|
|
"additions": 100,
|
|
"deletions": 17,
|
|
"timestamp": "2026-04-24T02:23:56+02:00"
|
|
},
|
|
{
|
|
"hash": "ac44d51",
|
|
"short": "feat(calendar): M4.a — events adopt the unified visibility system",
|
|
"type": "feat",
|
|
"scope": "calendar",
|
|
"additions": 177,
|
|
"deletions": 3,
|
|
"timestamp": "2026-04-24T02:32:25+02:00"
|
|
},
|
|
{
|
|
"hash": "015a2c1",
|
|
"short": "feat(todo): M4.b — tasks adopt the unified visibility system",
|
|
"type": "feat",
|
|
"scope": "todo",
|
|
"additions": 119,
|
|
"deletions": 2,
|
|
"timestamp": "2026-04-24T02:37:32+02:00"
|
|
},
|
|
{
|
|
"hash": "95e85bd",
|
|
"short": "feat(goals): M4.c — goals adopt the unified visibility system",
|
|
"type": "feat",
|
|
"scope": "goals",
|
|
"additions": 105,
|
|
"deletions": 0,
|
|
"timestamp": "2026-04-24T02:41:27+02:00"
|
|
}
|
|
],
|
|
"review_state": "auto",
|
|
"llm": {
|
|
"model": null,
|
|
"generated_at": null
|
|
}
|
|
}
|