{ "date": "2026-04-07", "day_number": 76, "weekday": "Dienstag", "commits": 89, "authors": [ { "name": "Till JS", "count": 89 } ], "additions": 38365, "deletions": 22177, "net_lines": 16188, "files_changed": 679, "new_files": 0, "deleted_files": 0, "session": { "first_commit_at": "2026-04-07T10:26:10.000Z", "last_commit_at": "2026-04-07T22:00:52.000Z", "total_span_minutes": 695, "active_minutes": 483, "pauses": [ { "from": "14:57", "to": "15:36", "minutes": 39 }, { "from": "16:20", "to": "17:05", "minutes": 45 }, { "from": "17:37", "to": "18:19", "minutes": 42 }, { "from": "20:03", "to": "20:37", "minutes": 34 }, { "from": "20:37", "to": "21:29", "minutes": 52 } ], "longest_focus_minutes": 151 }, "top_dirs": [ { "path": "apps/mana/apps/web", "pct": 55 }, { "path": "apps/mana/apps/landing", "pct": 5 }, { "path": "apps/docs/src/content", "pct": 3 }, { "path": "services/mana-events/src", "pct": 3 }, { "path": "services/mana-auth/src", "pct": 2 } ], "top_extensions": [ { "ext": ".ts", "count": 403 }, { "ext": ".md", "count": 157 }, { "ext": ".svelte", "count": 119 }, { "ext": ".json", "count": 62 }, { "ext": ".mdx", "count": 27 }, { "ext": ".astro", "count": 17 } ], "tags": ["mana/web", "cycles", "dreams", "events", "crypto"], "commits_list": [ { "hash": "22a7394", "short": "chore: complete ManaCore → Mana rename (docs, go modules, plists, images)", "type": null, "scope": null, "additions": 2288, "deletions": 4417, "timestamp": "2026-04-07T12:26:10+02:00" }, { "hash": "b900df5", "short": "docs(mana/web): add data layer audit report", "type": "docs", "scope": "mana/web", "additions": 169, "deletions": 0, "timestamp": "2026-04-07T12:50:56+02:00" }, { "hash": "0909538", "short": "fix(mana/web): sprint 1 data integrity (LWW, retry, atomic cascades)", "type": "fix", "scope": "mana/web", "additions": 228, "deletions": 61, "timestamp": "2026-04-07T12:51:10+02:00" }, { "hash": "28942ab", "short": "fix(mana/web): sprint 2 — auth-aware data layer + guest migration", "type": "fix", "scope": "mana/web", "additions": 182, "deletions": 47, "timestamp": "2026-04-07T13:07:12+02:00" }, { "hash": "a9529bc", "short": "fix(mana-sync): enable row-level security on sync_changes", "type": "fix", "scope": "mana-sync", "additions": 124, "deletions": 75, "timestamp": "2026-04-07T13:07:26+02:00" }, { "hash": "af9b1f9", "short": "fix(mac-mini): make startup.sh idempotent and non-destructive", "type": "fix", "scope": "mac-mini", "additions": 29, "deletions": 9, "timestamp": "2026-04-07T13:19:46+02:00" }, { "hash": "ce04f43", "short": "fix(timeblocks): type errors from recurrence migration", "type": "fix", "scope": "timeblocks", "additions": 26, "deletions": 11, "timestamp": "2026-04-07T13:22:59+02:00" }, { "hash": "9e0ade4", "short": "fix(mana/web): sprint 3 — type-safe sync protocol + tests", "type": "fix", "scope": "mana/web", "additions": 671, "deletions": 219, "timestamp": "2026-04-07T13:38:23+02:00" }, { "hash": "3ffbf37", "short": "fix(shared-branding): dedupe duplicate manaSvg from rename collision", "type": "fix", "scope": "shared-branding", "additions": 0, "deletions": 4, "timestamp": "2026-04-07T13:39:40+02:00" }, { "hash": "fc743a4", "short": "fix: type errors from ManaCore→Mana rename and stale templates", "type": null, "scope": null, "additions": 10, "deletions": 69, "timestamp": "2026-04-07T13:42:17+02:00" }, { "hash": "440f650", "short": "fix: extract types from .svelte files for proper named re-exports", "type": null, "scope": null, "additions": 143, "deletions": 135, "timestamp": "2026-04-07T13:53:13+02:00" }, { "hash": "21681a2", "short": "chore(mana/web): raise eslint heap to 8GB to prevent OOM", "type": "chore", "scope": "mana/web", "additions": 1, "deletions": 1, "timestamp": "2026-04-07T13:53:33+02:00" }, { "hash": "e974761", "short": "chore(workspace): unify vitest to ^4.1.2 across all packages", "type": "chore", "scope": "workspace", "additions": 7182, "deletions": 11701, "timestamp": "2026-04-07T13:58:29+02:00" }, { "hash": "b9fdf08", "short": "fix(cards-database): add .js extensions to relative imports for NodeNext", "type": "fix", "scope": "cards-database", "additions": 30, "deletions": 30, "timestamp": "2026-04-07T14:01:44+02:00" }, { "hash": "8e71096", "short": "feat(dreams): scaffold Traumtagebuch module", "type": "feat", "scope": "dreams", "additions": 1287, "deletions": 4, "timestamp": "2026-04-07T14:07:12+02:00" }, { "hash": "22d3d2b", "short": "feat(dreams): quick wins — date/time picker, filter tabs, symbol filtering", "type": "feat", "scope": "dreams", "additions": 303, "deletions": 12, "timestamp": "2026-04-07T14:12:12+02:00" }, { "hash": "30022e8", "short": "feat(events): scaffold social events module (Phase 1a, local-only)", "type": "feat", "scope": "events", "additions": 1717, "deletions": 5, "timestamp": "2026-04-07T14:12:41+02:00" }, { "hash": "733dca4", "short": "fix(mana/web): sprint 4 — perf, quota, telemetry, indexed queries", "type": "fix", "scope": "mana/web", "additions": 458, "deletions": 155, "timestamp": "2026-04-07T14:18:22+02:00" }, { "hash": "feb1674", "short": "docs(mana/web): mark sprints 1-4 complete in data layer audit", "type": "docs", "scope": "mana/web", "additions": 118, "deletions": 97, "timestamp": "2026-04-07T14:22:05+02:00" }, { "hash": "980a5e9", "short": "feat(dreams): symbol library with detail view, meaning, mood stats", "type": "feat", "scope": "dreams", "additions": 1018, "deletions": 223, "timestamp": "2026-04-07T14:22:17+02:00" }, { "hash": "2167467", "short": "feat(events): add mana-events service + public RSVP flow (Phase 1b)", "type": "feat", "scope": "events", "additions": 1764, "deletions": 11, "timestamp": "2026-04-07T14:27:48+02:00" }, { "hash": "771721c", "short": "feat(dreams): polish symbol library — sort, auto-save, merge, navigation", "type": "feat", "scope": "dreams", "additions": 420, "deletions": 65, "timestamp": "2026-04-07T14:28:05+02:00" }, { "hash": "575c5c3", "short": "feat(mana/web): subscribe data layer events to toasts + Sentry + scheduler", "type": "feat", "scope": "mana/web", "additions": 151, "deletions": 9, "timestamp": "2026-04-07T14:34:18+02:00" }, { "hash": "fbab96c", "short": "feat(cycles): add menstrual cycle tracking module", "type": "feat", "scope": "cycles", "additions": 1780, "deletions": 0, "timestamp": "2026-04-07T14:35:33+02:00" }, { "hash": "836c969", "short": "fix(events): tech debt — self-heal snapshots, tombstones, polling cleanup, RSVP i18n", "type": "fix", "scope": "events", "additions": 283, "deletions": 59, "timestamp": "2026-04-07T14:36:11+02:00" }, { "hash": "578c9f3", "short": "feat(dreams): voice capture via mana-stt", "type": "feat", "scope": "dreams", "additions": 632, "deletions": 1, "timestamp": "2026-04-07T14:39:11+02:00" }, { "hash": "ae64865", "short": "test(mana/web): unbreak three pre-existing test files", "type": "test", "scope": "mana/web", "additions": 30, "deletions": 6, "timestamp": "2026-04-07T14:48:30+02:00" }, { "hash": "85fda7b", "short": "fix(mana/web): three runtime regressions from sprint 1-3 data layer rewrite", "type": "fix", "scope": "mana/web", "additions": 49, "deletions": 13, "timestamp": "2026-04-07T14:50:19+02:00" }, { "hash": "473b8c0", "short": "feat(cycles): auto-detect period start and end", "type": "feat", "scope": "cycles", "additions": 315, "deletions": 20, "timestamp": "2026-04-07T14:52:06+02:00" }, { "hash": "42c9eb1", "short": "perf(mana/web): index updatedAt for recent-X dashboard widgets", "type": "perf", "scope": "mana/web", "additions": 56, "deletions": 16, "timestamp": "2026-04-07T14:55:11+02:00" }, { "hash": "333855c", "short": "feat(cycles): edit and delete past day entries", "type": "feat", "scope": "cycles", "additions": 130, "deletions": 20, "timestamp": "2026-04-07T14:55:17+02:00" }, { "hash": "ad02158", "short": "perf(mana/web): pipeline SSE reads against sequential apply", "type": "perf", "scope": "mana/web", "additions": 61, "deletions": 31, "timestamp": "2026-04-07T14:57:21+02:00" }, { "hash": "82559f6", "short": "feat(mana/web): local activity log + periodic prune", "type": "feat", "scope": "mana/web", "additions": 448, "deletions": 149, "timestamp": "2026-04-07T15:36:37+02:00" }, { "hash": "984c516", "short": "feat(cycles): extract UI strings to svelte-i18n", "type": "feat", "scope": "cycles", "additions": 369, "deletions": 48, "timestamp": "2026-04-07T15:45:27+02:00" }, { "hash": "63a6f62", "short": "fix(dreams): proxy tolerates octet-stream + invalid form bodies", "type": "fix", "scope": "dreams", "additions": 13, "deletions": 3, "timestamp": "2026-04-07T15:48:36+02:00" }, { "hash": "a6828a1", "short": "fix(dreams): explain why the mic prompt isn't appearing", "type": "fix", "scope": "dreams", "additions": 63, "deletions": 4, "timestamp": "2026-04-07T15:55:05+02:00" }, { "hash": "f7a5bb8", "short": "fix(dreams): macOS-aware mic deny message + force-retry escape hatch", "type": "fix", "scope": "dreams", "additions": 72, "deletions": 12, "timestamp": "2026-04-07T16:10:44+02:00" }, { "hash": "b97e2b5", "short": "test(cycles): integration tests with fake-indexeddb", "type": "test", "scope": "cycles", "additions": 297, "deletions": 0, "timestamp": "2026-04-07T16:11:04+02:00" }, { "hash": "59a9c05", "short": "feat(cycles): symptom management UI", "type": "feat", "scope": "cycles", "additions": 444, "deletions": 9, "timestamp": "2026-04-07T16:19:29+02:00" }, { "hash": "e7585fb", "short": "fix(mana-events): cascade rate buckets when an event is unpublished", "type": "fix", "scope": "mana-events", "additions": 3, "deletions": 1, "timestamp": "2026-04-07T16:20:05+02:00" }, { "hash": "b0a9dfe", "short": "feat(cycles): month calendar view with phase coloring", "type": "feat", "scope": "cycles", "additions": 347, "deletions": 0, "timestamp": "2026-04-07T17:05:20+02:00" }, { "hash": "0896b1a", "short": "test(cycles): i18n key parity across all 5 locales", "type": "test", "scope": "cycles", "additions": 72, "deletions": 0, "timestamp": "2026-04-07T17:12:17+02:00" }, { "hash": "9e802b1", "short": "feat(cycles): dashboard widget with phase + countdown", "type": "feat", "scope": "cycles", "additions": 179, "deletions": 1, "timestamp": "2026-04-07T17:37:27+02:00" }, { "hash": "1ba5948", "short": "feat(mana/web): encryption foundation — phase 1 (no-op)", "type": "feat", "scope": "mana/web", "additions": 816, "deletions": 0, "timestamp": "2026-04-07T18:19:41+02:00" }, { "hash": "343804b", "short": "refactor(cycles): make date formatting locale-aware", "type": "refactor", "scope": "cycles", "additions": 79, "deletions": 15, "timestamp": "2026-04-07T18:23:58+02:00" }, { "hash": "4d46cbb", "short": "i18n(cycles): real translations for it/fr/es", "type": "i18n", "scope": "cycles", "additions": 180, "deletions": 180, "timestamp": "2026-04-07T18:28:31+02:00" }, { "hash": "3a4c665", "short": "test(events): playwright e2e specs + flake-resistant config", "type": "test", "scope": "events", "additions": 328, "deletions": 0, "timestamp": "2026-04-07T18:36:45+02:00" }, { "hash": "e991542", "short": "feat(mana-auth): encryption vault — phase 2 (server-side master key custody)", "type": "feat", "scope": "mana-auth", "additions": 913, "deletions": 5, "timestamp": "2026-04-07T18:38:09+02:00" }, { "hash": "4d9bf78", "short": "docs(cycles): add ROADMAP with future feature ideas", "type": "docs", "scope": "cycles", "additions": 194, "deletions": 0, "timestamp": "2026-04-07T18:39:38+02:00" }, { "hash": "c5aeaf5", "short": "feat(memoro): voice recording → mana-stt transcription pipeline", "type": "feat", "scope": "memoro", "additions": 568, "deletions": 8, "timestamp": "2026-04-07T18:48:41+02:00" }, { "hash": "354cbcb", "short": "feat(mana/web): encryption phase 3 — vault client + record helpers + layout wire-up", "type": "feat", "scope": "mana/web", "additions": 840, "deletions": 0, "timestamp": "2026-04-07T18:49:22+02:00" }, { "hash": "6402425", "short": "fix(events): production wiring + polling resilience (quick wins)", "type": "fix", "scope": "events", "additions": 116, "deletions": 5, "timestamp": "2026-04-07T18:53:29+02:00" }, { "hash": "bed08a1", "short": "feat(mana/web): encryption phase 4 — notes pilot live", "type": "feat", "scope": "mana/web", "additions": 298, "deletions": 30, "timestamp": "2026-04-07T19:00:11+02:00" }, { "hash": "897256c", "short": "test(mana-events): 35 server tests covering routes + sweeper", "type": "test", "scope": "mana-events", "additions": 794, "deletions": 29, "timestamp": "2026-04-07T19:02:54+02:00" }, { "hash": "3eabbc5", "short": "i18n(events): RSVP page in it/fr/es + extract e2e helper", "type": "i18n", "scope": "events", "additions": 143, "deletions": 24, "timestamp": "2026-04-07T19:11:59+02:00" }, { "hash": "af92720", "short": "feat(mana/web): encryption phase 5 — rollout to chat/dreams/memoro/contacts/cycles/finance", "type": "feat", "scope": "mana/web", "additions": 537, "deletions": 131, "timestamp": "2026-04-07T19:28:26+02:00" }, { "hash": "6a60e22", "short": "feat(events): bring list (wer bringt was?) — Phase 2", "type": "feat", "scope": "events", "additions": 1296, "deletions": 16, "timestamp": "2026-04-07T19:31:39+02:00" }, { "hash": "b2bddfe", "short": "docs(events): roadmap of remaining Phase 2 work + tech debt", "type": "docs", "scope": "events", "additions": 139, "deletions": 0, "timestamp": "2026-04-07T19:35:16+02:00" }, { "hash": "73f294b", "short": "feat(mana/web): encryption phase 6.1 — cards, presi, inventar, planta", "type": "feat", "scope": "mana/web", "additions": 106, "deletions": 43, "timestamp": "2026-04-07T19:44:38+02:00" }, { "hash": "42bd2a3", "short": "chore(deploy): wire MANA_STT_URL/API_KEY into mana-web container", "type": "chore", "scope": "deploy", "additions": 5, "deletions": 0, "timestamp": "2026-04-07T19:47:42+02:00" }, { "hash": "5d4123d", "short": "fix(mana/web): commit module-registry + module.config.ts files (build-critical)", "type": "fix", "scope": "mana/web", "additions": 526, "deletions": 1, "timestamp": "2026-04-07T19:49:58+02:00" }, { "hash": "de33ed8", "short": "fix(mana/web): disable prerender on /offline (FIXME)", "type": "fix", "scope": "mana/web", "additions": 10, "deletions": 1, "timestamp": "2026-04-07T19:50:32+02:00" }, { "hash": "6b8e2c7", "short": "feat(mana/web): encryption phase 6.2/6.3 — settings page + onboarding banner", "type": "feat", "scope": "mana/web", "additions": 659, "deletions": 9, "timestamp": "2026-04-07T19:54:09+02:00" }, { "hash": "28395b3", "short": "docs: GPU tunnel setup, STT env wiring, and 2026-04-07 postmortem", "type": null, "scope": null, "additions": 411, "deletions": 14, "timestamp": "2026-04-07T19:59:04+02:00" }, { "hash": "4bdf423", "short": "docs(mana/web): roundup data layer audit through encryption phase 6", "type": "docs", "scope": "mana/web", "additions": 211, "deletions": 60, "timestamp": "2026-04-07T20:03:43+02:00" }, { "hash": "c875b4e", "short": "feat(crypto): phase 7.1 — encrypt timeBlocks-coupled tasks + calendar events", "type": "feat", "scope": "crypto", "additions": 360, "deletions": 174, "timestamp": "2026-04-07T20:37:59+02:00" }, { "hash": "40b7069", "short": "feat(crypto): phase 7.2 — encrypt storeless modules (questions, links, documents, meals)", "type": "feat", "scope": "crypto", "additions": 152, "deletions": 73, "timestamp": "2026-04-07T21:29:32+02:00" }, { "hash": "be611cd", "short": "feat(crypto): phase 8 — encrypt remaining tables (storage, picture, music, events, guests)", "type": "feat", "scope": "crypto", "additions": 194, "deletions": 74, "timestamp": "2026-04-07T21:44:18+02:00" }, { "hash": "25aabc3", "short": "docs(audit): roll up Phase 7 + 8 in DATA_LAYER_AUDIT.md", "type": "docs", "scope": "audit", "additions": 79, "deletions": 43, "timestamp": "2026-04-07T21:55:04+02:00" }, { "hash": "2f48f86", "short": "feat(crypto): phase 9 milestone 1 — recovery code primitives", "type": "feat", "scope": "crypto", "additions": 542, "deletions": 0, "timestamp": "2026-04-07T22:00:43+02:00" }, { "hash": "f46d132", "short": "feat(mana-auth): phase 9 milestone 2 — vault recovery wrap + zero-knowledge", "type": "feat", "scope": "mana-auth", "additions": 647, "deletions": 39, "timestamp": "2026-04-07T22:05:49+02:00" }, { "hash": "c27cb84", "short": "fix(mana/web): bundle rrule into SSR build to fix /calendar 500", "type": "fix", "scope": "mana/web", "additions": 7, "deletions": 1, "timestamp": "2026-04-07T22:29:55+02:00" }, { "hash": "3a47389", "short": "chore(mana/web): pre-launch cleanup — remove ghost backend API clients", "type": "chore", "scope": "mana/web", "additions": 42, "deletions": 2758, "timestamp": "2026-04-07T22:30:24+02:00" }, { "hash": "171fbd1", "short": "chore(mana/web): pre-launch module cleanup — schema collapse, dead code, lazy search", "type": "chore", "scope": "mana/web", "additions": 162, "deletions": 451, "timestamp": "2026-04-07T22:31:08+02:00" }, { "hash": "a94abd3", "short": "chore(macmini): pin COMPOSE_PROJECT_NAME=manacore-monorepo", "type": "chore", "scope": "macmini", "additions": 12, "deletions": 0, "timestamp": "2026-04-07T22:31:25+02:00" }, { "hash": "85e3817", "short": "chore(macmini/scripts): runbook hardening — status diff + ingress walk", "type": "chore", "scope": "macmini/scripts", "additions": 147, "deletions": 85, "timestamp": "2026-04-07T22:31:53+02:00" }, { "hash": "4cfa869", "short": "docs: PRE_LAUNCH_CLEANUP.md — what we removed before launch and why", "type": null, "scope": null, "additions": 630, "deletions": 0, "timestamp": "2026-04-07T22:32:14+02:00" }, { "hash": "a55aae6", "short": "chore(macmini): infra cleanup — compose env, blackbox mem, prometheus gpu probes", "type": "chore", "scope": "macmini", "additions": 31, "deletions": 25, "timestamp": "2026-04-07T22:59:38+02:00" }, { "hash": "6de0193", "short": "feat(vault-client): phase 9 milestone 3 — recovery + zero-knowledge flows", "type": "feat", "scope": "vault-client", "additions": 396, "deletions": 13, "timestamp": "2026-04-07T23:01:16+02:00" }, { "hash": "56312ff", "short": "feat(settings): phase 9 milestone 4 — zero-knowledge UI section", "type": "feat", "scope": "settings", "additions": 363, "deletions": 0, "timestamp": "2026-04-07T23:03:35+02:00" }, { "hash": "78d949d", "short": "feat(crypto): vault status endpoint + settings page hydration", "type": "feat", "scope": "crypto", "additions": 205, "deletions": 10, "timestamp": "2026-04-07T23:19:49+02:00" }, { "hash": "a48b2d5", "short": "feat(layout): lock-screen recovery code unlock modal", "type": "feat", "scope": "layout", "additions": 258, "deletions": 2, "timestamp": "2026-04-07T23:24:32+02:00" }, { "hash": "ea165c8", "short": "docs(audit): roll up Phase 9 in DATA_LAYER_AUDIT.md", "type": "docs", "scope": "audit", "additions": 145, "deletions": 35, "timestamp": "2026-04-07T23:28:06+02:00" }, { "hash": "c2c9601", "short": "test(mana-auth): vault service integration tests against real postgres", "type": "test", "scope": "mana-auth", "additions": 501, "deletions": 5, "timestamp": "2026-04-07T23:39:48+02:00" }, { "hash": "24001e9", "short": "feat(vault): rotate recovery code while zero-knowledge is active", "type": "feat", "scope": "vault", "additions": 166, "deletions": 1, "timestamp": "2026-04-07T23:43:10+02:00" }, { "hash": "05ae348", "short": "fix(macmini): blackbox-exporter uses 1.1.1.1/8.8.8.8 directly for DNS", "type": "fix", "scope": "macmini", "additions": 11, "deletions": 0, "timestamp": "2026-04-07T23:47:57+02:00" }, { "hash": "109de61", "short": "feat(picture,storage): pre-wired insert helpers for future generate/upload flows", "type": "feat", "scope": "picture,storage", "additions": 62, "deletions": 0, "timestamp": "2026-04-07T23:52:20+02:00" }, { "hash": "a7e5b39", "short": "feat(picture): encrypt boards + boardItems", "type": "feat", "scope": "picture", "additions": 59, "deletions": 16, "timestamp": "2026-04-07T23:57:54+02:00" }, { "hash": "b961453", "short": "docs(audit): roll up Phase 9 backlog sweep", "type": "docs", "scope": "audit", "additions": 63, "deletions": 48, "timestamp": "2026-04-08T00:00:52+02:00" } ], "review_state": "auto", "llm": { "model": null, "generated_at": null } }