You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[finding][drivers] driver-turso 的 date-bucket-parity 测试里还有一处死 as never —— 在 driver.create 的 options 门上,与 #6354 不同门 #6394
bypassTenantAudit: z.boolean().optional().describe('Suppress the driver tenant-audit warning for
a deliberately global write on a tenant-scoped object (diagnostics only — never changes what
the write touches)')
Findings sweep (maintainer-authorized one-off, 2026-08-07 — registered on #6015): promoted to the queue. The last as never in the file #6354 cleaned, already verified dead against a freshly-built closure — one-line removal, batch with #6399's guardrail work so the cleanup and its protection land together. finding → pm:queue.
Claim: PM loop, drivers lane (accelerated batch, maintainer-directed)
Session: session_01Hg9Pkg5nDedCRihRsdeCdX
Branch: claude/issue-6394-date-bucket-options-cast
Worktree: objectstack-issue-6394 (cloud session — own container)
Domain: domain:drivers
Container class: S-size test-only cast removal, mode:cloud for parallel isolation
File surface: packages/drivers/driver-turso/src/date-bucket-parity.test.ts (single as never removal); the suggested same-shape scan of other drivers' options-gate casts is read-only (findings filed, not fixed here).
Serial constraints cleared: promotion note asked to batch with #6399's guardrail — #6399 closed completed 2026-08-08T03:40Z (devx lane), so the protection question is settled and this rides alone. PR #6706 (in flight) touches driver-turso but not this file. No other in-flight claim on this file found.
{
"issue": 6394,
"repo": "objectstack-ai/objectstack",
"premise_still_valid": true,
"premise_notes": "Cast located by pattern (not line number) on origin/main and still present: `{ bypassTenantAudit: true } as never` in packages/drivers/driver-turso/src/date-bucket-parity.test.ts. It was the file's only remaining `as never` — #6354's stand-in call sites (the `checkDateBucketParity(...)` gates) are already cast-free. No #6399 guard covers or conflicts with it: that resolution landed as the `check:verify-stand-in` gate, which guards the stand-in call sites and passes green both before and after this change.",
"status": "delivered",
"pr": 6757,
"pr_state": "draft",
"branch": "claude/issue-6394-date-bucket-options-cast",
"head_sha": "5e4e828",
"base_merged": "origin/main @ 64d764e",
"diff": { "files": 1, "insertions": 1, "deletions": 1 },
"changeset": {
"added": false,
"reason": "Tests-only change; no runtime or published surface touched, so it declares no release. Per dispatch, PM applies `skip-changeset` at acceptance."
},
"evidence": {
"dependency_closure_built_first": true,
"typecheck": "@objectstack/driver-turso — tsc --noEmit, EXIT=0, zero output",
"tests": "@objectstack/driver-turso — vitest run, 27 files / 836 tests passed, EXIT=0",
"compile_graph_control": "Confirmed the test file is genuinely typechecked (not excluded): tsconfig has include ['src/**/*'], and an injected `const x: number = \"…\"` in this same file reds with TS2322. Control reverted.",
"reran_after_merging_main": true
},
"premise_correction": {
"claim_in_issue": "The cast erases the options shape to `never`, so misspelled keys and wrong-typed values in options go unchecked; removing it restores that checking.",
"measured_verdict": "Half wrong. The cast IS dead (removal typechecks clean), but removing it restores NO checking at this gate.",
"measurements": [
"{ bypassTenantAudditt: true } (misspelled key), cast removed → tsc EXIT=0, no error",
"{ bypassTenantAudit: 'not-a-boolean' } (wrong type), cast removed → tsc EXIT=0, no error"
],
"root_cause": "TursoDriver overrides create with `options?: any` (packages/drivers/driver-turso/src/turso-driver.ts:523). That override, not SqlDriver's `options?: DriverOptions`, is what resolves at this call site — the parameter was already `any` before the cast applied.",
"why_still_landed": "The cast reads as a load-bearing escape hatch and is not one. Removing dead noise is the honest benefit; restoring type safety is not, and the PR body says so rather than repeating the issue's rationale."
},
"gates": {
"source": "Enumerated one by one from .github/workflows/lint.yml (ESLint job + TypeScript Type Check job)",
"total_run": 47,
"failed": 0,
"notes": "Includes turbo build (66 tasks) and turbo typecheck (120 tasks) across packages/apps/examples."
},
"ci": {
"converged": true,
"total_checks": 24,
"success": 21,
"skipped": 2,
"failure": 1,
"failing_checks": ["Check Changeset"],
"failure_is_expected": true,
"failure_analysis": "Read the job log to confirm the cause: it failed on the changeset COUNT, not on an unusable diff base. The gate offers exactly two routes — a changeset, or the `skip-changeset` label — and explicitly rejects an empty-frontmatter changeset as a third (#5471 / #4898). A tests-only change releases nothing, so the label is the correct route; fabricating a changeset would be the wrong one. Left for the PM label at acceptance.",
"green_highlights": ["ESLint", "TypeScript Type Check", "Test Core (3 shards)", "Build Core", "Dogfood Regression Gate (3 shards)", "Dogfood Verify CLI", "Temporal Conformance (live PG + MySQL)"]
},
"out_of_scope_findings": [
{
"action": "filed",
"issue": 6754,
"assignee": null,
"title": "27 dead `{ bypassTenantAudit: true } as any` options-gate casts in driver-sql / driver-sqlite-wasm tests",
"dedup": "search-first; no existing issue covered this shape",
"summary": "This is the same-shape scan the dispatch ordered READ-ONLY. 27 sites across 12 files (17 driver-sqlite-wasm, 10 driver-sql). Stripping all 27 leaves both packages at tsc EXIT=0, so all are dead. Unlike #6394's, these sit on a REAL typed gate — SqlDriver.create declares `options?: DriverOptions` and SqliteWasmDriver does not override it — so removing them genuinely restores checking, measured: a misspelled key reds with TS2561. Not fixed here; all exploratory edits reverted (git diff vs the commit is empty)."
},
{
"action": "commented_on_existing",
"issue": 6402,
"dedup": "search-first hit — existing open issue already owns this axis, so a correction comment rather than a duplicate issue",
"summary": "Its table under-counts: the `options?: any` widening on TursoDriver covers 16 overrides, not the 5 listed. The 11 missing are find, findOne, create, bulkCreate, bulkUpdate, bulkDelete, updateMany, deleteMany, execute, syncSchema, dropTable. Verified all 16 against their SqlDriver bases — every one declares `options?: DriverOptions`, so there is no legitimate-`any` subset. This matters because the issue's own argument is that a partial fix reads as a judgment on the sites left behind, and `create` — the exact gate #6394 is about — was among the missing."
}
],
"open_questions": [
{
"question": "Is #6394 worth landing at all, given it restores no type checking?",
"self_ruled": "Yes — landed. The dispatch graded it a one-line removal and the cast is measurably dead; a cast that looks load-bearing and is not costs the next reader of TursoDriver's signatures real time. But the PR body states the true benefit (noise removal) rather than the issue's claimed one (restored checking), so acceptance is not made on a false premise.",
"axis": "value / honesty of the stated benefit"
},
{
"question": "Should the 27 sibling casts in #6754 have been fixed in this PR, since they are the same five characters and buy MORE than this PR does?",
"self_ruled": "No — the dispatch made the same-shape scan explicitly READ-ONLY, and that ruling is not mine to relitigate. Filed as #6754 with the full measurement so a grader can queue it at its real value, which is higher than this card's.",
"axis": "scope discipline"
},
{
"question": "Does the ordering between #6754 and #6402 need stating for triage?",
"self_ruled": "Stated in both. #6754 buys checking today; turso's casts are only worth touching after #6402 narrows the 16 `options?: any` overrides. Flagging so the two are not graded as interchangeable cleanup.",
"axis": "triage sequencing"
}
],
"pm_action_required": ["Apply `skip-changeset` to PR #6757 at acceptance — the only red check clears with it.", "Grade newly filed #6754 (unassigned, observation-class).", "Note the corrected inventory on #6402 before it is implemented — 16 overrides, not 5."]
}
ACCEPT — PR #6757 passed the step-7 review; skip-changeset applied (tests-only, the one red check clears with it), marking it ready and enabling auto-merge.
What shipped: the dead as never on driver.create's options gate removed (1 file, +1/−1), with the honest premise correction recorded: the cast was dead but removing it restores NO checking at this gate — TursoDriver.create's own options?: any override (not the cast) was what disabled the checking, which is exactly #6402's surface; once PR #6755 lands, this site gains real checking. Verified: dependency closure built before typecheck, compile-graph control run and reverted, 47 gates enumerated from lint.yml green locally, CI 21 success / 2 skipped / 1 expected label-gate red. Out-of-scope scan honored as read-only: #6754 filed unassigned (27 dead casts on REAL typed gates in driver-sql / driver-sqlite-wasm — awaiting triage grading), inventory correction posted on #6402.
Activity
os-project-manager commentedon Aug 8, 2026
Findings sweep (maintainer-authorized one-off, 2026-08-07 — registered on #6015): promoted to the queue. The last
as neverin the file #6354 cleaned, already verified dead against a freshly-built closure — one-line removal, batch with #6399's guardrail work so the cleanup and its protection land together.finding→pm:queue.Generated by Claude Code
os-zhuang commentedon Aug 8, 2026
Claim: PM loop, drivers lane (accelerated batch, maintainer-directed)
Session:
session_01Hg9Pkg5nDedCRihRsdeCdXBranch:
claude/issue-6394-date-bucket-options-castWorktree:
objectstack-issue-6394(cloud session — own container)Domain:
domain:driversContainer class: S-size test-only cast removal,
mode:cloudfor parallel isolationFile surface:
packages/drivers/driver-turso/src/date-bucket-parity.test.ts(singleas neverremoval); the suggested same-shape scan of other drivers' options-gate casts is read-only (findings filed, not fixed here).Serial constraints cleared: promotion note asked to batch with #6399's guardrail — #6399 closed completed 2026-08-08T03:40Z (devx lane), so the protection question is settled and this rides alone. PR #6706 (in flight) touches driver-turso but not this file. No other in-flight claim on this file found.
Generated by Claude Code
os-zhuang commentedon Aug 8, 2026
os-dev report
{ "issue": 6394, "repo": "objectstack-ai/objectstack", "premise_still_valid": true, "premise_notes": "Cast located by pattern (not line number) on origin/main and still present: `{ bypassTenantAudit: true } as never` in packages/drivers/driver-turso/src/date-bucket-parity.test.ts. It was the file's only remaining `as never` — #6354's stand-in call sites (the `checkDateBucketParity(...)` gates) are already cast-free. No #6399 guard covers or conflicts with it: that resolution landed as the `check:verify-stand-in` gate, which guards the stand-in call sites and passes green both before and after this change.", "status": "delivered", "pr": 6757, "pr_state": "draft", "branch": "claude/issue-6394-date-bucket-options-cast", "head_sha": "5e4e828", "base_merged": "origin/main @ 64d764e", "diff": { "files": 1, "insertions": 1, "deletions": 1 }, "changeset": { "added": false, "reason": "Tests-only change; no runtime or published surface touched, so it declares no release. Per dispatch, PM applies `skip-changeset` at acceptance." }, "evidence": { "dependency_closure_built_first": true, "typecheck": "@objectstack/driver-turso — tsc --noEmit, EXIT=0, zero output", "tests": "@objectstack/driver-turso — vitest run, 27 files / 836 tests passed, EXIT=0", "compile_graph_control": "Confirmed the test file is genuinely typechecked (not excluded): tsconfig has include ['src/**/*'], and an injected `const x: number = \"…\"` in this same file reds with TS2322. Control reverted.", "reran_after_merging_main": true }, "premise_correction": { "claim_in_issue": "The cast erases the options shape to `never`, so misspelled keys and wrong-typed values in options go unchecked; removing it restores that checking.", "measured_verdict": "Half wrong. The cast IS dead (removal typechecks clean), but removing it restores NO checking at this gate.", "measurements": [ "{ bypassTenantAudditt: true } (misspelled key), cast removed → tsc EXIT=0, no error", "{ bypassTenantAudit: 'not-a-boolean' } (wrong type), cast removed → tsc EXIT=0, no error" ], "root_cause": "TursoDriver overrides create with `options?: any` (packages/drivers/driver-turso/src/turso-driver.ts:523). That override, not SqlDriver's `options?: DriverOptions`, is what resolves at this call site — the parameter was already `any` before the cast applied.", "why_still_landed": "The cast reads as a load-bearing escape hatch and is not one. Removing dead noise is the honest benefit; restoring type safety is not, and the PR body says so rather than repeating the issue's rationale." }, "gates": { "source": "Enumerated one by one from .github/workflows/lint.yml (ESLint job + TypeScript Type Check job)", "total_run": 47, "failed": 0, "notes": "Includes turbo build (66 tasks) and turbo typecheck (120 tasks) across packages/apps/examples." }, "ci": { "converged": true, "total_checks": 24, "success": 21, "skipped": 2, "failure": 1, "failing_checks": ["Check Changeset"], "failure_is_expected": true, "failure_analysis": "Read the job log to confirm the cause: it failed on the changeset COUNT, not on an unusable diff base. The gate offers exactly two routes — a changeset, or the `skip-changeset` label — and explicitly rejects an empty-frontmatter changeset as a third (#5471 / #4898). A tests-only change releases nothing, so the label is the correct route; fabricating a changeset would be the wrong one. Left for the PM label at acceptance.", "green_highlights": ["ESLint", "TypeScript Type Check", "Test Core (3 shards)", "Build Core", "Dogfood Regression Gate (3 shards)", "Dogfood Verify CLI", "Temporal Conformance (live PG + MySQL)"] }, "out_of_scope_findings": [ { "action": "filed", "issue": 6754, "assignee": null, "title": "27 dead `{ bypassTenantAudit: true } as any` options-gate casts in driver-sql / driver-sqlite-wasm tests", "dedup": "search-first; no existing issue covered this shape", "summary": "This is the same-shape scan the dispatch ordered READ-ONLY. 27 sites across 12 files (17 driver-sqlite-wasm, 10 driver-sql). Stripping all 27 leaves both packages at tsc EXIT=0, so all are dead. Unlike #6394's, these sit on a REAL typed gate — SqlDriver.create declares `options?: DriverOptions` and SqliteWasmDriver does not override it — so removing them genuinely restores checking, measured: a misspelled key reds with TS2561. Not fixed here; all exploratory edits reverted (git diff vs the commit is empty)." }, { "action": "commented_on_existing", "issue": 6402, "dedup": "search-first hit — existing open issue already owns this axis, so a correction comment rather than a duplicate issue", "summary": "Its table under-counts: the `options?: any` widening on TursoDriver covers 16 overrides, not the 5 listed. The 11 missing are find, findOne, create, bulkCreate, bulkUpdate, bulkDelete, updateMany, deleteMany, execute, syncSchema, dropTable. Verified all 16 against their SqlDriver bases — every one declares `options?: DriverOptions`, so there is no legitimate-`any` subset. This matters because the issue's own argument is that a partial fix reads as a judgment on the sites left behind, and `create` — the exact gate #6394 is about — was among the missing." } ], "open_questions": [ { "question": "Is #6394 worth landing at all, given it restores no type checking?", "self_ruled": "Yes — landed. The dispatch graded it a one-line removal and the cast is measurably dead; a cast that looks load-bearing and is not costs the next reader of TursoDriver's signatures real time. But the PR body states the true benefit (noise removal) rather than the issue's claimed one (restored checking), so acceptance is not made on a false premise.", "axis": "value / honesty of the stated benefit" }, { "question": "Should the 27 sibling casts in #6754 have been fixed in this PR, since they are the same five characters and buy MORE than this PR does?", "self_ruled": "No — the dispatch made the same-shape scan explicitly READ-ONLY, and that ruling is not mine to relitigate. Filed as #6754 with the full measurement so a grader can queue it at its real value, which is higher than this card's.", "axis": "scope discipline" }, { "question": "Does the ordering between #6754 and #6402 need stating for triage?", "self_ruled": "Stated in both. #6754 buys checking today; turso's casts are only worth touching after #6402 narrows the 16 `options?: any` overrides. Flagging so the two are not graded as interchangeable cleanup.", "axis": "triage sequencing" } ], "pm_action_required": ["Apply `skip-changeset` to PR #6757 at acceptance — the only red check clears with it.", "Grade newly filed #6754 (unassigned, observation-class).", "Note the corrected inventory on #6402 before it is implemented — 16 overrides, not 5."] }Generated by Claude Code
os-zhuang commentedon Aug 8, 2026
ACCEPT — PR #6757 passed the step-7 review;
skip-changesetapplied (tests-only, the one red check clears with it), marking it ready and enabling auto-merge.What shipped: the dead
as neverondriver.create's options gate removed (1 file, +1/−1), with the honest premise correction recorded: the cast was dead but removing it restores NO checking at this gate —TursoDriver.create's ownoptions?: anyoverride (not the cast) was what disabled the checking, which is exactly #6402's surface; once PR #6755 lands, this site gains real checking. Verified: dependency closure built before typecheck, compile-graph control run and reverted, 47 gates enumerated from lint.yml green locally, CI 21 success / 2 skipped / 1 expected label-gate red. Out-of-scope scan honored as read-only: #6754 filed unassigned (27 dead casts on REAL typed gates in driver-sql / driver-sqlite-wasm — awaiting triage grading), inventory correction posted on #6402.Generated by Claude Code
test(drivers): 剥掉 34 处已死的 `bypassTenantAudit` 选项转型,换回编译期检查 (#6754)