fix(ops): separate CDC base observability from local debug - #212
fix(ops): separate CDC base observability from local debug#212seonghobae wants to merge 4 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Superseded by live-base rebuild #263. Fresh comparison on 2026-08-11 verified the same three-file product slice: production base removes forced 100% tracing/application DEBUG/Spring Web DEBUG, explicit |
Purpose
Advance issue #182 with one path-disjoint CDC observability slice from protected
develop@622e5e6c3d534f230c390f10e3832efadfc01825. The deployable CDC base historically forced 100% trace sampling plus application and Spring Web DEBUG logging. This Draft now separates production-safe base observability from an explicit opt-inlocaldeveloper profile without changing CDC product behavior, Zipkin destination, health probes, dependencies, Compose/Replit topology, or diagnostic call sites.Exact current identity
develop@622e5e6c3d534f230c390f10e3832efadfc01825;ops/cdc-safe-observability-defaults-622e5e6;119f6912e2841a8102f749a15be003d37026becb;aa1afd3e5292a8bb4fb51f9a98a460d4cff50b7f;218cfb29aba428f95a79553c937e85d602e1ac58;Every check/review from a predecessor source head or base is historical and does not transfer.
RED — deployable base forced developer-verbose observability
Fail-first
119f6912e2841a8102f749a15be003d37026becbadded onlyCdcObservabilityProfileContractTestbefore production configuration changed. The test loads the real classpathapplication.ymlthrough Spring's YAML properties loader and requires the deployable base not to override:management.tracing.sampling.probabilityto full sampling;logging.level.com.xtrmetlto DEBUG;logging.level.org.springframework.webto DEBUG.Hosted CI
31358313500, macOS job93362047854, checked out synthetic merge1880806a0ea1f17cd05ab021b00713932fe476de(Merge 119f691... into 622e5e6...). ETL production/tests completed successfully. CDC production/test compilation then succeeded and ran 107 tests with exactly one failure, zero errors/skips:baseConfigurationDoesNotForceDebugLoggingOrFullTraceSamplingexpected the sampling override to be absent but found1.0. This is valid RED at the deployable configuration boundary rather than setup/import/fixture/dependency failure.GREEN — safe base plus explicit local profile
The bounded implementation:
cdc-service/src/main/resources/application.yml;application-local.ymlactivated only by Spring profilelocal;No arbitrary new production sampling percentage is invented; absence of the repository override delegates to the maintained Spring Boot default. This PR does not touch Compose/Replit (#167/#169/#180/#195), CDC diagnostic call sites (#170–#176/#190), authentication (#187), DLT governance (#181), dependencies, or canonical #149 documentation.
Current hosted proof
All exposed workflow aggregates for exact source head
aa1afd3e5292a8bb4fb51f9a98a460d4cff50b7fare terminal-success:31358735259: success on macOS, Ubuntu and Windows;31358735145: success;31358735244: success;31358735181: success;31358735225: success.CI macOS job
93363214026checked out synthetic merge218cfb29aba428f95a79553c937e85d602e1ac58, not literal source head. On that integration treeCdcObservabilityProfileContractTestpassed 2/2, CDC ran 108 tests with zero failures/errors/skips, ETL ran 275 tests, gateway tests passed, and the full reactor completedBUILD SUCCESS.The same CI still reproduces the inherited protected JaCoCo false-green:
Analyzed bundle 'etl-service' with 0 classesfollowed by successful coverage checks. #162/#164 owns selected-bundle non-vacuity and #205 owns repository-wide coverage scope. Current protected PR workflows also use synthetic merge checkout rather than accepted literal source, while #196 separately owns Maven dependency-resolution completeness for vulnerability evidence. Those acceptance controls are independent of this configuration repair.Merge boundary
Keep Draft. Merge only when the unchanged exact source head has accepted literal-source deterministic/security evidence, complete same-revision dependency/vulnerability evidence, non-vacuous applicable owned-production coverage, every required repository/security gate, zero valid unresolved review findings, and qualifying independent non-author formal approval where governance requires it. No predecessor-head, other-PR, status-only, skipped-required, incomplete-scanner, or synthetic-merge-only evidence transfers.