Undo, history & the audit log
How undo/redo works in shadow-planner, what can't be undone, and the audit log that records every change — yours and the AI's — with who, what, when and why.
Letting an AI write into your plan only works if you can see — and reverse — everything it does. shadow-planner gives you two complementary tools: undo/redo to take changes back, and the audit log to understand what happened and why.
Undo and redo
Undo and Redo sit in the Gantt toolbar, with the usual shortcuts: Ctrl/Cmd+Z to undo, Ctrl+Y or Ctrl/Cmd+Shift+Z to redo (active while the Gantt is the current view).
- One undo = one operation, including its knock-on effects. A bar drag that shifted four dependent tasks undoes as a single step; so does one chat-assistant change.
- AI changes are on the same stack as yours, and the tooltip names the actor — "Undo: chat agent · Created epic 'Onboarding' + 8 stories" versus "Undo: you — Moved task 'Design review'".
- Undoing a delete restores the same entity, with its dependencies, references and labels intact.
- The history is per scenario, 50 steps deep, and survives reload and restart. Any new change clears the redo side.
What can't be undone
Some operations are barriers: undo stops at them (the button explains why and points you to snapshots) rather than skipping past. The big ones: creating/deleting/restoring scenarios, bulk imports, materialising an AI-drafted plan, and settings or license changes. Before any of those, take a snapshot.
If the data changed in the meantime, undo refuses loudly with a clear message instead of applying something stale — nothing is ever half-applied.
The audit log
Every write to your plan — a button click, a chat-assistant tool call, a planning-agent materialisation, an undo — becomes a human-readable audit entry recording who (you, the chat agent, the planning agent, undo/redo), what changed, when, and for AI actions why: the entry carries the tool used, an excerpt of your prompt and of the assistant's reasoning. AI deletes even cross-reference the approval you gave.
Where to find it:
- Full view — settings gear menu → Audit Log: a filterable table (date range, actor, entity type, free-text search); clicking a row opens the full detail with the change diff.
- Per entity — project and epic dashboards have a History button showing just that entity's trail.
- In the chat — every database write appears in the transcript with a WRITE badge as it happens.
Retention is yours to control in Settings → Audit Log: keep entries for a year (the default), forever, or purge on demand. Secrets like API keys never appear in entries — they are always redacted.
One distinction worth keeping straight: the audit log is the record, undo is the lever, and snapshots are the insurance for everything undo can't reach.