# Changelog

> **This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.**

## Score

- CAI 55 → 36 (-18.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 97 → 100 (+3.0)
- Architecture 97 → 69 (-28.0)
- Maturity 50 → 61 (+11.0)
- Readiness 63 → 19 (-43.9)
- Security 44 → 35 (-8.6)

## Resolved (16)

- Change coupling: GetPlatform.scala ↔ MkReadPlatform.scala (modules/core/src/main/scala-2/doobie/util/GetPlatform.scala)
- Change coupling: GetPlatform.scala ↔ MkWritePlatform.scala (modules/core/src/main/scala-2/doobie/util/GetPlatform.scala)
- Change coupling: GetPlatform.scala ↔ PutPlatform.scala (modules/core/src/main/scala-2/doobie/util/GetPlatform.scala)
- Change coupling: GetPlatform.scala ↔ PutPlatform.scala (modules/core/src/main/scala-3/doobie/util/GetPlatform.scala)
- Change coupling: MkReadPlatform.scala ↔ MkWritePlatform.scala (modules/core/src/main/scala-2/doobie/util/MkReadPlatform.scala)
- Change coupling: MkReadPlatform.scala ↔ PutPlatform.scala (modules/core/src/main/scala-2/doobie/util/MkReadPlatform.scala)
- Change coupling: MkWritePlatform.scala ↔ PutPlatform.scala (modules/core/src/main/scala-2/doobie/util/MkWritePlatform.scala)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- FileTooLong: free/kleisliinterpreter.scala (modules/free/src/main/scala/doobie/free/kleisliinterpreter.scala)
- Further sole-owners (lower concentration)
- Off-boarding risk: anonymized user #1
- TooManyMethods: PostgresMonadErrorOps (modules/postgres/src/main/scala/doobie/postgres/syntax/syntax.scala)
- TooManyMethods: fragments (modules/core/src/main/scala/doobie/util/fragments.scala)
- complexity unreadable for .scala — churn × complexity hotspots could not be measured
- knowledge concentrated in recent work — freshness signal contradicted by repo activity

## New (11)

- Coverage not measured — test suite did not build
- Dimension evaluation failed
- High: security finding (details withheld)
- No artifact signing
- No tests found
- The README links only to doobie_quick_start for bug reporting but does not mention where to find the full migration notes or how to contribute. (modules/docs/src/main/mdoc/index.md)
- The decision (selecting first five rows via streaming) and its consequences/trade-offs are embedded in code examples with no prose; the body ends before any trade-off discussion (modules/docs/src/main/mdoc/docs/04-Selecting.md)
- The document is a non-exhaustive project list (DoobieRoll, TableColumns, Assembler, doobie-typesafe, otel4s-doobie) with no context/problem and no decision statement (modules/docs/src/main/mdoc/docs/18-Related-Projects.md)
- early-stage repository — too little history to judge knowledge freshness
- single-commit history — no usable git history window to measure hotspots
- single-maintainer — knowledge-concentration (bus factor) risk
