Repository navigation
[RefImpl] Read the trace exporter's names from the mapping, and close its test gaps #284
Copy link
Copy link
Open
Labels
priority:P2Maintainers onlyMaintainers onlyscope:in-focusFeeds the ninety-day committed outcome. Maintainers onlyFeeds the ninety-day committed outcome. Maintainers onlystatus:acceptedIn the backlog. Maintainers onlyIn the backlog. Maintainers onlytype:refimplReference implementation or adapter workReference implementation or adapter workworkstream:refimplOwning workstream. Maintainers onlyOwning workstream. Maintainers only
Milestone
Description
Target runtime or language
AGT reference Guardian: packages/guardian/src/otel-trace-exporter.ts, audit-to-otlp.ts, and their tests
What this proves
This is part of issue #274, the third of three slices.
PR #275 has merged, so the exporter and the converter can now read their names from otel-mapping.json. This slice also closes test gaps, so a wrong attribute or a wrong path fails a test.
Scope:
- Read the failure event name and
step_span_attributesfrom the mapping, and delete the comments that say the mapping lacks them (otel-trace-exporter.ts, around line 111). - Delete
DECISION_DETAIL_NAMES, because the mapping now covers those names. - Take the
FailureClasslist from the mapping. It has 8 classes, includingsignature_invalidandhandshake_failure. - Converter input checks:
- Treat failure kinds as plain keys, so a kind named like a prototype property (
toString, for example) does not match. - Clamp oversized error codes.
- Treat failure kinds as plain keys, so a kind named like a prototype property (
- The converter reads
seq. It reports gaps, duplicates, andrecorded_atgoing backwards, and it exits non-zero. A deleted line must not disappear without a report. - Tests:
- the "empty array is absent" rule;
- make the off-by-default test able to fail (
otel-trace-exporter.test.ts, around line 1045); - an end-to-end join test across the Guardian and converter files;
- the converter's posture and parsing paths;
- give the slow converter test (about 19 s locally) a timeout or make it faster;
- check whether a wrong
acs.exit_statusfield is caught bytest/sample-trace.test.ts. If it is not, add a test that catches it.
- Make the status sentence the same in both writers for every failure kind.
Not in this slice: handshake failures in the converter, and the host-side -32005 entry. Both wait for PR #229 and a Spec ruling, and they are in the fourth slice.
Acceptance: each item above has a test that fails before the change and passes after it.
Do you intend to implement this yourself
Yes. @sabasiddique1 is implementing it. The reviewer is @bar-capsule.
Current Priority Scope
Feeds the runnable Guardian reference implementation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
priority:P2Maintainers onlyMaintainers onlyscope:in-focusFeeds the ninety-day committed outcome. Maintainers onlyFeeds the ninety-day committed outcome. Maintainers onlystatus:acceptedIn the backlog. Maintainers onlyIn the backlog. Maintainers onlytype:refimplReference implementation or adapter workReference implementation or adapter workworkstream:refimplOwning workstream. Maintainers onlyOwning workstream. Maintainers only
Type
Projects
- StatusShow more project fieldsAccepted
Activity
sabasiddique1 commentedon Oct 15, 2026
I’ll take this after #283.