docs: state what is actually built, and what is not - #68
Conversation
Both tracked design docs said "Status: proposed" for work that shipped months ago. The memory doc in particular was edited across #64/#65/#66 while its own header claimed none of it existed. Replaced the headers and the milestone list with a state AUDITED against the code rather than recalled: sessions-experience E1/E3 shipped, E4 partial, E2 NOT STARTED sessions-memory M1-M4 complete The finding worth having: **E2 — the switcher and in-panel search — is entirely unbuilt.** No search input, no filter chips, no scope switch, no keybindings; `AI: Sessions` is the only command. That is the largest remaining gap in the experience and the one users hit first once a project holds more than a screenful of sessions: the panel scrolls but does not search. Also corrected: the FLIP filter reflow was listed in E4 as an independent item, but it cannot ship before E2 — it would have no filters to reflow. Scope note: only TWO of these docs are in the repo. levelcode-chat-sessions- design.md and MEMORIES.md are UNTRACKED local drafts, so they are not repo documentation and not mine to commit. `git grep` had been silently skipping them, which is how they were miscounted as part of this debt in the first place. No code changed.
There was a problem hiding this comment.
Pull request overview
This PR updates the Sessions documentation headers/milestone status to reflect what is actually implemented in extensions/levelcode-ai, so the docs match shipped behavior.
Changes:
- Mark
levelcode-sessions-memory.mdas shipped (M1–M4 complete) in the header. - Mark
levelcode-sessions-experience.mdas partially shipped, explicitly calling out E2 (switcher + search) as not started. - Annotate E1/E3 as shipped and E4 as partial within the experience milestones list.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docs/levelcode-sessions-memory.md | Updates the doc header status to “shipped” and ties it to the implementation phases. |
| docs/levelcode-sessions-experience.md | Updates the doc header status to “partially shipped” and annotates E1–E4 milestone shipping state. |
Suppressed comments (1)
docs/levelcode-sessions-experience.md:385
- This sentence is technically inaccurate/ambiguous as written: the extension contributes many commands and keybindings; it looks like you intended to say that
AI: Sessionsis the only sessions-related command and there are no sessions keybindings. Clarifying avoids readers interpreting it as “the only command in the product”.
**E2 — the switcher & search** *(M)* — ❌ **not started.** There is no in-panel search input, no filter chips, no scope switch, and no `⌃⌘P` jump — `AI: Sessions` is the only command and there are no keybindings. This is the largest remaining gap in the experience, and the one users will notice first once a project has more than a screenful of sessions: the panel can be scrolled but not *searched*. — `⌃⌘P` fuzzy jump; in-panel search over title+files+commands; filter chips; scope switch. *Ships the keyboard-first, search-what-it-did lead over Cursor.* Exit: type a filename, resume the session that edited it, in three keystrokes.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # LevelCode Sessions — Project Memory & Continuity | ||
|
|
||
| **Status:** proposed · **Scope:** `extensions/levelcode-ai` + the sessions store · **Third of the triad:** [`levelcode-chat-sessions-design.md`](./levelcode-chat-sessions-design.md) stores a chat · [`levelcode-sessions-experience.md`](./levelcode-sessions-experience.md) lets you browse it · **this doc lets the project *remember itself*.** | ||
| **Status:** **shipped** — M1–M4 complete (§10) · **Scope:** `extensions/levelcode-ai` + the sessions store · **Third of the triad:** [`levelcode-chat-sessions-design.md`](./levelcode-chat-sessions-design.md) stores a chat · [`levelcode-sessions-experience.md`](./levelcode-sessions-experience.md) lets you browse it · **this doc lets the project *remember itself*.** |
| # LevelCode Sessions — Experience Design | ||
|
|
||
| **Status:** proposed · **Scope:** `extensions/levelcode-ai` webview + a thin store · **Builds on:** [`levelcode-chat-sessions-design.md`](./levelcode-chat-sessions-design.md) (the persistence spine) · **Owns:** everything a user sees, touches, and feels | ||
| **Status:** **partially shipped** — E1/E3 done, E4 mostly done, **E2 (search + switcher) not started**; see §10 · **Scope:** `extensions/levelcode-ai` webview + a thin store · **Builds on:** [`levelcode-chat-sessions-design.md`](./levelcode-chat-sessions-design.md) (the persistence spine) · **Owns:** everything a user sees, touches, and feels |
Review found the Status lines linking to ./levelcode-chat-sessions-design.md, which 404s on GitHub. The link was not wrong; the file was held back by a line in .git/info/exclude — a LOCAL, per-clone exclusion that is never committed, so the doc existed on one machine and nowhere else. Publishing it rather than de-linking, because four tracked files send readers there and two of them are SOURCE: docs/levelcode-sessions-experience.md links to it docs/levelcode-sessions-memory.md links to it extensions/levelcode-ai/sessionStore.js "The design lives in extensions/levelcode-ai/sessionEvents.js docs/levelcode-chat-sessions-design.md" Anyone cloning this repo reads those two headers and finds nothing. 279 lines, zero TODO/FIXME markers — finished prose describing shipped work. It carries the same audited status as its siblings, from the same pass over the code: Phases 1-3 shipped; Phase 4 partial — pins, 30-day auto-archive, Undo behind Done/Delete, the sparkline, files chips, state pills, empty states and Copy-as-Markdown are in; in-panel search and the switcher are NOT. Phase 4's "polish" was hiding that, which is the same omission E2 was hiding in the experience doc. docs/MEMORIES.md stays untracked, deliberately and unchanged. Its only reference is in an UNCOMMITTED CLAUDE.md edit, so it breaks nothing today, and it describes a memories.js that was never built — committing it would reintroduce the exact "docs claim work that does not exist" problem this branch exists to remove.
|
Both comments are the same finding, and it's the direct consequence of this PR's own scope note. Fixed in 7f35d3f. The link wasn't wrong — the file was held back
I published it rather than de-linking, because four tracked files send readers there and two of them are source:
Anyone cloning this repo reads those two headers and finds nothing. 279 lines, zero TODO/FIXME markers — finished prose describing shipped work. It carries the same audited status as its siblings, from the same pass over the code: Phases 1–3 shipped; Phase 4 partial. In: pins, 30-day auto-archive, Undo behind Done/Delete, sparkline, files chips, state pills, empty states, Copy-as-Markdown. Not in: in-panel search and the switcher. Phase 4's generic "polish" was hiding that — the same omission E2 was hiding on the experience side. Verified afterwards that every relative link across all three docs now resolves: 4 links, 0 broken. Deliberately not done
|
Both tracked design docs said "Status: proposed" for work that shipped months ago. The memory doc in particular was edited across #64/#65/#66 while its own header claimed none of it existed.
Headers and the milestone list now carry a state audited against the code, not recalled:
levelcode-sessions-experience.mdlevelcode-sessions-memory.mdThe finding worth having
E2 — the switcher and in-panel search — is entirely unbuilt. No search input, no filter chips, no scope switch, no keybindings;
AI: Sessionsis the only registered command.That's the largest remaining gap in the experience, and the one users hit first once a project holds more than a screenful of sessions: the panel scrolls but does not search. Both the header and E2 now say so plainly, because "Status: proposed" on a doc describing a shipped panel hid it completely.
Also corrected: the FLIP filter reflow sat in E4 as an independent polish item, but it can't ship before E2 — it would have no filters to reflow.
A scope correction
Only two of these docs are in the repo.
levelcode-chat-sessions-design.mdandMEMORIES.mdare untracked local drafts, so they aren't repo documentation and aren't mine to commit.I'd been describing this as "four docs" for several turns.
git greponly searches tracked files, so it kept reporting them clean whilesed/grepon disk read them fine — which is exactly how they got miscounted. Worth knowing if you intended either to be part of the repo.No code changed.