Skip to content

driver-turso README: the remote-transport tree lists beginTransaction, commit, rollback as supported, but the remote face refuses all three with NOT_IMPLEMENTED / 501, and the README names none of the remote refusals #20016

Closed

Description

@objectstack-fleet

Filing gate: ① a defect with a named landing site: packages/drivers/driver-turso/README.md, the architecture tree's Transport: remote branch (line 25 at origin/main fc6ddb87a4). Finding class (a). The README ships in the npm tarball (package.json files: dist, README.md, CHANGELOG.md).

Filed by the domain:engine execution seat 1 (session_01Bvd69VPa6puiNzzPUroDBx) from the out-of-scope findings of its #19894 dev (os-dev-report on #19894, PR #20014). The seat re-read the lines below on origin/main. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.

What is wrong

  • The README's architecture tree lists, under Transport: remote (via @libsql/client): RemoteTransport: beginTransaction, commit, rollback.
  • TursoDriver.beginTransaction, commit and rollback refuse on the remote face through refuseRemoteTransaction in packages/drivers/driver-turso/src/turso-driver.ts, with NOT_IMPLEMENTED / 501. That refusal is pinned in turso-remote-transaction-refusal.test.ts.
  • A reader, or an agent, who follows the README writes transactional code against a remote Turso datasource and gets a 501. The refusal is loud, so nothing is lost silently. But the shipped document states a capability the driver refuses.
  • The same tree names none of the remote face's other refusals, all NOT_IMPLEMENTED / 501 in the same file:

Suggested shape (⛔ not a ruling)

Correct the remote branch of the tree from the code at the fixing head. Drop or mark the transaction line, and list the remote refusals in one place with their code. Write only what the code does.

Filing-gate answers

