Run 2026-05-12 — agents-platform Foundations + daily-briefing live

Single-Session-Sprint, der drei Sachen geschafft hat die fuer alle weiteren Cron-Routinen die Basis bilden:

  1. Beleg-Pipeline Session 1/4 durch — Layer-Code (logging, secrets, telegram, bedrock) live, Heartbeat-Push laeuft alle 15 Min.
  2. routine-anlegen Skill angelegt — eingehender Generator-Skill der die naechsten Cron-Routinen auf 20-40 Min Brief-zu-Smoke verkuerzt.
  3. daily-briefing Routine end-to-end live — erste Anwendung des Skills, laeuft Mo-Fr 9:30 Berlin mit Gmail + Calendar + Action-Items + Bedrock-Summary + Telegram + Vault-Archiv.

Bonus: 3 IAM-Bugs entdeckt + dokumentiert (siehe aws-lambda-cron-fallstricke), action-items.md auf GitHub aktualisiert, RAM aufgeraeumt (2.5 GB frei).

Zeitleiste

BlockWasOutcome
1Telegram-Bot-Token via @BotFatherBot marvin_aiops_17332026_bot live, Chat-ID 8257793678, Secret in SM
2Gmail-OAuth-Refresh-Bundle aus mcp-gsuite-FilesBeide Konten + client_id/secret als nested Dict in SM
3Layer-Code Foundations (4 Module)logging.py, secrets.py, telegram.py, bedrock.py — alle lokal gesmoked
4Stack-Update + erstes DeployTELEGRAM_CHAT_ID Env-Var + Secret-Namen, BEDROCK_MODEL_ID korrigiert
5Lambda-Smoke fehl: 401/403 IAM2 ARN-Bugs entdeckt: Inference-Profile fehlt Account-Slot, Secrets-ARN fehlt -*
6IAM-Fix + Re-Deploystatus: ok, Bedrock 848ms, Telegram message_id=5
7Commit beider Repos, Vault-Doku update24abf59 + e0f1c57 lokal
8routine-anlegen Skill konzipiert + geschriebenSKILL.md mit 3 Phasen, hardcoded Defaults
9Erste Routine via Skill: daily-briefing5 Helper-Module + main.py + Stack + Vault-Stub
10DailyBriefingStack deploy + Smoke (force_run)status: ok, 2 Events + 13 Mails, Bedrock-Summary, Telegram raus
11GitHub-PAT eingespieltAuch action-items + Vault-Archiv funktional
12Re-Smoke mit echtem PATarchived: true, Lambda hat operations/briefings/2026-05-12.md direkt auf GitHub committed
13action-items.md auf GitHub aktualisiertLokale Master-Liste + agents-platform-Section gepushed (commit 5f40fad)
14RAM-Cleanup2 vergessene next-server gekillt, 2.5 GB frei

Was tatsaechlich live ist (av-production, eu-central-1)

  • Lambda agent-beleg-pipeline — Cron alle 15 Min, Heartbeat-Push (Pipeline-Logik in Sessions 2-4)
  • Lambda agent-daily-briefing — Cron Mo-Fr 7:30 + 8:30 UTC (Berlin-Check intern), erste echte Auto-Runs Mi 13. + Do 14. + Fr 15.05.
  • Layer agentic-common mit 4 Modulen, ARM_64, Python 3.12
  • 3 Secrets in Secrets Manager mit echten Werten
  • EventBridge-Rules fuer beide Lambdas
  • CloudWatch-Logs strukturiert mit run_id, step, level, data — Insights-ready

Wichtige naechste Entscheidung — Vault Repo-Divergenz

Kritisch fuer Marvin morgen frueh: der lokale Vault (~/source/agentic-ventures/) und das Remote (marvin-khl/agentic-ventures auf GitHub) haben keine gemeinsame Git-History mehr:

  • Lokal-Branch main: 4 Commits ueber 58e77a7 Initial commit: Vault v1.4 (intern/extern/assets/_meta-Struktur) (Fresh-Start)
  • Remote-Branch main: 40+ Commits mit alter Knowledge-System-/Website-/Voice-AI-History (bfdb072, 4a01cfd etc.)
  • Plus heute auf Remote zusaetzlich: Lambda-Commit 72b9d4a (briefing-archive), gh-CLI-Commit 5f40fad (action-items)

git pull --rebase produziert grossen Merge-Mess. Drei Optionen siehe repo-divergenz-vault-v14 (Detail dort, kurz hier):

