Phase 2a: Fix commands and vacuum diagnostic #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements the diagnose → fix → verify workflow for pgcrate:
pgcrate fix sequence- Upgrade sequence types (smallint → integer → bigint) to prevent exhaustionpgcrate fix index --drop- Safely drop unused/duplicate indexes with comprehensive safety checkspgcrate fix vacuum- Trigger vacuum operations (regular, freeze, full, analyze)pgcrate vacuum- New diagnostic for vacuum/bloat healthpgcrate triage --include-fixes- Get structured fix recommendations in triage outputSafety Model
All fix commands follow a gate system:
--read-writerequired for any mutations--primaryrequired to confirm connection to primary--yesrequired for medium/high risk operations (DROP INDEX, VACUUM FULL)Risk Levels
Key Files
src/commands/fix/- Fix command implementationssrc/commands/vacuum.rs- Vacuum diagnosticsrc/commands/triage.rs- Enhanced with--include-fixestests/diagnostics/fix.rs- 16 integration testsTest plan
cargo fmt --checkpassescargo clippy -- -D warningspasses