Commit Graph
6804 Commits
Author SHA1 Message Date
Yichen Jiang 68f1488770 Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	packages/preset/agent-presets/src/index.ts
2026-08-10 11:18:41 +08:00
Yichen Jiang 1eb9acaba9 refactor(scope): bind the parent link once and gate re-linking behind the binding
setScopeParent could re-link any key from anywhere, leaving the
blank-session-only recompose rule entirely to caller discipline. The
relation now binds once — a second bind throws — and re-linking exists
only on the ScopeParentBinding returned to the original binder, the
private-capability shape the package conventions prescribe for a
single-caller operation. The preset roster keeps each composed agent's
binding in a WeakMap keyed by the agent, making it the sole authority
that can move an agent between standing compositions; the blank-session
contract itself stays with the gateway, which alone can see what a
session logged.
2026-08-10 11:17:04 +08:00
Yichen Jiang 4926b296c4 Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.md
#	docs/persistence-catalog.zh.md
2026-08-09 22:56:44 +08:00
Yichen Jiang 51ca900d4e Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam 2026-08-09 22:54:57 +08:00
Yichen Jiang 4b628a8703 docs(skill): document the layered registry and record the Agent Note
The skills subsystem page and dsh-skill README describe the host+per-scope
layers, SkillViewOptions joins the type-equiv corpus and the cordis-catalog
type pages, generated catalogs pick up the shifted source refs, and the
architecture Agent Note records the decision, the nearest-layer-wins
precedence choice, and the rejected alternatives.
2026-08-09 22:29:53 +08:00
Yichen Jiang 0b2f32740d Revert "test(repository-plugin): drop the skill contribution from the preset-composed e2e"
This reverts commit f12c131ee9fdbc01b9294c8dc2c73cd36ab717cf.

The layered host skill registry closes the gap the bypass recorded: a
repository plugin's skill root registers into the global layer and reaches
every preset-composed session's catalog, so the fixture declares its skill
root again and the e2e proves the full skill, MCP, and TypeScript
contribution set. The accidental .claude/launch.json from that commit goes
with it.
2026-08-09 22:10:50 +08:00
Yichen Jiang 4788569889 feat(skill): layer the host skill registry per scope like the tools registry
The skills capability moves back to the host plane as one singleton, layered
with the ScopedLayers infrastructure the tools registry established: a
registration files into its calling context's layer (repository plugins and
host rows land global, a preset's skill-local lands in that preset's layer),
and a read merges the global layer with the viewing scope's chain, the
nearest layer winning duplicate names outright while rank keeps deciding
duplicates within one layer.

The web-app bundle re-enables the base skill registry row (skill-local and
tool-skill stay preset-owned), the standard preset drops its isolate skills
realm for bare rows over the host registry, tool-skill passes the calling
agent as the view scope, and the gateway's skills domain reads the host
registry in the presenter scope — a cold session now resolves its recorded
preset's standing key instead of failing.
2026-08-09 22:10:38 +08:00
Yichen Jiang 5aa10901ad Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-09 21:35:37 +08:00
Yichen Jiang 0eff417b2a Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam 2026-08-09 21:33:45 +08:00
Tianyi Cui 54b898463c fix(rebase): drop transcript-adapter files resurrected over master's deletion
Master's conversation-node engine deleted transcript-adapter.ts and its
spec; the rebase's modify/delete conflicts were staged as keep-ours,
resurrecting both with a stale dsh-compact import. Remove them; the
purge edits they carried died with the files upstream.
2026-08-09 21:20:18 +08:00
Tianyi Cui eeacdd4790 docs: fix round-3 review findings — §/used-to/v1 residuals, zh stamp example, budget freeze honored
Delete the three §-citation residuals (web-app cordis.patch.yml, two
client design.md §-headers); recast the two CSS used-to narrations and
hmr's four v1 labels as current-state prose; narrow the zh exemption
example to 'this cut' (「本版本」 legitimately renders 'This version');
extend the candidate gate list with the post-battery shapes (§\d with a
committed-owner carve-out, 'used to', bare v1) on both sides and
re-record; honor the over-target ceiling freeze — docs/AGENTS.md
condensed to 1320 and the ceiling restored to 1320.
2026-08-09 21:11:59 +08:00
Tianyi Cui e697bb3ca1 docs: fix re-review findings — seat-migration obligation, evidence rule moved into the standard, first-cut family settled
Restore the ReactNode seats' pending-migration obligation the earlier
rewrite had flipped into a permanent exception; state the merged-PR/issue
evidence allowance in docs/AGENTS.md itself so the citations note defers
to the standard instead of overriding it; rewrite the one current-state
'first cut' fact and record the historical-stage-name exemption (with
indexical stamps still banned); pairs re-recorded.
2026-08-09 21:10:59 +08:00
Tianyi Cui ee7458b2df docs: fix review findings — residual ordinals, hypothetical IPC row, citation-rule amendments
Purge the residual task/phase ordinals review caught ((T2), (queue cut 1)
×3, T6, P-I, 'this cut' ×6 including battery-expansion finds in two
untouched notes and a workflow JSDoc); drop the 'externally logged as
Decision 21' parenthetical and rename the remaining bare decision-21
mentions; mark the gui-layering IPC bridge row as a hypothetical example;
restore the GATE_NOTICE doc-typecheck clause and the py-types 'measured'
provenance; say subprocess-backed in filesystem.md; add the picker note
path. Amend the citations note: merged-PR evidence anchors in Agent Notes
are sanctioned, and the candidate gate patterns gain the four shapes the
sweep missed. All nine touched pairs re-recorded.
2026-08-09 21:10:59 +08:00
Tianyi Cui 25dcd7293c docs: purge chain-of-thought leakage from prose
Delete design-session citations (decision/audit/plan ordinals, stack
positions), change narration, review choreography, and reviewer-addressed
justification from comments, JSDoc, docs, READMEs, Agent Notes, tests, and
generator templates; restate every affected fact as current-state contract
prose. Fix generated docs at their sources and regenerate the catalogs and
cordis-surface regions; re-paste type-equiv blocks; update every bilingual
counterpart and re-record the pairs. Record the citation rule in the
committed-artifact-citations Agent Note.
2026-08-09 21:10:59 +08:00
Yichen Jiang 2f86a93bdd test(apiproxy): follow the defaultModelSelection rename in the preset spec
The agent-default-model refactor renamed ApiProxyDefaults.defaultTarget to
defaultModelSelection; this stack-owned spec merged without textual
conflict and kept the old field, so its harness built a defaults object
whose selection thunk was undefined and every create answered internal.
2026-08-09 20:47:22 +08:00
imccyu d99ad2b1d0 fix conversation node review follow-ups 2026-08-09 20:36:57 +08:00
Yichen Jiang f80d2a742e Merge remote-tracking branch 'origin/stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	docs/module-graph.md
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/host/apiproxy/tsconfig.json
2026-08-09 20:33:55 +08:00
Yichen Jiang a2d5e3d8a8 Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam
# Conflicts:
#	packages/README.i18n.yaml
#	packages/README.zh.md
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.zh.md
#	scripts/gen-cordis-catalog.ts
#	scripts/verify-package-readme-model-experience.ts
2026-08-09 20:28:03 +08:00
imccyu 81822f4076 fix(ui-conversation): skip uncorrelated legacy events 2026-08-09 20:23:58 +08:00
imccyu 0cfe852c2d fix(ui-conversation): ignore legacy compact events without ids 2026-08-09 20:21:49 +08:00
imccyu fcbc97a88d fix(client): address conversation assembly review 2026-08-09 20:08:37 +08:00
imccyu 126ad5bb02 docs: development 2026-08-09 19:48:58 +08:00
imccyu e11f630fcd fix(client): address remaining conversation review feedback 2026-08-09 19:36:03 +08:00
imccyu 924cfcef95 fix: coverage 2026-08-09 18:56:29 +08:00
imccyu 1b1e170c1f refactor(agent): restore conventional types entrypoint 2026-08-09 18:43:37 +08:00
imccyu 10464d155d fix(client): consume typed business session events 2026-08-09 18:42:25 +08:00
imccyu 3d70889a8d refactor(session): unify event map augmentation entrypoint 2026-08-09 18:17:19 +08:00
imccyu 990f700d3c fix(client): address conversation assembly review feedback 2026-08-09 18:17:19 +08:00
imccyu 8723a0e15f fix(client): address conversation assembly review findings 2026-08-09 18:16:44 +08:00
imccyu 522acc7432 test: update conversation assembly coverage and docs 2026-08-09 18:16:44 +08:00
imccyu 6d09b3168d refactor(ui-conversation): register business node definitions 2026-08-09 18:13:52 +08:00
imccyu 81d6886006 feat(client): add conversation node engine and contextual slots 2026-08-09 18:13:51 +08:00
imccyu aa623b6e7a refactor(events): add stable conversation correlation ids 2026-08-09 18:13:00 +08:00
Tianyi Cui 39d8678a02 docs(fs): enumerate absence observation paths 2026-08-09 17:49:10 +08:00
Tianyi Cui 7132b9730e fix(fs): harden guarded-create publication 2026-08-09 17:44:34 +08:00
Tianyi Cui ceba53edd7 fix(fs): observe absence before guarded recreation 2026-08-09 17:43:53 +08:00
Turtle dda02250f5 docs: reserve seam for complete capabilities 2026-08-09 17:26:57 +08:00
Turtle 27ac49e687 docs: define a seam as the (Service, Service provider, Consumer) trio 2026-08-09 17:11:16 +08:00
Turtle 93f519b8b8 Merge remote-tracking branch 'origin/master' into codex/concrete-provenance-prose
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.zh.md
#	.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.zh.md
#	.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.i18n.yaml
#	.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.zh.md
#	docs/architecture.i18n.yaml
#	docs/architecture.zh.md
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.zh.md
2026-08-09 16:39:34 +08:00
Turtle 93e858faf9 docs: address prose review findings 2026-08-09 16:31:15 +08:00
Turtle 2f3821c232 Merge remote-tracking branch 'origin/master' into codex/concrete-provenance-prose 2026-08-09 15:51:40 +08:00
xjt 9c61089ecd Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply 2026-08-09 15:48:23 +08:00
Turtle 9704749b01 docs: replace vague provenance prose with recorded facts 2026-08-09 15:35:02 +08:00
xjt a0d48c9c87 Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply
# Conflicts:
#	.agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.zh.md
#	docs/architecture.i18n.yaml
#	docs/architecture.zh.md
#	docs/user/guide/providers.i18n.yaml
#	docs/user/guide/providers.zh.md
#	docs/user/guide/quickstart.i18n.yaml
#	docs/user/guide/quickstart.zh.md
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.zh.md
#	packages/bundle/headless/README.i18n.yaml
#	packages/bundle/headless/README.zh.md
2026-08-09 15:17:35 +08:00
fz 57c9e077ce Merge remote-tracking branch 'origin/master' into codex/fix-deepseek-keepalive
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
#	examples/headless-agent/tests/fixtures/deepseek-defaults.cordis.yml
#	packages/llm/llm-deepseek/README.i18n.yaml
#	packages/util/timeout/README.i18n.yaml
2026-08-09 15:00:08 +08:00
xjt b989a2a906 Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply 2026-08-09 13:47:06 +08:00
xjt 6607775604 fix(docs): close final translation review gaps 2026-08-09 13:46:14 +08:00
Yichen Jiang 3d21db0b83 test(repository-plugin): drop the skill contribution from the preset-composed e2e
The agent plane of this stack's compositions lives behind agent presets,
whose per-preset skills realm has no seam for a deployment-level provider
yet: the fixture's dsh.skills made the prepared wrapper wait forever on a
host skills registry the web/headless profiles no longer compose. Remove
the skill root and its assertions from the fixture and record the gap in
the package's Known Limitations; MCP and entry contributions stay covered
because the tools registry is host-plane and layered.
2026-08-09 13:45:14 +08:00
Tianyi Cui 63b6e18f71 fix(headless): terminal model failures reach stderr 2026-08-09 13:44:44 +08:00
Tianyi Cui 9d5eb37638 fix(headless): dsh run is a direct core front door 2026-08-09 13:44:44 +08:00