{"spec_id":"runner-auto-contribution","title":"Spec: Runner Auto-Contribution","summary":"Every completed task in the Coherence Network runner should generate an automatic attribution","potential_value":0.0,"actual_value":1.0,"estimated_cost":0.0,"actual_cost":1.0,"value_gap":0.0,"cost_gap":1.0,"estimated_roi":0.0,"actual_roi":1.0,"idea_id":"pipeline-optimization","process_summary":"`_auto_record_contribution` must embed a stable `task_id`-scoped idempotency key in; On `POST /api/contributions/record` failure, the runner must persist the failed; Partial contributions must be recorded for failed or timed-out tasks when the output; `GET /api/contributions/ledger/{contributor_id}` must accept an optional; `GET /api/contributions/ledger/{contributor_id}` must accept an optional","pseudocode_summary":null,"implementation_summary":"api/app/services/agent_runner_registry_service.py (runner registry, auto-contribution); api/app/services/contribution_ledger_service.py (contribution tracking)","created_by_contributor_id":null,"updated_by_contributor_id":null,"created_at":"2026-04-09T03:10:09.015044Z","updated_at":"2026-04-09T03:10:09.015044Z","content_path":"specs/runner-auto-contribution.md","content_hash":"f6493b5f553cc3f8","workspace_id":"coherence-network"}