{"quest":{"id":"q-0a56575467b9","name":"Resource Governance","description":"Enforce hard resource limits on the VM — memory caps per analysis, CPU quotas, concurrent analysis limits, cumulative daily cost budgets, and auto-kill for runaway processes. Track and display resource usage in real-time. Prevent the VM from becoming unresponsive due to analysis load. Architecture should support future offloading to external compute (AWS Batch, Lambda, K8s) via a pluggable executor interface.\n\n[2026-04-09] See also q-resource-intelligence for the allocation DECISION layer (this quest handles enforcement/limits, that one handles value-based allocation).","layer":"Senate","priority":88,"status":"active","created_at":"2026-04-03T22:28:49.997411+00:00","updated_at":"2026-04-03T22:28:49.997411+00:00"},"tasks":[{"id":"743c503762b2","title":"[Senate] Add concurrent analysis limits and queue management","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"open","priority":5,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 06:07:23","updated_at":"2026-04-13T10:15:59.500041+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/743c503762b2_senate_add_concurrent_analysis_limits_a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}"},{"id":"45cc971eae28","title":"[Senate] Implement hard memory and CPU limits for analysis processes","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"open","priority":5,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 06:10:40","updated_at":"2026-04-13T10:15:59.496678+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/45cc971eae28_senate_implement_hard_memory_and_cpu_li_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}"},{"id":"ee9617a7dbd3","title":"[Senate] Add process watchdog that kills runaway analyses and orphaned processes","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"open","priority":4,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 06:03:30","updated_at":"2026-04-13T10:16:03.407970+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: ORPHAN_BRANCH — 1 commit(s) found but none on main; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ee9617a7dbd3_senate_add_process_watchdog_that_kills_spec.md","provider":"any","payload_json":"{}"},{"id":"7034fc7b952e","title":"[Senate] Build real-time resource monitoring dashboard","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"open","priority":4,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 06:12:30","updated_at":"2026-04-13T10:15:59.507183+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7034fc7b952e_senate_build_real_time_resource_monitor_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}"},{"id":"7dea0448787e","title":"[Senate] Implement daily cost budgets with auto-pause","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"open","priority":4,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 06:48:35","updated_at":"2026-04-13T10:15:59.503444+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7dea0448787e_senate_implement_daily_cost_budgets_wit_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}"},{"id":"aecf86227fab","title":"[Senate] Design executor plugin architecture for external compute scaling","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"open","priority":3,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 05:32:48","updated_at":"2026-04-13T10:15:59.510787+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/aecf86227fab_senate_design_executor_plugin_architect_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}"}],"reviews":[],"effectiveness":{},"spec_content":"---\ntitle: \"Quest: Resource Governance\"\ndescription: \"Enforce hard resource limits on the VM — memory caps per analysis, CPU quotas, concurrent analysis limits, cumulative daily cost budgets, and auto-kill for runaway processes. Track and display resourc\"\ntype: quest\nlayer: Senate\npriority: 88\nstatus: active\nquest_id: q-0a56575467b9\nspec_path: docs/planning/specs/quest_resource_governance_spec.md\n---\n\n# Quest: Resource Governance\n\n**Layer:** Senate\n**Priority:** P88\n**Status:** active\n**Tasks:** 6 total (0 done, 6 open)\n\n## Vision\n\nEnforce hard resource limits on the VM — memory caps per analysis, CPU quotas, concurrent analysis limits, cumulative daily cost budgets, and auto-kill for runaway processes. Track and display resource usage in real-time. Prevent the VM from becoming unresponsive due to analysis load. Architecture should support future offloading to external compute (AWS Batch, Lambda, K8s) via a pluggable executor interface.\n\n## Tasks\n\n- [ ] [Senate] Implement hard memory and CPU limits for analysis processes (P5)\n- [ ] [Senate] Add concurrent analysis limits and queue management (P5)\n- [ ] [Senate] Implement daily cost budgets with auto-pause (P4)\n- [ ] [Senate] Build real-time resource monitoring dashboard (P4)\n- [ ] [Senate] Design executor plugin architecture for external compute scaling (P3)\n- [ ] [Senate] Add process watchdog that kills runaway analyses and orphaned processes (P4)\n\n## Success Criteria\n\n- [ ] All tasks completed and verified\n- [ ] Integration tested end-to-end\n- [ ] Metrics visible on Senate/Quests dashboards\n- [ ] Design supports future scaling to external compute\n\n## Architecture Notes\n\nThis quest is designed with a **local-first, cloud-ready** philosophy:\n- All implementations must work on the current single VM\n- All interfaces must support future migration to containers/cloud\n- Resource limits are configurable, not hardcoded\n- Executor/sandbox abstractions allow swapping implementations\n\n## Work Log\n\n_No entries yet._\n","spec_html":"<div style=\"font-size:0.85rem\"><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h2 style=\"color:#4fc3f7;margin:1.5rem 0 0.6rem;font-size:1.2rem;font-weight:700\">Quest: Resource Governance</h2></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><strong style=\"color:#e0e0e0\">Layer:</strong> Senate\n<strong style=\"color:#e0e0e0\">Priority:</strong> P88\n<strong style=\"color:#e0e0e0\">Status:</strong> active\n<strong style=\"color:#e0e0e0\">Tasks:</strong> 6 total (0 done, 6 open)</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Vision</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">Enforce hard resource limits on the VM — memory caps per analysis, CPU quotas, concurrent analysis limits, cumulative daily cost budgets, and auto-kill for runaway processes. Track and display resource usage in real-time. Prevent the VM from becoming unresponsive due to analysis load. Architecture should support future offloading to external compute (AWS Batch, Lambda, K8s) via a pluggable executor interface.</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Tasks</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] Implement hard memory and CPU limits for analysis processes (P5)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] Add concurrent analysis limits and queue management (P5)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] Implement daily cost budgets with auto-pause (P4)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] Build real-time resource monitoring dashboard (P4)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] Design executor plugin architecture for external compute scaling (P3)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] Add process watchdog that kills runaway analyses and orphaned processes (P4)</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Success Criteria</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><div style=\"margin:0.2rem 0;color:#bbb\">&#9744; All tasks completed and verified</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Integration tested end-to-end</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Metrics visible on Senate/Quests dashboards</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Design supports future scaling to external compute</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Architecture Notes</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">This quest is designed with a <strong style=\"color:#e0e0e0\">local-first, cloud-ready</strong> philosophy:\n<ul style=\"padding-left:1.5rem;margin:0.4rem 0\"><li style=\"margin:0.15rem 0;color:#bbb\">All implementations must work on the current single VM</li>\n<li style=\"margin:0.15rem 0;color:#bbb\">All interfaces must support future migration to containers/cloud</li>\n<li style=\"margin:0.15rem 0;color:#bbb\">Resource limits are configurable, not hardcoded</li>\n<li style=\"margin:0.15rem 0;color:#bbb\">Executor/sandbox abstractions allow swapping implementations</li>\n</ul>\n<h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Work Log</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">_No entries yet._<br></p></div>","spec_file":"quest_resource_governance_spec.md","commits":[{"hash":"abc8d0179","message":"[Exchange] Verify /challenge broken links are false positives: all 36 pages return 200 [task:e5a1490f-9ab6-4275-a96b-bd34ceb84fcf]","date":"2026-04-17"},{"hash":"440d6072c","message":"[Senate] Final work log update: document branch push to remote [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"8eefea2c0","message":"[Atlas] Add redirects in api.py for /site/notebooks/ and root-level .ipynb URLs to /notebooks/ path [task:f92194bf-f23c-4bf3-97d4-676c02f5fb42]","date":"2026-04-17"},{"hash":"bdf2e04e8","message":"[Atlas] Document /mission HTTP 0 fix: already addressed in c5d7a696 [task:e50f7fed-ccde-4104-b98a-205bb500e792]","date":"2026-04-17"},{"hash":"f39b5d3b0","message":"[Atlas] Fix broken /entity links: clean corrupted data + add cleanup script [task:326c7abd-3ad2-4ae5-9a0e-e9981d611890]","date":"2026-04-17"},{"hash":"a4954541c","message":"Squash merge: orchestra/task/09b3a393-broken-links-in-api-http-0-30-links (1 commits)","date":"2026-04-17"},{"hash":"40b62c4b8","message":"[Atlas] Verify /api broken links: all 10 endpoints HTTP 200, no code changes needed [task:09b3a393-777f-4379-85c6-2bf55f6e69c0]","date":"2026-04-17"},{"hash":"6e54e1ccc","message":"On orchestra/task/326c7abd-broken-links-in-entity-http-400-64-links: stash unrelated changes","date":"2026-04-17"},{"hash":"53f087f8e","message":"index on orchestra/task/326c7abd-broken-links-in-entity-http-400-64-links: f3b466710 [Atlas] Add /mission→/missions redirect in api.py; confirm /mission broken links are false positives [task:c0d66faa-91be-41e3-909d-d6359c5b936e]","date":"2026-04-17"},{"hash":"58b5eb786","message":"[Atlas] Verify /analysis broken links: all 10 pages HTTP 200, false positive [task:a7c6d6d2-17bb-4e1c-b131-10677c65e9d0]","date":"2026-04-17"},{"hash":"0be6ce64a","message":"[Senate] Update spec work log: service verified operational, no code changes needed [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"53c7da02f","message":"Squash merge: orchestra/task/c13f680a-broken-links-in-site-http-404-198-links (1 commits)","date":"2026-04-17"},{"hash":"20a14e537","message":"[Atlas] Fix /site/notebooks/ 404 in api.py: add redirect to /notebooks/ route [task:c13f680a-60bf-49f3-aa42-a05602d77405]","date":"2026-04-17"},{"hash":"52e043bda","message":"Squash merge: orchestra/task/c5d7a696-broken-links-in-target-http-0-765-links (3 commits)","date":"2026-04-17"},{"hash":"aead3c46d","message":"[Atlas] Restore nb-top5- prefix-stripping fallback removed in prior commit [task:c5d7a696-2296-468a-83a2-2d3cabc6901e]","date":"2026-04-17"},{"hash":"1786c8cc4","message":"[Atlas] Wire up suppress_transient_http0_noise() in link checker to prevent false-positive tasks [task:c5d7a696-2296-468a-83a2-2d3cabc6901e]","date":"2026-04-17"},{"hash":"13c833f16","message":"[Atlas] Add redirects for /site/notebooks/ and root-level .ipynb URLs to /notebooks/ path [task:f92194bf-f23c-4bf3-97d4-676c02f5fb42]","date":"2026-04-17"},{"hash":"25d912117","message":"[Senate] Update spec work log: document MERGE GATE rebase fix [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"06151c073","message":"[Senate] Update spec: verify service operational, no code changes needed [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"dc15730ae","message":"[Atlas] Fix /notebook top5-SDA-* broken links: add prefix-stripping fallback in notebook_detail [task:c13f680a-60bf-49f3-aa42-a05602d77405]","date":"2026-04-17"}],"related_quests":[{"name":"Autonomous Engines","layer":"Senate","priority":93,"status":"active","description":"Orchestra-managed recurring scripts: debate engine, link checker, orphan checker, convergence monitor, visual regression, pubmed pipeline, metrics, health checks","task_count":4,"done_count":1},{"name":"Artifact Governance & Lifecycle Management","layer":"Senate","priority":93,"status":"active","description":"Establish a unified artifact governance system across SciDEX. Every first-class entity (gap, hypothesis, analysis, paper, dataset, wiki page, debate, squad finding) gets a universal artifact identity, full history tracking, merge/split/archive operations with decision audit trails, and content ownership by agents or squads.\n\nEXISTING INFRASTRUCTURE (to build on, not replace):\n- dedup_recommendations table: 297 pending merge candidates, zero executed\n- artifact_transforms table: 15 records tracking versions/lifecycle/deprecation\n- API endpoints: /api/dedup/{recommendations,approve,reject,scan}, /api/artifact-transforms\n- Lifecycle states: hypotheses (7 states), gaps (6 states), datasets (versioned via git)\n- governance_config table: 3 entries (ALLOCATION_THRESHOLD, REQUIRED_SIGNATURES, AUTHORIZED_SIGNERS)\n- edit_history table: schema exists, zero rows (never wired up)\n- quality_gate_results table: schema exists, zero rows\n\nGAP ANALYSIS (what's missing):\n1. No universal artifact registry — each type has its own ID scheme\n2. edit_history never wired up — no who-changed-what audit trail\n3. 297 dedup recommendations pending forever — no execution pipeline\n4. Lifecycle enforcement is manual/absent — only 1 of 337 hypotheses archived\n5. No content ownership model — artifacts are unowned\n6. No governance decision tracking — decisions happen but aren't recorded\n7. No automated garden maintenance — stale gaps, redundant hypotheses accumulate\n\nDESIGN PRINCIPLES:\n- Clean system APIs: every operation available via /api/ endpoints\n- Documented governance processes adopted by ALL subsystems\n- Agent-compatible: agents and squads can propose, vote, and execute decisions\n- Incremental: builds on existing tables, doesn't require big-bang migration\n- Auditable: every state change has a who/when/why trail","task_count":0,"done_count":0},{"name":"Resource Intelligence","layer":"Senate","priority":92,"status":"active","description":"Value-based resource allocation — continually evaluate the relative value of quests, tasks, \nhypotheses, gaps, and artifacts, then allocate LLM tokens, CPU, and disk proportionally.\n\nThis quest is the DECISION layer between:\n  - Economics (pricing signals, token economy) → tells us what things are WORTH\n  - Resource Governance (caps, quotas, enforcement) → tells us what we CAN spend\n  - Resource Intelligence (THIS) → decides what we SHOULD spend on\n\nCore loop:\n  1. Score every open task/quest by expected-value-per-token:\n     EV = (importance × tractability × downstream_impact) / estimated_cost\n  2. Rank by EV descending → priority queue\n  3. Allocate budget: top-k items get resources proportional to EV rank\n  4. After completion, measure actual impact → update EV model (feedback loop)\n\nSignals feeding the scorer:\n  - Elo tournament ratings (hypothesis quality signal)\n  - LMSR market prices (belief-weighted value)\n  - Gap value_if_resolved scores\n  - Quest priority × task count\n  - Historical cost-per-completion from resource_usage + cost_ledger\n  - Freshness: penalize stale items, boost newly-identified opportunities\n\nResources tracked:\n  - LLM tokens (by provider: max, codex, bedrock)\n  - CPU seconds (cgroup tracking via cgroup_isolation.py)\n  - Disk (artifact storage)\n  - Agent slots (concurrent execution capacity)\n\nConnects to:\n  - resource_allocations table (currently empty → needs populating)\n  - quest_resource_analyzer.py (correlates completion with consumption)\n  - monthly_resource_adjustment.py (periodic rebalancing)\n  - token_ledger.py (virtual economy)\n  - cost_ledger in orchestra.db (real spend)\n\nSpec: docs/planning/specs/q-resource-intelligence_spec.md","task_count":5,"done_count":4},{"name":"Work Governance","layer":"Senate","priority":90,"status":"active","description":"Comprehensive governance framework for tracking all work added to SciDEX — who did what, when, why, and at what cost. Includes commit-level provenance, agent accountability scores, automated quality checks, approval workflows, contradiction detection before KG modifications, rollback capability via kg_modifications log, artifact transform audit trail (merge/split/deprecate/supersede operations), supersession tracking, and dashboards showing contribution patterns.","task_count":8,"done_count":1},{"name":"Schema Governance","layer":"Senate","priority":88,"status":"active","description":"Agent-driven schema evolution through governance (propose, debate, vote, migrate). Linked to artifact_transforms for tracking schema change provenance. All schema changes recorded as artifact lifecycle events.","task_count":7,"done_count":7},{"name":"Code Health","layer":"Senate","priority":88,"status":"active","description":"Continuous code quality review without removing functionality. Archive dead code to cold storage (never delete), organize file sprawl into packages, consolidate duplicate functions, break apart api.py. Connected to artifact lifecycle governance — archival uses cold_store mechanism.","task_count":8,"done_count":7}]}