Commit Graph

3285 Commits

Author SHA1 Message Date
Tianyi Cui
3e4e3aa865 Merge remote-tracking branch 'origin/master' into codex/pr332-merge-master-20260719
# Conflicts:
#	docs/cookbook/extension-cookbook.i18n.yaml
2026-07-19 15:07:58 +08:00
Tianyi Cui
169afe41c1 Merge remote-tracking branch 'origin/master' into codex/catalog-verbs-jsdoc 2026-07-19 15:05:08 +08:00
Tianyi Cui
7617963474 docs(llm-pi-ai): describe usage overflow mapping
Document every context-window path returned by mapStopReason: recognized provider error wording, successful stop usage beyond the resolved window, and zero-output length stops that fill the window.

This keeps the public return contract aligned with usage-based overflow classification without duplicating the provider-specific detection table owned by pi-ai.
2026-07-19 15:04:51 +08:00
Tianyi Cui
8eb9beb319 docs(rfc): correct recovery translation
Use the repository-mandated 回放 terminology for replayable pressure and replace the literal cancellation-owned rendering with idiomatic Chinese that preserves boundedness, cancellation authority, and monotonic retry behavior.

The corresponding English clauses remain accurate. Re-record the English and Chinese pair after checking the corrected text against the implemented recovery contract.
2026-07-19 15:03:15 +08:00
Tianyi Cui
98e224e45e refactor(agent): exhaust recovery and compaction decisions
Dispatch RequestErrorDecision and CompactionTrigger through explicit discriminant switches. End each closed union with assertNever so new variants fail compilation instead of silently inheriting fail or pressure behavior.

This preserves the current retry, fail, pressure, and overflow semantics while aligning the new recovery seams with the repository closed-union contract.
2026-07-19 15:02:11 +08:00
Tianyi Cui
b4081dea83 Merge remote-tracking branch 'origin/master' into codex/cordis-catalog-type-links 2026-07-19 14:58:15 +08:00
Tianyi Cui
350d1b2688 docs: verify Cordis signature type links 2026-07-19 14:57:52 +08:00
Tianyi Cui
97336c32ce Merge pull request #337 from deepseek-harness/codex/cli-one-shot-demo
feat(examples): add one-shot headless agent demo
2026-07-19 14:53:40 +08:00
Yichen Jiang
3956118c18 fix(dsbench): adapt evaluation config to master runtime 2026-07-19 14:53:39 +08:00
Yichen Jiang
3df3c6bf37 Merge remote-tracking branch 'origin/master' into worktree/dsbench-patch
# Conflicts:
#	packages/bash/bash-local/README.md
#	packages/bash/bash-local/src/index.ts
#	packages/bash/bash-local/src/run.ts
#	packages/bash/bash-local/tests/run.spec.ts
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/src/index.ts
#	packages/ui/jsonrpc/README.md
#	packages/ui/jsonrpc/src/server.ts
2026-07-19 14:53:03 +08:00
Tianyi Cui
306dd2b1fe fix(cli-demo): make failure rendering total
Contain arbitrary plugin and runtime failures even when a thrown Proxy traps instanceof checks or its string coercion throws. Fall back to a stable diagnostic instead of letting executeCli reject outside its exit-code contract.

Route abort reasons through the same total renderer so cancellation cannot escape containment through an exotic reason value.

Add a focused regression that exercises both hostile inspection paths and verifies stdout remains empty, stderr remains labelled, and the CLI resolves with exit code 1.
2026-07-19 14:41:55 +08:00
Tianyi Cui
1698f0baa6 fix(cli-demo): preserve disposal diagnostics
Report context-disposal failure as an independent outcome even when argument, boot, task, or output handling has already produced a primary diagnostic.

Keep the primary error first, append the cleanup error, and retain the nonzero exit status so operators can see both the initiating failure and the possibility that teardown or persistence did not complete.

Add a regression that combines an invalid app composition with a failing disposer and asserts both ordered stderr lines.
2026-07-19 14:41:55 +08:00
Tianyi Cui
ba693f0355 fix(cli-demo): forward the complete spine config
Align the one-shot app with the shared agent-spine contract that landed on master after this branch began. Expose maxParallelToolCalls, dshHome, toolBash, and toolTasks through the Loader schema and route them with pickSpineConfig().

This restores deployment control over tool-call concurrency, the shared Harness home, background bash, and task_output wait bounds instead of silently retaining owner defaults.

Exercise all four fields through the composed runtime, document the package-level contract, and regenerate the config catalog from the owning interface.
2026-07-19 14:41:55 +08:00
Tianyi Cui
62fc876318 feat: inspect exact Cordis API JSDoc 2026-07-19 14:39:49 +08:00
Tianyi Cui
ae419fb692 fix(cli-demo): interrupt Loader boot on signals
Race Loader startup with the process abort signal so SIGINT and SIGTERM can settle the one-shot CLI even when initialization has not returned a Context.

If boot settles after cancellation, dispose the late context asynchronously instead of recreating the wait. Contain late boot rejection and report a late disposal failure on stderr.

Cover prompt interruption, late context disposal, late boot rejection, and cleanup failure with focused CLI regressions.
2026-07-19 14:37:47 +08:00
Tianyi Cui
1d43472b35 Merge pull request #386 from deepseek-harness/codex/pi-ai-context-overflow-classification
fix(llm-pi-ai): classify usage-based context overflow
2026-07-19 14:29:23 +08:00
Tianyi Cui
e572139396 docs: shorten public API fence marker 2026-07-19 14:23:59 +08:00
Tianyi Cui
7a9c2ef473 docs(core): state loop initiator precondition 2026-07-19 14:20:27 +08:00
Tianyi Cui
4284cf70e4 Merge remote-tracking branch 'origin/worktree/agent-execution-context-rfc' into codex/simplify-agent-identity-plumbing
# Conflicts:
#	docs/rfc/implemented/architecture/2026-07-15-agent-initiator-scope.i18n.yaml
#	docs/rfc/implemented/architecture/2026-07-15-agent-initiator-scope.md
#	docs/rfc/implemented/architecture/2026-07-15-agent-initiator-scope.zh.md
2026-07-19 14:18:58 +08:00
Tianyi Cui
4791b40b26 fix(llm-pi-ai): classify usage-based context overflow
Pass each resolved catalog model capacity into pi-ai stream conversion so the upstream full-message classifier can recognize provider-specific, silent, and length-stop overflow signals. Retain the harness text fallback for legacy provider wording and cover the catalog-resolution path with a mock-provider regression.
2026-07-19 14:18:13 +08:00
Tianyi Cui
f66cde41d1 docs(core): clarify initiator restoration timing 2026-07-19 14:16:07 +08:00
Tianyi Cui
9163f61299 docs: include JSDoc in website API markers 2026-07-19 14:14:02 +08:00
Yichen Jiang
fc478d675c fix(ci): suppress bearer auth for Azure API keys 2026-07-19 14:10:47 +08:00
Tianyi Cui
f21ed1bfa0 refactor(core): use initiator in loop internals 2026-07-19 14:06:47 +08:00
Yichen Jiang
39dea6107e fix(ci): target Azure Foundry OpenAI v1 route 2026-07-19 14:06:18 +08:00
Tianyi Cui
bfc4bf9660 Merge remote-tracking branch 'origin/master' into codex/catalog-verbs-jsdoc
# Conflicts:
#	docs/development.i18n.yaml
2026-07-19 14:00:48 +08:00
Tianyi Cui
3ceccc87a0 docs: drift-check public class APIs 2026-07-19 13:59:05 +08:00
Tianyi Cui
2ef9590f33 test(loader-smoke): declare argv lib fixture 2026-07-19 13:51:41 +08:00
Yichen Jiang
51425dd61a test(llm-pi-ai): surface provider e2e failures 2026-07-19 13:51:25 +08:00
Tianyi Cui
595d9acd7a Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
# Conflicts:
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/cookbook/extension-cookbook.md
#	docs/cookbook/extension-cookbook.zh.md
#	examples/README.md
#	examples/repl-agent/README.md
#	package.json
#	scripts/gen-doc-graphs.ts
2026-07-19 13:44:34 +08:00
Yichen Jiang
1fdcd5a773 ci: run pi-ai OpenAI e2e through Azure 2026-07-19 13:42:21 +08:00
Yichen Jiang
cb8cdafbe3 Merge remote-tracking branch 'origin/master' into worktree/pi-ai-manual-e2e 2026-07-19 13:39:27 +08:00
Tianyi Cui
692ef8e61f test: align headless replay with model routing 2026-07-19 13:37:27 +08:00
Tianyi Cui
e0b5cadd2a chore(core): align merged initiator changes 2026-07-19 13:37:11 +08:00
Tianyi Cui
44d9fbcd6d Merge remote-tracking branch 'origin/master' into codex/pr332-merge-master-20260719
# Conflicts:
#	docs/cookbook/extension-cookbook.i18n.yaml
2026-07-19 13:36:08 +08:00
Tianyi Cui
9828892742 Merge latest origin/master into worktree/agent-execution-context-rfc 2026-07-19 13:34:48 +08:00
Tianyi Cui
fda72637d5 Merge latest origin/master into worktree/agent-execution-context-rfc
# Conflicts:
#	docs/cordis-catalog/services.md
2026-07-19 13:34:17 +08:00
Tianyi Cui
7747aa450c Merge pull request #380 from deepseek-harness/codex/rename-repl-agent
refactor(examples): rename coding-agent leaf to repl-agent
2026-07-19 13:33:19 +08:00
Tianyi Cui
f4a30da10d chore: align one-shot demo workspace metadata 2026-07-19 13:32:04 +08:00
Tianyi Cui
c23214be56 refactor(core): fold initiator scope into agents 2026-07-19 13:30:45 +08:00
Tianyi Cui
b0ab117748 Merge remote-tracking branch 'origin/master' into codex/pr332-merge-master-20260719 2026-07-19 13:28:35 +08:00
Tianyi Cui
b2f3d73c1c Merge latest origin/master into codex/rename-repl-agent
Refresh PR #380 against master at ab96fdb63 immediately before landing so the admin merge is evaluated against the current repository contracts rather than the branch's earlier base.

