mirror of
https://github.com/codewhale-hq/Codewhale.git
synced 2026-11-08 08:04:25 -10:00
Merge origin/main into style/rustfmt-mcp; drop Windows-unused mut
Brings in #7104's README stamp refresh, which the Lint leg's README translation check needs. On Windows `plan_launch` never assigns `native_snapshot_roots` (the field is `cfg(not(windows))`), so `let mut launch` failed `unused_mut` under -D warnings on Test (windows-latest); the non-Windows assignment is now a struct update. Maintainer fix on the contributor branch (CW-7525). Signed-off-by: CodeWhale Bot <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
commit
cee2d8ab7c
21 files changed
+92
-23
No files matched your search
@@ -569,11 +569,12 @@ pub(crate) fn plan_launch(
|
||||
bundle,
|
||||
&snapshot_roots,
|
||||
);
|
||||
let mut launch = host_launch(tier, runtime, args, data, memory_cap, wrapped)?;
|
||||
let launch = host_launch(tier, runtime, args, data, memory_cap, wrapped)?;
|
||||
#[cfg(not(windows))]
|
||||
{
|
||||
launch.native_snapshot_roots = snapshot_roots;
|
||||
}
|
||||
let launch = HostLaunch {
|
||||
native_snapshot_roots: snapshot_roots,
|
||||
..launch
|
||||
};
|
||||
Ok(launch)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
# DeepSeek Harness Plugin Compatibility
|
||||
|
||||
Codewhale runs reviewed DeepSeek Harness (DSH) plugins in its experimental
|
||||
Native extension host ([EXTENSIONS.md](EXTENSIONS.md)). The target is DSH
|
||||
**0.2.1-rc.2**, pinned in `crates/tui/extension-host/src/dsh/compatibility.json`.
|
||||
The Rust Engine keeps turns, sessions, approvals, credentials and receipts; a
|
||||
DSH service is offered only where it maps onto one of those existing owners.
|
||||
Everything else is refused by name when the plugin activates, never faked.
|
||||
|
||||
This page is the equivalence checklist. "Verified" names the check that was
|
||||
run against the commit that landed the behavior. It is not a release
|
||||
qualification, and hosted CI, Linux and Windows runs are listed separately.
|
||||
|
||||
For the separate launcher that runs your own installed `dsh`, see
|
||||
[DeepSeek Harness integration](INTEGRATIONS_DSH.md).
|
||||
|
||||
## Packages, review and trust
|
||||
|
||||
| DSH behavior | In Codewhale | Status |
|
||||
| --- | --- | --- |
|
||||
| Install a bundle package (`dsh.bundle.patch`, Cordis patch YAML) | `/plugin import dsh`, `POST /v1/apps/plugins/import/dsh/preview`, then install with the previewed content hash | Verified on macOS over the Runtime API |
|
||||
| A new plugin does nothing until reviewed | installed disabled and untrusted; trust needs the review token; enable is separate | Verified on macOS over the Runtime API |
|
||||
| Trust covers the bytes and the compatibility table | changing either invalidates earlier trust | Verified by focused Engine tests |
|
||||
| Bytes changed after review | install refused with a 409 conflict, nothing installed | Verified by focused Engine tests (`17ebeb5f61`) |
|
||||
| Update and rollback walkthrough | existing update/revoke/remove paths | Not verified |
|
||||
| Desktop app preview → install → trust → enable | App plugin settings | Built; not walked through live |
|
||||
|
||||
## Headless services
|
||||
|
||||
| DSH service | In Codewhale | Status |
|
||||
| --- | --- | --- |
|
||||
| `tools.register` | Engine tool registry; input and output checked against the declared schema; every call goes through an approval card | Verified on macOS over the Runtime API |
|
||||
| Plugin tools on the **first** turn | the first tool build waits up to 10 s for the plugin host to finish loading | Verified on macOS over the Runtime API (`25225ef051`); before the fix, `tool_search` could not find the tool on turn one |
|
||||
| `commands.register` | thread-scoped Runtime commands with replay-safe operation keys; a command may submit one text prompt with plugin attribution | Verified (command runs and replays) |
|
||||
| `sessions.flush(exec.agent.session)` | Engine captures the conversation so far and waits for the Runtime, terminal or `exec` store to confirm the save | Verified on macOS over the Runtime API, including reload after an Engine restart (`17ebeb5f61`); other `sessions` methods refused |
|
||||
| `userQuestions.ask` | the Engine's own question flow; answers are typed (choice, your own text, or skipped) | Verified on macOS over the Runtime API (`fff5a476f9`); `wait` and timed asks refused |
|
||||
| `prompt`, `storage`, `skills`, `avatars`, `mcp`, `shellHooks`, `logger`, `events`, `reflect`, `registry` | provided | Supported subset; full API inventory not qualified |
|
||||
| `subagents.startActivation`, caller delivery, disposal | refused | Not implemented |
|
||||
| `tools.get`, `tools.restrict` | refused | Not implemented |
|
||||
| `agents`, `systemPrompt`, `llm`, `approval`, `credentials`, `fs`, `subprocess` | refused by design until each maps to Engine authority | Not implemented |
|
||||
| Rich or media tool output | dropped | Not implemented |
|
||||
| Direct `git` from a plugin | Native profile denies repository reads | Not implemented |
|
||||
|
||||
## Plugin UI (`dsh.client`)
|
||||
|
||||
Not supported. The DSH import receipt says so: the UI half of a package is not
|
||||
converted and stays off until Codewhale has a renderer that can keep plugin UI
|
||||
off the network. A macOS probe showed WebRTC traffic leaving a WebKit view
|
||||
despite every available restriction (content rules, CSP, an opaque sandboxed
|
||||
frame and a restrictive Permissions-Policy), so a process-level boundary is
|
||||
required first.
|
||||
|
||||
## Containment
|
||||
|
||||
| Behavior | Status |
|
||||
| --- | --- |
|
||||
| Native tier runs only under an OS sandbox (Seatbelt, bubblewrap, LPAC) | Verified on macOS with the compiled host (`17ebeb5f61`) |
|
||||
| Plugins in the Native tier are isolated from each other | No: they share one trusted host process |
|
||||
| Detached descendants on macOS | Can outlive the host; they keep the sandbox |
|
||||
| Windows, current source | Not verified |
|
||||
|
||||
## Published plugins
|
||||
|
||||
`@michengai/dsh-code-review` 1.0.3 injects `commands`, `subagents`, `agents`,
|
||||
`tools`, `systemPrompt`, `sessions` and `userQuestions`. `subagents`, `agents`
|
||||
and `systemPrompt` are still refused, so the unmodified plugin cannot activate
|
||||
in Codewhale yet.
|
||||
+2
-1
@@ -41,7 +41,8 @@ is the source. Translations live beside their English page (`*.id.md`) or in
|
||||
- [LSP: PHP and custom language servers](LSP_PHP_CUSTOM.md)
|
||||
- [Runtime API and integration contract](RUNTIME_API.md)
|
||||
- [GitHub App setup](GITHUB_APP.md)
|
||||
- [DeepSeek Harness integration](INTEGRATIONS_DSH.md)
|
||||
- [DeepSeek Harness integration](INTEGRATIONS_DSH.md) and
|
||||
[DSH plugin compatibility](DSH_PLUGIN_COMPAT.md)
|
||||
|
||||
## Safety and trust
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- source: README.md sha256:a027945e67d4 -->
|
||||
<!-- source: README.md sha256:1e61f10f7706 -->
|
||||
<div align="center">
|
||||
|
||||
<picture>
|
||||
|
||||
Reference in new issue
Block a user