Add safe import checkpoints and invariant validation
Add safe bulk import checkpoints, invariant validation, and rollback-on-failure behavior.
sqlite-utils-safe-import-checkpoints
Normalized profile
What this task asks for
Add safe bulk import checkpoints, invariant validation, and rollback-on-failure behavior. Create safe-import checkpoints that restore data and schema changes exactly on failure. Support nested checkpoint creation, commit, rollback, cleanup, and distinct inactive or unknown checkpoint errors. Persist table invariants and evaluate SELECT, aggregate, or row-level expressions with structured failure details. Add safe bulk insert, upsert, CSV import, and JSON import operations with strict and non-strict behavior. Expose safe-import and invariant management commands plus safe-mode options for insert, upsert, and bulk. Exit successfully only when safe-mode writes commit while invariant validation commands always exit zero.
Intent
- feature implementation
- configuration tuning
- data transformation
- test and validation
Work surfaces
- CLI
- database schema
- serialization
- validation layer
- library API
Technology
- sqlite-utils
- SQL
Expected artifacts
- repository patch
What makes it difficult
- strict behavioral compatibility or exact-output validation
- stateful behavior and data-integrity constraints
- specialized algorithmic or domain reasoning
- changes span multiple components or interfaces
Published evidence
Model × harness outcomes
Counts are tied to these exact configurations. Harnesses are not treated as equivalent across benchmarks.
- Models
- 13
- Configurations
- 41
- Trials
- 164
Showing 41 of 41 configurations
| Model | Harness | Effort | Result | Passes |
|---|---|---|---|---|
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | low | Mixed | 3/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | low | Mixed | 1/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| claude-sonnet-4-6anthropic | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gemini-3-1-pro-previewvertex_ai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gemini-3-5-flashvertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 1/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | max | Mixed | 1/4 |
| gpt-5-4openai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | low | Mixed | 1/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | low | Mixed | 1/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | low | Mixed | 1/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| kimi-k2-7-codeopenrouter | mini-swe-agentpublished configuration | default | Mixed | 1/4 |