Implement the distributor v0.5 PipelineID update

This commit is contained in:
2026-06-08 07:04:31 -05:00
parent 9bc8156615
commit d71c7e4d28
24 changed files with 264 additions and 103 deletions

View File

@@ -90,8 +90,8 @@ generation returns an error after writing output, the managed report and
metadata remain inspectable. Notification is not attempted after Weather API,
briefing, prompt input, render, Scriptorium run, or metadata-save failures.
When notification is attempted, the debug artifact records request identity,
accepted upload fields, distributor status fields, raw status report JSON when
available, and redacted failure context.
including rendered pipeline ID, accepted upload fields, distributor status
fields, raw status report JSON when available, and redacted failure context.
`--out` copies are never used as notification source files.
## Batch Workflow

View File

@@ -18,6 +18,7 @@ Inputs:
- distributor endpoint URL
- token environment variable name
- upload timeout
- pipeline ID
- bundle ID
- idempotency key
- source Markdown report path
@@ -54,8 +55,10 @@ The adapter is built from `notify.distributor` config:
- `token_env`
- `timeout`
The app layer renders bundle ID, idempotency key, and bundle path from:
The app layer renders pipeline ID, bundle ID, idempotency key, and bundle path
from:
- `pipeline_id_template`
- `bundle_id_template`
- `idempotency_key_template`
- `report_path_template`
@@ -67,6 +70,7 @@ after config loading and `secrets.directory` processing.
The adapter calls distributor `UploadFiles` with exactly one file:
- pipeline ID: the rendered distributor workflow selector
- source path: the managed Markdown report path selected by app orchestration
- bundle path: the rendered bundle-relative report path
- created: the report generation timestamp
@@ -86,12 +90,13 @@ with the status report preserved.
## Failure Behavior
The adapter validates required endpoint, token env name, token value, bundle ID,
idempotency key, source path, bundle path, and upload client inputs before
uploading.
The adapter validates required endpoint, token env name, token value, pipeline
ID, bundle ID, idempotency key, source path, bundle path, and upload client
inputs before uploading.
Upload failures include endpoint, bundle ID, idempotency key, source path, and
bundle path context. Token values are redacted from adapter errors.
Upload failures include endpoint, pipeline ID, bundle ID, idempotency key,
source path, and bundle path context. Token values are redacted from adapter
errors.
Distributor idempotency conflicts are exposed as a weatherreporter-owned
`IdempotencyConflictError`, so callers do not depend on upstream distributor

View File

@@ -93,7 +93,8 @@ Durable JSON writes use shared atomic file helpers. Managed Markdown reports are
prepared by creating their parent directory; Scriptorium writes the report body
to the prepared path. Extra Markdown copies are handled by app orchestration.
Distributor notification debug artifacts are written atomically when
notification is attempted.
notification is attempted and include rendered distributor pipeline ID, bundle
ID, idempotency key, upload status, latest run status, and redacted errors.
Inspection helpers read existing metadata, briefing, and data package files.
Missing metadata directories return no inspection records or no prior snapshot