Error Taxonomy Rollout
This checklist tracks rollout of canonical error semantics across Core and runtime plugins.
Canonical codes
include/pipeline/ErrorCodes.h is the
source of truth. The error code catalog must document every C++ constant,
every Python ERROR_* name, and the migration from coarse to specific codes.
Execution slices
- Taxonomy scaffolding
- Build/validate coding
- Runtime pull coding
- Graph IO parser/open coding
- Tests + docs
Compatibility review
- Treat a change in the exact code returned by an existing failure as a behavioral breaking change, even when no C++ or Python signature changes.
- Document old-to-new matches in the public migration table.
- Keep fallback codes (
build.parse_launch,runtime.pull, andruntime.element_failed) only for failures without a specific classification. - Test the versioned
simaai-neat-errorwire keys at production builders and parse a realGstMessagethrough Core.
Verification checklist
NeatError.report().error_codeis non-empty on terminal framework failures.PullError.codeis populated on runtime pull errors.- Graph wrapper errors include code + context + hint (no generic fallback text).
- JSON parse failures include
offset=andnear='...'. - Negative tests assert code + stable message fragments per taxonomy class.
- Diagnostics docs and architecture docs include triage flow: read
error_code, inspectrepro_note, inspect bus diagnostics, then replay withrepro_gst_launch.