4.6 KiB
Notarius v0.5.0
This release separates actionable process warnings from extraction-quality advisories and routine normalization observations, giving operators a quiet warning channel without discarding durable diagnostic detail.
Summary
Notarius now carries one validated, origin-aware diagnostic contract from producers and validators through retries, reusable state, output publication, debug summaries, run receipts, and CLI presentation. Warnings are reserved for process degradation or incomplete configured work. Data-quality findings are advisories, and successful deterministic cleanup is recorded as observations. An ordinary successful run therefore reports zero warnings while retaining bounded diagnostic provenance for later review.
The framework aggregates findings deterministically by their stable identity and complete pipeline origin, preserves exact occurrence counts, and retains bounded representative samples. Warning groups fail rather than truncate; advisory and observation representation is bounded with explicit truncation metadata and exact unrepresented-occurrence counts.
Compatibility
warnings.jsonnow uses the incompatible groupednotarius.warnings.v2envelope and contains process warnings only. Consumers of the former flat warning payload must migrate to the current JSON output contract.- The new
diagnostics.jsonfile usesnotarius.diagnostics.v1and contains advisory and observation groups. Productionindex.jsonfiles always expose bothwarnings_fileanddiagnostics_file. - The machine-readable run receipt is now
notarius.run-result.v2. It replaceswarning_countwith exact warning group and occurrence counts and adds advisory/observation group, occurrence, and truncation fields. See the current run-result receipt. - Custom output modules must return their complete logical file set or an
error. The former
OutputResult.Warningsfield has been removed; an output module cannot report a warning after serializing its output. - Reusable state now uses
notarius.workspace.v4and chunk-plan records usenotarius.chunk-plan.v3so they can preserve structured diagnostics. Older pre-release reusable state is not reused under these contracts; start with clean state when deterministic continuity with an older workspace is not required. - Validation acceptance, semantic retry budgets, rejection policy, and D&D artifact schema identities are unchanged by this release.
Upgrade
- Update subprocess consumers to require
notarius.run-result.v2and readwarning_group_count,warning_occurrence_count,diagnostic_group_count,diagnostic_occurrence_count, anddiagnostics_truncated. - Update output-bundle consumers to decode
notarius.warnings.v2, discoverdiagnostics.jsonthroughindex.json, and treat diagnostics as review information rather than process warnings. - Update any custom output module for the removal of
OutputResult.Warnings; return an error when encoding cannot complete. - Clear pre-release reusable state before the first upgraded production run when deterministic continuity with an older workspace is not required.
- Run
notarius config validate --config <path> --pipeline <id>and perform one representative run before promoting the release in an automated pipeline.
Changes
- Added validated diagnostic dispositions, categories, origins, stable reason codes, exact occurrence counts, and bounded representative samples.
- Added deterministic run-level aggregation with separate limits for actionable warning groups and advisory/observation groups.
- Reclassified D&D source-relatedness and unresolved-identity findings as data-quality advisories and routine normalization changes as observations.
- Preserved structured diagnostics across producer retries, validation, generated-reference handoff, checkpoints, chunk-plan reuse, and debug summaries while discarding superseded-attempt findings.
- Added grouped
warnings.json, a new groupeddiagnostics.json, and the corresponding production index entries. - Upgraded the machine-readable run receipt and human CLI summary to report exact warning and diagnostic counts without allowing advisory volume to create warning output.
- Removed post-encoding output warnings and hardened diagnostic validation, overflow handling, aggregate memory bounds, and warning-file path presentation.
- Documented diagnostic ownership, classification, operator interpretation, durable contracts, and architectural invariants in ADR-0015 and the canonical CLI, operations, integration, and internal documentation.