deepseek-harness/docs/core-data-structures
Tianyi Cui 2489402610 Merge origin/master: scope-aware fusion of the tools/execute seam, session-prefix, and tool-cordis
Master brought 50 commits (the tool-cordis group, dsh-code-runtime + worker,
the tools/execute around-dispatch seam + timeout-policy, repeat-tool-guard,
agent/session-prefix, the ui reorganization). Beyond the ten textual
conflicts, the merge reconciles master's new seams with this branch's
scoped-registration world:

- tools/execute (new waterfall around core dispatch): dispatched with the
  SAME exec.agent carrier as the pre/post waterfalls — an agent.ctx wrapper
  times/retries only its own agent's calls — and its base thunk resolves the
  tool through the caller's visible view (get(exec.name, exec.agent)), so a
  scoped/shadowed tool dispatches and a restricted-away global stays
  UNKNOWN_TOOL. Declared this: Scoped<ToolRegistry> with the scope-filtered
  doc sentence; invariants table + verify-scoped-dispatch pin it (21 events).
- agent/session-prefix (new waterfall, once per loop instance): composed via
  the fused agentEvents dispatcher (scope-filtered like every agent-subject
  event), declared this: Scoped<Agent>, table-pinned. agent/pre-step keeps
  master's new sessionPrefix parameter with this branch's Scoped this.
- timeout-policy reads the budget through the caller's visible view
  (get(exec.name, exec.agent)): a scoped tool's own timeoutMs governs its
  calls; a global name-twin's budget is never misapplied to a shadowing
  per-agent variant.
- tool-cordis: cordis_inspect's tools section lists the CALLING agent's view
  (its description promises "what you can call"); the sandbox tool façade's
  reads resolve through the mount's own scope, mirroring where its register
  lands writes; sandboxRegisterTool's return type carries the exact-disposer
  union honestly. dsh-scope declared as peer+dev with the project reference.
- doc-sync chain unions master's verify-cordis-api with this branch's
  verify-scoped-dispatch; the generated catalogs, event matrix (the
  zero-dispatcher guard passes over master's new events), module graph, and
  the cordis api-catalog are regenerated on the merged surface.

Full gate sequence green on the merged tree: typecheck, lint, per-file 100%
coverage (2668 tests), snapshots (38), doc-sync, module graph, build,
hygiene, demo smoke.
2026-07-09 23:24:42 +08:00
..
bash.md docs(bash): reframe stdin/env — the scrub is the security control, not a trust boundary 2026-07-02 04:08:24 +08:00
code-runtime.md docs: catalog the code-runtime seam vocabulary (Codex review finding) 2026-07-08 02:38:47 +08:00
compaction.md docs(compact): sync the compactIfNeeded prose signature with the sessionPrefix parameter 2026-07-08 22:40:38 +08:00
core.md Merge origin/master: scope-aware fusion of the tools/execute seam, session-prefix, and tool-cordis 2026-07-09 23:24:42 +08:00
filesystem.md Split the cordis catalog into separate events and services documents 2026-07-05 00:45:06 +08:00
llm-streaming.md docs: make the service map the front door of architecture.md 2026-07-05 01:22:17 +08:00
persistence.md docs: flatten single-file catalog dirs to docs/tool-catalog.md and docs/persistence-catalog.md 2026-07-06 22:26:06 +08:00
session.md refactor(agent): replace the per-step advice seam with agent/session-prefix 2026-07-08 15:44:30 +08:00
subagent.md docs: regenerate catalogs and sync subagent type-equiv blocks for persona/toolFilter 2026-07-09 02:18:39 +08:00
tools.md docs(timeout): update RFC + generated catalogs for the declaration split 2026-07-08 15:06:02 +08:00
user-interaction.md refactor: colocate user interaction with ui packages 2026-07-09 17:59:02 +08:00
web.md build: upgrade to 22.19 for deps 2026-07-07 17:39:04 +08:00