You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
restack: remediation architecture + test stack (c0-c3) (#83)
* chore: add tracing migration anchor commit
Apply a deliberately small, mechanical first step by migrating only the fully-finalizable logging call sites and seeding workspace tracing dependencies needed by follow-on commits. This boundary keeps entangled architectural and smoke-oriented rewrites out of the migration anchor so later commits remain reviewable by concern.
Key review files: Cargo.toml, example-streamer-uses/Cargo.toml, utils/integration-test-utils/Cargo.toml, example-streamer-uses/src/bin/common/mod.rs, utils/integration-test-utils/src/integration_test_listeners.rs, utils/integration-test-utils/src/up_client_failing_register.rs, up-streamer/src/endpoint.rs.
Mechanical vs behavioral: mechanical only; logging imports move to tracing where retained, and endpoint startup logging is removed because the final behavior no longer emits those startup logs.
* feat: add structured observability vocabulary module
Introduce a dedicated observability vocabulary leaf module so event names and field keys are centralized before broader domain rewiring. This boundary stays intentionally narrow to give reviewers a fast pass over schema definitions independent of behavior changes.
Key review files: up-streamer/src/observability/events.rs, up-streamer/src/observability/fields.rs, up-streamer/src/observability/mod.rs.
Mechanical vs behavioral: mostly mechanical schema introduction; behavior wiring is intentionally deferred to the architectural commit.
* refactor: extract domain modules and fold subscription-cache into streamer
Collapse the architecture rewrite into one compile-safe boundary that moves route lifecycle, routing, data plane, and runtime ownership behind explicit modules while updating streamer entrypoints/plugins to the new API and tracing setup. This keeps the high-coupling rewire in a single review unit and removes the standalone subscription-cache crate and path dependency in the same step to avoid half-migrated ownership.
Key review files: up-streamer/src/ustreamer.rs, up-streamer/src/control_plane/*, up-streamer/src/data_plane/*, up-streamer/src/routing/*, up-streamer/src/runtime/*, up-streamer/src/lib.rs, up-streamer/Cargo.toml, Cargo.toml, configurable-streamer/src/main.rs, example-streamer-implementations/src/bin/zenoh_someip.rs, up-linux-streamer-plugin/src/lib.rs, utils/usubscription-static-file/Cargo.toml, and minimal compile-safe test API churn in up-streamer/tests/*.
Mechanical vs behavioral: primarily architectural and wiring refactor; behavior-affecting changes are limited to ownership boundaries, add_route API rename alignment, reserved live_usubscription mode fail-fast handling, and mechanical test compile updates required to keep all-target checks green at this commit boundary.
* test: finalize deterministic suite and static subscription behavior
Advance the test-focused phase by finalizing deterministic client-run assertions in up-streamer tests, introducing explicit API contract coverage, and completing integration helper updates while migrating usubscription-static-file to tracing with cache-aware static snapshot behavior. This boundary keeps remaining churn concentrated in tests/helpers and aligns manifests with the planned async-std retirement timing.
Key review files: up-streamer/tests/api_contract_forwarding_rules.rs, up-streamer/tests/support/mod.rs, up-streamer/tests/single_local_*.rs, utils/integration-test-utils/src/integration_test_utils.rs, utils/integration-test-utils/src/up_client_foo.rs, utils/usubscription-static-file/src/lib.rs, utils/integration-test-utils/Cargo.toml, utils/usubscription-static-file/Cargo.toml, Cargo.toml, Cargo.lock.
Mechanical vs behavioral: includes both mechanical import/path migrations and behavioral test determinism updates; overlap on five legacy up-streamer test files is intentional and pre-approved in pr-32-approved-source-overlap.txt as commit-2 gate remediation.
* refactor: align streamer code with up-rust idioms
Adopt up-rust accessors and helpers across runtime code, test utilities, examples, and doctest scaffolding to standardize behavior and reduce manual protobuf traversal.
Retained direct-field usage is intentional where helper equivalents are missing or less efficient.
- Owned authority moves in From<UUri> conversions keep uri.authority_name to avoid extra allocation because authority_name() returns a cloned String.
- Integration test ID regeneration keeps msg.attributes.as_mut() and attributes.id.0 mutation because up-rust 0.9.0 has no mutable ID setter path.
- Full ue_id reads remain where up-rust only exposes split component helpers (uentity_type_id/uentity_instance_id).
- Static subscription canonicalization keeps direct resource_id writes because no setter helper exists.
"live_usubscription mode is reserved in this phase; live runtime integration is deferred (see reports/usubscription-decoupled-pubsub-migration/05-live-integration-deferred.md)",
0 commit comments