Skip to content

Commit e15c448

Browse files
Prepare 0.33.1 with immutable runtime build inputs
1 parent 9e385cb commit e15c448

27 files changed

Lines changed: 220 additions & 53 deletions

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
- name: Verify publisher authentication and private release snapshots
4444
run: node --test scripts/test-native-release-auth.mjs
4545
- name: Managed llama.cpp packaging (pins, notices, relative links, deb repack)
46-
run: node --test scripts/test-llama-runtime.mjs
46+
run: node --test scripts/test-llama-runtime.mjs scripts/test-llama-build-inputs.mjs
4747
- name: Packaging PATH ignores host node hijacks
4848
run: node --test scripts/test-native-packaging-env.mjs
4949
- name: Pinned-source failures and mirror recovery

‎.github/workflows/native.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Native window dependencies
2424
run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev librsvg2-dev libayatana-appindicator3-dev libasound2-dev patchelf webkit2gtk-driver xvfb appstream dbus-daemon dbus-bin
2525
- name: Test release staging and immutable retry behavior
26-
run: node --test scripts/test-native-release.mjs scripts/test-native-release-verification.mjs scripts/test-publisher-auth.mjs scripts/test-native-release-signing.mjs scripts/test-native-test-session.mjs scripts/test-clean-host-mcp-receipt.mjs scripts/test-clean-host-container.mjs scripts/test-native-app-run.mjs && node scripts/test-native-process-ownership.mjs
26+
run: node --test scripts/test-native-release.mjs scripts/test-native-release-verification.mjs scripts/test-publisher-auth.mjs scripts/test-native-release-signing.mjs scripts/test-native-test-session.mjs scripts/test-clean-host-mcp-receipt.mjs scripts/test-clean-host-container.mjs scripts/test-native-app-run.mjs scripts/test-llama-build-inputs.mjs && node scripts/test-native-process-ownership.mjs
2727
- name: Verify publisher authentication and private release snapshots
2828
run: node --test scripts/test-native-release-auth.mjs scripts/test-check-secrets.mjs
2929
- name: Package version

‎CHANGELOG.md‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
# Changelog
22

3-
## 0.33.0: Reliability and daily workflow (release preparation)
3+
## 0.33.1: Reliability and daily workflow (release preparation)
44

5+
- Runtime builds and notices refreshes preserve tracked source pins and reference metadata; actual build provenance stays in generated runtime output. Regression coverage reproduces the source-integrity failure that stopped the unpublished 0.33.0 attempt.
56
- Code highlighting, line numbers, undo/redo and recoverable editor drafts, with revision-checked saves and newline preservation.
67
- Bounded attached-context inventory with exclusions, truncation notices and approximate token counts.
78
- **Run a check…** from completed tasks: explicit commands, existing approvals, fresh output and verification receipts, no model selection or extra model turn, and preserved composer drafts.
89
- Independent provider sign-in recovery after navigation; cancellation remains **Stopping…** until acknowledged. Cached account state survives uncertain progress reads, and refresh waits for ongoing sign-ins.
910
- Safer Compare snapshots and recovery, unsaved-draft guards, and coordination of short workspace writes across cooperating ShadowCode processes.
1011
- Shared native event listeners prevent per-task listener growth. A real source-built X11 endurance run passed 100 tasks after bounded warm-up; this is not GPU or physical Wayland endurance evidence.
1112
- AppImage launch preserves an explicitly selected display backend; package normalization accepts only the exact expected linuxdeploy version field.
12-
- Authenticated installer recovery and staged release verification are strengthened. Signed publication, remote CI and final 0.33.0 artifact qualification are separate release steps, not implied by this changelog.
13+
- Authenticated installer recovery and staged release verification are strengthened. Signed publication, remote CI and final 0.33.1 artifact qualification are separate release steps, not implied by this changelog.
1314

1415
See [release notes](docs/RELEASE_NOTES.md) for scope and remaining qualification.
1516

17+
## 0.33.0: Failed release attempt (unpublished)
18+
19+
[Release run 36414378697](https://github.com/Shadowfetchapps/ShadowCode/actions/runs/36414378697) at `9e385cb` failed the managed-runtime source-integrity gate after the runtime built and its six tests passed. The builder rewrote tracked runtime pin/COMMIT timestamps. Signing and publication were skipped. The existing `v0.33.0` tag remains unchanged; the next candidate is 0.33.1. Earlier local 0.33.0 package and latency results remain evidence for those exact bytes only.
20+
1621
## 0.32.0: The big upgrade
1722

1823
Everyday use:

‎Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exclude = ["vendor/glib-0.18.5"]
55
resolver = "2"
66

77
[workspace.package]
8-
version = "0.33.0"
8+
version = "0.33.1"
99
edition = "2021"
1010
rust-version = "1.95"
1111
license = "Apache-2.0"

‎README.md‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,28 +42,28 @@ need Ollama, LM Studio or any other model server.
4242
own terminal, go from commit to pull request, preview the app you're
4343
building, dictate with your voice, and follow along from your phone.
4444

45-
This branch prepares **0.33.0**. See the [0.33.0 release notes](docs/RELEASE_NOTES.md)
45+
This branch prepares **0.33.1**. See the [0.33.1 release notes](docs/RELEASE_NOTES.md)
4646
and [release history](CHANGELOG.md). Publication, signing and final candidate
4747
qualification must be verified separately; these notes do not announce a release.
4848

4949
## Install
5050

5151
Releases target x86_64 Linux with glibc 2.39 or newer (Ubuntu 24.04 or later).
5252
Check [GitHub releases](https://github.com/Shadowfetchapps/ShadowCode/releases)
53-
for published versions. The expected 0.33.0 package names are:
53+
for published versions. The expected 0.33.1 package names are:
5454

55-
- `ShadowCode_0.33.0_amd64.AppImage`
56-
- `ShadowCode_0.33.0_amd64.deb`
55+
- `ShadowCode_0.33.1_amd64.AppImage`
56+
- `ShadowCode_0.33.1_amd64.deb`
5757
- `SHA256SUMS`
5858

5959
### AppImage (recommended)
6060

6161
The development branch now requires signed release packages. Published 0.32.0
6262
assets are checksum-only and cannot be installed by this new entry point; use
6363
the instructions shipped with that released version for those existing assets.
64-
Public trust for 0.33.0 and the signing environment are configured. The exact reviewed
65-
tooling commit is recorded in GitHub configuration; the first signed release
66-
remains pending.
64+
The 0.33.0 release attempt failed before signing and publication. Its tag stays
65+
unchanged. Trust policy, deployment rules and the reviewed tooling pin require
66+
updates for 0.33.1; the first signed release remains pending.
6767
For development today, use [Build from source](#build-from-source).
6868

6969
Once a signed release and independently authenticated installer bundle are
@@ -77,7 +77,7 @@ bundle and bootstrap requirements.
7777
From that independently authenticated installer bundle, run:
7878

7979
```bash
80-
bash /path/to/trusted-bundle/scripts/install-appimage.sh /path/to/downloads/ShadowCode_0.33.0_amd64.AppImage
80+
bash /path/to/trusted-bundle/scripts/install-appimage.sh /path/to/downloads/ShadowCode_0.33.1_amd64.AppImage
8181
```
8282

8383
The installer takes the AppImage path (or `--recover`), resolves its own trusted
@@ -111,22 +111,22 @@ as `--trust-dir` are not installer options.
111111
not yet qualified.
112112

113113
After obtaining and verifying the intended package, run the AppImage without installing it:
114-
`./ShadowCode_0.33.0_amd64.AppImage --appimage-extract-and-run`. FUSE is not
114+
`./ShadowCode_0.33.1_amd64.AppImage --appimage-extract-and-run`. FUSE is not
115115
required.
116116

117117
### Debian package
118118

119119
Verify the Debian artifact using the independently trusted verifier bundle.
120-
`verified-deb-0.33.0` must not already exist; install the verified snapshot:
120+
`verified-deb-0.33.1` must not already exist; install the verified snapshot:
121121

122122
```bash
123123
bash /path/to/trusted-bundle/scripts/verify-native-release.sh \
124124
--bundle-dir /path/to/downloads \
125125
--trust-dir /path/to/trusted-bundle/release/trust \
126-
--artifact ShadowCode_0.33.0_amd64.deb \
127-
--stage-dir ./verified-deb-0.33.0 \
128-
--expect-version 0.33.0
129-
sudo apt install ./verified-deb-0.33.0/ShadowCode_0.33.0_amd64.deb
126+
--artifact ShadowCode_0.33.1_amd64.deb \
127+
--stage-dir ./verified-deb-0.33.1 \
128+
--expect-version 0.33.1
129+
sudo apt install ./verified-deb-0.33.1/ShadowCode_0.33.1_amd64.deb
130130
```
131131

132132
This manual Debian verification does not provide the AppImage installer's durable

‎docs/COMPARE.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ working tree, and every lane worktree and its branch is removed.
77

88
## Starting state
99

10-
In 0.33.0, Compare refuses to start while app-owned editor drafts differ from
10+
In 0.33.1, Compare refuses to start while app-owned editor drafts differ from
1111
their saved base. Save or discard the listed drafts first. The native snapshot
1212
also checks persisted recovery drafts and coordinates with short workspace
1313
writes from cooperating ShadowCode processes. Other editors' unsaved buffers

‎docs/FLAGSHIP_IMPLEMENTATION.md‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,3 +822,20 @@ Native run `36399332104` at documentation head `f14287b` failed 1 of 138 release
822822
Discovery now rechecks basic identity after EACCES/EPERM and disregards only a missing process or the same PID/start/UID in terminal Z/X state. Live unreadable candidates, changed identities, failed rechecks and other IO errors remain fatal before any signal. The new read uses the existing fixed-deadline client; no retry loop, deadline extension or ownership relaxation was added. Seventeen deterministic cases produced six expected failures before the fix and all 17 passed afterward. The complete required release/session fixture set then passed all 155 tests with no skips, including the real D-Bus activation and external wrapper boundary; both separate executable-ownership tests passed. Independent diff review found no actionable issue. Evidence is in `artifacts/release-0.33.0/proc-race/`.
823823

824824
The already-built 0.33.0 AppImage additionally passes native TUI, MCP stdio/HTTP and all four official TypeScript v1/v2 transport combinations. This helper/test correction does not change those package bytes; their original build identity remains `7a38fcc`. A new current-head CI receipt is required. The earlier proposed release tag at `f14287b` must be superseded by the corrected source before release; no tag has been created.
825+
826+
827+
## Controlled long-stream keyboard latency on the local 0.33.0 package
828+
829+
On 2026-09-28, the exact ShadowCode 0.33.0 AppImage SHA-256 cab6f61c5c4667c67dd8c9cd04969d6f349d42bce1ca198878e6f9be08429c62 passed a controlled native WebKit/Xvfb long-stream keyboard probe on an AMD Ryzen 7 5700G host with approximately 64 GiB RAM. A retained 88,810-byte Markdown/code answer preceded a 90.25-second, 1,200-chunk, 120,330-byte SSE answer from an isolated authenticated llama-server test double. During 70 seconds of the active stream, all 329 trusted WebDriver keyboard events produced input and preserved the draft. Event-timestamp-to-second-animation-frame p95 was 42 ms (max 52 ms), compared with 24 ms baseline across 40 keys; the prior independent run measured 44 ms p95 across 328 keys. WebKit Event Timing separately reported 88 keydowns meeting its 16 ms observation threshold: reported-event p95 was 24 ms, maximum 32 ms. The full-population figure uses two animation frames as a next-paint-opportunity proxy; the Event Timing distribution covers only browser-reported events, so these are not identical metrics. This supports the 100 ms target for this controlled workload; it does not prove physical keyboard-to-display latency, final 20 seconds of the stream, GPU/Wayland behavior, other hardware, or full UI acceptance. App, owned children, private D-Bus activations, and external X11 cleanup all passed. Both complete raw receipts and the failed undersized-context attempt remain under `artifacts/release-0.33.0/stream-latency/`. The probe changed no tracked source, tests or tags. This ledger entry subsequently records its result; it does not qualify a 0.33.1 package.
830+
831+
## Failed v0.33.0 release and next 0.33.1 candidate
832+
833+
[Release run 36414378697](https://github.com/Shadowfetchapps/ShadowCode/actions/runs/36414378697) at `9e385cb` / `v0.33.0` failed the managed-runtime source-integrity check. The runtime built and six runtime tests passed, but the builder rewrote tracked timestamps in `tools/llama.cpp.pin` and `packaging/llama.cpp/COMMIT`. Signing and publication were skipped. This is a failed, unpublished release attempt; the existing tag remains unchanged.
834+
835+
Version 0.33.1 is the next candidate. Authoritative manifests, lockfiles and current documentation are being updated independently of historical 0.33.0 package/evidence identities. The source-integrity fix and regression are tracked separately. The existing public trust range and protected deployment rule authorize only 0.33.0; reviewed changes plus a new exact tooling pin are required before signing 0.33.1. No new candidate build, signature, publication or local installation is claimed here.
836+
837+
## 0.33.1 runtime build correction
838+
839+
The ordinary and notices-only builder paths now leave tracked source pins and reference metadata unchanged. Actual compile time/backend remain in ignored generated `bin/COMMIT`; notices-only retains the existing compile time. Three isolated real-shell regressions reproduce the previous behavior (two failures before the fix) and pass after it. The tests run early in packaging CI, native CI and the release receipt gate. The source-integrity guard is unchanged. Public trust is prepared for the same key through 0.33.1, with repository identity, epoch and installation floor preserved; remote deployment-rule/tooling updates and the new tag still require review.
840+
841+
Focused local validation passed 164 release/runtime/session tests, 107 authentication/installer/metadata/scanner tests and two executable-ownership tests, with no skips. A fresh real Vulkan/CPU runtime build is separate pending evidence; these fixture passes do not claim a completed 0.33.1 package, signed publication or installation.

‎docs/IMPLEMENTATION_REPORT.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ShadowCode 0.28 implementation report
22

3-
Historical report with later addenda. For current 0.33.0 preparation, see
3+
Historical report with later addenda. For current 0.33.1 preparation, see
44
[release notes](RELEASE_NOTES.md) and the [evidence ledger](FLAGSHIP_IMPLEMENTATION.md).
55
Versioned counts and provider observations below describe their original snapshots.
66

‎docs/RELEASE_AUTHENTICATION.md‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ The helpers in `scripts/native-release-auth.mjs` and `scripts/verify-native-rele
44

55
The Bash verifier loads `scripts/native-release-auth-lib.sh` from its own script directory. Keep both reviewed code files together in the trusted tooling bundle; do not obtain the library from the candidate download or source metadata as shell code. The installer uses the same reviewed routines for current candidates and signed historical receipts; it never sources release metadata as code.
66

7+
## Next candidate: 0.33.1
8+
9+
The `v0.33.0` release attempt at `9e385cb` failed its source-integrity gate
10+
before signing/publication ([run 36414378697](https://github.com/Shadowfetchapps/ShadowCode/actions/runs/36414378697)).
11+
Its tag remains unchanged. Current policy/rules below describe the existing
12+
0.33.0 setup: reviewed trust-range and deployment-rule updates plus a new exact
13+
tooling pin are required before 0.33.1 can be signed. The 0.33.1 verification
14+
example below is conditional on those updates and a successfully signed bundle.
15+
No new signature, publication or installation is established by this document.
16+
717
## Trust and security contract
818

919
The authorized canonical publisher is `Shadowfetchapps/ShadowCode`, repository ID `1377099349`, owner ID `209457103`. A read-only GitHub API query resolved the historical `ShadowfetchLinux/ShadowCode` origin to that identity. Only stable `MAJOR.MINOR.PATCH`, `x86_64-unknown-linux-gnu` releases are supported by this slice.
@@ -90,9 +100,9 @@ The end-user path is Bash plus OpenSSL 3 and ordinary GNU coreutils/diffutils; i
90100
bash verify-native-release.sh \
91101
--bundle-dir DOWNLOADED_FILES \
92102
--trust-dir INDEPENDENTLY_TRUSTED_KEYS \
93-
--artifact ShadowCode_0.33.0_amd64.AppImage \
103+
--artifact ShadowCode_0.33.1_amd64.AppImage \
94104
--stage-dir NEW_PRIVATE_STAGE \
95-
--expect-version 0.33.0 \
105+
--expect-version 0.33.1 \
96106
--expect-commit EXPECTED_COMMIT
97107
```
98108

0 commit comments

Comments
 (0)