Skip to content

Comments

fix(kiloclaw): persist and display actual volume size, bump default to 20GB#507

Open
pandemicsyn wants to merge 5 commits intomainfrom
florian/fix/provision-disk-size
Open

fix(kiloclaw): persist and display actual volume size, bump default to 20GB#507
pandemicsyn wants to merge 5 commits intomainfrom
florian/fix/provision-disk-size

Conversation

@pandemicsyn
Copy link
Contributor

@pandemicsyn pandemicsyn commented Feb 24, 2026

Summary

  • Persist volumeSizeGb in the DO state so the dashboard displays the real provisioned disk size instead of a hardcoded value
  • Backfill existing instances via fire-and-forget Fly API calls in getStatus() (fast — within one poll cycle) and reconcileVolume() (catches idle instances)
  • Bump DEFAULT_VOLUME_SIZE_GB from 10 to 20 for new provisions
  • Dashboard badge now shows {volumeSizeGb} GB SSD dynamically, with a 10 GB fallback before backfill completes

Changes

  • kiloclaw/src/schemas/instance-config.ts — Add volumeSizeGb to PersistedStateSchema
  • kiloclaw/src/durable-objects/kiloclaw-instance.ts — Field, loadState, getStatus, backfill method, 4 volume creation sites, reconcileVolume backfill
  • src/lib/kiloclaw/types.ts — Add volumeSizeGb to PlatformStatusResponse
  • src/app/(app)/claw/components/InstanceControls.tsx — Dynamic disk size badge
  • src/app/(app)/claw/components/changelog-data.ts — Bugfix entry

…o 20GB

- Add volumeSizeGb to DO persisted state schema and getStatus response
- Backfill from Fly API via fire-and-forget in getStatus() and reconcileVolume()
- Persist volume size on all 4 creation paths (provision, ensureVolume, fork, replace)
- Display real volume size in dashboard badge (fallback 10GB before backfill)
- Bump DEFAULT_VOLUME_SIZE_GB from 10 to 20 for new provisions
…e is cleared

- Add backfillingVolumeSize in-flight guard to prevent duplicate Fly API calls
- Clear volumeSizeGb at all 6 sites where flyVolumeId is set to null (start 404,
  reconcileVolume 404, tryDeleteVolume, finalizeDestroy, replaceStrandedVolume,
  Postgres restore)
Prevents stale volume size from leaking via the API when
flyVolumeId has been cleared but volumeSizeGb persists in
legacy state.
@pandemicsyn pandemicsyn marked this pull request as ready for review February 24, 2026 22:27
@kiloconnect
Copy link
Contributor

kiloconnect bot commented Feb 24, 2026

Code Review Summary

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0
Issue Details (click to expand)

CRITICAL

File Line Issue
src/app/(app)/claw/components/changelog-data.ts 15 Unresolved merge conflict markers (<<<<<<< HEAD, =======, >>>>>>> main) will cause a runtime syntax error
Files Reviewed (7 files)
  • kiloclaw/src/app/(app)/claw/components/changelog-data.ts - 0 issues (new file, properly merged)
  • kiloclaw/src/durable-objects/kiloclaw-instance.ts - 0 issues
  • kiloclaw/src/schemas/instance-config.ts - 0 issues
  • src/app/(app)/claw/components/InstanceControls.tsx - 0 issues
  • src/app/(app)/claw/components/changelog-data.ts - 1 issue
  • src/app/(app)/claw/components/withStatusQueryBoundary.test.ts - 0 issues
  • src/lib/kiloclaw/types.ts - 0 issues

Fix these issues in Kilo Cloud

export const CHANGELOG_ENTRIES: ChangelogEntry[] = [
{
date: '2026-02-24',
<<<<<<< HEAD
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Unresolved merge conflict markers

This file contains <<<<<<< HEAD, =======, and >>>>>>> main conflict markers (lines 15–24). This will cause a runtime syntax error. The conflict needs to be resolved — likely by keeping both entries (as done in the kiloclaw/ copy of this file).

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.

1 participant