Files
deepseek-harness/packages/context
Tianyi Cui 8a93894ef9 perf(agent-instructions): cache previously rendered duplicates
When a visible shared file became a content duplicate, reconciliation emitted
a removal notice and discarded its metadata. Its durable state then remained
remove, while the metadata fast path accepted only candidates without any
previous record. Every subsequent unchanged pass therefore reread the file,
even after a later read had populated the cache. This also affected the path
where an edited earlier winner made an unchanged later file a duplicate.

Retain the still-present duplicate's metadata with the removal's deferred
version update. Pass the already-cached state when removal follows an unchanged
metadata probe, and the newly read state when the duplicate's content changed.
Apply this metadata only when the associated removal survives rendering, using
the existing exact-transition filter; confirmed absence still clears metadata.

Allow both never-rendered candidates and previous removals to skip content reads
when unchanged provider metadata and an earlier kept digest identify the file as
a duplicate. Continue probing metadata. Once the winner changes or disappears,
read and promote the shared file normally, then suppress unchanged follow-ups.
Document the metadata guarantee in the local cache types and bilingual README.
Model-visible messages, source records, ordering, and byte budgets stay the same.

Add four production-plugin regressions covering duplication after either file
changes, then promotion after the winner is edited or deleted. They inspect the
provider's actual content reads across two unchanged passes and require exactly
one shared read for promotion, rather than trusting the context's self-report.

Validation:
- All four new cases failed before the fix because each unchanged pass reread
  the shared file despite unchanged metadata.
- pnpm exec vitest run packages/context/agent-instructions/tests/agent-instructions.spec.ts -t 'caches a removed duplicate': 4 passed after the fix.
- README pairing was rerecorded; git diff --check passed.
- The removal regression narrows its source kind and compares the change as a
  plain typed value; no matcher carrying any is assigned into an expected record.
- Type-aware Oxlint passed for the three affected packages and the new
  metadata-failure fixture; focused cache regressions passed again after the
  assertion correction.
2026-10-05 17:20:30 +08:00
..
2026-10-03 10:46:11 +08:00
2026-10-03 10:46:11 +08:00

description, kind
description kind
The context group map: request-context plugins that add durable, model-visible context without defining tools, for users and maintainers navigating the group. package-group

context/ — Request-context plugins

English | 中文

Summary

The context group provides plugins that add model-visible context to each request without defining any tool: workspace instruction files become guidance, @file mentions offer path completion, other sessions can be referenced as bounded snapshots, and the model can see the current time and the agent's tmux location. Only agent-instructions (dsh-base) ships mounted by default; the rest are opt-in. Context is durable: injected instructions and references enter session history as user-role messages, so they persist, replay, and compact like other conversation content. This page maps the group; each package README owns the per-package contract.

Table of Contents


Packages

Package Role ctx key
agent-instructions/ Loads AGENTS.md/CLAUDE.md workspace instructions into context and refreshes them after file edits —
session-reference/ References other sessions: mention one and its bounded read-only snapshot becomes context ctx.sessionReferenceResolver
file-reference/ @file mention discovery and the shared mention grammar for host-backed UIs ctx.fileReferences
file-reference-local/ Local-workspace completion provider for @file mentions —
time-context/ Current time, browser zone, and elapsed time per step —
tmux-context/ The agent's tmux session, window, and pane location —


Dev Note

Working context for maintainers — click to expand

None.