deepseek-harness/packages/context/session-reference/src
Yichen Jiang 8e9da9debf refactor(session-reference): label discovery from projections alone
A title now comes from an attached session's live projection cut or a cold
one's durable checkpoint, and from nothing else. Attachment is decided by the
session store at read time, so a session that attached after the listing is no
longer answered from a checkpoint its log has moved past — the stale-title case
`api-session.list` already handles this way.

The log fold and its per-log memo are gone. Folding one title costs a whole
log, and this call sits under every keystroke; a session no projection answers
for is labeled by its id and regains its title the first time it is opened.

`lib` leaves the default exclusions: Ruby gems and many npm packages keep
sources there, and the miss would be silent and total. A traversal whose root
is unreadable now rejects instead of publishing an empty index over entries
that are still good, which is what the stale-while-revalidate path claimed but
could not do while every readdir error was swallowed. A drill marks the menu
drilled only when its edit actually reached the draft.

Refs #3154
Refs #3180
2026-08-27 15:21:08 +08:00
..
config.ts fix(session): simplify reference byte limits 2026-07-21 20:16:18 +08:00
index.ts refactor(session-reference): label discovery from projections alone 2026-08-27 15:21:08 +08:00
invariant.ts build(vendor): rescope the vendored Cordis packages into @deepseek-ai 2026-08-10 22:04:13 +08:00
projection.ts refactor: apply repository naming contract 2026-08-13 00:54:38 +08:00
serialization.ts feat(session): add cross-session references 2026-07-21 16:46:48 +08:00
types.ts feat(web): trim @ mention rows and cut their discovery cost 2026-08-27 11:42:06 +08:00
uri.ts feat(session): add cross-session references 2026-07-21 16:46:48 +08:00