Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
2151d9f
fix(db): resume independent subscription demand after abandoned renders
Oct 22, 2026
2975790
chore(db): add subscription startup fix changeset
Oct 22, 2026
75a7d04
docs: require source reading across oracle skill handoffs
Oct 22, 2026
7f2ad8e
docs: clarify migration review references and terminology
Oct 22, 2026
16824f6
fix(db): reject subscription admission during cleanup
Oct 22, 2026
da37bc9
fix(db): preserve subscription ownership across cleanup and resumption
Oct 22, 2026
e852b0a
fix(db): retain surviving demand across interrupted admission
Oct 22, 2026
38eb283
test(db): classify replay demand by subscription ownership
Oct 23, 2026
a39a07d
test(db): enforce generated replay demand reach
Oct 23, 2026
e32ac73
Merge remote-tracking branch 'origin/main' into codex/evaluate-dbclie…
Oct 23, 2026
929c1d4
test(db): verify oracle reach against merged rules
Oct 23, 2026
83bd08d
fix(db): preserve error provenance and partial subscription ownership
Oct 23, 2026
1d1ac01
docs: pin high review evidence to verified implementation
Oct 23, 2026
90a3082
test: enforce independent React receiving witnesses
Oct 23, 2026
f374bdb
fix(db): reject unprepared SSR snapshots and preserve valid hydration
Oct 23, 2026
2d1dacb
fix(db): capture rendered SSR views through hydration
Oct 23, 2026
44ee3f0
fix(db): keep window identity within live-query metadata
Oct 23, 2026
a099182
docs: record SSR review laws and verification
Oct 23, 2026
10e0e6f
fix(db): preserve mixed streaming hydration views
Oct 23, 2026
ce8f99d
test(react-db): count actual hydration receiving paths
Oct 23, 2026
b495540
docs: record mixed streaming hydration evidence
Oct 23, 2026
ed22e03
Merge remote-tracking branch 'origin/main' into codex/evaluate-dbclie…
Oct 26, 2026
7b4d1c0
docs: record main merge validation and shipped size
Oct 26, 2026
b06da50
refactor: isolate live query transport behind DbClient
Oct 26, 2026
44d55db
fix(db): resolve SSR error code collision after main merge
Oct 26, 2026
0cf7294
fix(db): preserve hydration views across stream and callback lifetimes
Oct 26, 2026
255312c
docs: correct oracle binding after import sorting
Oct 26, 2026
07d43c7
test: make runtime oracle replay IDs explicit
Oct 26, 2026
bb83e42
Merge origin/main into codex/evaluate-dbclient-feedback
Oct 26, 2026
7fff3a7
Merge origin/main into codex/evaluate-dbclient-feedback
Oct 26, 2026
db5ac01
docs: type the SSR index example descriptor
Oct 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 24 additions & 10 deletions .agents/skills/oracle-authoring/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,35 @@ first. Auditors check the order of your work and penalize shortcuts.
Work in this order when a production change is part of the task:

1. State the law and its authority.
2. Extend the history grammar, driver, or observation until generated
2. Inventory the materially affected public receiving paths and their promised
observation cuts. Include required real-host receiving witnesses in this
pre-edit gate; a controlled core witness does not supply their evidence.
3. Extend the history grammar, driver, or observation until generated
histories reach the state where the law matters. Declare that state with
`createOracleReach` (ORC-015).
3. Run the extended oracle on the unchanged production code and record the RED
failure.
4. Change production, with the oracle running after each attempt.
5. Record the GREEN result and a hostile mutant that fails.
`createOracleReach` (ORC-015) for each required receiving path.
4. Run those comparisons on unchanged production. Record the defect's RED
result and the neighboring guarantees' results. A setup failure or missing
required witness blocks production edits; repair the test path first.
5. Change production, with the oracle running after each attempt.
6. Record the GREEN result and a hostile mutant that fails.

Do not change production before step 3. If a model rule disagrees with
Do not change production before step 4. Retrospective runs or a documented
process gap do not satisfy this gate. If a model rule disagrees with
production, find its authority before you edit either one. A rule that you
change only so that it matches production output is model hacking.

Read [the oracle guide](../../../docs/contributing/oracle-rubric.md),
[the glossary](../../../docs/contributing/glossary.md), and the relevant owner
and limits in [the coverage map](../../../docs/contributing/oracle-coverage.md).
Read [the oracle guide](../../../docs/contributing/oracle-rubric.md) and
[the glossary](../../../docs/contributing/glossary.md) in full, then read the
relevant owner and limits in
[the coverage map](../../../docs/contributing/oracle-coverage.md).

After a handoff or compaction, reopen required sources whose relevant contents
are absent from the current context. A prior agent's statement that it read
them does not supply their definitions. Apply the glossary's model alignment
rule before naming or renaming a state, action, boundary, or observation. Use
canonical terms and declare abstractions that combine or split production
concepts. Delegated agents must do the reading relevant to their own scope.

Follow the subsystem reading requirements in AGENTS.md.

Keep unit tests and standalone concrete type assertions out of oracle files
Expand Down
19 changes: 16 additions & 3 deletions .agents/skills/oracle-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,18 @@ Ask both whether the oracle enforces its stated law and whether that is the
right law to promise. A passing test can coexist with a wrong theory; a failing
test can coexist with correct production.

Read [the oracle guide](../../../docs/contributing/oracle-rubric.md),
[the glossary](../../../docs/contributing/glossary.md), and the relevant owner
and limits in [the coverage map](../../../docs/contributing/oracle-coverage.md).
Read [the oracle guide](../../../docs/contributing/oracle-rubric.md) and
[the glossary](../../../docs/contributing/glossary.md) in full, then read the
relevant owner and limits in
[the coverage map](../../../docs/contributing/oracle-coverage.md).

After a handoff or compaction, reopen required sources whose relevant contents
are absent from the current context. A prior agent's statement that it read
them does not supply their definitions. Apply the glossary's model alignment
rule before naming or renaming a state, action, boundary, or observation. Use
canonical terms and declare abstractions that combine or split production
concepts. Delegated agents must do the reading relevant to their own scope.

Follow the subsystem reading requirements in AGENTS.md. Guide conformance is
judged by its ORC requirements, not by use of these instruments or headings.

Expand Down Expand Up @@ -59,6 +68,10 @@ Report each one as a finding:

- A production change without a RED result from the extended oracle on the
parent commit.
- Required public receiving paths tested only after the production repair,
or aggregate reach that hides an unexercised receiving path. Check the
pre-edit inventory, actual comparison results, and their order. Retrospective
evidence or documentation of a gap does not satisfy the pre-edit gate.
- A model rule that changed to match production output without an authority.
- A claim about a state that no declared reach shows generated histories enter.
- A skipped, narrowed, or relaxed comparison without a coverage-map entry and a
Expand Down
18 changes: 18 additions & 0 deletions .changeset/resume-independent-subscription-demand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
'@tanstack/db': patch
'@tanstack/react-db': patch
'@tanstack/svelte-db': patch
'@tanstack/react-router-with-db': patch
---

Start the required Collection sync run when an ordinary subscriber follows an abandoned suspended render. Deferred acquisition still starts no idle source sync run or acquisition attempt.

Ordinary subscription admission and deferred acquisition resumption throw during cleanup, including automatic GC. Effects created then return disposed handles. Failed setup releases partial ownership, and throwing callbacks cannot prevent healthy observers receiving cleanup status. Subscribers surviving cleanup retain demand for an explicit restart.

SSR captures each reader's rows and Collection status. Hydration preserves that view through browser preloads, runtime errors, sibling commits, and delayed streamed records. Missing records reject when transport ends. Known pending results survive normal record-stream close. A new stream after client cleanup starts independently of prior failures.

Empty loading SSR needs no preload. Rendering rows or readiness requires matching query preparation or explicit source Collection preparation. Streaming Suspense prepares its result. Unsupported preparation throws with guidance. Prepared non-streaming Suspense remains supported. The DbClient query hash includes an infinite query's initial limit and offset.

Apps without `DbClient` exclude its SSR implementation. Its API stays unchanged.

Svelte roots initialized with `hydrate()` must set `hydrating` on `DbProvider`. Nested providers inherit it. Each provider clears initial hydration after mount so new children read live rows.
4 changes: 3 additions & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,11 @@ jobs:
- name: Check private-member mangle cache
run: pnpm run check:mangle
- name: Build DB packages
run: pnpm --filter @tanstack/db-ivm --filter @tanstack/db build
run: pnpm --filter @tanstack/db-ivm --filter @tanstack/db --filter @tanstack/react-db build
- name: Check minified public API
run: pnpm run test:minified-db
- name: Check client-only query bundles
run: pnpm run test:ssr-bundle
- name: Check production error text
run: pnpm run test:production-errors
- name: Check DB tests against built dist
Expand Down
2 changes: 2 additions & 0 deletions docs/contributing/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,8 @@ Use nouns for state and verbs for transitions:
- A sync transaction **applies** when its writes and events become visible.
- A replay or repair **publishes** one coherent public snapshot.
- Cleanup start **invalidates** a sync run and **closes** restart admission.
Ordinary subscription admission and deferred acquisition resumption **throw**
during active cleanup without changing subscriber ownership.
Cleanup **settles** after adapter cleanup settles and the Collection publishes
`cleaned-up`. Restart then **starts** a new sync run.
- Truncate replay **replaces** source state inside the current sync run and
Expand Down
Loading
Loading