Take the merged SQLite owner-only permission hardening and its regenerated config catalog while preserving the examples/repl-agent rename. The merge leaves examples/coding-agent absent and keeps demo:repl wired to the renamed leaf.
2026-07-19 13:27:44 +08:00
Tianyi Cui
89987f0ad4 docs: align one-shot demo prose 2026-07-19 13:25:30 +08:00
Tianyi Cui
e4709d078b Merge pull request #357 from deepseek-harness/worktree/fix-sqlite-file-permissions
fix(session-persistence): create SQLite databases owner-only
2026-07-19 13:23:08 +08:00
Tianyi Cui
dbe9e307b0 Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
# Conflicts:
#	AGENTS.md
#	README.i18n.yaml
#	README.md
#	README.zh.md
#	docs/architecture.md
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/cookbook/extension-cookbook.md
#	docs/cookbook/extension-cookbook.zh.md
#	docs/event-producer-consumer.md
#	docs/graph-atlas.md
#	docs/module-graph.md
#	docs/testing.md
#	examples/README.md
#	examples/coding-agent/README.md
#	package.json
#	packages/examples/README.md
#	scripts/gen-doc-graphs.ts
2026-07-19 13:17:53 +08:00
Tianyi Cui
024b5e38b8 Merge remote-tracking branch 'origin/master' into compact-post-step-overflow-recovery
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
2026-07-19 13:15:14 +08:00
Tianyi Cui
b95a9052fb Merge latest origin/master into codex/rename-repl-agent
Bring the follow-up branch onto master after PR #379 landed so the rename is reviewed and validated against the current generated Cordis catalog and JSDoc completeness contract.

The histories merge without a content conflict: master's catalog generator changes remain intact, while the repl-agent move continues to own only example paths, front-door naming, and their documentation derivatives.
2026-07-19 13:13:50 +08:00
Tianyi Cui
40ad78ee0b docs: condense merged architecture contract 2026-07-19 13:13:36 +08:00
Tianyi Cui
2faeabb05a refactor(examples): rename coding-agent leaf to repl-agent
Name the runnable leaf for the line-oriented front door it owns, matching the existing tui-agent and acp-agent organization. Move the complete config, Code Mode overlay, tests, metadata, and generated composition graph together, then update every loader path and repository reference.

Keep the shared model identity independent of its terminal front door by phrasing the persona as a coding-agent role rather than retaining the retired leaf name. Regenerate graph and tool catalogs and re-record each affected bilingual pair so derived documentation cannot point at the removed path.
2026-07-19 13:13:14 +08:00
Tianyi Cui
5510b4ec06 Merge remote-tracking branch 'origin/master' into codex/pr357-merge-review-20260719 2026-07-19 13:12:00 +08:00