Category: manage | Epic: 1 | Priority: medium
Summary
Soft-delete a Universe and all its contents by setting canon_level to
'retconned'. Requires confirmation and displays impact warning.
Hard delete available with --hard flag for admin use.
Acceptance Criteria
Dependencies
This use case depends on:
Implementation
Layer: 3
Files to modify:
packages/cli/src/monitor_cli/commands/manage/universe.py
NEO4J Operations:
neo4j_get_universe_stats (authority: *)
neo4j_soft_delete_universe (authority: CanonKeeper)
neo4j_hard_delete_universe (authority: CanonKeeper)
Notes:
- Soft delete is reversible (set canon_level back to 'canon')
- Consider adding neo4j_restore_universe for undo
- Hard delete should be rare and logged
Testing Requirements
Minimum coverage: 80%
Unit tests:
- test_soft_delete_universe: sets retconned status
- test_soft_delete_cascades: child nodes also retconned
- test_delete_confirmation_required: fails without confirm
- test_hard_delete: permanently removes nodes
- test_delete_not_found: 404 handled gracefully
Integration tests:
- test_delete_universe_cli: CLI confirmation flow works
- test_deleted_universe_hidden: excluded from queries
References
Documentation:
Generated from /home/sebas/monitor2/docs/use-cases/manage/M-8.yml
Category: manage | Epic: 1 | Priority: medium
Summary
Soft-delete a Universe and all its contents by setting canon_level to
'retconned'. Requires confirmation and displays impact warning.
Hard delete available with --hard flag for admin use.
Acceptance Criteria
Dependencies
This use case depends on:
Implementation
Layer: 3
Files to modify:
packages/cli/src/monitor_cli/commands/manage/universe.pyNEO4J Operations:
neo4j_get_universe_stats(authority: *)neo4j_soft_delete_universe(authority: CanonKeeper)neo4j_hard_delete_universe(authority: CanonKeeper)Notes:
Testing Requirements
Minimum coverage: 80%
Unit tests:
Integration tests:
References
Documentation:
Code:
packages/data-layer/src/monitor_data/tools/neo4j_tools.pyGenerated from
/home/sebas/monitor2/docs/use-cases/manage/M-8.yml