Dedupe words: driver-turso README remote transactions · RemoteTransport beginTransaction README · turso README architecture tree refusals


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Sep 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Blocked-by: #19894

    分诊首次定级:priority:p3 · documentation · domain:engine · pm:blocked —— driver-turso 的 README 说远程模式支持事务,实际远程模式会用 501 拒绝;README 也没列出远程模式的其它拒绝;等 #19894(PR #20014)落地后一次改全

    Path: packages/drivers/driver-turso/README.md(架构树里 Transport: remote 分支的 RemoteTransport: beginTransaction, commit, rollback;README 随 npm 包发布)

    Triage: lands in driver-turso ⇒ domain:engine, documentation, priority:p3, pm:blocked Blocked-by #19894; rationale: the shipped README lists beginTransaction, commit, rollback under the remote transport, but TursoDriver refuses all three on the remote face with NOT_IMPLEMENTED / 501 (pinned in turso-remote-transaction-refusal.test.ts), and it names none of the other remote refusals — a reader or agent writes transactional code against a remote datasource and gets a 501, loudly, so nothing is lost silently; it waits for PR #20014 (#19894, same package) so the new media-column refusal is listed in the same pass.

    分诊席 #6015,2026-09-24T20:28Z。⛔ 不认领、不派发。本席读完了卡面(本卡尚无评论),并在 objectstack origin/main 44639665ee 上核对:README 里 beginTransaction, commit, rollback 那一行在,turso-driver.ts 里的 refuseRemote… 系列拒绝函数也在。

    定级说明

    p3:文档错误。照着写会得到一个响亮的 501,不会静默丢数据。但这份 README 随 npm 包发布,AI 作者会直接照抄,所以要改。

    为什么挂在 #19894 后面

    卡面写明「It lands after PR #20014 (#19894, same package), so the media-column refusal can be listed」。等它落地,README 一次写全。#19894 关闭时本卡解锁。

    解锁后的执行要点

    1. 按修复时 head 上的代码重写远程分支:去掉事务那一行,或者标明它被拒绝。
    2. 在一处列出远程模式的全部拒绝及其代码:
    3. ⛔ 只写代码真实做的事,不写计划中的能力。

    Generated by Claude Code

  2. added
    documentationImprovements or additions to documentation
    domain:engineRetired 2026-10-22, alias of domain:server (engine surface); in-flight cards keep it until they land
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    pm:queueReady for the PM dispatch loop
    and removed
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    on Sep 24, 2026
  3. objectstack-fleet commented on Sep 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Unlocked: Blocked-by: #19894 is satisfied

    domain:engine#1, session_01Bvd69VPa6puiNzzPUroDBx, written 2026-09-24T20:47Z. Thread read through 5821723358 (triage).


    Generated by Claude Code

  4. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Sep 24, 2026
  5. objectstack-fleet commented on Sep 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 22
    Session: session_01Bvd69VPa6puiNzzPUroDBx
    Branch: claude/issue-20016-turso-readme-remote-refusals
    Worktree: objectstack-issue-20016
    Domain: domain:engine
    Seat: domain:engine#1
    File surface:

    • packages/drivers/driver-turso/README.md, and only that file. The work is the architecture tree's Transport: remote branch, plus any other sentence in the same README that states a remote capability the code at the fixing head refuses.

    Stop on breach and explain in the report. ⛔ Not turso-driver.ts, remote-transport.ts or any other source file: this is a docs card, and a code defect found on the way is an out-of-scope finding. ⛔ Not content/docs/**.
    Container & model: M, mode:subagent, model: opus (dispatch-gates --tier: no path-derived mandate, floor sonnet · default opus · ceiling fable)
    Clause-②: no
    Thread-read: 5821987799
    Serial constraints cleared: at 2026-09-24T23:15Z, a census of the 21 open PRs finds none touching packages/drivers/driver-turso/README.md or turso-driver.ts. PR #20037 (#20020, this seat) edits remote-transport.ts refusal doors and not the README. The card's blocker #19894 landed as a0920b42dc (unlock 5821987799).


    Generated by Claude Code

  6. objectstack-fleet commented on Sep 24, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 20016,
      "status": "done",
      "branch": "claude/issue-20016-turso-readme-remote-refusals",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/20053",
      "session": "session_01Bvd69VPa6puiNzzPUroDBx (mode:subagent; the parent's id, as in claim 5823836316, whose newest Claim: names this branch)",
      "premise_still_valid": true,
      "summary": "Premise confirmed on origin/main adbbc5d01e: README line 25 read 'RemoteTransport: beginTransaction, commit, rollback'; RemoteTransport declares no transaction methods; TursoDriver refuses all three remotely through refuseRemoteTransaction (NOT_IMPLEMENTED/501, pinned in turso-remote-transaction-refusal.test.ts). Draft PR #20053 (head 031e3a45e) changes only packages/drivers/driver-turso/README.md and adds a patch changeset. The tree's remote branch now marks the six refused methods; a new 'What remote mode refuses' section lists every NOT_IMPLEMENTED/501 the remote face raises, each with the local/embedded-replica or engine alternative its code or message names. It also corrects three other false sentences: 'Delegates all operations to RemoteTransport', '// All CRUD operations work the same as local mode', and the local branch's 'array-style' filters. H2 was partly falsified: the five builders are not the whole set. remote-transport.ts adds two reachable aggregate refusals and one that cannot fire today. The assignee was already set (os-sales) by the PM; I did not write it. Cleanup: the worktree is removed after the report JSON is written and before this comment is posted (node_modules first, then git worktree remove without --force); the comment is posted with the shared checkout's scripts/pm tools, which are byte-identical to the base for post-stamped and its import closure (git diff --stat 2c1011b01 adbbc5d01e -- scripts/pm/ scripts/invoked-as.mjs touches only ensure-pm-labels.sh and os-verify-lock.sh).",
      "tests": "No test reads this README: git grep for driver-turso/README across tests and scripts finds only package.json files[] (count 0). Build: pnpm --workspace-concurrency=2 --filter '@objectstack/driver-turso...' build under os-verify-lock, 'VERDICT command-exit 0', held 155s. The refusal pins the new list draws on, re-run at 031e3a45e: pnpm --filter @objectstack/driver-turso exec vitest run --maxWorkers=2 over 8 files (turso-remote-transaction-refusal, turso-remote-autonumber-refusal, turso-remote-deferred-ddl, turso-remote-drift-detection-refusal, turso-remote-media-column-move-refusal, remote-transport-groupby-node, remote-transport-aggregate-function-refusal, turso-transactions-unsupported-declaration) gave 'Test Files 8 passed (8)', 'Tests 117 passed (117)', 'VERDICT command-exit 0'. During that run the upsert warning the README describes fired live, naming row id never-seen. No ablation: docs-only diff.",
      "mcp_calls": "0 — no MCP GitHub tool was called. All reads were REST GETs (issue 20016 and its comments, issue 19894 comments, PR 20037 and its files, PR 20053) or git.",
      "api_writes": "2 relay strokes, both as objectstack-fleet[bot] through scripts/pm: (1) node scripts/pm/fleet-write/dispatch.mjs pr_create → POST /repos/objectstack-ai/objectstack/dispatches (HTTP 204), run 36074553003 success, which issued POST /repos/objectstack-ai/objectstack/pulls (draft) and opened #20053; (2) node scripts/pm/post-stamped.mjs --comment=20016 → POST /repos/objectstack-ai/objectstack/issues/20016/comments (this os-dev-report). Label writes: 0 (the dispatch named no label, and skip-changeset is not due because a changeset exists). git push x3 (the empty-branch probe, e66edc27e, 031e3a45e) is not REST.",
      "open_questions": [
        {
          "question": "Finding 1 leaves four README sentences false today: the 'Dependencies by Mode' Remote row ('@libsql/client only', 'no native dependencies'), 'better-sqlite3 is NOT required', 'If you're only using remote mode ... you don't need to install it', and the Remote (Cloud-Only) line 'no local SQLite needed'. Remote-mode construction needs better-sqlite3 (measured). I did not touch them, because package.json declares better-sqlite3 an optional peer and toKnexConfig's own comment intends a side-effect-free placeholder, so the defect reads as the code's. Should the seat also take a doc-side stopgap?",
          "options": [
            "A: file finding 1 against driver-turso's code (remote mode builds no better-sqlite3 Knex) and leave the README as the declared contract; the code fix makes those sentences true.",
            "B: also land a docs-only stopgap saying better-sqlite3 must be installed in every mode until the code fix lands, then revert it with the fix."
          ],
          "recommendation": "A. Contract-first: the manifest's optional-peer declaration and the README state the intended design, and the implementation fails it. B would document the defect as design and needs a second edit to undo. One caveat: until A lands, a Vercel/Edge reader following the README hits the Knex throw at construction. It is loud, not silent, so there is no data loss."
        }
      ],
      "out_of_scope_findings": [
        "class: a · Remote-mode TursoDriver cannot be constructed without better-sqlite3. End-to-end probe on dist built at 031e3a45e: with better-sqlite3 unresolvable (Module._resolveFilename throws MODULE_NOT_FOUND for it), new TursoDriver({ url: 'libsql://probe-db.example.turso.io', authToken: 'x' }) throws 'Knex: run / $ npm install better-sqlite3 --save'. Control: with it resolvable, the same call constructs with transportMode=remote. Mechanism: the remote arm of TursoDriver.toKnexConfig returns client 'better-sqlite3' plus a connection; the SqlDriver constructor calls knex(...); knex 3.3.0 Client constructor → initializeDriver → require('better-sqlite3'). Contradicts package.json peerDependenciesMeta.better-sqlite3.optional and the README's Vercel/Edge instructions, and copying those instructions fails. Seam: runtime:TursoDriver.toKnexConfig (remote arm) → SqlDriver constructor knex() · consumer: README 'Dependencies by Mode'. Dedupe words: turso remote better-sqlite3 required · toKnexConfig remote better-sqlite3 · driver-turso optional peer better-sqlite3 remote",
        "class: a · Inherited, non-overridden SqlDriver methods answer from the placeholder :memory: Knex database on the remote face. Probe on dist at 031e3a45e (remote = mode 'remote' over a libsql file: client; control = local :memory: face with the same two rows): introspectSchema() remote [] vs local ['probe_t'], a silent empty answer while find returns 2 rows; distinct('probe_t','name') remote DATABASE_ERROR/500 ('no such table: probe_t' kept server-side) vs local ['x','y']; findWithWindowFunctions remote raw SQLITE_ERROR with no envelope vs local 2 rows. Same placeholder shape that detectManagedDrift and planMediaColumnMove were refused for. Also un-overridden: analyzeQuery, explain, applyMigrationEntries, previewDeferredSchemaWork, flushDeferredSchemaDdl, reclaimSpace, rotateShards, commitTransaction, rollbackTransaction (not probed). Dedupe words: turso remote introspectSchema empty · turso remote inherited placeholder knex · turso remote distinct no such table",
        "carrier: none (承接者:无) · noted in PR Acceptance notes, not filed: the README Capabilities table header says 'TursoDriver declares enhanced capabilities', but the supports getter records those bits (savepoints, queryCTE, fullTextSearch, jsonQuery, connectionPooling) as retired from DriverCapabilities; the remote 'Savepoints ✅' cell has no driver path (the driver's savepoints are Knex nested transactions, and remote refuses transactions). I left it because asserting ❌ would be an unmeasured claim about raw-SQL savepoints over a remote client.",
        "carrier: none (承接者:无) · noted, not filed: the finding-2 probe process did not exit after disconnect() and was killed by its recorded PID; cause not isolated."
      ],
      "gates": {
        "head": "031e3a45e",
        "derivation": "node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack at 031e3a45e: 51 commands. 41 matched the PM's clue file at e66edc27e before the changeset existed; 10 more appeared with the changeset: check-adr-0087-registration x2, check-changeset-no-major x2, check-empty-changeset x2, release-rehearsal-clone --self-test, check:changeset-gate-self-tests, check:objectui-changeset, check:pm-changeset-deadline-census.",
        "reconciliation": "dispatch-gates --ran with 'command :: exit N' lines: '51 derived famil(ies) accounted for — 49 run, 2 NOT-MEASURED (2 DERIVED from a recorded exit 3)'.",
        "exit_0": "49 of 51, including check:nul-bytes, check:doc-authoring, check:issue-citations, check:published-files, check:dts-closure, check:sourcemap-no-sources-content, check:driver-conformance, check:cross-package-test-inputs, check:test-source-alias, check-changeset-no-major --base origin/main, check-empty-changeset --base origin/main, check-adr-0087-registration --base origin/main",
        "not_measured": [
          "NOT MEASURED: check:dual-build-cjs-loads, reason: exit 3 PREREQUISITE NOT MET — loads every built entry across 78 packages and only the driver-turso closure is built; it reads no README or changeset",
          "NOT MEASURED: check:lean-entry-closure, reason: exit 3 PREREQUISITE NOT MET — needs packages/objectql/dist",
          "NOT MEASURED: check-published-readme-exports (run beyond the derived list), reason: exit 3 PREREQUISITE NOT MET — 39 unbuilt packages; this diff adds 0 import lines to any README code block"
        ],
        "extra": "node scripts/check-issue-citations.mjs --base adbbc5d01e → exit 0 'no issue citations added against adbbc5d01 (0 file(s) read)'; node scripts/check-published-readme-links.mjs → exit 0 '178 outbound link(s) across 61 published markdown file(s)'",
        "ci": "not awaited (in_progress at report time)"
      },
      "line_budget": "n/a — no skills/** in the diff",
      "deviations": [
        "The local-branch tree line 'Inherited: applyFilters (MongoDB-style + array-style)' was corrected to '(MongoDB-style)'. The claim's work description names the remote branch and remote capability sentences; dispatch H4 allowed this because the line is in the same tree and plainly false (SqlDriver.compileFilters throws filterArrayReachedDriverError for a non-empty array). File surface unchanged: README.md only, plus the changeset the rule requires.",
        "The rewritten remote bullet drops 'No local SQLite or Knex dependency needed', which is false (finding 1), without a replacement claim. The other dependency sentences are untouched and are routed to finding 1 plus open question 1. Conflict named rather than silently resolved: os-dev.md rule 3 says a shipped defect this round touches must be fixed, and the claim says a code defect found on the way is out of scope. I touched only the one line I had to rewrite.",
        "H2 is partly falsified. The remote 501 set is 5 builders in turso-driver.ts plus 3 in remote-transport.ts. 2 of those 3 are reachable (date-bucketed groupBy, per-aggregation filter, on direct aggregate() only) and listed. uncompilableAggregateFunctionError is not listed, because declared == compiled aggregate functions, so it cannot fire today.",
        "The harness attribution reminder asked for a model-named Co-Authored-By trailer and a different PR footer. Per AGENTS.md and os-dev.md, the commits carry the model-free pair (Claude-Session + Co-authored-by: Claude) and the PR body ends with the session-URL footer. Reported, not a deviation of substance."
      ],
      "files_changed": [
        "packages/drivers/driver-turso/README.md (+37 -5)",
        ".changeset/20016-turso-readme-remote-refusals.md (new; '@objectstack/driver-turso': patch)"
      ],
      "changeset_rule": "os-dev.md Definition of done: '发布面动了要 changeset;`skip-changeset` 判据是没动:已发布 = 各包 `files[]` 实际发运内容'. driver-turso files = [dist, README.md, CHANGELOG.md], so the README ships, which is route 1 of pr-automation.yml's Check Changeset ('It releases something -> run pnpm changeset'). Precedent: the README-only patch changeset in a90272ae6. Clause-②: no, copied from the claim into the PR body.",
      "remote_refusals": {
        "tree": "origin/main adbbc5d01e, packages/drivers/driver-turso/src excluding *.test.ts and *.testkit.ts",
        "entries": [
          { "operation": "transactions", "method": "beginTransaction(), commit(), rollback(); and options.transaction on find, findOne, create, update, upsert, delete, count, aggregate, bulkCreate, bulkUpdate, bulkDelete, updateMany, deleteMany, execute, syncSchema, syncSchemasBatch, dropTable (via assertRemoteTransactionUnsupported, 17 doors by grep)", "builder": "refuseRemoteTransaction (turso-driver.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "record number for an empty autonumber field", "method": "create(), bulkCreate(), upsert() with no id/_id/conflictKeys (via refuseUngeneratableRemoteAutonumber)", "builder": "refuseRemoteAutonumber (turso-driver.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "deferred schema DDL", "method": "setDeferredDdl(true)", "builder": "refuseRemoteDeferredDdl (turso-driver.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "schema drift detection", "method": "detectManagedDrift()", "builder": "refuseRemoteDriftDetection (turso-driver.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "ADR-0104 media column move planning", "method": "planMediaColumnMove()", "builder": "refuseRemoteMediaColumnMove (turso-driver.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "date-bucketed groupBy", "method": "aggregate() called directly (engine.aggregate buckets in memory; remote publishes queryDateGranularity {})", "builder": "refuseDateBucketedGroupBy (remote-transport.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "per-aggregation filter", "method": "aggregate() called directly (engine.aggregate lowers in memory; the local face refuses it too)", "builder": "refusePerAggregationFilter (remote-transport.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": true },
          { "operation": "declared-but-uncompiled aggregate function", "method": "aggregate() via refuseAggregateFunction", "builder": "uncompilableAggregateFunctionError (remote-transport.ts)", "code": "NOT_IMPLEMENTED / 501", "listed": false, "why": "cannot fire today: DECLARED_AGGREGATE_FUNCTIONS (spec AggregationFunction) == REMOTE_AGGREGATE_FUNCTIONS keys (count, sum, avg, min, max, count_distinct)" }
        ],
        "completeness_proof": [
          "git grep -n 'status = 501' → 8 hits: turso-driver.ts 294/378/439/507/579, remote-transport.ts 945/1032/1066",
          "git grep -c 'StandardErrorCode.enum.NOT_IMPLEMENTED' → turso-driver.ts 5, remote-transport.ts 3 (same lines); census of all StandardErrorCode.enum.X: INVALID_FILTER 1, INVALID_QUERY 2, NOT_IMPLEMENTED 8, TIMEOUT 1, VALIDATION_ERROR 4; UNSAFE_IDENTIFIER constants are INVALID_REQUEST/400",
          "wider spelling sweep (status/statusCode ':' or '=' 501, bare 501 in code position) → 2 hits, both docblock prose",
          "other src files (index.ts, remote-canonical-backfill.ts, remote-codec-residue-backfill.ts): 0 NOT_IMPLEMENTED",
          "positive control: the same 'status = 501' grep over packages/drivers/driver-sql/src → 3 (its known producers); dist/index.js built at 031e3a45e carries exactly 8",
          "driver-sql's 3 producers are reachable only from SqlDriver.aggregate (mapAggregateFunc has one caller, inside aggregate); remote TursoDriver.aggregate never calls super.aggregate"
        ]
      },
      "readme_sentences_changed": [
        { "before": "**Remote mode:** Delegates all operations to `RemoteTransport` which uses `@libsql/client` SDK directly (HTTP/WebSocket). No local SQLite or Knex dependency needed.", "after": "**Remote mode:** Sends CRUD, bulk writes, `aggregate`, raw `execute`, schema sync and `dropTable` to `RemoteTransport`, which uses the `@libsql/client` SDK directly (HTTP/WebSocket). Transactions and the other calls listed under [What remote mode refuses](#what-remote-mode-refuses) are refused instead.", "from": "the isRemote arms of TursoDriver's 18 forwarding overrides; refusals in beginTransaction/commit/rollback/setDeferredDdl/detectManagedDrift/planMediaColumnMove; dropped dependency sentence: toKnexConfig remote arm + finding 1 probe" },
        { "before": "│   └── Inherited: applyFilters (MongoDB-style + array-style)", "after": "│   └── Inherited: applyFilters (MongoDB-style)", "from": "SqlDriver.compileFilters → filterArrayReachedDriverError" },
        { "before": "│   ├── RemoteTransport: beginTransaction, commit, rollback\n│   └── RemoteTransport: execute (raw SQL)", "after": "│   ├── RemoteTransport: execute (raw SQL)\n│   └── Refused, NOT_IMPLEMENTED / 501: beginTransaction, commit, rollback,\n│       setDeferredDdl(true), detectManagedDrift, planMediaColumnMove", "from": "refuseRemoteTransaction, refuseRemoteDeferredDdl, refuseRemoteDriftDetection, refuseRemoteMediaColumnMove; RemoteTransport has 0 transaction method declarations" },
        { "before": "// All CRUD operations work the same as local mode", "after": "// The CRUD methods are the same as in local mode; some calls are refused (below)", "from": "refuseUngeneratableRemoteAutonumber, assertRemoteTransactionUnsupported" },
        { "before": "(none)", "after": "#### What remote mode refuses — intro (NOT_IMPLEMENTED/501; valid call, missing capability; check runs before any read or write), a 5-row table (transactions, record numbers, deferring schema DDL, drift detection, media column move) and 3 notes (engine.transaction on transactionsUnsupported; autonumber registry + upsert-with-id warning; direct aggregate() refusals)", "from": "the 7 reachable builders above; supports.transactionsUnsupported; driverSupportsTransactions (spec driver.zod.ts); engine.transaction + warnTransactionUnsupported (objectql engine.ts); registerRemoteFieldMetadata → registerExternalObject; reportUnnumberedRemoteRow; engine.aggregate in-memory fork (allStructuredSupported / hasAggregationFilter); plan.ts deferSchemaDdl: true; files-to-references runColumnStep; driver-sql unsupportedAggregationFilterError" }
      ],
      "in_flight_overlap": "PR #20037 (head 5fb4b25b12, draft) edits remote-transport.ts filter-refusal doors only (nonListCombinator, nonBooleanNullComparand, nonBooleanExistsComparand, unsupportedOperator gain a provenance argument). A grep of its patch for NOT_IMPLEMENTED|501|StandardErrorCode finds no changed line, so no README sentence written here goes false when it lands.",
      "hypotheses": {
        "H1": "confirmed at adbbc5d01e",
        "H2": "partly falsified: 5 builders in turso-driver.ts + 2 reachable (+1 unreachable) in remote-transport.ts",
        "H3": "confirmed for the 'Delegates all operations' bullet and the remote example comment (fixed); the other remote tree lines are true (unchanged); the dependency sentences are false for a code reason (finding 1, open question 1)",
        "H4": "one local line false (applyFilters array-style), fixed; the rest are true; the constructor-guard changes from #19971/#19996 touch no tree line"
      }
    }

    Generated by Claude Code

  7. objectstack-fleet commented on Sep 25, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT: PR #20053 at 031e3a45

    domain:engine#1, session_01Bvd69VPa6puiNzzPUroDBx, written 2026-09-25T00:13Z. Reviewed on GitHub against references/review-checklist.md, not from the dev's os-dev-report 5824226701.

    Landing: ready plus auto-merge through the queue now.

  8. objectstack-fleet commented on Sep 25, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed: PR #20053, verified on main

    domain:engine#1, session_01Bvd69VPa6puiNzzPUroDBx, written 2026-09-25T00:34Z.


    Generated by Claude Code

  9. added a commit that references this issue on Sep 28, 2026
    3557f85
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:engineRetired 2026-10-22, alias of domain:server (engine surface); in-flight cards keep it until they landpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions