feat(organize): verify document bundles through move and undo - #346
Draft
seonghobae wants to merge 18 commits into
Draft
feat(organize): verify document bundles through move and undo#346seonghobae wants to merge 18 commits into
seonghobae wants to merge 18 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…esearch' into codex/organization-bundle-preservation
seonghobae
changed the base branch from
main
to
codex/session-preservation-autoresearch
September 7, 2026 03:46
seonghobae
marked this pull request as ready for review
September 7, 2026 04:57
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
Label rule, model-picker and extension suggestions as content-unverified. Keep producer provenance in pending/result move receipts and undo while retaining legacy unknown values and existing safety checks. Add producer, legacy serialization and undo regression assertions. UI check passed; local Rust check remains running and runtime tests are not yet verified. Preserve the open semantic-evidence and multi-topic grouping gaps. Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae
marked this pull request as draft
September 8, 2026 03:43
Use a fixed 64KiB buffer and incremental digests for flat bundles up to 8MiB while preserving source identity, drift, dataless and boundary checks. Reproduce the prior 826183-byte refusal and verify digest parity, move/undo, exact-limit admission and one-byte excess retention. Four bundle tests and Svelte check passed; private-folder execution and deployment remain unverified. Signed-off-by: Seongho Bae <me@seonghobae.me>
This was referenced Sep 8, 2026
Signed-off-by: Seongho Bae <me@seonghobae.me>
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.
Problem and behavior
Individual organization could separate recordings from companion metadata, split application bundles, or propose protected agent state. Planning now retains those files, explains their status, and leaves files beyond the metadata-probe budget unplanned.
The UI can also preview an explicitly selected existing document folder and destination parent. Supported bundles are flat, contain at most 32 local regular files, and total at most 8 MiB on the current head. Plans and undo receipts bind member names, file identities, exact modification times, sizes, and content digests. New members or changed content prevent movement or undo. Recognized project ancestors, package/session boundaries, links, unavailable content, and cross-volume bundle moves are retained.
macOS same-volume moves use Foundation coordination and the shared exclusive rename primitive. The organizing validator runs inside the accessor, so a companion arriving after preflight prevents mutation. Structured receipt paths preserve filenames containing
->and decomposed Unicode names.Rule, model-picker, and extension suggestions retain producer provenance in the plan and pending/result move and undo receipts. The preview explicitly labels content as unverified; absent legacy provenance remains unknown. This label is not semantic correctness or move/deletion authority.
Validation
Current exact head
6eca22594fbae409bb81ad19582aa5906514236badds a read-only command using the same bundle planner as the desktop application. The command has no execution option. Its regression passed (1 test), covering source preservation, absent target creation, collision refusal and help/argument handling. The standalone binary built successfully. A private four-file, 826,183-byte group was previewed in 1,092 ms with unchanged member metadata and no destination creation; this single observation is not a performance benchmark, semantic verdict or iCloud synchronization proof. Hosted Test run34185604791is GREEN on this exact head, including the main test job, Windows home-resolution contract and real llama.cpp CPU/FFI build. Independent review and protected stack integration remain pending.Predecessor
336485563d89f7a85cd90009220c03693910ecbbadded fixed-buffer streamed BLAKE3 verification and expanded the flat-bundle observation budget from 512 KiB to 8 MiB. Four focused bundle tests and Svelte check passed locally on that head. Hosted Test34184735026was still in progress at the last observation; its Windows and llama.cpp build jobs had passed. No predecessor result is transferred to the current head.Previous exact head
c2101bc401460fc7eded9c348980d50fff36d048had hosted Test34182083860GREEN, including Rust, headless cloud planning, duplicate/archive proof and frontend checks. Linux, Windows and macOS build jobs also passed there. That evidence is historical only and is not transferred to336485....Earlier implementation checks (historical evidence, not a full rerun on the current head):
Integration and limits
Stacked directly on #345 exact
884840f3eff744f9c8a7c97ae410d1ddf5828b09; protected checks and normal merge remain required. This is existing-folder preservation, not completed content/ontology classification. Recursive/larger bundles, crash-durable recovery, iCloud upload and cross-device confirmation, signed-app entitlement behavior, and deployment remain unfinished. Native test processes previously emitted sandbox-extension diagnostics despite successful movement and preservation assertions. Fixtures contain generated test data; no real user folder was moved by these tests.Integration state — 2026-09-08 KST
This PR is intentionally Draft. #345 remains Draft with protected integration/review prerequisites, and #346 currently has no submitted independent review. Keep the dependent delta open and Draft until the foundation integrates or is normally restacked onto a verified successor, and require terminal exact-head checks for the then-current head. Do not transfer predecessor checks, self-approve, weaken a required gate, force-push, or close valid dependent work.