mirror of
https://github.com/himanshudongre/smriti.git
synced 2026-08-28 05:14:59 +00:00
Two rounds of agent-handoff dogfood testing surfaced that Smriti had no way to delete spaces, sessions, or checkpoints via any surface. This adds DELETE endpoints to the V2/V4 API, new CLI commands, and UI affordances on the workspace overview and chat history panel so the daily cleanup path does not require opening a Python shell. Checkpoint delete refuses with 409 Conflict when child commits or forked sessions reference the target, because silently orphaning them would cause walk_ancestors to collapse lineage and forked sessions to lose isolation. The refusal is escaped via ?cascade=true on the API, --cascade on the CLI, and a two-step confirm with a dependents list plus checkbox in the UI modal. Space delete relies on the existing DB-level cascade chain from the earlier commit/session/turn migrations — no new Alembic migration is needed. Session delete cascades turn events but preserves commits authored by the session, since commits are space-owned artifacts. 14 integration tests cover cascade correctness, 409 refusal, the cascade escape hatch, cross-user 404s, subtree ordering, and idempotency. Existing tests pass unchanged (143/143).
52 lines
506 B
Text
52 lines
506 B
Text
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*.egg-info/
|
|
*.egg
|
|
dist/
|
|
build/
|
|
.venv/
|
|
venv/
|
|
*.so
|
|
|
|
# Environment
|
|
.env
|
|
|
|
# Node
|
|
node_modules/
|
|
npm-debug.log*
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
.claude/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Docker
|
|
docker-compose.override.yml
|
|
|
|
# Pytest
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
|
|
# Alembic
|
|
# Keep versions dir but not .pyc inside it
|
|
backend/config/providers.yaml
|
|
|
|
# Logs — never stage
|
|
runtime_logs/
|
|
test_artifacts/
|
|
backend/backend_logs.txt
|
|
backend/backend.log
|
|
test_diagnostics.log
|
|
*.log
|
|
|
|
|
|
|