Feature: Auto-suspend idle sessions #10
Labels
No labels
blocked:gate-plan
blocked:gate-research
blocked:lint-failed
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:verify-failed
bug
chore
feature-request
in-progress
needs-research
ops-task
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/devforge#10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue
Running sessions consume resources indefinitely. Auto-suspending idle sessions would save resources.
Location
services/orchestrator/orchestrator.pyCurrent Implementation
Orchestrator only monitors but doesn't auto-stop sessions.
Proposed Solution
Implementation Details
Acceptance Criteria
Priority: Medium
Type: Feature
References: ROADMAP.md Resource Management
GSD VERIFY phase failed after 3 attempts.
═══ Gate: verify-passed (devforge#10) ═══
Mode: Tier 1 (functional only)
GATE OK: All gates up to 'implement' pass
── Tier 1: Functional ────────────────────────────────
Running tests...
❌ Tests failed (exit 1)
[41m[1m FAIL [22m[49m services/web/src/utils/terminalUtils.test.ts[2m > [22mterminalUtils[2m > [22mdecodeTerminalMessage[2m > [22mshould return empty Uint8Array for Blob input in sync decoder
[41m[1m FAIL [22m[49m services/web/src/utils/terminalUtils.test.ts[2m > [22mterminalUtils[2m > [22mdebug mode[2m > [22mshould return false when debug is not enabled
[41m[1m FAIL [22m[49m services/web/src/utils/terminalUtils.test.ts[2m > [22mterminalUtils[2m > [22mdebug mode[2m > [22mshould return true when debug is enabled
[41m[1m FAIL [22m[49m services/web/src/utils/terminalUtils.test.ts[2m > [22mterminalUtils[2m > [22mdebug mode[2m > [22mshould disable debug mode
[31m[1mReferenceError[22m: localStorage is not defined[39m
[36m [2m❯[22m services/web/src/utils/terminalUtils.test.ts:[2m12:5[22m[39m
[90m 10| [39m [34mbeforeEach[39m(() [33m=>[39m {
[90m 11| [39m vi[33m.[39m[34mrestoreAllMocks[39m()[33m;[39m
[90m 12| [39m localStorage[33m.[39m[34mclear[39m()[33m;[39m
[90m | [39m [31m^[39m
[90m 13| [39m })[33m;[39m
[90m 14| [39m
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/9]⎯[22m[39m
[2m Test Files [22m [1m[31m4 failed[39m[22m[2m | [22m[1m[32m1 passed[39m[22m[90m (5)[39m
[2m Tests [22m [1m[31m6 failed[39m[22m[2m | [22m[1m[32m4 passed[39m[22m[90m (10)[39m
[2m Start at [22m 01:39:58
[2m Duration [22m 645ms[2m (transform 512ms, setup 0ms, import 142ms, tests 11ms, environment 1ms)[22m
Running linter...
✅ Lint clean
⚠️ No type checker discovered
Previous test count: unknown
❌ GATE FAIL: verify-passed
- Tests failed with exit code 1
GATE FAIL: verify — blocked at 2026-05-21T08:40:00Z
Class: test-failure
Evidence: Verification failed: 1 failures
Git tag: devforge#10-gate-verify-fail-17424555cd2c (use gate-retry after fixing)
GSD RESEARCH phase could not determine a clear fix.
]11;?\Now I have the complete picture. Let me provide my evaluation:
STATUS: UNCLEAR
EVIDENCE:
The feature is partially implemented but non-functional:
Already exists:
last_activity_atfield on Session model (models.py:71-72)idle_timeout_hoursfield on Session model (models.py:74)HealthMonitor.cleanup_old_sessions()(health.py:182-203)idle_hours > session.idle_timeout_hours**Critical gap - activity tracking nev