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:
- Beleg-Pipeline Session 1/4 durch — Layer-Code (
logging,secrets,telegram,bedrock) live, Heartbeat-Push laeuft alle 15 Min. routine-anlegenSkill angelegt — eingehender Generator-Skill der die naechsten Cron-Routinen auf 20-40 Min Brief-zu-Smoke verkuerzt.daily-briefingRoutine 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
| Block | Was | Outcome |
|---|---|---|
| 1 | Telegram-Bot-Token via @BotFather | Bot marvin_aiops_17332026_bot live, Chat-ID 8257793678, Secret in SM |
| 2 | Gmail-OAuth-Refresh-Bundle aus mcp-gsuite-Files | Beide Konten + client_id/secret als nested Dict in SM |
| 3 | Layer-Code Foundations (4 Module) | logging.py, secrets.py, telegram.py, bedrock.py — alle lokal gesmoked |
| 4 | Stack-Update + erstes Deploy | TELEGRAM_CHAT_ID Env-Var + Secret-Namen, BEDROCK_MODEL_ID korrigiert |
| 5 | Lambda-Smoke fehl: 401/403 IAM | 2 ARN-Bugs entdeckt: Inference-Profile fehlt Account-Slot, Secrets-ARN fehlt -* |
| 6 | IAM-Fix + Re-Deploy | status: ok, Bedrock 848ms, Telegram message_id=5 |
| 7 | Commit beider Repos, Vault-Doku update | 24abf59 + e0f1c57 lokal |
| 8 | routine-anlegen Skill konzipiert + geschrieben | SKILL.md mit 3 Phasen, hardcoded Defaults |
| 9 | Erste Routine via Skill: daily-briefing | 5 Helper-Module + main.py + Stack + Vault-Stub |
| 10 | DailyBriefingStack deploy + Smoke (force_run) | status: ok, 2 Events + 13 Mails, Bedrock-Summary, Telegram raus |
| 11 | GitHub-PAT eingespielt | Auch action-items + Vault-Archiv funktional |
| 12 | Re-Smoke mit echtem PAT | archived: true, Lambda hat operations/briefings/2026-05-12.md direkt auf GitHub committed |
| 13 | action-items.md auf GitHub aktualisiert | Lokale Master-Liste + agents-platform-Section gepushed (commit 5f40fad) |
| 14 | RAM-Cleanup | 2 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-commonmit 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 ueber58e77a7 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,4a01cfdetc.) - Plus heute auf Remote zusaetzlich: Lambda-Commit
72b9d4a(briefing-archive), gh-CLI-Commit5f40fad(action-items)
git pull --rebase produziert grossen Merge-Mess. Drei Optionen siehe repo-divergenz-vault-v14 (Detail dort, kurz hier):
| Option | Was 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 weiter | Sauberer 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
| TODO | Wer | Wo |
|---|---|---|
| Vault-Push: Repo-Divergenz-Entscheidung treffen | Marvin | naechste Session |
agents-platform git push origin main | Marvin | direkt, sandbox-blocked fuer Agent |
/plugin update in Claude Code nach Vault-Sync | Marvin | direkt |
| Beleg-Pipeline Session 2 (Gmail-API + PDF) | Marvin + Agent | bald |
| Bei daily-briefing Mi 13.05. 9:30 — Format-Check | Marvin (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, nichtclaude-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)
| Datei | Status |
|---|---|
layers/agentic-common/python/agentic_common/logging.py | new |
layers/agentic-common/python/agentic_common/secrets.py | new |
layers/agentic-common/python/agentic_common/telegram.py | rewritten (was Skeleton) |
layers/agentic-common/python/agentic_common/bedrock.py | new |
lambdas/beleg-pipeline/main.py | rewritten (Heartbeat + Bedrock-Probe) |
lambdas/daily-briefing/*.py | new (5 Helper + main + requirements) |
infra/lib/agent-construct.ts | IAM-Fix |
infra/lib/beleg-pipeline-stack.ts | Env-Vars erweitert |
infra/lib/daily-briefing-stack.ts | new |
infra/bin/app.ts | Cross-Stack-Konstanten + DailyBriefingStack-Instanzierung |
Vault-Files
| Datei | Status |
|---|---|
intern/capabilities/skills/routine-anlegen/SKILL.md | new |
intern/capabilities/skills/_index.md | updated (Eintrag fuer Skill) |
intern/capabilities/agents-platform.md | updated (Stand-Tabelle + Verlauf + Aktive Agents) |
intern/projekte/daily-briefing/_index.md | new |
intern/runs/2026-05-12-.../_index.md | new (dieser Run-Bericht) |
intern/wissen/prozesse/aws-lambda-cron-fallstricke.md | new (verdichtetes Wissen) |
intern/projekte/email-agent/next-session-prompt.md | rewritten (Session 2 Prompt) |
GitHub-API-Commits (Lambda + gh CLI direkt auf Remote)
72b9d4a— Lambda hatoperations/briefings/2026-05-12.mdviagithub_client.upsert_file()committed (Briefing-Archiv)5f40fad— gh CLI hatoperations/action-items.mdmit 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 einenLayersStackextrahiert werden)
Related
- agents-platform — Plattform-Konstrukt
- SKILL — der Generator-Skill
- _index — Beleg-Pipeline (Sessions 2-4 pending)
- _index — Daily Briefing Routine
- aws-lambda-cron-fallstricke — Lessons-Learned
~/source/agents-platform/— Code-Repo- https://github.com/agentic-ventures/agents-platform — GitHub
- https://github.com/marvin-khl/agentic-ventures — Vault-Repo (mit Repo-Divergenz, siehe oben)