Prepares Signage 0.1.5 from current main (c04506b): the Stage 0 production-readiness fixes (#18), the issue-reporting rule (#20), and the CI harness pinned to the released Core v0.2.5 (#21).
Version changes
Signage 0.1.4 → 0.1.5 in the same 8 files and 11 places as the 0.1.4 release (#17): package.json, ekklesia.module.json, src/server/runtime.ts (runtime version and the settings response's moduleVersion), src/display/index.tsx, src/ui/index.tsx, the README status line, tests/manifest.test.ts, and tests/browser/support/fake-host.ts. No other 0.1.4 remains.
Platform and dependencies, deliberately unchanged
CI/release harness: already pinned to Core refs/tags/v0.2.5 @ 437720f (#21).
Compatibility range:platform ^0.2.0, moduleSdk ^0.2.0. Nothing in the contract requires a change.
@ekklesia/* build dependencies: stay at 0.2.3 (lockfile unchanged). The only package source change from 0.2.3 to 0.2.5 is a new helper, isModuleStorageError, for the cross-package instanceof ModuleStorageError problem. Signage already identifies storage errors by shape (src/server/images/service.ts:24-31), so it has no use for it. The integration below proves a package built with module-pack 0.2.3 installs and runs on Core 0.2.5.
bash ci/fetch-platform.sh + bash ci/integration.sh build/release-assets against Core v0.2.5
pass: 163 ok, 0 failed. Package verified by the platform; all seven display scenarios (two-pages, session-blip, stream-failure, stream-recycle, connectivity-blip, caching-probe, revoke); API process restart and container recreation; disable/re-enable; remove/reinstall; doctor READY
The package hash above is from a local build. The release workflow builds and verifies its own.
No tag is created. The release (v0.1.5) is made manually after merge.
Prepares Signage **0.1.5** from current `main` (`c04506b`): the Stage 0 production-readiness fixes (#18), the issue-reporting rule (#20), and the CI harness pinned to the released Core v0.2.5 (#21).
## Version changes
Signage `0.1.4` → `0.1.5` in the same 8 files and 11 places as the 0.1.4 release (#17): `package.json`, `ekklesia.module.json`, `src/server/runtime.ts` (runtime version and the settings response's `moduleVersion`), `src/display/index.tsx`, `src/ui/index.tsx`, the README status line, `tests/manifest.test.ts`, and `tests/browser/support/fake-host.ts`. No other `0.1.4` remains.
## Platform and dependencies, deliberately unchanged
- **CI/release harness:** already pinned to Core **`refs/tags/v0.2.5` @ `437720f`** (#21).
- **Compatibility range:** `platform ^0.2.0`, `moduleSdk ^0.2.0`. Nothing in the contract requires a change.
- **`@ekklesia/*` build dependencies:** stay at `0.2.3` (lockfile unchanged). The only package source change from 0.2.3 to 0.2.5 is a new helper, `isModuleStorageError`, for the cross-package `instanceof ModuleStorageError` problem. Signage already identifies storage errors by shape (`src/server/images/service.ts:24-31`), so it has no use for it. The integration below proves a package built with `module-pack` 0.2.3 installs and runs on Core 0.2.5.
## Checks (local, at `49fdd44`)
| Check | Result |
|---|---|
| `pnpm install --frozen-lockfile` | pass |
| `pnpm lint`, `pnpm typecheck` | pass |
| `pnpm test` | pass, 289 tests |
| `pnpm build` | pass |
| `pnpm validate` | pass, `[email protected]`, 20 checks |
| `bash ci/check-cleanup.sh` | pass |
| `python3 -m unittest ci/test_release_assets.py` | pass, 5 tests |
| `bash ci/package.sh build/release-assets` | `signage-0.1.5-linux-x64-glibc.tar.gz`, 133 files, sha256 `fc5c45e3c07e07a282f7851bf952e38d6c3fffde886c61f255bb3c3e66f966ec` |
| `python3 ci/release-assets.py verify-package build/release-assets v0.1.5 49fdd44…` | pass |
| `bash ci/fetch-platform.sh` + `bash ci/integration.sh build/release-assets` against **Core v0.2.5** | pass: 163 ok, 0 failed. Package verified by the platform; all seven display scenarios (two-pages, session-blip, stream-failure, stream-recycle, connectivity-blip, caching-probe, revoke); API process restart and container recreation; disable/re-enable; remove/reinstall; doctor READY |
The package hash above is from a local build. The release workflow builds and verifies its own.
No tag is created. The release (`v0.1.5`) is made manually after merge.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Prepares Signage 0.1.5 from current
main(c04506b): the Stage 0 production-readiness fixes (#18), the issue-reporting rule (#20), and the CI harness pinned to the released Core v0.2.5 (#21).Version changes
Signage
0.1.4→0.1.5in the same 8 files and 11 places as the 0.1.4 release (#17):package.json,ekklesia.module.json,src/server/runtime.ts(runtime version and the settings response'smoduleVersion),src/display/index.tsx,src/ui/index.tsx, the README status line,tests/manifest.test.ts, andtests/browser/support/fake-host.ts. No other0.1.4remains.Platform and dependencies, deliberately unchanged
refs/tags/v0.2.5@437720f(#21).platform ^0.2.0,moduleSdk ^0.2.0. Nothing in the contract requires a change.@ekklesia/*build dependencies: stay at0.2.3(lockfile unchanged). The only package source change from 0.2.3 to 0.2.5 is a new helper,isModuleStorageError, for the cross-packageinstanceof ModuleStorageErrorproblem. Signage already identifies storage errors by shape (src/server/images/service.ts:24-31), so it has no use for it. The integration below proves a package built withmodule-pack0.2.3 installs and runs on Core 0.2.5.Checks (local, at
49fdd44)pnpm install --frozen-lockfilepnpm lint,pnpm typecheckpnpm testpnpm buildpnpm validate[email protected], 20 checksbash ci/check-cleanup.shpython3 -m unittest ci/test_release_assets.pybash ci/package.sh build/release-assetssignage-0.1.5-linux-x64-glibc.tar.gz, 133 files, sha256fc5c45e3c07e07a282f7851bf952e38d6c3fffde886c61f255bb3c3e66f966ecpython3 ci/release-assets.py verify-package build/release-assets v0.1.5 49fdd44…bash ci/fetch-platform.sh+bash ci/integration.sh build/release-assetsagainst Core v0.2.5The package hash above is from a local build. The release workflow builds and verifies its own.
No tag is created. The release (
v0.1.5) is made manually after merge.🤖 Generated with Claude Code