Repository navigation
feat: assets and people, not recordings and speakers, unless it is audio - #273
Merged
Merged
Conversation
… video The web app, assistant tool descriptions and replies, API descriptions, error messages and docs now say asset (or document) for an item of any kind. Recording stays for audio and video. API paths, MCP tool names and stored data are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr
# Conflicts: # docs/notifications.md
…-21y264 # Conflicts: # docs/assistant.md # docs/mcp.md # threat-model.yaml
…peech The people registry (voice and face) is People in the web app, graph, assistant, API descriptions and docs; names found in text are named people; admin accounts are Members. An item's text is its text unless it came from speech. Speaker stays for diarized voices. Also rewords find_similar and the Prometheus help that arrived from main. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr
…-21y264 # Conflicts: # README.md # packaging/qnap/qpkg/qpkg.cfg # packaging/synology/INFO.in
…-21y264 # Conflicts: # README.md
…-21y264 # Conflicts: # README.md # docs/api.md # docs/components.md # docs/configuration.md # docs/processing.md # fastapi_backend/app/api/mcp.py # fastapi_backend/tests/api/test_conversion.py # nextjs-frontend/__tests__/import-documents.test.tsx # nextjs-frontend/components/routines/routine-model.ts # threat-model.md # threat-model.yaml
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr
…-21y264 # Conflicts: # docs/api.md # docs/configuration.md # docs/mcp.md # fastapi_backend/app/api/v1/routes/recordings.py # nextjs-frontend/components/recording/header.tsx # threat-model.md # threat-model.yaml
Merged
16 of 22 tasks
…-21y264 # Conflicts: # README.md # docs/api.md # docs/authentication.md # docs/configuration.md # docs/frontend.md # fastapi_backend/app/api/deps.py # fastapi_backend/app/api/v1/routes/collections.py # fastapi_backend/app/api/v1/routes/entities.py # fastapi_backend/app/api/v1/routes/namespaces.py # fastapi_backend/app/api/v1/routes/notes.py # fastapi_backend/app/api/v1/routes/pipelines.py # fastapi_backend/app/api/v1/routes/rdf.py # fastapi_backend/app/api/v1/routes/recordings.py # fastapi_backend/app/api/v1/routes/requests.py # fastapi_backend/app/api/v1/routes/speakers.py # fastapi_backend/app/api/v1/routes/topics.py # fastapi_backend/app/api/v1/routes/video.py # fastapi_backend/app/api/v1/routes/workflows.py # fastapi_backend/app/domain/evidence.py # nextjs-frontend/app/openapi-client/sdk.gen.ts # nextjs-frontend/components/app-shell/command-palette.tsx # nextjs-frontend/components/graph/graph-ask.tsx # nextjs-frontend/components/library/bulk-bar.tsx # nextjs-frontend/components/library/filters-bar.tsx # nextjs-frontend/components/public/recording-view.tsx # nextjs-frontend/components/recording/chat-tab.tsx # nextjs-frontend/components/recording/header.tsx # nextjs-frontend/openapi.json # threat-model.md # threat-model.yaml
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr
adeelahmad
enabled auto-merge (squash)
October 15, 2026 12:00
adeelahmad
pushed a commit
that referenced
this pull request
Oct 15, 2026
…h opens entity pages Matches #273's wording, and the notes search hit for an entity's page now links /entities/<id>, which opens the entity's wiki page. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf
adeelahmad
added a commit
that referenced
this pull request
Oct 15, 2026
…#393) * feat(entities): every entity has its own page at /wiki/<namespace>/<Name> An entity's page is named by its name, the way a wiki names pages (spaces as underscores), and shows what it is, its notes in the BlockSuite editor, every line that says it, the recordings, people and entities it comes up with, the same entity in other namespaces and similar content. Any case, an old name or a merged name finds it and switches to its own address. /entities/<id>, /notes/about/entity/<id>, @ links in notes, the graph panel, the Entities list and the RDF URI all lead there. The API, MCP get_entity and the assistant's find_entities give the page's address; GET /api/v1/wiki/{ns}/{address} resolves one. Nothing stored changes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf * docs(entities): entity pages in the Entities docs and the changelog Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf * fix(entities): show the empty notes area on an entity's page as a place to write An entity page's notes started as a blank box with nothing saying it can be written in. It now says what to do and has a border, and the note's cost panel stays on the note's own page. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf * test(clicks): wait for both imports before merging in the graph The graph shows an entity once something links it twice (graph.min_edge_weight), and Raspberry Pi's second link comes from the uploaded pi-episode. On CI its conversion took 45s, so graph-merge opened a graph with no entities and timed out (also on main, #388). The journey now waits, uncounted, until the entity's page says it is said in both. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf * fix(web): leave the update notice room on pages that fill the screen Chat, the graph and a recording's page are sized to the screen less the top bar, so the update notice (Lens vX is out) pushed their bottom 75px below a phone's screen: Chat's question box needed a swipe. The notice now sets --lens-banner to its height and those pages take it off. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf * fix(entities): call recordings assets on entity pages, and note search opens entity pages Matches #273's wording, and the notes search hit for an entity's page now links /entities/<id>, which opens the entity's wiki page. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012V6irFWrfGHnWJgJtRvRSf --------- Co-authored-by: Adeel Ahmad <noreply@anthropic.com>
Merged
16 of 22 tasks
adeelahmad
added a commit
that referenced
this pull request
Oct 15, 2026
…pages and notes as built (#424) Move usage analytics (#274) and assets and people (#273) out of the README's In progress list, and add what merged since #383: a namespace's own MCP server, chat completions and one-namespace API keys; editing and merging entities and topics with undo, from agents too; entity pages at wiki addresses; Connect with Google and rclone sign-in on the server; the notes tree, today's note, pins, search and Recently deleted; backups that keep Lens's files; and grouped, searchable settings. In progress now lists the open feature PRs (#398, #400, #402, #408, #419), and the docs index links usage analytics. Claude-Session: https://claude.ai/code/session_01HDx7PPUauyjMn1LZs8JAsS Co-authored-by: Adeel Ahmad <noreply@anthropic.com>
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: the web app, the assistant, the API descriptions and the docs talked like an audio archive: every item was a "recording", everyone recognised was a "speaker", every item's text was a "transcript", and search said where words were "said".
After:
How: text only. Route docstrings and
Fielddescriptions (OpenAPI regenerated withmake openapi), MCP and assistant tool titles and descriptions, prompts, error messages, emails, reports, CLI output, docs and the threat model prose. API paths (/recordings,/speakers), MCP tool names (list_recordings,list_speakers), JSON keys, enum values, Cypher labels, template variables and stored data are unchanged, so no migration is needed.Motivation and Context
Most things in Lens are not recordings, and most people in it are not speakers.
Types of changes
Checklist:
make hookschecks it on commit).docs/accordingly.## UnreleasedinCHANGELOG.md.Local on the merged head: backend 809 passed, frontend jest 96/96 suites, tsc, eslint, prettier, ruff, mkdocs --strict, threat-model validator.
🤖 Generated with Claude Code
https://claude.ai/code/session_01RZiSmgAbLXTuQkniFKmuvr