FileLoveNote / build packageKit revision · 28 October 2026

04 / 15 · User stories

From needs to proven behavior

Each story explains the user’s need. Acceptance criteria are verifiable and refer to requirements and verification scenarios.

US-01 · Write

As a user, I want to create and edit a note so I can capture a thought immediately.

FR-02, FR-03; NFR-01 · P01/P02 · V02

Acceptance criterion

Given a signed-in account without Drive, when I type text and reload after saving locally, the same text remains and no server note file exists.

US-02 · Continue offline

As a user, I want to edit a previously opened note without a network connection so an outage does not interrupt my work.

FR-02, FR-13; NFR-03 · P01/P04 · V02/V08

Acceptance criterion

Given a loaded shell and browser copy, when the network fails and I edit and reload, my change is in IndexedDB and the queue remains saved. A first visit without a cache does not have to work offline.

US-03 · Format with ease

As a user, I want to insert text, tables, and references with the keyboard so I can stay focused on my writing.

FR-03, FR-04, FR-08; NFR-06 · P02 · V03

Acceptance criterion

When I leave a quote with Enter on an empty line, navigate a table, select a slash command, and export/import the app-preserving Markdown format, the supported structure remains intact and the menu does not also change my note selection. Plain Markdown exchange discloses the declared losses and safe fallbacks.

US-04 · Organize and find

As a user, I want to move notes into folders and find them again so their relationships stay clear.

FR-05, FR-06 · P02 · V04/V05

Acceptance criterion

A move updates the list immediately; on failure, only the failed item returns. A search result opens exactly the selected note, even if an older loading action responds later.

US-05 · Understand storage

As a user, I want to see what is stored locally and what is already in Drive so I can trust the status.

FR-11, FR-12; NFR-03 · P04 · V07

Acceptance criterion

With Drive active and three pending notes, those notes are sent automatically. The counter counts items. A receipt ticket does not yet show Drive success; only confirmed versions leave the queue. The button forces the same queue.

US-06 · Merge safely

As a user, I want to retain my text when two tabs both contain changes so my own work does not disappear.

FR-14; NFR-03 · P04 · V09

Acceptance criterion

Independent changes are both preserved in a merge; incompatible text leaves a controlled conflict version. An old acknowledgment does not erase a newer local edit.

US-07 · Handle outages

As a user, I want an interrupted sync to resume so I do not have to type everything again.

FR-12, FR-13, FR-15; NFR-03 · P04 · V07/V08/V10

Acceptance criterion

A 429, 503, lost response, or missing Drive list entry does not remove local content. After recovery, the app retries without creating a duplicate note.

US-08 · Delete deliberately

As a user, I want to permanently delete a selection after confirmation so it is clear what will disappear.

FR-07 · P02/P04 · V06

Acceptance criterion

Canceling leaves everything intact. After one confirmation, the selection is gone; a late detail response does not recreate it. A previously trashed item remains separately restorable.

US-09 · Consult sources

As a user, I want to view media beside my note so I can check my explanation against the source.

FR-09, FR-17 · P03/P04 · V11/V16

Acceptance criterion

Audio/video supports seeking and resumes from saved progress. A connected Drive file has a source link; adding it does not change another note. I can annotate it in the note, sync and reopen it without a second source upload.

US-10 · Add files

As a user, I want to upload a file to my connected Google Drive so I can use it later.

FR-10 · P03 · V11

Acceptance criterion

Two simultaneous uploads with the same name both survive. An interrupted chunk can be retried safely. Without Drive, upload is visibly unavailable.

US-11 · Choose one Drive file

As a user, I want to insert one source at my cursor with /drive so I can support my thought.

FR-17 · P03/P04 · V16

Acceptance criterion

After searching or browsing, one choice is inserted at the saved cursor position. Escape inserts nothing. Late search responses after closing have no effect. All file types are available through pagination. The same original Drive ID survives save/reopen; insertion performs no source upload and removing the reference leaves the original intact.

US-12 · See relationships

As a user, I want to connect ideas on a canvas so I can explore a pattern.

FR-18 · P05 · V12

Acceptance criterion

After creating, editing, connecting, moving, and reloading cards, the content, positions, and lines remain. Zooming and panning do not change saved card content.

US-13 · Use AI deliberately

As a user, I want to ask AI to examine a selected source so I can get help with my own question.

FR-19; NFR-01 · P05 · V12

Acceptance criterion

No text is sent to AI without an action. An explicit question uses the selected context; missing configuration shows a clear status, and normal text editing continues to work.

US-14 · Take text with me

As a user, I want to import and export Markdown so my notes remain usable outside this app.

FR-16 · P02/P04 · V02/V10

Acceptance criterion

A note export and ZIP export are readable without a server archive. Importing content that differs from the local version preserves both versions; migration removes sources only after receipt has been checked.

US-15 · Control my account

As a user, I want separate data and control over my account so others cannot see my work.

FR-01, FR-21; NFR-02, NFR-09 · P01/P02/P04; P05 advanced · V01/V10/V13

Acceptance criterion

A second account cannot read a note, media, or sync ticket from the first. Signing out ends access; non-administrators cannot reach administration actions. If optional FR-21 is selected, account deletion asks for confirmation and describes its scope using the lifecycle table; disconnect/logout never implicitly delete Drive files.

US-17 · Use transcripts

As a user, I want to create a transcript of my media so I can consult the content as text.

FR-20 · P05 · V12

Acceptance criterion

With a locally configured Whisper installation, I can start transcription and see progress or an error. Without Whisper configuration, the note workspace continues to work.