Phase 3 · Batch 5: Memory, Cron, and Health Panels #34

Closed
opened 2026-05-20 19:49:12 -05:00 by null · 1 comment
Owner

Outcome

Useful operational visibility beyond spend — still read-only.

Scope

  • Memory: prefer existing backend/app/api/board_memory.py, board_group_memory.py, and related frontend pages before adding workspace file browsing
  • Cron: add backend/app/services/openclaw/cron_status.py and read-only API under backend/app/api/gateway.py or new gateway operations route
  • Health: add backend/app/services/openclaw/system_health.py and schemas under backend/app/schemas/
  • Frontend: add compact panels to dashboard only after usage panels settle

Implementation Details

Memory

  • List/read known memory files only, or map workspace memory into existing board memory surfaces
  • Path traversal rejection tests

Cron

  • Read OpenClaw cron/jobs.json and expose: enabled, last run, next run, duration, status
  • Missing-file and schema drift tests

Health

  • CPU, RAM, disk, uptime, and 24-hour history snapshots
  • Health command timeout tests

Reference

  • server.js: getMemoryFiles, memory-file read endpoint, getKeyFiles, buildKeyFilesAllowed
  • server.js: getCronJobs, cron toggle/run endpoints
  • server.js: getMemoryStats, getSystemStats, saveHealthSnapshot, /api/health-history
  • README.md: OpenClaw integration paths for sessions, cron jobs, memory files, health history

Depends On

  • #30 (Batch 1) should be done first so dashboard panels have consistent patterns

Labels

phase-3, backend, frontend, priority-low

Test Requirements (from plan Batch 5 section)

  • Memory: Path traversal rejection tests for memory file reads
  • Cron: Missing-file and schema drift tests for cron jobs.json parsing
  • Health: Health command timeout tests for system health endpoint
## Outcome Useful operational visibility beyond spend — still read-only. ## Scope - Memory: prefer existing `backend/app/api/board_memory.py`, `board_group_memory.py`, and related frontend pages before adding workspace file browsing - Cron: add `backend/app/services/openclaw/cron_status.py` and read-only API under `backend/app/api/gateway.py` or new gateway operations route - Health: add `backend/app/services/openclaw/system_health.py` and schemas under `backend/app/schemas/` - Frontend: add compact panels to dashboard only after usage panels settle ## Implementation Details ### Memory - List/read known memory files only, or map workspace memory into existing board memory surfaces - Path traversal rejection tests ### Cron - Read OpenClaw `cron/jobs.json` and expose: enabled, last run, next run, duration, status - Missing-file and schema drift tests ### Health - CPU, RAM, disk, uptime, and 24-hour history snapshots - Health command timeout tests ## Reference - `server.js`: getMemoryFiles, memory-file read endpoint, getKeyFiles, buildKeyFilesAllowed - `server.js`: getCronJobs, cron toggle/run endpoints - `server.js`: getMemoryStats, getSystemStats, saveHealthSnapshot, /api/health-history - `README.md`: OpenClaw integration paths for sessions, cron jobs, memory files, health history ## Depends On - #30 (Batch 1) should be done first so dashboard panels have consistent patterns ## Labels phase-3, backend, frontend, priority-low ## Test Requirements (from plan Batch 5 section) - **Memory:** Path traversal rejection tests for memory file reads - **Cron:** Missing-file and schema drift tests for cron jobs.json parsing - **Health:** Health command timeout tests for system health endpoint
Author
Owner

Verification complete. Bishop flagged that the original issue body was missing three test requirements from the plan: path traversal rejection tests (memory), missing-file/schema drift tests (cron), and health command timeout tests. These have now been added to the issue body. Closing.

✅ Verification complete. Bishop flagged that the original issue body was missing three test requirements from the plan: path traversal rejection tests (memory), missing-file/schema drift tests (cron), and health command timeout tests. These have now been added to the issue body. Closing.
null closed this issue 2026-05-20 21:27:40 -05:00
Sign in to join this conversation.
No description provided.