The v1.0-rc1 simplification audit
(docs/v1-rc1-simplification-audit.md)
identified components/exporters/otlphttp/ as a zero-risk deletion
candidate. The package is not wired through the OCB binary —
builder-config.yaml line 59 brings in
upstream go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.0 instead. The in-tree wrapper has no Go importers outside
its own _test.go files.
Per docs/followups/otlphttp.md:
wrapper-touching items become [STRIKE] — upstream
otlphttpexporter already provides these surfaces, and the
wrapper's audit trail closes when the wrapper is deleted.
Numbers
- Total LOC: 2,904 across 11 files (
find components/exporters/otlphttp -name "*.go" | xargs wc -l)
- Non-test LOC: 1,168
- External Go importers: 0 (
grep -rln 'github.com/tracecoreai/tracecore/components/exporters/otlphttp' --include="*.go" . | grep -v components/exporters/otlphttp/)
Verification steps before deletion
Risk score
1 (zero risk). No Go importers, no operator-visible surface,
upstream replacement already in the OCB build.
The v1.0-rc1 simplification audit
(
docs/v1-rc1-simplification-audit.md)identified
components/exporters/otlphttp/as a zero-risk deletioncandidate. The package is not wired through the OCB binary —
builder-config.yamlline 59 brings inupstream
go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.0instead. The in-tree wrapper has no Go importers outsideits own
_test.gofiles.Per
docs/followups/otlphttp.md:Numbers
find components/exporters/otlphttp -name "*.go" | xargs wc -l)grep -rln 'github.com/tracecoreai/tracecore/components/exporters/otlphttp' --include="*.go" . | grep -v components/exporters/otlphttp/)Verification steps before deletion
_build/components.godoes not reference the in-treewrapper (currently it does not)
make buildstill produces a working_build/tracecoreafter the directory is removed
make cipasses (no test under./...imports the wrapper)make coverage-checkstill passes after dropping thecomponents/exporters/otlphttpcoverage row (the upstreamexporter is not policed for coverage)
docs/FAILURE-MODES.mdtestcitations that point at wrapper tests
(
components/exporters/otlphttp/otlphttp_test.go::TestExporter_RetriesOnNetworkError,etc.) — re-point to upstream
otlphttpexporterupstream testsor move the failure-mode rows to "covered upstream"
docs/README.mdto drop the wrapperREADME row (line 77)
docs/STRATEGY.md§"Each componentowns its own Factory var" if it references the wrapper
[STRIKE]item indocs/followups/otlphttp.mdassatisfied (or delete the shard outright if every row is
[STRIKE])components/exporters/otlphttp/**triggers from.github/workflows/install-bench.ymllines 16, 26register-lint(make register-lint) to confirm nostale-allowlist row needs removing
MILESTONES.mdM5 row if it cites thein-tree wrapper
Risk score
1 (zero risk). No Go importers, no operator-visible surface,
upstream replacement already in the OCB build.