Delete Rows
baatjie_deletePermanently delete rows matching a filter. Requires confirm=true and at least one filter; records deletion in tanOS audit log.
Instructions
Permanently delete rows matching a filter. Requires confirm=true and at least one filter. Recorded in tanOS audit_log.
Deletes are irreversible and there is no soft-delete on these tables. Prefer a status change (baatjie_update) over deletion wherever the schema has a status column — the ledger is append-only by design, and payment corrections belong as compensating rows rather than deletions.
Args:
project ('tanos' | 'sigsche'): Which system
table (string): Target table
filters (Filter[]): Which rows to delete — must not be empty
confirm (boolean): Must be true; guards against accidental invocation
actor (string): Who is deleting, for the audit trail
response_format ('markdown' | 'json'): Output format
Returns: { "ok": true, "table": string, "action": "delete", "affected": number, "audit_logged": boolean }
Error Handling:
confirm=false returns an explanation without deleting anything
Foreign key violations name the dependent rows blocking the delete
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actor | No | Who is performing this write, recorded in tanOS audit_log (e.g. 'baatjie', 'marius-ai', 'deon-ai') | mcp |
| table | Yes | Target table | |
| confirm | No | Must be true to actually delete | |
| filters | No | Filters combined with AND. Example: [{"column":"status","op":"eq","value":"open"}] | |
| project | Yes | Which system: 'tanos' (property OS, pipeline, sequencing) or 'sigsche' (signal scheduler) | |
| response_format | No | Output format: 'markdown' for human-readable, 'json' for machine-readable | markdown |