Add notification hook and run summary

This commit is contained in:
2026-05-31 02:33:09 +00:00
parent 5408f14195
commit 78f92154ab
8 changed files with 373 additions and 12 deletions

View File

@@ -22,7 +22,7 @@ distributor inspect
`run --config <path>` executes configured local-to-local pipelines that publish source files, generated HTML files, or both.
`run --config <path> --dry-run` discovers source bundles, inspects destination state, and prints planned actions without writing files.
`run --config <path> --dry-run` discovers source bundles, inspects destination state, and prints planned actions plus a final status summary without writing files.
`validate <path>` validates a local source bundle directory or a local tree containing source bundles.
@@ -43,7 +43,7 @@ Each subcommand supports:
`run` supports:
- `--config <path>`: config file to load.
- `--dry-run`: validate config and print the resolved summary without publishing.
- `--dry-run`: validate config, print planned actions and final status, and do not publish.
## Common workflows

13
docs/internal/notify.md Normal file
View File

@@ -0,0 +1,13 @@
# Notify
## Purpose
`internal/notify` defines the internal notification interface used by the application runner.
## Current behavior
The implemented notifier is a no-op. It is invoked only after a successful publish or replacement. Dry-run, skipped destinations, and failed destinations do not invoke it.
## Boundaries
No external notification adapters are implemented. Notification configuration is not part of the current user-facing config schema.

View File

@@ -40,6 +40,10 @@ If destination state is older than the source manifest, publication replaces onl
If a write fails during local publication, `distributor` removes outputs written during that failed attempt where possible so a retry does not see an unmanaged destination.
If one destination fails, later destinations in the same fan-out are still planned and run where they are independent. The command exits non-zero after printing the final status when any destination fails.
After a successful publish or replacement, the internal notifier hook runs as a no-op. Skipped destinations do not invoke it.
## Caveats
Only local-to-local publication is implemented. SSH, S3, notification, and force overwrite behavior are not implemented.
Only local-to-local publication is implemented. SSH, S3, external notification adapters, and force overwrite behavior are not implemented.