Skip to content

feat(settings): configure write byte allowances - #933

Merged
azimafroozeh merged 3 commits into
ModernRelay:mainfrom
azimafroozeh:codex/0263-write-max-bytes
Oct 10, 2026
Merged

azimafroozeh merged 3 commits into
ModernRelay:mainfrom
azimafroozeh:codex/0263-write-max-bytes

Conversation

@azimafroozeh

Copy link
Copy Markdown
Collaborator

What & why

The fixed 32 MiB write allowance makes Blob boundary tests carry large payloads. Add request-scoped write_max_bytes (1..=33554432, default 32 MiB) through session, CLI and HTTP settings, with OMNIGRAPH_WRITE_MAX_BYTES as the process default.

Row data and logical Blob payloads each get an independent allowance. Mutations, loads and materializing merges capture it for the operation, including retries and publication. The setting also governs existing parser-estimate and retained removed-ID allowances, preserving their per-type, per-operation and per-chunk scopes. A 4,093-byte Blob can now test the exact boundary beside ordinary row metadata.

Backing issue / RFC

No accepted issue or RFC has been supplied for this setting. This substantive change does not qualify for the trivial fast-lane.

Checklist

  • Change is focused: one setting and the accounting separation needed to enforce it.
  • Tests added or updated for behavior changes.
  • Public settings, Blob and write docs updated.
  • Maintainer review against docs/dev/invariants.md.

Local verification

From the task checkout:

  • cargo test --workspace --exclude omnigraph-gqt --exclude omnigraph-gqt-served --exclude omnigraph-dst --locked --features omnigraph-engine/failpoints,omnigraph-cluster/failpoints: passed.
  • cargo test -p omnigraph-gqt --locked --lib --test runner_dispatch: passed.
  • cargo test -p omnigraph-gqt -p omnigraph-gqt-core --locked: passed.
  • cargo test -p omnigraph-gqt-served --locked --test gqt_served_conformance: passed.
  • cargo test -p omnigraph-server --locked --test openapi openapi_spec_is_up_to_date: passed.
  • cargo fmt --all --check: passed.
  • cargo clippy --workspace --all-targets --locked -- -D warnings -W clippy::dbg_macro: passed.
  • cargo clippy --workspace --all-targets --locked --features omnigraph-engine/failpoints,omnigraph-cluster/failpoints -- -D warnings -W clippy::dbg_macro: passed.
  • cargo clippy -p omnigraph-gqt -p omnigraph-gqt-core --all-targets --locked -- -D warnings -W clippy::dbg_macro: passed.
  • /Users/azim/projects/_omnigraph/tools/comment-check/target/release/comment-check /Users/azim/projects/omnigraph-tasks/omnigraph_slot_bx: passed.
  • .venv-docs/bin/python scripts/check-docs.py: passed.
  • bash scripts/check-agents-md.sh: passed.
  • typos: passed.

The complete GQT run passed all 292 corpus cases. The new mutation boundary case also passed the served HTTP comparison. Both new cases failed on engine/DST under a temporary restoration of mixed accounting, then passed after restoring the implementation.

Notes for reviewers

The base still has mixed Blob/row accounting, so this patch includes the minimum separation needed for the boundary contract. It overlaps PR 903; that PR's code was not used as a source. The generated large fixture in PR 927 is separate work.

A lower environment value is a default, not an administrative ceiling. HTTP loads inherit that default and accept no request override; remote CLI loads still reject --set. Direct embedded and --store CLI loads can override it. HTTP body caps, Blob reads, external URI metadata and maintenance limits keep their existing controls.

The default now admits up to 32 MiB of row data plus 32 MiB of Blob payload per operation, where the previous single 32 MiB allowance covered both. Payload accounts count logical payload lengths; builder over-capacity (up to about one third) is outside them.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T14:42:11.389816Z 81ea2d0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@azimafroozeh
azimafroozeh added this pull request to the merge queue Oct 10, 2026
Merged via the queue into ModernRelay:main with commit 1beab85 Oct 10, 2026
33 checks passed
@azimafroozeh
azimafroozeh deleted the codex/0263-write-max-bytes branch October 10, 2026 15:22
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