{"approved_count":1,"auto_restore_enabled":false,"count":3,"counts_by_state":{"approved":1,"pending":2},"errors":[],"pending":[{"approver":"Elric","item":"Outreach mass send","note":"20-email gate remains locked","status":"LOCKED","type":"mass_send"},{"approver":"Elric","item":"Git merge / push","note":"No force pushes without operator approval","status":"APPROVAL_REQUIRED","type":"git_merge"},{"approver":"Elric","item":"Z640 wake for production","note":"live observation active; no WOL from this view","status":"APPROVED","type":"device_wake"},{"approver":"Elric","item":"APV-MUSIC-20260630","note":"data/approvals/pending/APV-MUSIC-20260630.json","status":"PENDING","type":"approval_record"},{"approver":"Elric","item":"APV-P40-REVIEW-20260630","note":"data/approvals/pending/APV-P40-REVIEW-20260630.json","status":"PENDING","type":"approval_record"},{"approver":"Elric","item":"APV-MIGRATION-MEETINGS-20260630","note":"data/approvals/processed/APV-MIGRATION-MEETINGS-20260630.json","status":"APPROVED","type":"approval_record"}],"pending_count":2,"read_only":true,"records":[{"action":"Enable music generation for Productions pipeline (Suno AI / HeartMuLa)","affected":"Productions pipeline \u2014 music generation requires paid Suno API access or HeartMuLa credentials","agent":"Hermes (Productions)","category":"paid_api_use","cost":"Suno API: ~$10/month for commercial use. HeartMuLa: free but requires setup.","created":"2026-07-07T22:07:56.778685+00:00","evidence":"Issue #5 Productions pipeline. Music is listed as NOT_STARTED. Requires credentials decision.","host":"Z640","id":"APV-MUSIC-20260630","path":"data/approvals/pending/APV-MUSIC-20260630.json","read_only":true,"risk":"MEDIUM","rollback":"Disable music generation route in productions pipeline","state":"pending"},{"action":"P40 GPU power limit \u2014 HISTORICAL MANUAL REVIEW (not auto-restore)","affected":"P40 GPU /dev/nvidia1 \u2014 root crontab has -pl 200 (was 250W per PTW-001)","agent":"Hermes","category":"historical_manual_review","cost":"0","created":"2026-06-30T16:05:24.727949+00:00","do_not_auto_restore":true,"evidence":"PTW-001 originally set 250W. Z640 stability concerns documented in SESSION.md and GOVERNANCE.md. Do NOT auto-restore. Elric to review after Z640 stability assessment.","host":"Z640","id":"APV-P40-REVIEW-20260630","path":"data/approvals/pending/APV-P40-REVIEW-20260630.json","read_only":true,"risk":"HIGH \u2014 Z640 has documented stability concerns (QPI/interconnect degradation, 24 reboots in 24h on 2026-06-29). Restoring to 250W may increase thermal/PSU load on unstable hardware. Manual review required.","rollback":"sudo nvidia-smi -i 1 -pl 200 (revert to current)","state":"pending"},{"action":"Apply PostgreSQL migration: 20260630_controlled_council_meetings.sql","additive_only":true,"affected":"9 new tables + 1 enum type + 5 indexes. No existing tables are dropped, altered, or reset. All CREATE statements use IF NOT EXISTS.","agent":"Hermes (Desktop Integration)","category":"database_write","cost":"0","created":"2026-06-30T17:10:00Z","database":"aegis_db","decided_at":"2026-06-30T17:48:34.230036+00:00","decided_by":"Elric","decision":"approved","evidence":"Validated against an ISOLATED temporary PostgreSQL 16.14 instance (socket-only, under /tmp, never miniF/aegis_db, never the local main cluster). Verified: clean apply, idempotent re-apply (exit 0), all 9 tables, enum with 11 labels, 5 indexes, 10 foreign keys, all timestamps TIMESTAMPTZ, append-only transcript+audit, full lifecycle round-trip durable across repository-object recreation. Tests: 34/34 pass (21 controlled-meeting + 9 postgres durability + 4 desktop serialization).","host":"miniF (192.168.0.244)","id":"APV-MIGRATION-MEETINGS-20260630","migration_path":"migrations/postgresql/20260630_controlled_council_meetings.sql","path":"data/approvals/processed/APV-MIGRATION-MEETINGS-20260630.json","production_untouched":"miniF aegis_db was NEVER connected during validation. Local main cluster (5432) stayed DOWN.","read_only":true,"risk":"LOW \u2014 additive only. No existing data is modified. All tables are new. pgcrypto extension is created with IF NOT EXISTS.","rollback_approach":"EMERGENCY MANUAL RECOVERY ONLY \u2014 see docs/council/CONTROLLED_MEETINGS_ROLLBACK.md. Backup-first, dependency-inspected, NON-CASCADE drops in child-first order, explicit operator confirmation. No automatic rollback UI action. No DROP ... CASCADE button.","rollback_doc":"docs/council/CONTROLLED_MEETINGS_ROLLBACK.md","schema":"public","state":"approved","tables_to_be_created":["council_meetings","meeting_participants","meeting_agenda_items","meeting_turns","meeting_evidence","meeting_decisions","meeting_votes","meeting_actions","meeting_audit_events"],"target_host":"miniF (192.168.0.244)","validation_database":"isolated temporary PostgreSQL (socket-only, /tmp/aegis_meetings_pgtest, db meetings_test)"}]}
