The publisher currently requires the overall run to be completed. A terminal failed job can therefore remain unreported indefinitely while a different job on the same run is queued. The private canary exposed this delay: repair evidence became publishable only after normal supersession cancelled the remaining run.
Add explicit exact-job failure subjects for unfinished attempts without changing their run status or conclusion. Bind repository/run/attempt/job identities, report only a proven terminal failure, and use a distinct durable marker per failure subject. Later failures and partial snapshots must not erase prior subjects; repeated delivery must not duplicate them. Preserve the existing completed-run interface for current callers and keep agent assignment owner-directed.
The private executor can then track run discovery and job-subject receipts separately, with a tested journal migration and bounded publication. No private identities or runtime evidence belong in this public issue.
The publisher currently requires the overall run to be completed. A terminal failed job can therefore remain unreported indefinitely while a different job on the same run is queued. The private canary exposed this delay: repair evidence became publishable only after normal supersession cancelled the remaining run.
Add explicit exact-job failure subjects for unfinished attempts without changing their run status or conclusion. Bind repository/run/attempt/job identities, report only a proven terminal failure, and use a distinct durable marker per failure subject. Later failures and partial snapshots must not erase prior subjects; repeated delivery must not duplicate them. Preserve the existing completed-run interface for current callers and keep agent assignment owner-directed.
The private executor can then track run discovery and job-subject receipts separately, with a tested journal migration and bounded publication. No private identities or runtime evidence belong in this public issue.