Commit Graph
1116 Commits
Author SHA1 Message Date
Yichen Jiang 8ff6b23214 Merge branch 'worktree-config-settings-seam' into worktree-llm-dynamic-config
# Conflicts:
#	docs/capability-seams.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.i18n.yaml
#	docs/module-graph.md
#	examples/tui-agent/cordis.yml
#	packages/README.i18n.yaml
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/llm/llm-deepseek/README.i18n.yaml
#	packages/llm/llm-deepseek/README.zh.md
#	packages/llm/llm-pi-ai/README.i18n.yaml
#	packages/llm/llm-pi-ai/README.zh.md
#	packages/settings/settings-local/src/index.ts
#	packages/util/README.i18n.yaml
#	packages/util/README.md
#	packages/util/README.zh.md
#	scripts/doc-budgets.manifest.json
2026-07-30 14:33:36 +08:00
Tianyi Cui d37b192aa9 Merge branch 'master' into fix/workspace-instruction-frame-metadata 2026-07-30 12:16:41 +08:00
Tianyi Cui ecb43469af Merge branch 'master' into fix/workspace-instruction-frame-metadata 2026-07-30 11:45:00 +08:00
imccyu a9813a2801 Merge branch 'master' into codex/web-queue-actions 2026-07-30 11:20:57 +08:00
kingwl ff570ea04c test(agent): refresh inbox action snapshot 2026-07-30 04:20:20 +08:00
Tianyi Cui 4c15041fc9 test(hooks): normalize matcher snapshot workdirs 2026-07-30 01:16:37 +08:00
kingwl 77479f5ab0 test(queue): close CI coverage gaps 2026-07-30 00:55:02 +08:00
Tianyi Cui 3d5fe9ffab Merge branch 'master' into fix/hook-matcher-validation 2026-07-30 00:21:43 +08:00
Tianyi Cui fca0c05155 Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/skills.i18n.yaml
#	docs/core-data-structures/skills.md
#	docs/core-data-structures/skills.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/skill/skill-local/README.i18n.yaml
#	packages/skill/skill/README.i18n.yaml
#	packages/skill/skill/README.md
#	packages/skill/skill/README.zh.md
#	packages/skill/skill/src/index.ts
#	packages/skill/skill/tests/skill.spec.ts
#	packages/skill/tool-skill/README.i18n.yaml
#	packages/skill/tool-skill/src/index.ts
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/README.md
#	packages/ui/tui/README.zh.md
#	packages/ui/tui/src/index.ts
#	packages/ui/tui/tests/tui.spec.ts
2026-07-29 23:36:49 +08:00
Tianyi Cui f477cafc90 Merge commit '01b34d4ff9e0726379b2d0c3febdc977e5ce9ebf' into worktree/retarget-pr828-20260729 2026-07-29 23:20:18 +08:00
Tianyi Cui 1619d7686b test(skill): close invocation policy coverage gaps 2026-07-29 23:17:07 +08:00
Tianyi Cui cae3c8c9a1 Merge commit 'refs/codex/pr831/master' into worktree/retarget-pr831-20260729 2026-07-29 23:16:57 +08:00
Tianyi Cui 7ff1246842 test(skill): snapshot invocation policy surfaces 2026-07-29 21:58:21 +08:00
Tianyi Cui 502e64c00d Merge origin/master at ecbf75a5e7 into skill catalog hot refresh 2026-07-29 21:42:18 +08:00
Tianyi Cui 7f711996ff Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr828-20260729
# Conflicts:
#	packages/hooks/README.i18n.yaml
#	packages/hooks/README.zh.md
#	packages/hooks/hook-protocol/README.i18n.yaml
#	packages/hooks/hook-protocol/README.zh.md
#	packages/hooks/hooks-claude/README.i18n.yaml
#	packages/hooks/hooks-claude/README.zh.md
#	packages/hooks/hooks-codex/README.i18n.yaml
#	packages/hooks/hooks-codex/README.zh.md
2026-07-29 21:34:29 +08:00
Tianyi Cui 44fe621f3f Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr831-20260729
# Conflicts:
#	packages/context/workspace-context/README.i18n.yaml
#	packages/context/workspace-context/README.zh.md
2026-07-29 21:25:44 +08:00
Tianyi Cui 5c0c59847b Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729
# Conflicts:
#	packages/client/ui-skill/README.i18n.yaml
#	packages/client/ui-skill/README.zh.md
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/skill/skill-local/README.i18n.yaml
#	packages/skill/skill-local/README.zh.md
#	packages/skill/skill/README.i18n.yaml
#	packages/skill/skill/README.zh.md
#	packages/skill/tool-skill/README.i18n.yaml
2026-07-29 21:05:09 +08:00
Tianyi Cui cf7f14948c test(tui): match durable skill catalog source 2026-07-29 20:45:00 +08:00
xjt e1481e2d98 docs(i18n): resolve follow-up review findings 2026-07-29 18:38:56 +08:00
j-xiang 5bd49b1f0e docs(i18n): address final line audit 2026-07-29 16:53:53 +08:00
Tianyi Cui 5bf93e4229 Merge origin/master into worktree/skill-catalog-hot-refresh 2026-07-29 16:40:40 +08:00
j-xiang c44d2cc2b4 docs(i18n): fix proofreading review findings 2026-07-29 15:37:42 +08:00
j-xiang 599e6edc87 docs(i18n): record proofread README pairs 2026-07-29 15:30:44 +08:00
j-xiang 333b4bcd30 docs(i18n): proofread README translations 1-20 2026-07-29 15:29:24 +08:00
Yichen Jiang 4e9916b3e5 feat(llm-pi-ai): dormant bare mount — routes live entirely in the settings plane
An empty or omitted providers dict is now the valid dormant posture: the
adapter mounts with zero routes and no catalog entries, registers routes
the moment the llm-pi-ai settings section supplies profiles, and drops
them when it empties. The TUI demo mounts the adapter bare, so adding an
openai/anthropic provider is purely a settings.yaml (or, next PR, web
form) operation with per-request apiKeyEnv credential resolution.
2026-07-29 14:56:09 +08:00
Yichen Jiang 9336fed1e9 feat(examples): mount the pi-ai adapter in the TUI demo composition
openai + anthropic routes register keyless beside the direct deepseek
adapter — the catalog stays browsable and requests fail actionably until a
key arrives — with per-request apiKeyEnv resolution, so a user's settings
section (proxy baseURL, extra routes) and .env keys are the only steps to
turn them on.
2026-07-29 14:45:01 +08:00
Yichen Jiang 4bb101e002 Revert "fix(examples): drop the dev HMR row the native source launch cannot load"
This reverts commit 8ca499e33dd2b6e1f4e80189a1a3ab9e6873ddf7.
2026-07-29 14:29:12 +08:00
Yichen Jiang 2a53abd491 fix(examples): drop the dev HMR row the native source launch cannot load
Vendored @cordisjs/plugin-hmr uses decorators — non-erasable syntax the
--experimental-transform-types demo:tui launch refuses — so its row made the
shipped TUI composition unbootable from source while the tsx-launched
snapshot harness masked it. The stale !!js head comment goes with it;
restoring dev HMR is tracked separately.
2026-07-29 14:26:00 +08:00
Yichen Jiang b0a2011d95 docs: bilingual credentials/settings-consumer documentation, catalogs, and gates
New credentials data-structure page (type-equiv manifested), group README,
rewritten llm-deepseek/llm-pi-ai READMEs (dynamic configuration, dict
profiles, credential chain), capability-seams/service-role registration,
Agent Note (bilingual), demo compositions mounting settings-local +
credentials-local with no inline key plumbing, installSettingsSection
consumer helper on the settings seam (deduplicating both adapters' wiring),
jscpd symmetry markers for the provider twins, runtime-closure additions for
python/sdk-runtime, and doc-budget ceilings AGENTS.md 1750→1755 /
packages/README.md 850→865 for the structural one-line group rows.
2026-07-29 14:20:06 +08:00
Yichen Jiang d77db29f01 test: real-Loader dynamic composition, keyless onboarding snapshot, and .env-only e2e
llm-deepseek gains a Loader+Include composition spec proving external
settings.yaml/.env edits reach the very next request, and a real-API e2e
where only a credentials-local document holds the key. The headless example
pins the first-run missing-credential UX as a keyless stream-json snapshot
(new credentials.cordis.snapshot.yml scenario); runLoaderSmoke learns
expectedExitCode so a designed failure surface can be pinned instead of
masked.
2026-07-29 13:44:24 +08:00
Yichen Jiang 0dce3f57ca Merge remote-tracking branch 'origin/master' into worktree/default-pi-ai-providers
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-29 13:25:06 +08:00
Yichen Jiang 8f9535af87 Merge remote-tracking branch 'origin/master' into worktree/skill-invocation-controls
# Conflicts:
#	docs/cordis-catalog/services.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/ui/tui/README.i18n.yaml
2026-07-29 12:58:10 +08:00
ZiyaZhang ea4103c14a Merge remote-tracking branch 'upstream/master' into fix/hook-matcher-validation 2026-07-28 19:49:35 -07:00
Turtle efb67365d3 test(tui): update assembled terminal snapshots 2026-07-29 10:03:38 +08:00
ZiyaZhang dfba46c6d4 Merge remote-tracking branch 'upstream/master' into fix/workspace-instruction-frame-metadata 2026-07-28 16:53:21 -07:00
ZiyaZhang fad111c7e6 Merge remote-tracking branch 'upstream/master' into fix/hook-matcher-validation 2026-07-28 16:14:51 -07:00
Tianyi Cui 07d61ee992 Merge latest master into skill invocation controls
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	examples/acp-agent/tests/snapshots/skill-load/session.jsonl
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.md
#	packages/host/apiproxy/README.zh.md
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/skill/tool-skill/src/index.ts
#	packages/ui/tui/README.i18n.yaml
2026-07-29 01:29:39 +08:00
imccyu 532b2b9107 Merge origin/master (regenerate the event producer-consumer graph) 2026-07-29 01:21:29 +08:00
ZiyaZhang 140a1eaccc Merge commit 'f7e1c47968ecf8704af9605f3f6bc1db6db869bc' into fix/hook-matcher-validation 2026-07-28 10:08:11 -07:00
ZiyaZhang faa540e667 Merge remote-tracking branch 'upstream/master' into fix/workspace-instruction-frame-metadata 2026-07-28 10:03:58 -07:00
ZiyaZhang 55321fe7a4 fix(hooks): ignore matcherless event fields 2026-07-28 09:55:18 -07:00
ZiyaZhang 688d298e7e Merge remote-tracking branch 'upstream/master' into fix/workspace-instruction-frame-metadata 2026-07-28 09:53:30 -07:00
ZiyaZhang cddf340df8 Merge remote-tracking branch 'origin/master' into fix/hook-matcher-validation 2026-07-28 09:49:40 -07:00
Tianyi Cui 8f867cc709 Merge branch 'master' into feature/subagent-policy-inheritance 2026-07-29 00:49:35 +08:00
imccyu 37f34af15f fix(plan): gate the immediate commit on the open-turn fold, not agent status
The TUI keyless smoke exposed the wrong idle signal: /plan submitted while
the driver is between turns still saw status running (checkpointing), so
the selection queued and the immediate copy never appeared. The commit
gate is now the log's own open-turn fold — plan/mode commits at once
whenever no turn is open, and queues only inside one. Specs drive the
distinction through explicit turn/start / turn/end events instead of a
fake status; the keyless smoke pins the new idle copy on both /plan and
/plan off; regenerated cordis/service catalogs ride along.
2026-07-29 00:46:56 +08:00
Tianyi Cui 63c9db1759 test(snapshot): preserve cwd punctuation 2026-07-29 00:02:38 +08:00
ZiyaZhang 15edb38a34 Merge remote-tracking branch 'upstream/master' into fix/workspace-instruction-frame-metadata
# Conflicts:
#	packages/support/acp-snapshot/README.i18n.yaml
#	packages/support/acp-snapshot/README.md
#	packages/support/acp-snapshot/README.zh.md
2026-07-28 08:59:32 -07:00
ZiyaZhang 61a388b54e test(hooks): align matcher fixtures with message identity 2026-07-28 08:59:28 -07:00
imccyu cb8968c80e test(plan): cover the final-state tails and refresh the TUI golden
The idle /plan and /plan off command paths pin the immediate-commit copy;
the chip's dead leaving/locked guard is deleted (both states disable the
button, so no click reaches the handler); the multi-turn TUI golden is
re-recorded keyless over the idle-commit wording and the standalone
plan/mode narration ordering.
2026-07-28 23:49:38 +08:00
Tianyi Cui c3d9f132e8 test(snapshot): canonicalize generated cwd tokens 2026-07-28 23:46:01 +08:00