fix(paw-fs,monty): drop non-lossless ParentId eq null from root-dir lookup (ARN-68 413) - #437
Draft
rita-aga wants to merge 1 commit into
Draft
fix(paw-fs,monty): drop non-lossless ParentId eq null from root-dir lookup (ARN-68 413)#437rita-aga wants to merge 1 commit into
ParentId eq null from root-dir lookup (ARN-68 413)#437rita-aga wants to merge 1 commit into
Conversation
… lookup (ARN-68 413) The workspace root-directory resolution queried Directories with `Name eq '/' and WorkspaceId eq 'x' and ParentId eq null`. `ParentId eq null` is non-lossless, so it disables index pushdown and forces a full Directories scan -> 413 QueryTooLarge once the workspace grows past the read budget, blocking CreateFile (no file record minted). Name '/' + WorkspaceId already uniquely identify the root, so omit the null predicate (lossless pushdown) and confirm ParentId is unset in-memory. Caller-side ARN-68 mitigation; the kernel fix is Path A (declared composite-key index). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MfDeyvWdKTTrsJ8QXaB1sU
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The workspace root-directory resolution queried
Directories?$filter=Name eq '/' and WorkspaceId eq 'x' and ParentId eq null.ParentId eq nullis non-lossless → it disables index pushdown → forces a full Directories scan → 413 QueryTooLarge once a workspace grows past the read budget. That blocksCreateFile(the file record is never minted; the raw $value PUT works fine). Live repro onkatagami-contrib.Fix (caller-side ARN-68 mitigation)
Name eq '/'+WorkspaceIdalready uniquely identify the root, so omit theParentId eq nullpredicate to keep the read pushed-down (~1 candidate, no scan), and confirmParentIdis unset in-memory.os-apps/paw-fs/wasm/workspace_fs/src/ops.rs—find_directory(root case)os-apps/paw-agent/wasm/monty_repl/src/entity_ops.rs—pawfs_filter_root_directory(+ test updated, red→green)Both WASM modules build clean (workspace_fs 276 KB, monty_repl built). The
ParentId eq '<id>'(non-root) path already used a lossless string-equality and is unchanged.Relation
Caller-side mitigation, same class as the existing ARN-68 Files/SessionEntries fixes. The kernel fix is Path A (declared composite-key index — see ARN-68 comment / ARN-102).
🤖 Generated with Claude Code
https://claude.ai/code/session_01MfDeyvWdKTTrsJ8QXaB1sU