Skip to content

Fix the findings of the 2026-09-07T19-09 R2 follow-up analysis - #16

Merged
dirkjink merged 2 commits into
mainfrom
fix/code-analysis-2026-09-07-r2
Sep 7, 2026
Merged

Fix the findings of the 2026-09-07T19-09 R2 follow-up analysis#16
dirkjink merged 2 commits into
mainfrom
fix/code-analysis-2026-09-07-r2

Conversation

@dirkjink

@dirkjink dirkjink commented Sep 7, 2026

Copy link
Copy Markdown
Member

Remediation of docs/assessment/CODE_ANALYSIS-2026-09-07T19-09-00.R2.md (follow-up pass at ec49b24: 1 Medium, 4 Low, 1 pattern), per the review workflow: fix commit 5d849c8 first, then the report with per-finding status lines.

Fixed

  • R2-1 Medium: an event whose MDC cannot be materialized (LoggerContext without an MDC adapter) no longer turns into a hot-path failure - append() pins an empty MDC snapshot and the default key extractor treats an unreadable MDC as "no key" (mutation-checked).
  • R2-2 Low: configuration guide describes the fallback dispatcher's two-phase close (full 5 s drain, then interrupt + 0.5 s grace).
  • R2-3 Low: README/guide/KDoc no longer promise a per-class breaker override that the internal registry seam cannot deliver (ADR-0002).
  • R2-4 Low: KafkaAppenderMetricsBinding decides on the appender's bound state instead of instance identity, so a restarted appender is bound again by bindAppenders().
  • R2-5 Low: a restart resets breakers left behind by the previous life.

Deliberately incremental

  • Pattern P4 (test rationale blocks): all tests added in this and the previous cycle carry the block; the backlog closes test by test.

mvn verify (offline, incl. ktlint): 268 tests green.

🤖 Generated with Claude Code

https://claude.ai/code/session_015GfdGp7eUrjJKBvcJUx3q2

dirkjink and others added 2 commits September 7, 2026 20:14
- M: an event whose MDC cannot be materialized (LoggerContext without
  an MDC adapter) gets an empty MDC snapshot pinned in append(), and
  the default partitioning-key extractor treats an unreadable MDC as
  "no key" - the appender delivers instead of diverting every event
  as encoder.error (mutation-checked)
- L: the configuration guide describes the fallback dispatcher's
  two-phase close (full 5 s drain, then interrupt + 0.5 s grace)
- L: README, guide and KDoc no longer promise a per-class breaker
  override that the internal registry seam (ADR-0002) cannot deliver
- L: KafkaAppenderMetricsBinding decides on the appender's own bound
  state (isMeterRegistryBound) instead of instance identity, so a
  restarted appender is bound again by bindAppenders()
- L: a restart resets the breakers the previous life left behind
  (identity kept for the metrics consumers)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015GfdGp7eUrjJKBvcJUx3q2
…tatus

Follow-up pass (round 2) at ec49b24: 1 Medium, 4 Low, 1 new systemic
pattern, no severity change to the initial report; every new finding
carries its status line referencing the fix commit 5d849c8.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015GfdGp7eUrjJKBvcJUx3q2
@dirkjink
dirkjink merged commit ffede8b into main Sep 7, 2026
6 checks passed
@dirkjink
dirkjink deleted the fix/code-analysis-2026-09-07-r2 branch September 7, 2026 18:17
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