OptionWas passiert
A) Force-push lokal → Remote (git push --force-with-lease)Vault-v1.4 wird Remote. Verliert: alte Knowledge-System-History + heute’s Lambda-Commits + action-items.md-Update
B) Lokal aufgeben (git reset --hard origin/main)Vault auf alte Remote-Struktur zurueck. Verliert: 4 lokale Commits (Skill, Doku-Updates)
C) Lokal in Side-Branch parken, Remote weiterSauberer Weg, aber Vault-v1.4-Migration als eigenes Projekt

Empfehlung Option C — gibt Marvin Zeit die Migration ohne Druck zu fahren, Lambda + alle Commits bleiben erhalten.

Offene TODOs nach dieser Session

TODOWerWo
Vault-Push: Repo-Divergenz-Entscheidung treffenMarvinnaechste Session
agents-platform git push origin mainMarvindirekt, sandbox-blocked fuer Agent
/plugin update in Claude Code nach Vault-SyncMarvindirekt
Beleg-Pipeline Session 2 (Gmail-API + PDF)Marvin + Agentbald
Bei daily-briefing Mi 13.05. 9:30 — Format-CheckMarvin (passiv)morgen

Lessons-Learned + verdichtetes Wissen

In eigenem File: aws-lambda-cron-fallstricke

Kurz hier:

  • Bedrock Inference-Profile-ARN braucht Account-ID-Slot (Cross-Region-Profiles sind per-Account materialisiert, nicht service-owned wie Foundation-Models)
  • Secrets-Manager-ARN braucht -* Suffix (zufaelliges 6-char-Suffix pro Secret)
  • Bedrock Modell-ID braucht Date-Tag (eu.anthropic.claude-haiku-4-5-20251001-v1:0, nicht claude-haiku-4-5-v1:0)
  • EventBridge ohne Timezone → Berlin-Cron via 2 UTC-Trigger (7:30 + 8:30) + Handler-Check
  • Lambda braucht keinen pip-Bundle wenn nur stdlib + boto3 + urllib3 — kein CDK-Bundling, kein Docker
  • Gmail-OAuth fuer Lambda = nested Bundle (refresh_token + client_id + client_secret + token_uri), nicht nur refresh_token alleine

Artefakte

Code-Files (agents-platform)

DateiStatus
layers/agentic-common/python/agentic_common/logging.pynew
layers/agentic-common/python/agentic_common/secrets.pynew
layers/agentic-common/python/agentic_common/telegram.pyrewritten (was Skeleton)
layers/agentic-common/python/agentic_common/bedrock.pynew
lambdas/beleg-pipeline/main.pyrewritten (Heartbeat + Bedrock-Probe)
lambdas/daily-briefing/*.pynew (5 Helper + main + requirements)
infra/lib/agent-construct.tsIAM-Fix
infra/lib/beleg-pipeline-stack.tsEnv-Vars erweitert
infra/lib/daily-briefing-stack.tsnew
infra/bin/app.tsCross-Stack-Konstanten + DailyBriefingStack-Instanzierung

Vault-Files

DateiStatus
intern/capabilities/skills/routine-anlegen/SKILL.mdnew
intern/capabilities/skills/_index.mdupdated (Eintrag fuer Skill)
intern/capabilities/agents-platform.mdupdated (Stand-Tabelle + Verlauf + Aktive Agents)
intern/projekte/daily-briefing/_index.mdnew
intern/runs/2026-05-12-.../_index.mdnew (dieser Run-Bericht)
intern/wissen/prozesse/aws-lambda-cron-fallstricke.mdnew (verdichtetes Wissen)
intern/projekte/email-agent/next-session-prompt.mdrewritten (Session 2 Prompt)

GitHub-API-Commits (Lambda + gh CLI direkt auf Remote)

  • 72b9d4a — Lambda hat operations/briefings/2026-05-12.md via github_client.upsert_file() committed (Briefing-Archiv)
  • 5f40fad — gh CLI hat operations/action-items.md mit lokaler Plugin-Cache-Version + agents-platform-Section ersetzt

AWS-Resources

  • 2 Stacks (BelegPipelineStack, DailyBriefingStack)
  • 2 Lambda-Functions (agent-beleg-pipeline, agent-daily-briefing)
  • 2 EventBridge-Rules
  • 2 IAM-Roles + ExecutionRole-Policies
  • 1 Lambda-Layer (agentic-common, ARM_64, Python 3.12) — wird von beiden Stacks instanziiert (eigene LayerVersions, koennte spaeter in einen LayersStack extrahiert werden)

0 Dateien in diesem Ordner.