Commit Graph
5560 Commits
Author SHA1 Message Date
Tianyi Cui fcc5245e8b Merge remote-tracking branch 'origin/master' into codex/cordis-catalog-type-links 2026-07-19 15:56:47 +08:00
Yichen Jiang b758a7496b fix(subagent-acp): reject an empty config cwd at load
path.resolve('') is the process cwd, so an empty configured cwd would
silently reintroduce the launch-directory fallback the parent-session
cwd resolution removed. Fail at plugin load with an actionable message
instead.
2026-07-19 15:56:32 +08:00
Tianyi Cui ae26adfda8 Merge pull request #385 from deepseek-harness/codex/website-api-jsdoc
docs: render source JSDoc in website API references
2026-07-19 15:56:20 +08:00
Tianyi Cui b7234319c6 Merge remote-tracking branch 'origin/master' into worktree/agent-execution-context-rfc 2026-07-19 15:55:12 +08:00
Yichen Jiang 05f0c12880 Merge branch 'master' into fix/acp-subagent-cwd 2026-07-19 15:51:36 +08:00
Tianyi Cui cf749d59d6 Merge remote-tracking branch 'origin/master' into codex/website-api-jsdoc 2026-07-19 15:48:39 +08:00
Tianyi Cui ab4d350517 Merge pull request #383 from deepseek-harness/codex/catalog-verbs-jsdoc
docs: drift-check public class APIs
2026-07-19 15:48:20 +08:00
Yichen Jiang d2672460fe fix(cli-demo): accept disabled task controls 2026-07-19 15:36:48 +08:00
Yichen Jiang d1b9523cd8 Merge branch 'master' into fix/acp-subagent-cwd 2026-07-19 15:34:19 +08:00
Tianyi Cui e1a4a2963d docs(core): document initiator API scenarios 2026-07-19 15:34:08 +08:00
Tianyi Cui 2397059fe3 Merge PR #340 into codex/website-api-jsdoc 2026-07-19 15:29:42 +08:00
Tianyi Cui 7a7cea1a05 Merge PR #340 fixes 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 15:27:02 +08:00
Yichen Jiang 9c93fe5533 Merge branch 'master' into worktree/dsbench-patch 2026-07-19 15:24:07 +08:00
Yichen Jiang c432f85c07 fix(subagent-acp): resolve child cwd from the parent session
The ACP backend resolved an unset cwd to the harness process's launch
directory, so a delegated child ran — and announced its ACP session —
in the server's cwd instead of the delegating session's workspace.
Resolve the working directory explicitly: the config cwd override
(made absolute and validated at load), else the parent session
header's cwd (validated at start), failing loud before spawning when
neither exists.
2026-07-19 15:23:17 +08:00
Tianyi Cui 49bd666a26 Merge remote-tracking branch 'origin/master' into worktree/agent-execution-context-rfc
# Conflicts:
#	docs/capability-seams.md
#	scripts/gen-doc-graphs.ts
2026-07-19 15:18:35 +08:00
Tianyi Cui 1663eff819 Merge remote-tracking branch 'origin/master' into codex/cordis-inspect-jsdoc 2026-07-19 15:12:34 +08:00
Tianyi Cui bf93605f8c docs: keep architecture within its budget
Condense the app-bundle sentence after combining the current-master CLI wiring with the recovery architecture changes. The text still identifies the TUI, line-oriented, headless, and ACP front doors and their output contracts.

This restores the enforced architecture.md word ceiling without raising the budget or relocating an architecture-level seam fact.
2026-07-19 15:12:29 +08:00
Tianyi Cui ee1a44793a fix(core): make initiator teardown reentrant-safe 2026-07-19 15:12:18 +08:00
Tianyi Cui f946d47031 Merge remote-tracking branch 'origin/master' into codex/website-api-jsdoc 2026-07-19 15:08:54 +08:00
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 0c1bc50b98 test(code-runtime): widen the idle-budget timing margin
The slow-binding test used a 250 ms compute budget, which is below the instrumented worker startup cost seen intermittently in the four-worker Windows coverage job. That startup activity could exhaust the budget before the program settled into the awaited binding, making the timing assertion depend on runner load.

Use a one-second compute budget and a two-second binding delay. The awaited wall time still exceeds the busy-time allowance by a clear factor, so the test continues to prove that binding wait time is not charged while leaving enough headroom for worker initialization under coverage.
2026-07-19 14:30:46 +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 f6f984de06 test(tui): cover same-volume cwd outside home
The existing /opt footer case reaches the ordinary outside-home return on POSIX, but Windows resolves it on the checkout drive while the user profile is on another drive. That exercises the cross-drive guard instead and leaves the same-volume fallback uncovered in Windows coverage.

Add the resolved parent of the home directory as a platform-neutral outside-home path. The case now covers the fallback on every host while retaining /opt to exercise the Windows cross-drive path, restoring per-file branch, statement, and line coverage without platform-specific expectations.
2026-07-19 14:21:58 +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
Tianyi Cui a246afa33a test(acp-snapshot): detach the inherited-stdio fixture
Windows does not guarantee that an ordinary child process will continue after its parent exits. The fake ACP agent exited immediately after spawning its late-output descendant, so Windows could tear down that descendant and close the protocol stream before the delayed ACP update was written.

Launch the descendant in detached mode while continuing to inherit stdout and stderr, then unref it as before. This preserves the intended regression boundary: launcher shutdown must wait for descendant-held stdio and parse the final buffered frame after the direct ACP parent exits.
2026-07-19 14:14:00 +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 595e666a9d Merge remote-tracking branch 'origin/master' into codex/pr335-merge-master-20260719 2026-07-19 13:52:41 +08:00