Skip to content

feat(vintage): revision marker file + alert selftest - #79

Merged
mspinola merged 1 commit into
mainfrom
claude/vintage-revision-marker
Jul 31, 2026
Merged

mspinola merged 1 commit into
mainfrom
claude/vintage-revision-marker

Conversation

@mspinola

Copy link
Copy Markdown
Owner

Follow-up to #78, closing the notification gap.

Task Scheduler's built-in Send an e-mail / Display a message actions are deprecated and non-functional on Windows 8 / Server 2012+, so ingest exiting non-zero only produced a passive Last Run Result 0x1 that someone had to go and look at. A comment in run-vintage.cmd implied Task Scheduler could alert on it; that was wrong and is corrected.

The script now notifies itself. On any run that records a revision it appends that run's output to <store>\vintage\REVISIONS_<yyyy-MM-dd>.txt, which rides the existing robocopy /MIR push to the Mac.

  • Marker is written immediately after ingest, not at the end — the revision is already committed there, so an unrelated later failure cannot suppress the alert.
  • Appends rather than overwrites, so two revision runs in one day both survive.
  • Date via PowerShell rather than %DATE%, which is locale-formatted and unsafe in a filename.
  • Ingest output goes to a .tmp scratch file, so the marker holds only that run and the existing *.tmp sync exclusions skip it.

scripts/vintage_alert_selftest.py forces a revision in a throwaway store and drives the real CLI, so the loud path can be seen working now instead of being trusted until CFTC eventually restates something.

201 tests pass, ruff clean.

🤖 Generated with Claude Code

…es it fires

Task Scheduler's own 'Send an e-mail' / 'Display a message' actions are DEPRECATED and
non-functional on Windows 8 / Server 2012+, so a non-zero exit alone is only a passive
Last Run Result 0x1 that someone has to go and look at. An earlier comment in this file
implied otherwise; corrected.

run-vintage.cmd now notifies itself. On any run that records a revision it appends that
run's output to <store>\vintage\REVISIONS_<yyyy-MM-dd>.txt, which rides the existing
robocopy /MIR push to the Mac, so the alert lands on the machine the work happens on.

- The marker is written IMMEDIATELY after ingest, not at the end: the revision is already
  committed at that point, so a later unrelated failure must not be able to suppress it.
- Appends rather than overwrites, so two revision runs in one day both survive.
- Date comes from PowerShell, not %DATE%, which is formatted per regional settings and is
  not safe in a filename.
- Ingest output goes to a .tmp scratch file so the marker holds only THIS run rather than
  the whole appended history, and the existing *.tmp sync exclusions skip it.

scripts/vintage_alert_selftest.py forces a revision in a throwaway store and drives the
real CLI, so the loud path can be verified now rather than trusted until CFTC eventually
restates something. An alert nobody has watched fire is one nobody should rely on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mspinola
mspinola merged commit 6083b0a into main Jul 31, 2026
5 checks passed
@mspinola
mspinola deleted the claude/vintage-revision-marker branch July 31, 2026 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant