Repository navigation
feat(notes): pages for notes and every resource, with @ and # links - #118
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XZQXJtCvJgbG1Z2H312KcS
Free notes in a tree and a page per recording, entity, collection or speaker, with title, one-line summary, date, PARA place and Markdown body. Mentions become links with backlinks; pages follow moved recordings and stay as free notes when their thing is deleted or merged away. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XZQXJtCvJgbG1Z2H312KcS
The notes' Page schema shared its name with a document's Page, so the OpenAPI schema kept only one of them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XZQXJtCvJgbG1Z2H312KcS
4 of 8 tasks
21 of 22 tasks
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.
Requested by Adeel · project thread
Description
Before: notes only existed as short comments on a recording.
After: the API has pages. Free notes sit in a tree per namespace, and every recording, entity, collection and speaker can have its own page. A page has a title, a one-line summary (the context the assistant reads first), a date, a PARA place (project, area, resource, archive), a Markdown body and who wrote it (a person or the assistant). The body links with
@[label](kind:id)and#[label](entity:id); links are kept so every page shows its backlinks, and/notes/targetsoffers what to link. A thing's page follows its recording to another namespace, and stays as a free note when its thing is deleted or merged away.How:
app/domain/notebook.py(tablesnote_page,note_linkinstore.SCHEMA, new tables only, so no migration step), routes inapp/api/v1/routes/notebook.pyunder/api/v1/notes, docs indocs/notes.md, plan in DEVLOG.md. The web tree, page view and BlockSuite editor come in the next PR.Motivation and Context
Adeel's Notes module: every resource has a page, the assistant writes and organises notes, @ and # link them.
Types of changes
!in the title)Checklist:
make hookschecks it on commit).docs/accordingly.## UnreleasedinCHANGELOG.md.Local suite: 538 passed, 1 failed (
test_office_and_text_files_become_documents, LibreOffice missing in this container, known environmental).🤖 Generated with Claude Code
https://claude.ai/code/session_01XZQXJtCvJgbG1Z2H312KcS
Generated by Claude Code