Skip to content

feat(workflows): add sandbox reaper + cost report scheduled workflow#201

Closed
0xprames wants to merge 1 commit into
paradigmxyz:mainfrom
0xprames:workflow-playground-branch
Closed

feat(workflows): add sandbox reaper + cost report scheduled workflow#201
0xprames wants to merge 1 commit into
paradigmxyz:mainfrom
0xprames:workflow-playground-branch

Conversation

@0xprames

Copy link
Copy Markdown

A daily cron workflow that scans sandbox_sessions and posts a fleet digest to Slack: active count, breakdown by state and harness, active age buckets, long-idle sessions, terminal/reapable rows, and a rough cost estimate (active uptime x configurable pod-hour rate). Read-only — it reports; the API's orphan reaper does the reaping.

Auto-discovered as a built-in workflow. Inert by default: the schedule is skipped unless SANDBOX_REPORT_SLACK_CHANNEL is set. All knobs are env-tunable (SANDBOX_REPORT_CRON/_TZ/_IDLE_THRESHOLD_S, SANDBOX_POD_HOURLY_USD). Uses a checkpointed ctx.step snapshot and exactly-once ctx.post_to_slack delivery.

Tests cover aggregation, age bucketing, cost math, channel resolution, and rendering (pure logic, no DB).

A daily cron workflow that scans sandbox_sessions and posts a fleet digest
to Slack: active count, breakdown by state and harness, active age buckets,
long-idle sessions, terminal/reapable rows, and a rough cost estimate
(active uptime x configurable pod-hour rate). Read-only — it reports; the
API's orphan reaper does the reaping.

Auto-discovered as a built-in workflow. Inert by default: the schedule is
skipped unless SANDBOX_REPORT_SLACK_CHANNEL is set. All knobs are env-tunable
(SANDBOX_REPORT_CRON/_TZ/_IDLE_THRESHOLD_S, SANDBOX_POD_HOURLY_USD). Uses a
checkpointed ctx.step snapshot and exactly-once ctx.post_to_slack delivery.

Tests cover aggregation, age bucketing, cost math, channel resolution, and
rendering (pure logic, no DB).
@Zygimantass

Copy link
Copy Markdown
Member

We've merged the Rust rewrite in #344, meaning the old API and Slackbot services are deprecated. As such we're closing this PR - if you think this is a mistake, please reopen the PR and ping me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants