Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions docs/architecture/core-decomposition.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,10 @@ owner 边界,否则不要把一个 feature group 继续拆成更小的 crate
concrete scheduler/session restore/terminal adapter、workspace-root source、
persistence/workspace service reads、remote-SSH runtime、agent registry/scheduler 等仍必须
另起 port/provider 设计和等价评审;HR3 进一步把这些仍 core-owned 的
service/agent runtime 绑定入口集中到 `src/crates/core/src/service_agent_runtime.rs`,
不改变 remote-connect、remote-SSH 或 scheduler 执行路径。
service/agent runtime 绑定入口集中到 `src/crates/core/src/service_agent_runtime.rs`:
remote dialog/cancel/file/tracker host adapter、remote image-context conversion
和 coordinator runtime-port binding 均由该入口承载,不改变 remote-connect、
remote-SSH 或 scheduler 执行路径。
最新 main 的 `/goal` 模式、goal verification events、request-context section policy、
prompt compression/cache、workspace related-path prompt facts、subagent cancellation 与
running-turn/continuation 语义必须纳入 HR-C 保护;这些不是普通 DTO 移动项。
Expand Down
9 changes: 5 additions & 4 deletions docs/plans/core-decomposition-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -1859,10 +1859,11 @@ source、persistence/workspace service reads 与 `ImageContextData` concrete imp

**HR3 closure update(2026-05-21):** HR3 now also centralizes the still
core-owned service/agent runtime bindings in
`src/crates/core/src/service_agent_runtime.rs`: remote dialog host factory,
remote image-context conversion, and `ConversationCoordinator` runtime-port
adapter binding. This does not move remote-SSH runtime, workspace-root source,
persistence/workspace service reads, concrete scheduler/session restore/terminal adapters,
`src/crates/core/src/service_agent_runtime.rs`: remote dialog/cancel/file/tracker
host adapters, remote image-context conversion, core-owned workspace-root lookup helper, and
`ConversationCoordinator` runtime-port adapter binding. This does not move remote-SSH
runtime, workspace-root source ownership, persistence/workspace service reads,
concrete scheduler/session restore/terminal adapters,
`ImageContextData` concrete ownership, or agent registry/scheduler behavior out
of core; those remain high-risk owner topics requiring a separate port/provider
design and equivalence tests before any deeper migration.
Expand Down
70 changes: 46 additions & 24 deletions scripts/check-core-boundaries.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -1183,6 +1183,26 @@ const forbiddenContentRules = [
{
path: 'src/crates/core/src/service/remote_connect/remote_server.rs',
patterns: [
{
regex: /\bpub\(crate\) struct CoreRemoteDialogRuntimeHost\b/,
message:
'remote_server must not own concrete remote dialog runtime host; keep it in service_agent_runtime',
},
{
regex: /\bpub\(crate\) struct CoreRemoteCancelRuntimeHost\b/,
message:
'remote_server must not own concrete remote cancel runtime host; keep it in service_agent_runtime',
},
{
regex: /\bpub\(crate\) struct CoreRemoteWorkspaceFileRuntimeHost\b/,
message:
'remote_server must not own concrete remote workspace file runtime host; keep it in service_agent_runtime',
},
{
regex: /\bstruct CoreRemoteSessionTrackerHost\b/,
message:
'remote_server must not own concrete remote tracker host; keep it in service_agent_runtime',
},
{
regex: /\bpub struct ImageAttachment\b/,
message: 'core remote-connect server must not redefine image attachment wire DTOs; use the integrations contract',
Expand Down Expand Up @@ -2257,10 +2277,34 @@ const requiredContentRules = [
regex: /\bCoreRemoteCancelRuntimeHost\b/,
message: 'missing core remote cancel host binding',
},
{
regex: /\bCoreRemoteWorkspaceFileRuntimeHost\b/,
message: 'missing core remote workspace file host binding',
},
{
regex: /\bCoreRemoteSessionTrackerHost\b/,
message: 'missing core remote session tracker host binding',
},
{
regex: /\bRemoteExecutionDispatcher\b/,
message: 'missing remote execution dispatcher binding',
},
{
regex: /\bimpl RemoteDialogRuntimeHost for CoreRemoteDialogRuntimeHost\b/,
message: 'missing remote dialog host adapter implementation in runtime owner',
},
{
regex: /\bimpl RemoteCancelRuntimeHost for CoreRemoteCancelRuntimeHost\b/,
message: 'missing remote cancel host adapter implementation in runtime owner',
},
{
regex: /\bimpl RemoteWorkspaceFileRuntimeHost for CoreRemoteWorkspaceFileRuntimeHost\b/,
message: 'missing remote workspace file host adapter implementation in runtime owner',
},
{
regex: /\bimpl RemoteSessionTrackerHost for CoreRemoteSessionTrackerHost\b/,
message: 'missing remote tracker host adapter implementation in runtime owner',
},
{
regex: /\bImageContextData\b/,
message: 'missing core image context binding',
Expand Down Expand Up @@ -2653,30 +2697,6 @@ const requiredContentRules = [
regex: /\bCoreServiceAgentRuntime\b/,
message: 'missing core service/agent runtime owner routing',
},
{
regex: /\bstruct CoreRemoteDialogRuntimeHost\b/,
message: 'missing core remote dialog runtime adapter',
},
{
regex: /\bstruct CoreRemoteCancelRuntimeHost\b/,
message: 'missing core remote cancel runtime adapter',
},
{
regex: /\bstruct CoreRemoteWorkspaceFileRuntimeHost\b/,
message: 'missing core remote file runtime adapter',
},
{
regex: /\bimpl RemoteDialogRuntimeHost for CoreRemoteDialogRuntimeHost\b/,
message: 'missing integrations dialog host adapter implementation',
},
{
regex: /\bimpl RemoteCancelRuntimeHost for CoreRemoteCancelRuntimeHost\b/,
message: 'missing integrations cancel host adapter implementation',
},
{
regex: /\bimpl RemoteWorkspaceFileRuntimeHost for CoreRemoteWorkspaceFileRuntimeHost\b/,
message: 'missing integrations file host adapter implementation',
},
{
regex: /\bsubmit_remote_dialog\b/,
message: 'missing remote dialog owner orchestration delegation',
Expand Down Expand Up @@ -5575,6 +5595,8 @@ function runManifestParserSelfTest() {
'remote_control_state_port',
'CoreRemoteDialogRuntimeHost',
'CoreRemoteCancelRuntimeHost',
'CoreRemoteWorkspaceFileRuntimeHost',
'CoreRemoteSessionTrackerHost',
'RemoteExecutionDispatcher',
'ImageContextData',
'RemoteImageContextAdapter',
Expand Down
4 changes: 2 additions & 2 deletions src/crates/core/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@ SessionManager → Session → DialogTurn → ModelRound
workspace-root source selection, persistence/workspace service reads,
concrete scheduler/session restore, terminal pre-warm adapters, and product
execution core-owned until a reviewed migration proves equivalence. Core
service/agent runtime bindings are centralized in
`src/crates/core/src/service_agent_runtime.rs`.
remote dialog/cancel/file/tracker adapters and service/agent runtime bindings
are centralized in `src/crates/core/src/service_agent_runtime.rs`.
- Keep concrete remote SSH runtime code behind `ssh-remote`. No-default builds
may keep workspace identity helpers and explicit unsupported stubs, but must
not compile russh-backed SSH/SFTP/terminal/search runtime modules.
Expand Down
Loading
Loading