Skip to content

Expose stable OneStore file identities - #45

Open
emsi wants to merge 1 commit into
msiemens:masterfrom
emsi:feature/stable-entry-identities
Open

Expose stable OneStore file identities#45
emsi wants to merge 1 commit into
msiemens:masterfrom
emsi:feature/stable-entry-identities

Conversation

@emsi

@emsi emsi commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • expose an opaque FileIdentity for notebooks, section groups, and sections
  • derive the identity from the OneStore file header for desktop and FSSHTTP stores
  • verify that identities remain stable when entries are renamed or reordered

Motivation

Consumers need a durable way to associate application state with notebook entries. Display names and tree positions change when a user renames, moves, or reorders sections, while OneStore already carries a file identity intended to identify the underlying entry.

The new API deliberately keeps the raw identifier opaque. Consumers can compare, hash, persist, and display it without depending on its internal representation.

Impact

This is an additive parser API. Existing parsing and model behavior remain unchanged.

Relates to emsi/OneNoteViewer#38.

Verification

  • cargo test --workspace --all-targets
  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets (passes with existing warnings)
  • git diff --check

@emsi
emsi marked this pull request as ready for review August 16, 2026 14:48
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