Skip to content

refactor(linux): remediation steps 31 to 39 - #3403

Merged
datlechin merged 65 commits into
linuxfrom
refactor/linux-1b
Oct 13, 2026
Merged

datlechin merged 65 commits into
linuxfrom
refactor/linux-1b

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

Steps 31 to 39 of linux/docs/plan-2026-09-14-audit-remediation.md, plus the review findings carried from #3358. Draft while the later waves land on this branch.

Change

  • Driver contract v2 documented, with ADR 0016.
  • Tracker registries per workspace; Format keeps statements it would change; Run at Cursor shows the statement it runs; exports keep column precision.
  • Driver fixes from the refactor(linux)!: switch the Linux app to driver contract v2 #3358 review for PostgreSQL, MySQL, SQL Server, SQLite and ClickHouse; every conformance case is bounded by a timeout.
  • Connect, cancel, shutdown and import fixes in the app, session, storage and SSH.

Not in this PR

  • MySQL VerifyFull over TCP still checks the dialled host: it needs an sqlx release with a server-name override.
  • A SQL Server stop during a quiet stretch after rows still drops the editor session: it needs a tiberius change.

Row and DDL trackers move from thread_local registries to registries App owns, reached through handles that borrow only inside their own methods and return owned data. A row edit returns a TrackerDelta the browse tab applies to its list store, which replaces the relm4 tracker channel.
A real went through f64 before printing, so 0.1 exported as 0.10000000149011612. Array items now take their element's precision, and an inner dimension stays an array. Copy as IN clause keeps the widened double, which is what engines compare a real against.
A type the driver could not place carries the server's own text, so a citext value starting with = reached the sheet as a formula. D17 lists Other beside Text and Json.
Int and UInt went in as f64 unchecked, so a bigint past 2^53 changed. A numeric(10,2) holding 1.50 compared against the f64's 1.5 and went in as text. A real now goes in as the double its own digits name.
# Conflicts:
#	linux/CHANGELOG.md
# Conflicts:
#	linux/CHANGELOG.md
# Conflicts:
#	linux/CHANGELOG.md
# Conflicts:
#	linux/CHANGELOG.md
# Conflicts:
#	linux/CHANGELOG.md
@datlechin
datlechin marked this pull request as ready for review October 13, 2026 10:41
@datlechin
datlechin merged commit afed2d3 into linux Oct 13, 2026
21 checks passed
@datlechin
datlechin deleted the refactor/linux-1b branch October 13, 2026 10:41
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