-- Seed: Phase-1-Agent-Identitäten (DEV-607). -- -- Diese drei Agents sind der minimale Satz für den Phase-1-End-to-End-Smoke: -- agent-approval-service — signiert Approval-Attestations. -- agent-testagent-transform — signiert Transform-Attestations. -- agent-dummy-sink — Mock-Senke (`sink:dummy-sink`), signiert -- handover-Attestations. -- -- Namespace `agent-trust` ist mit deploy/signing-service/ und deploy/trillian/ -- konsistent. pocket_id_client ist der stabile OIDC-client_id, den Pocket ID -- für diesen Agent ausstellt — in Phase 1 identisch zum agent_id-Slug, -- Subtask 7 (Agent-Registry-HTTP-API / Pocket-ID-Provisionierung) kann -- diesen Wert später per UPDATE angleichen, wenn Pocket ID eine andere -- client_id erzwingt. -- -- Dieser Seed berührt agent_keys NICHT. Die Signatur-Schlüssel landen über -- die Rotations-Pipeline (`services/signing-service` Admin-Pfad, Phase 2). -- Idempotent: ON CONFLICT (agent_id) DO NOTHING, damit mehrfaches Einspielen -- und ein `migrate down 2 && migrate up` den Seed nicht duplizieren. INSERT INTO agents (agent_id, pocket_id_client, k8s_namespace, k8s_service_account, display_name, allowed_actions) VALUES ('agent-approval-service', 'agent-approval-service', 'agent-trust', 'approval-service', 'Approval Service', ARRAY['expense.submit']), ('agent-testagent-transform', 'agent-testagent-transform', 'agent-trust', 'testagent-transform', 'Test Agent (Transform)', ARRAY['expense.normalize', 'expense.map_to_sink']), ('agent-dummy-sink', 'agent-dummy-sink', 'agent-trust', 'dummy-sink', 'Dummy Sink (sink:dummy-sink)', ARRAY['expense.post']) ON CONFLICT (agent_id) DO NOTHING;