mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 01:59:41 +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>
535 lines
13 KiB
JSON
535 lines
13 KiB
JSON
{
|
||
"date": "2026-05-07",
|
||
"day_number": 100,
|
||
"weekday": "Donnerstag",
|
||
"commits": 48,
|
||
"authors": [
|
||
{
|
||
"name": "Till JS",
|
||
"count": 48
|
||
}
|
||
],
|
||
"additions": 14288,
|
||
"deletions": 1326,
|
||
"net_lines": 12962,
|
||
"files_changed": 117,
|
||
"new_files": 0,
|
||
"deleted_files": 0,
|
||
"session": {
|
||
"first_commit_at": "2026-05-07T10:44:22.000Z",
|
||
"last_commit_at": "2026-05-08T00:48:40.000Z",
|
||
"total_span_minutes": 844,
|
||
"active_minutes": 419,
|
||
"pauses": [
|
||
{
|
||
"from": "17:09",
|
||
"to": "19:33",
|
||
"minutes": 145
|
||
},
|
||
{
|
||
"from": "20:26",
|
||
"to": "21:56",
|
||
"minutes": 90
|
||
},
|
||
{
|
||
"from": "23:38",
|
||
"to": "01:54",
|
||
"minutes": 136
|
||
},
|
||
{
|
||
"from": "01:54",
|
||
"to": "02:48",
|
||
"minutes": 54
|
||
}
|
||
],
|
||
"longest_focus_minutes": 265
|
||
},
|
||
"top_dirs": [
|
||
{
|
||
"path": "apps/cards/apps/web",
|
||
"pct": 42
|
||
},
|
||
{
|
||
"path": "services/cards-server/src",
|
||
"pct": 23
|
||
},
|
||
{
|
||
"path": "docker-compose.macmini.yml",
|
||
"pct": 5
|
||
},
|
||
{
|
||
"path": "infrastructure/docker-compose.gpu-box.yml",
|
||
"pct": 4
|
||
},
|
||
{
|
||
"path": "cloudflared-config.yml",
|
||
"pct": 3
|
||
}
|
||
],
|
||
"top_extensions": [
|
||
{
|
||
"ext": ".ts",
|
||
"count": 90
|
||
},
|
||
{
|
||
"ext": ".svelte",
|
||
"count": 61
|
||
},
|
||
{
|
||
"ext": ".yml",
|
||
"count": 33
|
||
},
|
||
{
|
||
"ext": ".md",
|
||
"count": 19
|
||
},
|
||
{
|
||
"ext": ".json",
|
||
"count": 8
|
||
},
|
||
{
|
||
"ext": ".yaml",
|
||
"count": 7
|
||
}
|
||
],
|
||
"tags": ["cards", "cards-web", "gpu-box", "cards-server", "infra"],
|
||
"commits_list": [
|
||
{
|
||
"hash": "585bee4",
|
||
"short": "docs(mac-mini): refresh container counts + memory budget after Phase 2c+2d",
|
||
"type": "docs",
|
||
"scope": "mac-mini",
|
||
"additions": 15,
|
||
"deletions": 14,
|
||
"timestamp": "2026-05-07T12:44:22+02:00"
|
||
},
|
||
{
|
||
"hash": "009fb35",
|
||
"short": "feat(cards-web): streak indicator + per-deck due counts",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 90,
|
||
"deletions": 3,
|
||
"timestamp": "2026-05-07T12:45:04+02:00"
|
||
},
|
||
{
|
||
"hash": "0c2df08",
|
||
"short": "fix(status-page): point at vm.mana.how (GPU-Box VM) instead of localhost:9090",
|
||
"type": "fix",
|
||
"scope": "status-page",
|
||
"additions": 4,
|
||
"deletions": 4,
|
||
"timestamp": "2026-05-07T12:58:19+02:00"
|
||
},
|
||
{
|
||
"hash": "22cce59",
|
||
"short": "feat(cards-web): Anki .apkg import — first acquisition lever",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 599,
|
||
"deletions": 132,
|
||
"timestamp": "2026-05-07T13:02:29+02:00"
|
||
},
|
||
{
|
||
"hash": "778e5a2",
|
||
"short": "chore(infra): drop status-page-gen from Mini, status.mana.how → GPU-Box tunnel",
|
||
"type": "chore",
|
||
"scope": "infra",
|
||
"additions": 351,
|
||
"deletions": 31,
|
||
"timestamp": "2026-05-07T13:22:20+02:00"
|
||
},
|
||
{
|
||
"hash": "e3cca9e",
|
||
"short": "feat(cards-web): PWA installability + AI card generation from text",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 2,
|
||
"deletions": 9,
|
||
"timestamp": "2026-05-07T13:24:42+02:00"
|
||
},
|
||
{
|
||
"hash": "d8a35af",
|
||
"short": "infra(gpu-box): commit GPU-Box compose to repo + Phase 2e docs",
|
||
"type": "infra",
|
||
"scope": "gpu-box",
|
||
"additions": 576,
|
||
"deletions": 9,
|
||
"timestamp": "2026-05-07T13:28:49+02:00"
|
||
},
|
||
{
|
||
"hash": "1f2206f",
|
||
"short": "feat(cards-web): PDF input for AI generator + study activity heatmap",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 375,
|
||
"deletions": 10,
|
||
"timestamp": "2026-05-07T13:37:01+02:00"
|
||
},
|
||
{
|
||
"hash": "daa1ef0",
|
||
"short": "feat(cards): image / audio attachments on cards via mana-media",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 197,
|
||
"deletions": 8,
|
||
"timestamp": "2026-05-07T13:52:53+02:00"
|
||
},
|
||
{
|
||
"hash": "0ae1e70",
|
||
"short": "fix(monitoring): status-page covers all standalone apps + restore who.mana.how routing",
|
||
"type": "fix",
|
||
"scope": "monitoring",
|
||
"additions": 29,
|
||
"deletions": 3,
|
||
"timestamp": "2026-05-07T14:09:31+02:00"
|
||
},
|
||
{
|
||
"hash": "82db4eb",
|
||
"short": "feat(cards-web): Anki import carries images + audio along",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 250,
|
||
"deletions": 41,
|
||
"timestamp": "2026-05-07T14:25:43+02:00"
|
||
},
|
||
{
|
||
"hash": "1e8d18a",
|
||
"short": "fix(monitoring): photon via Cloudflare-Tunnel, drop dead whopxl",
|
||
"type": "fix",
|
||
"scope": "monitoring",
|
||
"additions": 8,
|
||
"deletions": 10,
|
||
"timestamp": "2026-05-07T14:39:50+02:00"
|
||
},
|
||
{
|
||
"hash": "c1423d2",
|
||
"short": "fix(cards-web): missing static assets — sql-wasm-browser.wasm + PWA icons",
|
||
"type": "fix",
|
||
"scope": "cards-web",
|
||
"additions": 0,
|
||
"deletions": 0,
|
||
"timestamp": "2026-05-07T14:42:47+02:00"
|
||
},
|
||
{
|
||
"hash": "6f1b032",
|
||
"short": "docs(infra): document photon.mana.how + cross-LAN workaround pattern",
|
||
"type": "docs",
|
||
"scope": "infra",
|
||
"additions": 29,
|
||
"deletions": 2,
|
||
"timestamp": "2026-05-07T14:45:34+02:00"
|
||
},
|
||
{
|
||
"hash": "ceed8cc",
|
||
"short": "feat(mana-sync): per-app billing exemption — Cards bypasses sync gate",
|
||
"type": "feat",
|
||
"scope": "mana-sync",
|
||
"additions": 145,
|
||
"deletions": 16,
|
||
"timestamp": "2026-05-07T15:01:54+02:00"
|
||
},
|
||
{
|
||
"hash": "cd888cd",
|
||
"short": "fix(gpu-box): drop gpu-promtail healthcheck — image has no curl/wget/nc",
|
||
"type": "fix",
|
||
"scope": "gpu-box",
|
||
"additions": 1,
|
||
"deletions": 6,
|
||
"timestamp": "2026-05-07T15:13:47+02:00"
|
||
},
|
||
{
|
||
"hash": "8a90cd2",
|
||
"short": "docs(cards): competitor analysis Mai 2026",
|
||
"type": "docs",
|
||
"scope": "cards",
|
||
"additions": 353,
|
||
"deletions": 0,
|
||
"timestamp": "2026-05-07T15:28:02+02:00"
|
||
},
|
||
{
|
||
"hash": "384be93",
|
||
"short": "feat(gpu-box): healthchecks for glitchtip-worker, gpu-promtail, status-gen",
|
||
"type": "feat",
|
||
"scope": "gpu-box",
|
||
"additions": 18,
|
||
"deletions": 1,
|
||
"timestamp": "2026-05-07T15:29:04+02:00"
|
||
},
|
||
{
|
||
"hash": "cf5349c",
|
||
"short": "feat(gpu-box): adopt photon container into compose with healthcheck",
|
||
"type": "feat",
|
||
"scope": "gpu-box",
|
||
"additions": 37,
|
||
"deletions": 0,
|
||
"timestamp": "2026-05-07T15:42:54+02:00"
|
||
},
|
||
{
|
||
"hash": "0686300",
|
||
"short": "docs(cards): Marktplatz Plan — Vollvision mit mana-credits + dual verification",
|
||
"type": "docs",
|
||
"scope": "cards",
|
||
"additions": 602,
|
||
"deletions": 0,
|
||
"timestamp": "2026-05-07T15:48:45+02:00"
|
||
},
|
||
{
|
||
"hash": "6e40546",
|
||
"short": "feat(gpu-box): add verdaccio service + bundle config in repo",
|
||
"type": "feat",
|
||
"scope": "gpu-box",
|
||
"additions": 116,
|
||
"deletions": 0,
|
||
"timestamp": "2026-05-07T15:54:37+02:00"
|
||
},
|
||
{
|
||
"hash": "33bc654",
|
||
"short": "chore(infra): drop npm.mana.how from Mini tunnel — verdaccio moved to GPU-Box",
|
||
"type": "chore",
|
||
"scope": "infra",
|
||
"additions": 0,
|
||
"deletions": 2,
|
||
"timestamp": "2026-05-07T15:59:40+02:00"
|
||
},
|
||
{
|
||
"hash": "a7b62ea",
|
||
"short": "feat(cards-server): Phase α — service skeleton + 16-table schema",
|
||
"type": "feat",
|
||
"scope": "cards-server",
|
||
"additions": 3300,
|
||
"deletions": 33,
|
||
"timestamp": "2026-05-07T16:01:08+02:00"
|
||
},
|
||
{
|
||
"hash": "71ec5e7",
|
||
"short": "feat(cards-server): Phase α.4 — Dockerfile + compose + tunnel route",
|
||
"type": "feat",
|
||
"scope": "cards-server",
|
||
"additions": 84,
|
||
"deletions": 1,
|
||
"timestamp": "2026-05-07T16:22:48+02:00"
|
||
},
|
||
{
|
||
"hash": "b03165c",
|
||
"short": "feat(gpu-box): news-ingester migrated, Mini compose drops the service block",
|
||
"type": "feat",
|
||
"scope": "gpu-box",
|
||
"additions": 51,
|
||
"deletions": 33,
|
||
"timestamp": "2026-05-07T16:27:45+02:00"
|
||
},
|
||
{
|
||
"hash": "044d948",
|
||
"short": "feat(cards-server): Phase β — author profiles + deck init/publish",
|
||
"type": "feat",
|
||
"scope": "cards-server",
|
||
"additions": 692,
|
||
"deletions": 8,
|
||
"timestamp": "2026-05-07T16:36:34+02:00"
|
||
},
|
||
{
|
||
"hash": "be155ca",
|
||
"short": "fix(cards-server): error classes extend Hono HTTPException",
|
||
"type": "fix",
|
||
"scope": "cards-server",
|
||
"additions": 39,
|
||
"deletions": 27,
|
||
"timestamp": "2026-05-07T16:40:20+02:00"
|
||
},
|
||
{
|
||
"hash": "f47edc1",
|
||
"short": "feat(gpu-box): mana-ai (AI Mission Runner) migrated, mana-ai.mana.how → GPU tunnel",
|
||
"type": "feat",
|
||
"scope": "gpu-box",
|
||
"additions": 41,
|
||
"deletions": 49,
|
||
"timestamp": "2026-05-07T16:40:57+02:00"
|
||
},
|
||
{
|
||
"hash": "ec8abfe",
|
||
"short": "feat(cards-web): Phase β.2 — author onboarding + publish flow",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 636,
|
||
"deletions": 1,
|
||
"timestamp": "2026-05-07T16:53:17+02:00"
|
||
},
|
||
{
|
||
"hash": "4c044e8",
|
||
"short": "fix(monitoring): mana-ai probe now uses public mana-ai.mana.how/health",
|
||
"type": "fix",
|
||
"scope": "monitoring",
|
||
"additions": 2,
|
||
"deletions": 2,
|
||
"timestamp": "2026-05-07T16:55:39+02:00"
|
||
},
|
||
{
|
||
"hash": "dcd1606",
|
||
"short": "feat(cards-server): Phase γ — public reads + browse + search + engagement",
|
||
"type": "feat",
|
||
"scope": "cards-server",
|
||
"additions": 458,
|
||
"deletions": 17,
|
||
"timestamp": "2026-05-07T17:01:32+02:00"
|
||
},
|
||
{
|
||
"hash": "a8cce79",
|
||
"short": "fix(monitoring): comment-out mana-ai metrics scrape after Phase 2f-3 move",
|
||
"type": "fix",
|
||
"scope": "monitoring",
|
||
"additions": 2,
|
||
"deletions": 8,
|
||
"timestamp": "2026-05-07T17:06:04+02:00"
|
||
},
|
||
{
|
||
"hash": "e77134b",
|
||
"short": "docs(infra): Phase 2f added to PLAN_OPTION_C + hostname table updated to v28",
|
||
"type": "docs",
|
||
"scope": "infra",
|
||
"additions": 581,
|
||
"deletions": 5,
|
||
"timestamp": "2026-05-07T17:09:28+02:00"
|
||
},
|
||
{
|
||
"hash": "86a0142",
|
||
"short": "feat(cards-server): Phase δ.1 — subscriptions + version reads + smart-merge diff",
|
||
"type": "feat",
|
||
"scope": "cards-server",
|
||
"additions": 317,
|
||
"deletions": 1,
|
||
"timestamp": "2026-05-07T19:33:58+02:00"
|
||
},
|
||
{
|
||
"hash": "58c057f",
|
||
"short": "feat(cards-web): Phase δ.2 — Subscribe + initial pull",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 307,
|
||
"deletions": 27,
|
||
"timestamp": "2026-05-07T19:56:48+02:00"
|
||
},
|
||
{
|
||
"hash": "521ae52",
|
||
"short": "feat(cards-web): Phase δ.3 — Smart-merge updates + read-only subscribed decks",
|
||
"type": "feat",
|
||
"scope": "cards-web",
|
||
"additions": 305,
|
||
"deletions": 36,
|
||
"timestamp": "2026-05-07T20:21:32+02:00"
|
||
},
|
||
{
|
||
"hash": "c847420",
|
||
"short": "infra(phase 2g): mana-research → GPU-Box",
|
||
"type": "infra",
|
||
"scope": "phase 2g",
|
||
"additions": 80,
|
||
"deletions": 63,
|
||
"timestamp": "2026-05-07T20:26:10+02:00"
|
||
},
|
||
{
|
||
"hash": "61fc16e",
|
||
"short": "feat(cards): Phase ε — Pull-Requests + Card-Discussions",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 1045,
|
||
"deletions": 0,
|
||
"timestamp": "2026-05-07T21:56:20+02:00"
|
||
},
|
||
{
|
||
"hash": "a8ddb6d",
|
||
"short": "feat(cards): Phase ε.3 — PR notifications + Card-Discussions UI",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 269,
|
||
"deletions": 3,
|
||
"timestamp": "2026-05-07T22:24:45+02:00"
|
||
},
|
||
{
|
||
"hash": "46fefd5",
|
||
"short": "feat(cards): Phase ε.4 — Card list + discussions on /d/<slug>",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 145,
|
||
"deletions": 1,
|
||
"timestamp": "2026-05-07T22:46:47+02:00"
|
||
},
|
||
{
|
||
"hash": "4fcc157",
|
||
"short": "feat(auth): add memoro-app.mana.how to SSO trusted origins",
|
||
"type": "feat",
|
||
"scope": "auth",
|
||
"additions": 2,
|
||
"deletions": 1,
|
||
"timestamp": "2026-05-07T23:07:22+02:00"
|
||
},
|
||
{
|
||
"hash": "5dbc9ac",
|
||
"short": "feat(cards): Phase ζ.1 — Paid decks via mana-credits",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 627,
|
||
"deletions": 12,
|
||
"timestamp": "2026-05-07T23:10:18+02:00"
|
||
},
|
||
{
|
||
"hash": "aeaefaf",
|
||
"short": "infra(phase 2f-1 rollback): verdaccio bleibt auf Mac Mini",
|
||
"type": "infra",
|
||
"scope": "phase 2f-1 rollback",
|
||
"additions": 12,
|
||
"deletions": 121,
|
||
"timestamp": "2026-05-07T23:12:11+02:00"
|
||
},
|
||
{
|
||
"hash": "c050226",
|
||
"short": "feat(cards): Phase η.1 — Reports + admin moderation actions",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 772,
|
||
"deletions": 13,
|
||
"timestamp": "2026-05-07T23:24:23+02:00"
|
||
},
|
||
{
|
||
"hash": "b185ee2",
|
||
"short": "doc(mac-mini): aktualisiere Container-Bilanz nach Phase 2c-2g",
|
||
"type": "doc",
|
||
"scope": "mac-mini",
|
||
"additions": 5,
|
||
"deletions": 4,
|
||
"timestamp": "2026-05-07T23:30:06+02:00"
|
||
},
|
||
{
|
||
"hash": "863311e",
|
||
"short": "docs(cards): Phasen-Statusupdate nach η.1 — Stand 2026-05-07",
|
||
"type": "docs",
|
||
"scope": "cards",
|
||
"additions": 107,
|
||
"deletions": 61,
|
||
"timestamp": "2026-05-07T23:38:42+02:00"
|
||
},
|
||
{
|
||
"hash": "ad3b99f",
|
||
"short": "refactor(cards): Phase A + C — adopt @mana/shared-theme + per-app accent",
|
||
"type": "refactor",
|
||
"scope": "cards",
|
||
"additions": 482,
|
||
"deletions": 476,
|
||
"timestamp": "2026-05-08T01:54:16+02:00"
|
||
},
|
||
{
|
||
"hash": "39e5080",
|
||
"short": "feat(cards): CardFace v2 — 3D-Flip + tap-anywhere reveal",
|
||
"type": "feat",
|
||
"scope": "cards",
|
||
"additions": 130,
|
||
"deletions": 22,
|
||
"timestamp": "2026-05-08T02:48:40+02:00"
|
||
}
|
||
],
|
||
"review_state": "auto",
|
||
"llm": {
|
||
"model": null,
|
||
"generated_at": null
|
||
}
|
||
}
|