Skip to content

[rc1-prep] Delete in-tree components/exporters/stdoutexporter/ wrapper (superseded by upstream debugexporter) #334

Description

@trilamsr

The v1.0-rc1 simplification audit
(docs/v1-rc1-simplification-audit.md)
identified components/exporters/stdoutexporter/ as a zero-risk
deletion candidate. The package is not wired through the OCB
binary — builder-config.yaml line 60
brings in upstream go.opentelemetry.io/collector/exporter/debugexporter v0.130.0 instead. The in-tree wrapper has no Go importers outside
its own _test.go files.

RFC-0013 §audit-trail footer
(docs/rfcs/0013-distro-first-pivot.md
line 295) lists "RFC-0004 (clockreceiver + stdoutexporter) —
superseded by 0013; archived" — the doc has already been moved to
docs/rfcs/archived/0004-clockreceiver-stdoutexporter.md, but
the code carrying its decision is still in-tree.

Numbers

  • Total LOC: 1,077 across 6 files (find components/exporters/stdoutexporter -name "*.go" | xargs wc -l)
  • Non-test LOC: 392
  • External Go importers: 0 (grep -rln 'github.com/tracecoreai/tracecore/components/exporters/stdoutexporter' --include="*.go" . | grep -v components/exporters/stdoutexporter/)

Verification steps before deletion

  • Confirm _build/components.go does not reference the in-tree
    wrapper (currently it does not)
  • Confirm make build still produces a working _build/tracecore
    after the directory is removed
  • Confirm make ci passes (no test under ./... imports the wrapper)
  • Confirm make coverage-check still passes after dropping the
    components/exporters/stdoutexporter coverage row (current
    80.0% per docs/research/baselines.md); debugexporter is
    not policed for coverage
  • Update docs/STRATEGY.md line 166's
    components/exporters/stdoutexporter reference to point at
    debugexporter
  • Update docs/research/baselines.md
    to drop the stdoutexporter row
  • Confirm no operator-facing recipe or chart values still
    reference the in-tree wrapper
  • Run register-lint to confirm no stale-allowlist row needs
    removing
  • Sweep docs/followups/skipped.md for any deferral that pinned
    on the in-tree wrapper

Risk score

1 (zero risk). No Go importers, no operator-visible surface,
upstream replacement already in the OCB build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions