Skip to content

Graph: make index exhaustion atomic - #7278

Closed
fubhy wants to merge 2 commits into
mainfrom
graph-s03-index-exhaustion
Closed

Graph: make index exhaustion atomic#7278
fubhy wants to merge 2 commits into
mainfrom
graph-s03-index-exhaustion

Conversation

@fubhy

@fubhy fubhy commented Aug 16, 2026

Copy link
Copy Markdown
Member

Summary

  • Allow Number.MAX_SAFE_INTEGER as the final node or edge index and represent the following allocator state internally as exhausted.
  • Reject later allocations with stable GraphErrors before cache, map, adjacency, or cycle-state mutation, while preserving endpoint-validation precedence for exhausted edge allocators.
  • Derive exhausted allocator state from Graph snapshots and Schema.Graph decoding that end at the maximum safe index.

Plan

Validation

  • pnpm lint-fix
  • pnpm test --run packages/effect/test/Graph.test.ts packages/effect/test/schema/Graph.test.ts
  • pnpm check
  • git diff --check

Changeset

  • .changeset/tidy-graphs-stop.md (effect, patch)

@changeset-bot

changeset-bot Bot commented Aug 16, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d77445f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 30 packages
Name Type
effect Patch
@effect/ai-anthropic Patch
@effect/ai-openai Patch
@effect/ai-openai-compat Patch
@effect/ai-openrouter Patch
@effect/atom-react Patch
@effect/atom-solid Patch
@effect/atom-vue Patch
@effect/docgen Patch
@effect/doctest Patch
@effect/openapi-generator Patch
@effect/opentelemetry Patch
@effect/platform-browser Patch
@effect/platform-bun Patch
@effect/platform-deno Patch
@effect/platform-node Patch
@effect/platform-node-shared Patch
@effect/sql-clickhouse Patch
@effect/sql-d1 Patch
@effect/sql-libsql Patch
@effect/sql-mssql Patch
@effect/sql-mysql2 Patch
@effect/sql-pg Patch
@effect/sql-pglite Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-do Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm Patch
@effect/vitest Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Base automatically changed from graph-s02-equality-allocators to main August 16, 2026 13:43
@effect-slopcop effect-slopcop Bot added bug Something isn't working 4.0 labels Aug 16, 2026
@fubhy fubhy closed this Aug 16, 2026
@fubhy
fubhy deleted the graph-s03-index-exhaustion branch August 16, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0 bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant