Skip to content
Merged
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
36 changes: 15 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**One harness. All models.**

**Download:** [shadowcode.org](https://shadowcode.org) — Windows, macOS and Linux · [Windows installer](https://github.com/ShadowfetchStudio/ShadowCode/releases/download/v2.3.1/ShadowCode_2.3.1_x64-setup.exe)
**Download:** [shadowcode.org](https://shadowcode.org) — Windows, macOS and Linux · [Windows installer](https://github.com/ShadowfetchStudio/ShadowCode/releases/download/v2.3.3/ShadowCode_2.3.3_x64-setup.exe)

### An open-source project by Shadowfetch

Expand Down Expand Up @@ -72,15 +72,9 @@ The code is open source; the Shadowfetch and ShadowCode product identity is cove
own terminal, go from commit to pull request, preview the app you're
building, dictate with your voice, and follow along from your phone.

ShadowCode **2.3.1** is the current public release for Windows, Linux and macOS,
available from [GitHub releases](https://github.com/ShadowfetchStudio/ShadowCode/releases/tag/v2.3.1)
and [shadowcode.org](https://shadowcode.org/).
ShadowCode **2.3.3** is published for Windows, macOS and Linux on [GitHub releases](https://github.com/ShadowfetchStudio/ShadowCode/releases/tag/v2.3.3). Downloads and the current interface screenshots are also available at [shadowcode.org](https://shadowcode.org/).

This release improves guidance when write delegation is requested in a folder
without Git history. See the [release notes](docs/RELEASE_NOTES.md),
[Windows qualification record](docs/WINDOWS_LAPTOP_QUALIFICATION.md), and
[release history](CHANGELOG.md). Download instructions below use the published
2.3.1 packages.
Version 2.3.3 includes the desktop fixes and signing-policy update described in the [release notes](docs/RELEASE_NOTES.md). See also the [Windows qualification record](docs/WINDOWS_LAPTOP_QUALIFICATION.md) and [release history](CHANGELOG.md).


## Install
Expand All @@ -100,10 +94,10 @@ From 2.2.0 each release also carries Flatpak bundles for both architectures
checked with `ShadowCode_VERSION_flatpak.sha256`; see [Flatpak](docs/FLATPAK.md))
and macOS disk images (see [macOS](#macos)).
Check [GitHub releases](https://github.com/ShadowfetchStudio/ShadowCode/releases)
for published versions. The 2.3.1 x86_64 packages and checksums are:
for published versions. The 2.3.3 x86_64 Linux packages and checksums are:

- `ShadowCode_2.3.1_amd64.AppImage`
- `ShadowCode_2.3.1_amd64.deb`
- `ShadowCode_2.3.3_amd64.AppImage`
- `ShadowCode_2.3.3_amd64.deb`
- `SHA256SUMS`, `RELEASE-MANIFEST.json`, `RELEASE-AUTH` and
`RELEASE-AUTH.sig` (download these beside the package; the installer checks
the publisher's signature before running anything)
Expand Down Expand Up @@ -137,7 +131,7 @@ cmake.

### Windows

Release 2.3.1 includes `ShadowCode_2.3.1_x64-setup.exe` for
Release 2.3.3 includes `ShadowCode_2.3.3_x64-setup.exe` for
64-bit Windows 10 (version 1809 or later) and 11, with its SHA-256 checksum in
`ShadowCode_VERSION_windows.sha256`. It installs for your user only (no
administrator rights) and includes llama.cpp for local models (CPU) and the
Expand Down Expand Up @@ -174,7 +168,7 @@ assets are checksum-only and cannot be installed by this new entry point; use
the instructions shipped with that released version for those existing assets.
The 0.33.0 release attempt failed before signing and publication. Its tag stays
unchanged. Version 0.33.1 was the first signed release; the public trust policy
in `release/trust` now authorizes 0.33.0 through 2.3.1.
in `release/trust` now authorizes 0.33.0 through 2.3.3. An older independently trusted installer bundle whose policy ends at 2.3.1 will reject 2.3.3. Obtain and independently authenticate a reviewed bundle with the updated policy before installing; do not replace trust files with copies from the downloaded release.
For development, use [Build from source](#build-from-source).

Obtain an independently authenticated installer bundle as described below,
Expand All @@ -188,7 +182,7 @@ bundle and bootstrap requirements.
From that independently authenticated installer bundle, run:

```bash
bash /path/to/trusted-bundle/scripts/install-appimage.sh /path/to/downloads/ShadowCode_2.3.1_amd64.AppImage
bash /path/to/trusted-bundle/scripts/install-appimage.sh /path/to/downloads/ShadowCode_2.3.3_amd64.AppImage
```

The installer takes the AppImage path (or `--recover`), resolves its own trusted
Expand Down Expand Up @@ -234,7 +228,7 @@ as `--trust-dir` are not installer options.
cannot corrupt it.

After obtaining and verifying the intended package, run the AppImage without installing it:
`./ShadowCode_2.3.1_amd64.AppImage --appimage-extract-and-run`. FUSE is not
`./ShadowCode_2.3.3_amd64.AppImage --appimage-extract-and-run`. FUSE is not
required.

### Debian package
Expand Down Expand Up @@ -282,16 +276,16 @@ installed. The repository is published by the release workflow only; nothing
in ShadowCode adds or contacts it by itself.

To install one release by hand instead, verify the Debian artifact using the independently trusted verifier bundle.
`verified-deb-2.3.1` must not already exist; install the verified snapshot:
`verified-deb-2.3.3` must not already exist; install the verified snapshot:

```bash
bash /path/to/trusted-bundle/scripts/verify-native-release.sh \
--bundle-dir /path/to/downloads \
--trust-dir /path/to/trusted-bundle/release/trust \
--artifact ShadowCode_2.3.1_amd64.deb \
--stage-dir ./verified-deb-2.3.1 \
--expect-version 2.3.1
sudo apt install ./verified-deb-2.3.1/ShadowCode_2.3.1_amd64.deb
--artifact ShadowCode_2.3.3_amd64.deb \
--stage-dir ./verified-deb-2.3.3 \
--expect-version 2.3.3
sudo apt install ./verified-deb-2.3.3/ShadowCode_2.3.3_amd64.deb
```

A `.deb` installed by hand this way gets no updates and none of the APT
Expand Down
14 changes: 13 additions & 1 deletion docs/PLATFORM_QUALIFICATION.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
# Physical-machine platform qualification

The 2.3.3 candidate carries the 2.3.2 candidate fixes and extends the existing Linux signing-key interval through 2.3.3. Evidence below is for the 2.3.2 candidate and does not qualify the 2.3.3 artifacts; final package and physical-device testing remains pending.
## 2.3.3 public release — November 2, 2026

Linux 2.3.3 is published. The Windows, macOS and Flatpak packages are also published.

On the Omarchy x64 laptop, the publisher-authenticated public AppImage was installed with the independently reviewed 2.3.3 trust bundle. The installed AppImage SHA-256 is `4d7b49048718bc7a25407362958ea63b7d5d69a66f23afc8a287274be3245747`; the extracted native binary is `6b47514c3028cc4e3e98d7bd2fa46f73a437d5883dd8551278d3b0e4da3d04f7`. The installer required and observed the first native window.

A focused test on the laptop's actual Wayland compositor passed 12 interface checks, including onboarding, provider discovery (including Grok), accessibility, a scripted-provider task with approved file writing and command execution, and clean app shutdown. It excludes the floating-window sizing and resize tests, recovery and the full UI endurance suite. Separately, the extracted installed engine passed 100 sequential and 80 concurrent tasks, five cancellations and persistence after a graceful stop. That probe uses a loopback scripted provider: it does not demonstrate real-model inference or inference-server memory behavior. The [installation receipt](qa/platform-release-2.3.3/omarchy-installation.json), [Wayland interface results](qa/platform-release-2.3.3/omarchy-native-wayland.json), and [endurance results](qa/platform-release-2.3.3/omarchy-endurance.json) retain the hashes and measurements. The raw Wayland receipt retains a stale scope sentence saying Grok was excluded; its recorded configuration and picker check show that the Grok row was present in this run. The receipt is kept unchanged. This does not qualify a live Grok login or model task.

On the Windows 11 x64 laptop, the public 2.3.3 installer (SHA-256 `f6991390e42d0fd85e2456b95e6209053bf9db35ff94ed940df2bf7fd71e65c3`) installed successfully and passed clean-PATH runtime probes. Native WebView checks verified editor find/replace, undo, both redo shortcuts, saving and Settings without reported JavaScript errors. The installed engine also passed 100 sequential and 80 concurrent tasks, five cancellations and persistence after forced process termination, using a scripted provider. A real Gemma 4 E4B local CPU coding task also passed in 662 seconds; the agent ran the original five tests, which were preserved and passed again independently. This one task does not establish broad model quality or GPU inference. See the [real-model result](qa/platform-release-2.3.3/windows-real-model.json), [installation](qa/platform-release-2.3.3/windows-installation.json), [native interface](qa/platform-release-2.3.3/windows-native-webview.json) and [endurance](qa/platform-release-2.3.3/windows-endurance.json) receipts.

On the Intel iMac, the public 2.3.3 disk image (SHA-256 `f6c886915951d77c1d9d6e50add2d4d0647347bb66563fc6c946fef81da3e39e`) installed and passed version, isolated CLI and bundled runtime startup checks. The installed native executable passed 100 sequential and 80 concurrent scripted-provider tasks, five cancellations and persistence after graceful shutdown. A separate isolated-profile launch produced the expected 2.3.3 first-window marker and a visible native window. Screen capture was not authorized, so the physical iMac check does not establish visual content, editing or keyboard interaction; real model inference and inference-server memory were not tested. See the [installation](qa/platform-release-2.3.3/imac-installation.json), [window](qa/platform-release-2.3.3/imac-native-window.json) and [endurance](qa/platform-release-2.3.3/imac-endurance.json) receipts.

Earlier candidate evidence below is version-specific.

## 2.3.2 candidate — November 1, 2026

Expand Down
13 changes: 6 additions & 7 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# ShadowCode 2.3.3 — candidate
# ShadowCode 2.3.3

This candidate includes the desktop fixes described below and extends the existing Linux release signing key trust interval through 2.3.3. The 2.3.2 tag was not published: its trusted key interval ended at 2.3.1. Final artifacts and physical-device qualification remain pending.
Linux x64 and ARM64 packages are published and authenticated with the existing release signing key. Windows, macOS and Flatpak packages are also published. Version 2.3.2 was not published because its signing policy did not authorize that version; its tag remains unchanged. Version 2.3.3 extends the existing key's trust interval and adds a release preflight for policy mismatches.

# ShadowCode 2.3.2 — candidate
This release fixes an Omarchy AppImage desktop-startup failure, a model-picker focus race, unsolicited interactive Grok login during provider discovery, and Mac keyboard hints. On the Omarchy laptop, the authenticated public 2.3.3 AppImage passed installation, first-window and 12 focused Wayland interface checks. Its installed engine separately passed 100 sequential and 80 concurrent scripted-provider tasks, five cancellations and persistence after restart. These checks do not establish real-model inference, GPU endurance or cloud-provider compatibility. See the [physical-machine qualification](https://github.com/ShadowfetchStudio/ShadowCode/blob/main/docs/PLATFORM_QUALIFICATION.md) for details and limitations. On the Windows 11 laptop, the public 2.3.3 installer passed installation, native editor and settings checks, and scripted-provider engine endurance; a real Gemma 4 E4B CPU coding task also passed with the original five tests preserved and independently rechecked. This is one task, not broad model-quality qualification. On the Intel iMac, the public package passed installation, native-window startup and scripted-provider engine endurance. Screen capture was unavailable, so physical iMac visual editing and keyboard interaction were not verified; real-model inference was not tested there.

This source candidate addresses an AppImage desktop-startup failure reproduced on
Omarchy, a model-picker focus race, unsolicited interactive ACP login during vendor discovery, and misleading Mac keyboard hints. It is not
yet a qualified public release. Final package hashes, physical-machine results,
and publication receipts will be recorded after the release builds.
# ShadowCode 2.3.2 — unpublished candidate

The 2.3.2 candidate supplied the fixes above; its evidence remains historical and does not qualify the 2.3.3 packages.

The new platform endurance probe exercises the installed native engine against
a loopback scripted provider. It measures 100 sequential tasks, 80 concurrent
Expand Down
58 changes: 58 additions & 0 deletions docs/qa/platform-release-2.3.3/imac-endurance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"passed": true,
"platform": "darwin",
"osRelease": "24.6.0",
"version": "ShadowCode 2.3.3",
"binarySha256": "a112fb5bafed2d00c30e596760863f6a6d86be64e8aa9ae8ee0c356c58bb9786",
"sequentialCompleted": 100,
"concurrentCompleted": 80,
"cancelled": 5,
"requests": 367,
"measurements": [
{
"round": "warmup",
"rssKiB": 17636,
"threads": 6,
"resources": 15,
"resourceKind": "file descriptors"
},
{
"round": "sequential-25",
"rssKiB": 21336,
"threads": 6,
"resources": 15,
"resourceKind": "file descriptors"
},
{
"round": "sequential-50",
"rssKiB": 21848,
"threads": 7,
"resources": 15,
"resourceKind": "file descriptors"
},
{
"round": "sequential-75",
"rssKiB": 22080,
"threads": 7,
"resources": 15,
"resourceKind": "file descriptors"
},
{
"round": "sequential-100",
"rssKiB": 22112,
"threads": 7,
"resources": 15,
"resourceKind": "file descriptors"
},
{
"round": "completed",
"rssKiB": 25308,
"threads": 11,
"resources": 15,
"resourceKind": "file descriptors"
}
],
"persistenceAfterStop": true,
"shutdown": "SIGTERM graceful shutdown",
"scope": "Installed native engine with loopback scripted provider. Not desktop UI, paid providers, real model inference or inference-server memory."
}
11 changes: 11 additions & 0 deletions docs/qa/platform-release-2.3.3/imac-installation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "2.3.3",
"release_commit": "fd13dc10dbdcc6aac63cdfb292f9ec4d47838347",
"image_sha256": "f6c886915951d77c1d9d6e50add2d4d0647347bb66563fc6c946fef81da3e39e",
"installed_exe_sha256": "a112fb5bafed2d00c30e596760863f6a6d86be64e8aa9ae8ee0c356c58bb9786",
"installer_script_sha256": "6476e48141a2141cdb3b8d7ec7d10cfbaef27c959da7b2d48004b6c965679689",
"public_asset_url": "https://github.com/ShadowfetchStudio/ShadowCode/releases/download/v2.3.3/ShadowCode_2.3.3_x64.dmg",
"installed_at": "2026-11-02T08:42:28.829Z",
"installed_runtime": "passed",
"scope": "Public Intel DMG, official checksum-verifying installer, native version, isolated CLI status and bundled llama-server startup. UI, inference and endurance use separate receipts."
}
9 changes: 9 additions & 0 deletions docs/qa/platform-release-2.3.3/imac-native-window.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"passed": true,
"pid": 33544,
"version_marker": "ShadowCode 2.3.3",
"native_binary_sha256": "a112fb5bafed2d00c30e596760863f6a6d86be64e8aa9ae8ee0c356c58bb9786",
"visible_window": true,
"screen_capture_authorized": false,
"scope": "Native window and ready marker on physical Intel iMac; no visual content or keyboard interaction asserted."
}
58 changes: 58 additions & 0 deletions docs/qa/platform-release-2.3.3/omarchy-endurance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"passed": true,
"platform": "linux",
"osRelease": "7.2.8-9-omarchy",
"version": "ShadowCode 2.3.3",
"binarySha256": "6b47514c3028cc4e3e98d7bd2fa46f73a437d5883dd8551278d3b0e4da3d04f7",
"sequentialCompleted": 100,
"concurrentCompleted": 80,
"cancelled": 5,
"requests": 367,
"measurements": [
{
"round": "warmup",
"rssKiB": 65692,
"threads": 6,
"resources": 18,
"resourceKind": "file descriptors"
},
{
"round": "sequential-25",
"rssKiB": 70704,
"threads": 6,
"resources": 18,
"resourceKind": "file descriptors"
},
{
"round": "sequential-50",
"rssKiB": 71412,
"threads": 6,
"resources": 18,
"resourceKind": "file descriptors"
},
{
"round": "sequential-75",
"rssKiB": 71468,
"threads": 6,
"resources": 18,
"resourceKind": "file descriptors"
},
{
"round": "sequential-100",
"rssKiB": 71544,
"threads": 6,
"resources": 18,
"resourceKind": "file descriptors"
},
{
"round": "completed",
"rssKiB": 73736,
"threads": 10,
"resources": 18,
"resourceKind": "file descriptors"
}
],
"persistenceAfterStop": true,
"shutdown": "SIGTERM graceful shutdown",
"scope": "Installed native engine with loopback scripted provider. Not desktop UI, paid providers, real model inference or inference-server memory."
}
12 changes: 12 additions & 0 deletions docs/qa/platform-release-2.3.3/omarchy-installation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": "2.3.3",
"release_commit": "fd13dc10dbdcc6aac63cdfb292f9ec4d47838347",
"appimage_sha256": "4d7b49048718bc7a25407362958ea63b7d5d69a66f23afc8a287274be3245747",
"installed_exe_sha256": "6b47514c3028cc4e3e98d7bd2fa46f73a437d5883dd8551278d3b0e4da3d04f7",
"installer_script_sha256": "b2e956e3e7efb6a66a8a58e38e35cd91b1cd0e5062b503fdf2c8253b191f9b47",
"public_asset_url": "https://github.com/ShadowfetchStudio/ShadowCode/releases/download/v2.3.3/ShadowCode_2.3.3_amd64.AppImage",
"installed_at": "2026-11-02T07:51:18.887Z",
"installed_runtime": "passed",
"first_window": "required by official installer",
"scope": "Public publisher-authenticated AppImage, official installer runtime checks, required first native window and installed byte identity. Native interaction, inference and endurance use separate receipts."
}
Loading
Loading