D - resources/scripts/sync-copilot-state.sh: rsync-based push/pull for
publish-log.tsv and project-ports-registry.json; dry-run by default;
reads remote config from env or ~/.copilot-resources-state/sync.conf;
excludes quarantine dir and machine-local log files
E - install/verify.sh: add checks for session end hook script and all three
history maintenance scripts (cleanup, restore, purge)
- session-audit.json: add SessionStop entry pointing to new end-of-session scripts
- report-hook-event-end.sh/.ps1: log payload to hook-events.log and write TSV row to session-events.tsv
- report-hook-event.sh/.ps1: also write SessionStart TSV row to session-events.tsv so start/end pairs are queryable for duration
Closes the pattern gap: cleanup, restore, and purge scripts now have a
corresponding prompt.md for conversational invocation. Defaults to dry-run,
requires confirmation before --execute, and surfaces the protected-paths list.
- docs/audit-workflow.md: add full reference for cleanup, restore, and purge scripts including usage examples and protected paths
- prepare-audit-promotions.mjs: invoke runCleanup after artifact generation with aggressive scope; warns and continues on failure
- Add 12 cross-project instruction files to resources/instructions/
- Add cleanup-copilot-history.mjs/.sh: quarantine-based history cleanup with dry-run and aggressive scope
- Add restore-copilot-history.mjs/.sh: restore from quarantine by run, path, or filter
- Add purge-copilot-history-quarantine.mjs/.sh: purge old quarantine runs with keep-latest guard
- Add copilot-history-maintenance.test.mjs: 3 passing unit tests covering all three scripts