Skip to content

docs(d-u28): component-scope UNS topics (retire main)#6

Merged
mbreissi merged 2 commits into
mainfrom
feat/d-u28-topics
Jul 16, 2026
Merged

docs(d-u28): component-scope UNS topics (retire main)#6
mbreissi merged 2 commits into
mainfrom
feat/d-u28-topics

Conversation

@mbreissi

Copy link
Copy Markdown
Contributor

Phase-5 D-U28 alignment

Retires the main instance sentinel for telemetry-processor. As a single-instance
component, all of its own UNS topics are now component-scope — the component token is
followed directly by the class, with no instance segment:

  • .../telemetry-processor/main/state.../telemetry-processor/state
  • .../telemetry-processor/main/cmd/<verb>.../telemetry-processor/cmd/<verb>
  • .../telemetry-processor/main/metric/pipeline.../telemetry-processor/metric/pipeline
  • .../telemetry-processor/main/data/downsampled.../telemetry-processor/data/downsampled
  • .../telemetry-processor/main/evt/{severity}/{type}.../telemetry-processor/evt/{severity}/{type}

Scope

  • No functional code changed. The core library (../core/libs/rust, now D-U28) already
    emits these at component scope: gg.events()/data()/app()/uns(), the state
    keepalive, the messaging metric target, and the cmd inbox all resolve to
    .../telemetry-processor/{class} with no instance token. telemetry-processor just calls
    those accessors, so the wire topics change automatically.
  • Docs + config examples + one code comment. Topic strings updated across README.md,
    docs/, recipe.yaml, and test-configs/config.json (so a user copying an example gets
    the D-U28 topic).
  • Stale comments corrected. Comments claiming the events() facade is "bound to the
    main instance" are now accurate — it is component scope under D-U28.
  • Verified: no inbound topic-parsing code assumes a fixed main/instance position; only
    comments/docs/config-example strings changed. The local-output identity restamp
    (with_instance(&route.id)) is unrelated — it stamps the data product's envelope
    identity, not the component's own topics.

Validation

  • cargo check green from the sibling worktree against the D-U28 core dep.

🤖 Generated with Claude Code

mbreissi and others added 2 commits July 16, 2026 02:47
telemetry-processor is a single-instance component, so under D-U28 all of
its own UNS topics are component-scope: drop the retired `main` segment.
The core library already emits these at component scope (events/data/app,
gg.uns(), the state keepalive, the messaging metric target, and the cmd
inbox all resolve to `.../telemetry-processor/{class}` — no instance
token), so this is a docs + code-comment + config-example accuracy change
with no functional code change.

- Topics: `.../telemetry-processor/main/{state,cmd,metric,data,evt}` →
  `.../telemetry-processor/{state,cmd,metric,data,evt}` across README,
  docs/, the recipe, and the test config example.
- Corrected stale comments claiming the `events()` facade is "bound to the
  `main` instance" — it is component scope under D-U28.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01628gPY2czyDFVkkeEdkRZr
The docs already describe component-scope topics; this makes the built component
emit them — the heartbeat/facades/command-inbox go through the library, which at
the D-U28 core omits the instance token. cargo test green (48).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01628gPY2czyDFVkkeEdkRZr
@mbreissi
mbreissi marked this pull request as ready for review July 16, 2026 19:06
@mbreissi
mbreissi merged commit e278698 into main Jul 16, 2026
2 checks passed
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