Skip to content

docs(core): record the bindings, grid data, plugin ABI and SQL Server decisions - #3987

Merged
datlechin merged 2 commits into
mainfrom
docs/core-decisions
Nov 2, 2026
Merged

datlechin merged 2 commits into
mainfrom
docs/core-decisions

Conversation

@datlechin

Copy link
Copy Markdown
Member

Summary

  • Core ADR 0002: one UniFFI API in the core. Swift uses UniFFI's generator, C# uses uniffi-bindgen-cs pinned to v0.11.1+v0.31.0, each with a thin layer for cancel, progress, streams and calls off the UI thread. extern "C" plus csbindgen for hot paths and as the fallback.
  • Core ADR 0003: the core owns a columnar result set and formats exact, locale-free text. A grid pulls one packed UTF-8 window per visible range and gets one coalesced rows-arrived callback. Arrow only for bulk export.
  • Core ADR 0004: downloadable drivers over our own C ABI, signed per platform, never unloaded, static on iOS. The first Windows release links its 9 drivers statically.
  • Core ADR 0005: SQL Server stays on tiberius everywhere, with SSPI Negotiate in a fork, Entra ID tokens from the core, and an optional Windows connection type over an installed ODBC Driver 18. msodbcsql18 is never bundled.
  • Linux ADR 0001 is superseded by core 0004, and Linux ADR 0016's no-fork rule for tiberius by core 0005: Status lines and index rows only.
  • Windows ADR 0001, the toolchain baseline, is in a new windows/docs/decisions/. It is a Windows-only decision, which core/docs/decisions/README.md sends to the app's folder.
  • windows/scripts/install-toolchain.ps1 is the spike's silent install script, with its download folder moved to %TEMP%.
  • Principle 4 in core/AGENTS.md and linux/AGENTS.md now points at core 0004. The root AGENTS.md map lists windows/.
  • Each ADR carries its spike evidence inline, since the spike branches are not pushed.

Test plan

  • scripts/check-banned-words.sh --base origin/main is clean.
  • lychee --offline --include-fragments over the linux, core and windows Markdown: 0 errors.
  • scripts/ci/check-pr-title.py accepts the title.
  • Docs only. The change detector runs only the linux-docs suite.

@datlechin
datlechin merged commit 53c9aff into main Nov 2, 2026
23 checks passed
datlechin added a commit that referenced this pull request Nov 2, 2026
* fix(security): tier SQL with one classifier for macOS and iOS

Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-7WQZ7IBV.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-85FM8CNF.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-BO7086MJ.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-DXB5GXHF.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-RSL7CZQC.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-TUTSEW23.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-VEO0AP8A.
Advisory: GHSA-3x6q-h487-r38w

* fix(linux-grid): stop column moves at the row numbers, keep the focus in view and announce them (#3985)

* feat(linux-sidebar): list functions, procedures, sequences and triggers (#3969)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* feat(plugin-influxdb): add an InfluxDB 2 and 3 driver over HTTP (#3976)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* feat(plugin-qdrant): add a Qdrant driver over the REST API (#3972)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* feat(display-format): decode Protobuf schemas and Schema Registry values (#3979)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* refactor(core): move the Linux core crates into a shared core workspace (#3986)

* fix(security): import TableProSQLGrammar where the Flux classifier reads its tiers

* docs(core): record the bindings, grid data, plugin ABI and SQL Server decisions (#3987)

* fix(licensing): call the paid plan Pro, as the site and server now do (#3989)

* fix(parsing): stop malformed replies and files from crashing, hanging or filling memory (#3991)

---------

Co-authored-by: Nguyễn Nam Long <j2teamnnl@gmail.com>
datlechin added a commit that referenced this pull request Nov 2, 2026
* fix(security): tier SQL with one classifier for macOS and iOS

Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-7WQZ7IBV.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-85FM8CNF.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-BO7086MJ.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-DXB5GXHF.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-RSL7CZQC.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-TUTSEW23.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-VEO0AP8A.
Advisory: GHSA-3x6q-h487-r38w

* fix(security): run external statements as approved and read only in the engine

Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-AK0DTFEV.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-2N5FN7X4.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-A6ENWH1O.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-AWAVHFV6.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-DRI3Z3MD.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-G0F69IT6.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-KIUNV39X.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-KYD5T4TJ.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-LG65P706.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-P5IW81B3.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-PCUF2R3V.
Discovered by Anthropic's OSS Scanner, as vulnerability ANT-2026-UHVIMOF0.
Advisory: GHSA-3xf7-86qj-4546

* fix(l10n): add the iOS strings the MongoDB and ClickHouse refusals use

* fix(linux-clickhouse): hold user SQL and read-only connections to readonly=1

readonly=2 still let INSERT INTO FUNCTION file() write a file on the server (measured on 26.8).

Advisory: GHSA-3xf7-86qj-4546

* feat(plugin-influxdb): add an InfluxDB 2 and 3 driver over HTTP (#3976)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* feat(plugin-qdrant): add a Qdrant driver over the REST API (#3972)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* feat(display-format): decode Protobuf schemas and Schema Registry values (#3979)

Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>

* refactor(core): move the Linux core crates into a shared core workspace (#3986)

* fix(security): import TableProSQLGrammar where the Flux classifier reads its tiers

* fix(security): import TableProSQLGrammar where the gates read the shared classifier's tier

* docs(core): record the bindings, grid data, plugin ABI and SQL Server decisions (#3987)

* fix(licensing): call the paid plan Pro, as the site and server now do (#3989)

* fix(parsing): stop malformed replies and files from crashing, hanging or filling memory (#3991)

---------

Co-authored-by: Nguyễn Nam Long <j2teamnnl@gmail.com>
@datlechin
datlechin deleted the docs/core-decisions branch November 2, 2026 21:29
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