Skip to content

docs(rfc-0013): amend §migration — PR-I/K sub-slicing + PR-B2 gate#199

Merged
trilamsr merged 1 commit into
mainfrom
pr-rfc-0013-scope-amendments
May 31, 2026
Merged

docs(rfc-0013): amend §migration — PR-I/K sub-slicing + PR-B2 gate#199
trilamsr merged 1 commit into
mainfrom
pr-rfc-0013-scope-amendments

Conversation

@trilamsr

Copy link
Copy Markdown
Contributor

Summary

Four amendments to docs/rfcs/0013-distro-first-pivot.md (plus a one-line sweep across 6 companion docs) per the scope-review findings staged before PR-I.1 / PR-K / PR-M code work begins. Pre-stages each decision in the RFC so the autonomous code PRs don't escalate mid-flight.

Root cause

#181 (RFC-0013 PR-I in-repo submodule rescope) was incomplete:

  1. Sweep missed 6 companion docs still pointing at the original-design external tracecoreai/tracecore-components repo.
  2. §7 listed 3 GitHub workflows for deletion that were already removed pre-RFC and 1 issue template (component-bug-dcgm.yml) that was already removed pre-RFC.
  3. PR-K was a single 4-receiver-delete-plus-chart-migration mega-PR with no decoupling of the internal/synthesis/patterns/ k8sevents dep break, which is on PR-I.2's critical path.
  4. PR-I.1 conflated the module/go.mod scaffolding with the git mv + package rename, blocking PR-I.1a from landing without PR-B2 even though the scaffolding step has no nccl_fr dep.

Mid-flight discovery during merge cycle: merged commit #188 (feat(pivot): PR-B2 — port dcgm off internal selftel + lifecycle) reused the PR-B2 slug for a PR-B1-shape dcgm port (which is moot since dcgm is deleted entirely in PR-F), creating a naming collision against the canonical PR-B2 defined in the RFC — the nccl_fr internal/{pipeline,consumer,runtime/lifecycle} → upstream port that hard-gates the PR-I.1b git mv.

Amendments

  1. §6/§7 sweep miss (Amendment 1): Remove surviving tracecoreai/tracecore-components external-repo references across docs/getting-started.md, docs/followups/M11.md, docs/followups/M19.md, docs/FOLLOWUPS.md, docs/rfcs/0003-pipeline-runtime-and-component-contract.md, AGENTS.md. All re-pointed at github.com/tracecoreai/tracecore/module per RFC-0013 §6. Verified zero surviving stale refs.
  2. §7 nonexistent workflow entries (Amendment 2): Collapse pyspy-integration.yml, python-publish.yml, kernelevents-integration.yml deletion rows into one row marked "already removed pre-RFC". component-bug-dcgm.yml also already removed. Only component-bug-kernelevents.yml survives for PR-K. §4 v0.3.0 row + PR-M slug cleaned for consistency.
  3. §migration PR-K sub-slice (Amendment 3):
    • PR-K.1 — sever internal/synthesis/patterns/ from components/receivers/k8sevents via local model types in internal/synthesis/patterns/model.go. No deletions. Unblocks PR-I.2.
    • PR-K.2 — delete components/receivers/{clockreceiver,kernelevents,k8sevents,containerstdout} + migrate ~86 test fixtures + delete tools/failure-inject/xidgen/ + keep tools/failure-inject/ncclhang/.
    • PR-K.3 — chart cleanup: flip containerstdout-on-values.yaml to filelog+container-stanza, delete containerstdout-rbac.yaml, delete .github/ISSUE_TEMPLATE/component-bug-kernelevents.yml, ship NOTES.txt deprecation + values-key removal.
  4. §migration PR-I sub-slice + PR-B2 promotion (Amendment 4):
    • PR-B2 reframed as hard gate for PR-I.1b: port components/receivers/nccl_fr off internal/{pipeline,consumer,runtime/lifecycle} to upstream go.opentelemetry.io/collector/{component,receiver,consumer,pipeline}. Slug-collision note added re: merged feat(pivot): PR-B2 — port dcgm off internal selftel + lifecycle #188.
    • PR-I.1amodule/go.mod + root go.work + builder-config.yaml replaces: skeleton. No file movement. Tag module/v0.0.1 (genesis tag, validates the tagging contract).
    • PR-I.1bgit mv components/receivers/nccl_fr → module/receiver/ncclfrreceiver + git mv pkg/nccl/fr_parser → module/pkg/nccl/fr_parser + rename Go package nccl_frncclfrreceiver + update all importers. Hard-gated on PR-B2. No new tag; next bump is module/v0.1.0 at PR-I.2.
    • PR-I.2rankjoinprocessor + patterndetectorprocessor net-new. Hard-gated on PR-K.1. Tag module/v0.1.0 (first version pinned in builder-config.yaml for v0.2.0).

