Skip to content

Diagnosable battery legs: boot budget, restore-leg log tail, commit-gate doctor capture - #964

Merged
VijitSingh97 merged 1 commit into
develop-v2from
fix/battery-final-legs
Aug 14, 2026
Merged

Diagnosable battery legs: boot budget, restore-leg log tail, commit-gate doctor capture#964
VijitSingh97 merged 1 commit into
develop-v2from
fix/battery-final-legs

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

Three fixes from the final battery run — all diagnosis-or-budget, none changing what is tested:

  • The boot phase's first SSH gets 420s: the run's very FIRST cold boot (6 GiB hugepages + repart growing /data + wizard unpack + host-key generation) missed 240s under full-battery host load while answering moments later — third budget iteration, now sized to the actual worst case observed.
  • The restore leg prints the guest's backup-log tail on failure — its first live run failed with no reachable reason once the VM recycled (exactly the undiagnosable-failure class the harness history warns about).
  • pithead-boot's commit gate writes doctor's verdicts to /run/pithead-boot-doctor.json instead of discarding them: when the gate never passes, the last failing run names the exact blocking check. The migration-leg deadlock is currently undiagnosable precisely because this output was thrown away; this is the instrument for that investigation.

Ponytail: a number, a print, a redirect.

🤖 Generated with Claude Code

…l, gate doctor capture

Three fixes from the final battery run, all diagnosis-or-budget, no
behavior change to what is being tested:
- the boot phase's first SSH gets 420s: the run's very first cold boot
  (hugepages + repart + wizard unpack + key generation) missed 240s
  under full-battery host load while answering moments later.
- the restore leg prints the guest's backup-log tail on failure — its
  first live run failed with no reachable reason once the VM recycled.
- pithead-boot's commit gate writes doctor's verdicts to /run instead
  of discarding them: when the gate never passes, the last failing run
  names the exact blocking check (the migration-leg deadlock was
  undiagnosable without it).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@VijitSingh97
VijitSingh97 merged commit f99a743 into develop-v2 Aug 14, 2026
VijitSingh97 added a commit that referenced this pull request Aug 14, 2026
…backing it up

The leg assumed a fully-provisioned machine, but every reinstall — keep
included — returns to the wizard, and 'pithead backup' rightly refuses
there (no .env, no onion keys; the #964 log-tail named it). Drive the
same wizard HTTP flow a human would, ack the credentials card only if
one appears (a keep-machine keeps its login and may show none), wait
for the stack, then take the backup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@VijitSingh97
VijitSingh97 deleted the fix/battery-final-legs branch August 14, 2026 20:46
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