managarten/devlog/2026-03-27/data.json
Till JS ad776c1a1c
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
devlog: 107 Tage backfilled (2025-11-22 → 2026-05-15)
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>
2026-05-15 22:24:29 +02:00

697 lines
17 KiB
JSON

{
"date": "2026-03-27",
"day_number": 66,
"weekday": "Freitag",
"commits": 66,
"authors": [
{
"name": "Till JS",
"count": 66
}
],
"additions": 57251,
"deletions": 126214,
"net_lines": -68963,
"files_changed": 1709,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-03-27T10:17:58.000Z",
"last_commit_at": "2026-03-28T02:15:29.000Z",
"total_span_minutes": 958,
"active_minutes": 287,
"pauses": [
{
"from": "13:10",
"to": "16:48",
"minutes": 218
},
{
"from": "16:48",
"to": "17:35",
"minutes": 47
},
{
"from": "17:35",
"to": "21:03",
"minutes": 207
},
{
"from": "22:43",
"to": "02:02",
"minutes": 199
}
],
"longest_focus_minutes": 112
},
"top_dirs": [
{
"path": "services/mana-core-auth/src",
"pct": 11
},
{
"path": "packages/bot-services/src",
"pct": 3
},
{
"path": "apps/todo/apps/web",
"pct": 3
},
{
"path": "apps/inventar/apps/web",
"pct": 3
},
{
"path": "apps/presi/apps/backend",
"pct": 3
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 1100
},
{
"ext": ".svelte",
"count": 245
},
{
"ext": ".json",
"count": 161
},
{
"ext": ".go",
"count": 125
},
{
"ext": ".md",
"count": 85
},
{
"ext": "<no-ext>",
"count": 43
}
],
"tags": ["infra", "auth", "apps", "local-first", "services"],
"commits_list": [
{
"hash": "2e4bb9b",
"short": "feat(local-first): add local-first architecture with Dexie.js, Go sync server, and Todo pilot",
"type": "feat",
"scope": "local-first",
"additions": 4388,
"deletions": 340,
"timestamp": "2026-03-27T11:17:58+01:00"
},
{
"hash": "86d1da3",
"short": "feat(inventar): add configurable inventory management app",
"type": "feat",
"scope": "inventar",
"additions": 5050,
"deletions": 0,
"timestamp": "2026-03-27T11:21:36+01:00"
},
{
"hash": "cc50c0c",
"short": "feat(auth): add password strength indicator and magic links",
"type": "feat",
"scope": "auth",
"additions": 430,
"deletions": 1,
"timestamp": "2026-03-27T11:23:09+01:00"
},
{
"hash": "c6b1f83",
"short": "test(auth): add tests for audit log, magic links, and security events",
"type": "test",
"scope": "auth",
"additions": 547,
"deletions": 0,
"timestamp": "2026-03-27T11:29:24+01:00"
},
{
"hash": "63376c1",
"short": "fix(mana-sync): correct JWKS URL to /api/auth/jwks",
"type": "fix",
"scope": "mana-sync",
"additions": 1,
"deletions": 1,
"timestamp": "2026-03-27T11:38:00+01:00"
},
{
"hash": "17df7b3",
"short": "feat(auth): add Gilden (guilds) shared Mana pool system",
"type": "feat",
"scope": "auth",
"additions": 1900,
"deletions": 969,
"timestamp": "2026-03-27T11:38:19+01:00"
},
{
"hash": "2624e5a",
"short": "feat(pricing): migrate to Mana Quelle S-XXL subscription tiers with new Stripe products",
"type": "feat",
"scope": "pricing",
"additions": 834,
"deletions": 440,
"timestamp": "2026-03-27T11:43:43+01:00"
},
{
"hash": "8f56feb",
"short": "feat(auth): session management UI and improved account lockout feedback",
"type": "feat",
"scope": "auth",
"additions": 898,
"deletions": 4,
"timestamp": "2026-03-27T11:49:17+01:00"
},
{
"hash": "b85c32f",
"short": "feat(todo): wire up browser sync with Go server",
"type": "feat",
"scope": "todo",
"additions": 62,
"deletions": 1,
"timestamp": "2026-03-27T11:50:43+01:00"
},
{
"hash": "bac0a82",
"short": "docs(auth): document Gilden endpoints and architecture in CLAUDE.md",
"type": "docs",
"scope": "auth",
"additions": 71,
"deletions": 0,
"timestamp": "2026-03-27T11:50:56+01:00"
},
{
"hash": "fe8f0a2",
"short": "fix(pricing): update remaining content pages to Mana Quelle naming and new prices",
"type": "fix",
"scope": "pricing",
"additions": 42,
"deletions": 46,
"timestamp": "2026-03-27T11:52:59+01:00"
},
{
"hash": "b16e245",
"short": "feat(zitare): migrate to local-first with Dexie.js",
"type": "feat",
"scope": "zitare",
"additions": 649,
"deletions": 671,
"timestamp": "2026-03-27T12:05:01+01:00"
},
{
"hash": "3a13355",
"short": "fix(auth): add GuildPoolService mock to credits unit tests",
"type": "fix",
"scope": "auth",
"additions": 27,
"deletions": 12,
"timestamp": "2026-03-27T12:21:37+01:00"
},
{
"hash": "d4c6f25",
"short": "docs: add devlog for 2026-03-25 and update 2026-03-26",
"type": null,
"scope": null,
"additions": 332,
"deletions": 217,
"timestamp": "2026-03-27T12:33:06+01:00"
},
{
"hash": "427195d",
"short": "feat(todo): add Hono + Bun server for compute-only endpoints",
"type": "feat",
"scope": "todo",
"additions": 543,
"deletions": 0,
"timestamp": "2026-03-27T12:40:28+01:00"
},
{
"hash": "2c9a368",
"short": "feat(apps): migrate Calendar, Clock, Contacts, ManaDeck to local-first",
"type": "feat",
"scope": "apps",
"additions": 1594,
"deletions": 764,
"timestamp": "2026-03-27T13:10:07+01:00"
},
{
"hash": "8f40de2",
"short": "docs: update CLAUDE.md and migration plan for local-first architecture",
"type": null,
"scope": null,
"additions": 62,
"deletions": 4,
"timestamp": "2026-03-27T16:48:19+01:00"
},
{
"hash": "ce51fd5",
"short": "feat(apps): migrate Presi, Picture, Inventar, NutriPhi, Planta, Storage to local-first",
"type": "feat",
"scope": "apps",
"additions": 1621,
"deletions": 209,
"timestamp": "2026-03-27T17:35:38+01:00"
},
{
"hash": "819568c",
"short": "feat(infra): consolidate 21 Matrix bots into Go binary + add Go API gateway",
"type": "feat",
"scope": "infra",
"additions": 9927,
"deletions": 47044,
"timestamp": "2026-03-27T21:03:00+01:00"
},
{
"hash": "3589558",
"short": "fix(gateway): change api-gateway port to 3030 (3010 used by mukke-backend)",
"type": "fix",
"scope": "gateway",
"additions": 3,
"deletions": 3,
"timestamp": "2026-03-27T21:05:00+01:00"
},
{
"hash": "7d1842e",
"short": "fix(gateway): use port 3060 (3010 = mukke, 3030 = chat)",
"type": "fix",
"scope": "gateway",
"additions": 3,
"deletions": 3,
"timestamp": "2026-03-27T21:07:55+01:00"
},
{
"hash": "a70359d",
"short": "fix(gateway): use correct database name 'mana' + sslmode=disable",
"type": "fix",
"scope": "gateway",
"additions": 1,
"deletions": 1,
"timestamp": "2026-03-27T21:09:27+01:00"
},
{
"hash": "8d880f1",
"short": "feat(apps): migrate Chat, Questions, Mukke, Context, Photos to local-first",
"type": "feat",
"scope": "apps",
"additions": 826,
"deletions": 173,
"timestamp": "2026-03-27T21:17:56+01:00"
},
{
"hash": "c81527c",
"short": "fix(matrix-bot): remove port 4000 host mapping (conflicts with synapse)",
"type": "fix",
"scope": "matrix-bot",
"additions": 20,
"deletions": 2,
"timestamp": "2026-03-27T21:25:19+01:00"
},
{
"hash": "a31ccc6",
"short": "feat(infra): add api.mana.how route + Prometheus scrape targets for Go services",
"type": "feat",
"scope": "infra",
"additions": 434,
"deletions": 95,
"timestamp": "2026-03-27T21:27:04+01:00"
},
{
"hash": "7754cf6",
"short": "refactor(skilltree): replace custom idb storage with @manacore/local-store",
"type": "refactor",
"scope": "skilltree",
"additions": 217,
"deletions": 471,
"timestamp": "2026-03-27T21:32:47+01:00"
},
{
"hash": "16e0d99",
"short": "feat(gpu-server): complete GPU server setup with AI services, monitoring, and public access",
"type": "feat",
"scope": "gpu-server",
"additions": 1245,
"deletions": 7,
"timestamp": "2026-03-27T21:35:30+01:00"
},
{
"hash": "97ef728",
"short": "docs: update local-first migration plan and CLAUDE.md to reflect 19/19 completion",
"type": null,
"scope": null,
"additions": 38,
"deletions": 21,
"timestamp": "2026-03-27T21:36:02+01:00"
},
{
"hash": "c67ed0d",
"short": "feat(gpu-server): add API key auth, VRAM management, and Piper TTS voices",
"type": "feat",
"scope": "gpu-server",
"additions": 65,
"deletions": 6,
"timestamp": "2026-03-27T21:54:35+01:00"
},
{
"hash": "4b0f5a2",
"short": "feat(mana-search): rewrite search service from NestJS to Go",
"type": "feat",
"scope": "mana-search",
"additions": 1607,
"deletions": 3594,
"timestamp": "2026-03-27T21:58:40+01:00"
},
{
"hash": "02bd9d3",
"short": "feat(apps): integrate GPU services into Picture and Chat apps",
"type": "feat",
"scope": "apps",
"additions": 239,
"deletions": 3,
"timestamp": "2026-03-27T21:59:46+01:00"
},
{
"hash": "15deaf4",
"short": "feat(services): create mana-credits service (Hono + Bun)",
"type": "feat",
"scope": "services",
"additions": 2373,
"deletions": 0,
"timestamp": "2026-03-27T22:08:43+01:00"
},
{
"hash": "28bbd7b",
"short": "fix(mana-search): Go best practices hardening",
"type": "fix",
"scope": "mana-search",
"additions": 41,
"deletions": 19,
"timestamp": "2026-03-27T22:09:31+01:00"
},
{
"hash": "64f7f76",
"short": "feat(infra): add Go web crawler (mana-crawler-go)",
"type": "feat",
"scope": "infra",
"additions": 1599,
"deletions": 0,
"timestamp": "2026-03-27T22:10:45+01:00"
},
{
"hash": "b0009c2",
"short": "refactor(credits): route credit calls to mana-credits service",
"type": "refactor",
"scope": "credits",
"additions": 59,
"deletions": 33,
"timestamp": "2026-03-27T22:13:21+01:00"
},
{
"hash": "3e2558a",
"short": "fix(crawler): use background context for crawl jobs (outlive HTTP request)",
"type": "fix",
"scope": "crawler",
"additions": 3,
"deletions": 2,
"timestamp": "2026-03-27T22:15:36+01:00"
},
{
"hash": "c079871",
"short": "refactor(auth): remove credits, gifts, and credit-webhooks from mana-core-auth",
"type": "refactor",
"scope": "auth",
"additions": 63,
"deletions": 4185,
"timestamp": "2026-03-27T22:19:42+01:00"
},
{
"hash": "fa16f1f",
"short": "feat(apps): add GPU server fallback to all LLM-using apps",
"type": "feat",
"scope": "apps",
"additions": 13,
"deletions": 7,
"timestamp": "2026-03-27T22:21:20+01:00"
},
{
"hash": "feeebfb",
"short": "feat(infra): add mana-credits to docker-compose, fix port to 3061",
"type": "feat",
"scope": "infra",
"additions": 48,
"deletions": 9,
"timestamp": "2026-03-27T22:21:54+01:00"
},
{
"hash": "68004aa",
"short": "feat(infra): add mana-crawler Go service to docker-compose",
"type": "feat",
"scope": "infra",
"additions": 30,
"deletions": 0,
"timestamp": "2026-03-27T22:23:37+01:00"
},
{
"hash": "d0ef667",
"short": "fix(crawler): set SSL_CERT_FILE for HTTPS in Alpine container",
"type": "fix",
"scope": "crawler",
"additions": 3,
"deletions": 0,
"timestamp": "2026-03-27T22:24:56+01:00"
},
{
"hash": "585cdc1",
"short": "feat(mana-notify): rewrite notification service from NestJS to Go",
"type": "feat",
"scope": "mana-notify",
"additions": 2853,
"deletions": 1,
"timestamp": "2026-03-27T22:28:19+01:00"
},
{
"hash": "313779f",
"short": "fix(crawler): skip TLS verification for outgoing crawl requests",
"type": "fix",
"scope": "crawler",
"additions": 13,
"deletions": 1,
"timestamp": "2026-03-27T22:31:03+01:00"
},
{
"hash": "ef19018",
"short": "feat(infra): add mana-sync and mana-notify-go to docker-compose",
"type": "feat",
"scope": "infra",
"additions": 908,
"deletions": 2876,
"timestamp": "2026-03-27T22:35:05+01:00"
},
{
"hash": "21a5f87",
"short": "docs: add comprehensive overview of local-first migration and service extraction",
"type": null,
"scope": null,
"additions": 154,
"deletions": 0,
"timestamp": "2026-03-27T22:38:13+01:00"
},
{
"hash": "d56737f",
"short": "fix(infra): remove clock-backend references from docker-compose",
"type": "fix",
"scope": "infra",
"additions": 3,
"deletions": 5,
"timestamp": "2026-03-27T22:38:21+01:00"
},
{
"hash": "0bf5a90",
"short": "fix(infra): change mana-notify port to 3041 (3040 used by picture-backend)",
"type": "fix",
"scope": "infra",
"additions": 3,
"deletions": 3,
"timestamp": "2026-03-27T22:39:36+01:00"
},
{
"hash": "82de694",
"short": "fix(infra): change mana-notify port to 3042 (3041 used by citycorners)",
"type": "fix",
"scope": "infra",
"additions": 8,
"deletions": 8,
"timestamp": "2026-03-27T22:40:06+01:00"
},
{
"hash": "32939fb",
"short": "refactor(infra): remove zitare + clock NestJS backends, add shared-hono package",
"type": "refactor",
"scope": "infra",
"additions": 1237,
"deletions": 2728,
"timestamp": "2026-03-27T22:43:46+01:00"
},
{
"hash": "5c33962",
"short": "feat(local-first): migrate tags + task stores to reactive liveQuery across all apps",
"type": "feat",
"scope": "local-first",
"additions": 2348,
"deletions": 4389,
"timestamp": "2026-03-28T02:02:52+01:00"
},
{
"hash": "dd2f814",
"short": "refactor(presi): replace NestJS backend with lightweight Hono server",
"type": "refactor",
"scope": "presi",
"additions": 393,
"deletions": 3038,
"timestamp": "2026-03-28T02:08:40+01:00"
},
{
"hash": "e7a8567",
"short": "feat(services): create mana-subscriptions, remove from mana-core-auth",
"type": "feat",
"scope": "services",
"additions": 14,
"deletions": 8727,
"timestamp": "2026-03-28T02:11:42+01:00"
},
{
"hash": "d7799ec",
"short": "refactor(photos): remove NestJS backend, use local-first + direct mana-media",
"type": "refactor",
"scope": "photos",
"additions": 243,
"deletions": 1816,
"timestamp": "2026-03-28T02:18:03+01:00"
},
{
"hash": "ced7dd7",
"short": "feat(monitoring): add mana-sync, mana-notify, mana-crawler to Prometheus",
"type": "feat",
"scope": "monitoring",
"additions": 21,
"deletions": 0,
"timestamp": "2026-03-28T02:18:21+01:00"
},
{
"hash": "30e124e",
"short": "feat(local-first): migrate 9 apps to reactive useLiveQuery reads",
"type": "feat",
"scope": "local-first",
"additions": 2514,
"deletions": 3122,
"timestamp": "2026-03-28T02:27:46+01:00"
},
{
"hash": "753c685",
"short": "feat(services): create mana-analytics, remove feedback/analytics/ai from auth",
"type": "feat",
"scope": "services",
"additions": 562,
"deletions": 83,
"timestamp": "2026-03-28T02:29:24+01:00"
},
{
"hash": "d0848ea",
"short": "test(go-services): add unit tests for mana-search-go and mana-notify-go",
"type": "test",
"scope": "go-services",
"additions": 1376,
"deletions": 0,
"timestamp": "2026-03-28T02:33:59+01:00"
},
{
"hash": "4ff3ceb",
"short": "harden(mana-sync): fix WebSocket auth, add validation, tests, and docs",
"type": "harden",
"scope": "mana-sync",
"additions": 760,
"deletions": 32,
"timestamp": "2026-03-28T02:41:56+01:00"
},
{
"hash": "924c152",
"short": "feat(local-first): migrate remaining 6 apps to reactive useLiveQuery reads",
"type": "feat",
"scope": "local-first",
"additions": 1818,
"deletions": 1540,
"timestamp": "2026-03-28T02:42:13+01:00"
},
{
"hash": "61ee1ae",
"short": "feat(services): create mana-auth (Hono + Bun) — Phase 5 auth rewrite",
"type": "feat",
"scope": "services",
"additions": 1518,
"deletions": 0,
"timestamp": "2026-03-28T02:43:44+01:00"
},
{
"hash": "4318948",
"short": "feat(mana-auth): add guilds, api-keys, me, security, auth routes",
"type": "feat",
"scope": "mana-auth",
"additions": 681,
"deletions": 125,
"timestamp": "2026-03-28T02:57:22+01:00"
},
{
"hash": "8d36aba",
"short": "feat(infra): add Forgejo for self-hosted Git + CI/CD",
"type": "feat",
"scope": "infra",
"additions": 298,
"deletions": 97,
"timestamp": "2026-03-28T03:00:50+01:00"
},
{
"hash": "14099cc",
"short": "docs(infra): add PORT_SCHEMA.md + update Prometheus scrape targets",
"type": "docs",
"scope": "infra",
"additions": 169,
"deletions": 14,
"timestamp": "2026-03-28T03:02:12+01:00"
},
{
"hash": "5b67328",
"short": "feat(infra): delete mana-core-auth (NestJS), replace with mana-auth (Hono+Bun)",
"type": "feat",
"scope": "infra",
"additions": 43,
"deletions": 36123,
"timestamp": "2026-03-28T03:04:01+01:00"
},
{
"hash": "b37a451",
"short": "refactor(stores): rewrite NutriPhi + Mukke stores to use IndexedDB",
"type": "refactor",
"scope": "stores",
"additions": 1327,
"deletions": 2126,
"timestamp": "2026-03-28T03:12:37+01:00"
},
{
"hash": "28bf9e5",
"short": "fix(shared-auth): add explicit AuthServiceInterface to fix TS inference truncation",
"type": "fix",
"scope": "shared-auth",
"additions": 79,
"deletions": 3,
"timestamp": "2026-03-28T03:15:29+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}