docs(#585): amend ADR-0005 decision to Accepted; open #627 for the meta-line gap - #628
Merged
Merged
Conversation
…ta-line gap The original Phase 0 evidence run's mechanical rule (any required hard gate failing -> Rejected) didn't distinguish a candidate-specific regression from a shared, pre-existing defect. Two gates get reclassified: - supported-server matrix now gates on current-generation rows only. The two proposed-oldest (24.8.x) rows fail identically for the current transport and the @clickhouse/client-web candidate (JSONEachRowWithProgress never emits a meta line on 24.8, predating ClickHouse GitHub PR #74181) - not evidence against the candidate, tracked separately as #627. - net production-code deletion is demoted from a hard pass/fail gate to a measured metric (still -154 physical LOC): LOC delta alone is a narrow proxy for maintenance cost and can't see a library absorbing protocol churn/security fixes upstream as a real win even at flat or negative LOC. computeGates()/deriveDecision()/renderDecisionTableMd() in run-matrix.mjs are amended and exported; a new recompute-decision.mjs re-derives results.json's gates/decision and regenerates decision-table.md from the same already-collected facts (no live Docker/browser matrix re-run, since nothing underlying changed). ADR-0005, the wiki, README, and CHANGELOG are reconciled to the amended Accepted decision, with the original Rejected reasoning preserved as history in a new addendum section. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwFPT465eDJqYcRa8HGNLz
29 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
supported-server matrixnow gates on the two current-generation ClickHouse rows only. Both proposed-oldest (24.8.x) rows still fail their live suite —JSONEachRowWithProgress/JSONStringsEachRowWithProgressnever emit a{"meta":[...]}line on 24.8 (added only by ClickHouse GitHub PR #74181) — but identically for the current transport and the@clickhouse/client-webcandidate, so it isn't evidence against the candidate specifically. Opened Query results silently render empty on ClickHouse servers predating the JSONEachRowWithProgress meta-line change (≤24.8) #627 to track fixing this general SQL Browser defect (src/core/stream.ts'sapplyStreamLine()has no meta-less fallback), independent of this ADR's outcome.net production-code deletionis demoted from a hard pass/fail gate to a measured metric (still -154 physical LOC, unchanged) — LOC delta alone is a narrow proxy for maintenance cost and can't see a library absorbing ClickHouse protocol-format churn/security fixes upstream as a real maintenance win even at flat or negative LOC.computeGates()/deriveDecision()/renderDecisionTableMd()intests/spike/clickhouse-client/run-matrix.mjsare amended and exported; a newrecompute-decision.mjsre-derivesresults.json'sgates/decisionand regeneratesdecision-table.mdfrom the exact same already-collected facts — no live Docker/browser matrix re-run, since nothing underlying changed, only the classification rule.docs/ADR-0005-clickhouse-web-client.md,.wiki/Decisions-and-Roadmap.md,README.md, andCHANGELOG.mdare reconciled to the amended decision. The original Rejected reasoning is preserved as history in a new "Decision-methodology amendment addendum (2026-08-07)" section rather than rewritten away.src/**production code changed;src/net/ch-client.tsremains authoritative until cutover.Test plan
npm run test:client-spike— 116/116 passing (6 new tests added forcomputeGates/deriveDecision, including a case proving a genuine current-generation-row regression still fails the gate)npm run check:types— passesnpm run check:client-spike:evidence— reports the same 92 pre-existing findings as the committed baseline (verified by diff againstorigin/main's evidence), all pre-existing known-Query results silently render empty on ClickHouse servers predating the JSONEachRowWithProgress meta-line change (≤24.8) #627 completeness findings on the two 24.8 rows; zero findings about gate/decision-table/ADR-wiki consistency🤖 Generated with Claude Code
https://claude.ai/code/session_01LwFPT465eDJqYcRa8HGNLz