Also: PR-J marked (landed, #195) with note that recipe docs landed but chart-values compat map follows in PR-K.3.

Adversarial review (5 lenses, inline)

Test plan

  • make doc-check — 526 markdown links resolve, 0 stale refs, banned-phrase lint clean, alert-check + chart-appversion gates green.
  • Pre-push hooks: golangci-lint clean, go vet clean, go mod verify clean.
  • CI doc-check + actionlint + zizmor gates pass on PR.
NONE

Four amendments per scope-review findings, pre-staged before PR-I.1/K/M
code work begins to avoid mid-flight escalations:

1. §6/§7 sweep miss from #181 rescope: remove surviving
   `tracecoreai/tracecore-components` external-repo references across 6
   companion docs (`docs/getting-started.md`, `docs/followups/M11.md`,
   `docs/followups/M19.md`, `docs/FOLLOWUPS.md`,
   `docs/rfcs/0003-pipeline-runtime-and-component-contract.md`,
   `AGENTS.md`). Re-point at `github.com/tracecoreai/tracecore/module`
   in-repo submodule per RFC-0013 §6.
2. §7 nonexistent workflow entries: collapse `pyspy-integration.yml`,
   `python-publish.yml`, `kernelevents-integration.yml` deletion rows
   into one "already removed pre-RFC" row. `component-bug-dcgm.yml`
   removed pre-RFC; only `component-bug-kernelevents.yml` remains
   for PR-K. Also clean §4 v0.3.0 row + PR-M slug for consistency.
3. §migration PR-K sub-slice: split into K.1 (sever patterns lib from
   k8sevents via `internal/synthesis/patterns/model.go`), K.2 (delete
   4 receivers + migrate ~86 fixtures + delete `tools/failure-inject/xidgen/`),
   K.3 (chart cleanup + values-key deprecation cycle).
4. §migration PR-I sub-slice + PR-B2 promotion: PR-B2 reframed as
   hard gate for PR-I.1b (port nccl_fr off
   `internal/{pipeline,consumer,runtime/lifecycle}` to upstream); split
   PR-I.1 into I.1a (`module/go.mod` + `go.work` scaffolding, tag
   `module/v0.0.1` genesis) and I.1b (`git mv` + package rename).
   PR-I.2 tags `module/v0.1.0` (first version pinned in
   `builder-config.yaml` for v0.2.0). PR-J marked landed (#195).

Slug-collision note added: merged commit #188
(`feat(pivot): PR-B2 — port dcgm off internal selftel + lifecycle`)
reused the PR-B2 label for PR-B1-shape dcgm work; that does not
satisfy the canonical PR-B2 slot defined here.

Docs-only. No code paths touched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Signed-off-by: Tri Lam <tri@maydow.com>
@trilamsr trilamsr enabled auto-merge (squash) May 31, 2026 06:46
@trilamsr trilamsr merged commit 5237f73 into main May 31, 2026
11 checks passed
@trilamsr trilamsr deleted the pr-rfc-0013-scope-amendments branch May 31, 2026 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant