An overview of where Classroom_Desktop stands after a review on 2026-10-14, to plan the next round of work from. The individual problems each have their own issue with the evidence; this one ties them together.
What's healthy
The code's own checks pass.tools/check.sh runs all 31 checks green on master (719c0f7), both locally and in CI (run #4's checks job).
The update server works.updates.riverofglorymn.org: stable serves 0.2.6.4; canary serves 0.2.6.6 (2b972391…), which matches docs/testing.md.
0.2.6.6 is waiting on people, not code. Its physical checks (docs/testing.md → Before 0.2.6.6 goes to stable: reboot-after-update behaviour, the late-switched-on television) have been pending since 2026-09-29.
The product backlog is already written down with evidence in docs/backlog.md (Wonder Ink, Presentations, launcher, settings lockdown). It isn't duplicated as issues.
CI's container gate fails its upgrade-from-stable test: the previous release is downloaded to the job container's /tmp, which the gate's container can't see. The fresh install passes (confirmed on PR #7's CI). No CI run has ever passed the whole gate on Gitea.
Release docs point at the retired Gitea (502); no README.
Following the docs
Suggested order
#2: one line on release/0.2; protects the release line now.
#3: a .gitattributes line; unblocks the next release commit.
#1: download the previous release into the shared workspace, or better, copy files into the gate's container (docker create + docker cp) so it runs on any runner. After that, CI can be green end to end and the gate can become a required check.
#5 then #4: correct the docs for the Zayin instance, then work through its admin checklist (runner for releases, secrets and variables, branch protection) and import 0.2.6.6's record.
Do 0.2.6.6's physical checks and promote it through Release 3 - Stable: the first end-to-end use of the publish path on the new instance.
Then product work from docs/backlog.md toward 0.3.0.
Bigger question, not decided here
ROADMAP.md (in the development workspace, not this repository) plans Classroom as a future first-party Ekklesia module, says its scope is intentionally not locked, and asks for a dedicated scope issue recording Classroom's current responsibilities and dependencies before it gets a roadmap stage. This repository is today's standalone desktop. How it relates to that future module (kept as the appliance, absorbed, or replaced) is the decision that should shape any 0.3.0+ work beyond the backlog.
Not reviewed
The tools/lab/ GUI checks (they need the nested Plasma session on the development VM), real hardware, and the runner host itself. This was a review of the repository, its CI, and its release state, not of every feature.
Found by Claude during a review of Classroom_Desktop, 2026-10-14 (found-by-claude).
An overview of where Classroom_Desktop stands after a review on 2026-10-14, to plan the next round of work from. The individual problems each have their own issue with the evidence; this one ties them together.
## What's healthy
- **The code's own checks pass.** `tools/check.sh` runs all 31 checks green on `master` (`719c0f7`), both locally and in CI ([run #4](https://git.zayin.net/Zayin/Classroom_Desktop/actions/runs/96)'s `checks` job).
- **The update server works.** `updates.riverofglorymn.org`: stable serves **0.2.6.4**; canary serves **0.2.6.6** (`2b972391…`), which matches `docs/testing.md`.
- **0.2.6.6 is waiting on people, not code.** Its physical checks (`docs/testing.md` → *Before 0.2.6.6 goes to stable*: reboot-after-update behaviour, the late-switched-on television) have been pending since 2026-09-29.
- **The product backlog is already written down** with evidence in `docs/backlog.md` (Wonder Ink, Presentations, launcher, settings lockdown). It isn't duplicated as issues.
## What's broken or missing
| # | Problem | Blocks |
|---|---|---|
| #1 | CI's container gate fails its upgrade-from-stable test: the previous release is downloaded to the job container's `/tmp`, which the gate's container can't see. The fresh install passes (confirmed on PR #7's CI). No CI run has ever passed the whole gate on Gitea. | CI going green; requiring the gate on `master` |
| #2 | `release/0.2` lacks the `test-release-ci` fix, so a 0.2.6.7 release build would fail its own checks. | Any maintenance release |
| #3 | The hygiene check reads the manual PDF as text, so the next release whose manual changes fails CI. | The next real release commit |
| #4 | The release pipeline isn't set up on the Zayin Gitea: no release records, admin checklist open. | Promoting 0.2.6.6 through the workflows |
| #5 | Release docs point at the retired Gitea (502); no README. | Following the docs |
## Suggested order
1. **#2**: one line on `release/0.2`; protects the release line now.
2. **#3**: a `.gitattributes` line; unblocks the next release commit.
3. **#1**: download the previous release into the shared workspace, or better, copy files into the gate's container (`docker create` + `docker cp`) so it runs on any runner. After that, CI can be green end to end and the gate can become a required check.
4. **#5** then **#4**: correct the docs for the Zayin instance, then work through its admin checklist (runner for releases, secrets and variables, branch protection) and import 0.2.6.6's record.
5. Do 0.2.6.6's physical checks and promote it through **Release 3 - Stable**: the first end-to-end use of the publish path on the new instance.
6. Then product work from `docs/backlog.md` toward 0.3.0.
## Bigger question, not decided here
`ROADMAP.md` (in the development workspace, not this repository) plans **Classroom as a future first-party Ekklesia module**, says its scope is intentionally not locked, and asks for a dedicated scope issue recording Classroom's current responsibilities and dependencies before it gets a roadmap stage. This repository is today's standalone desktop. How it relates to that future module (kept as the appliance, absorbed, or replaced) is the decision that should shape any 0.3.0+ work beyond the backlog.
## Not reviewed
The `tools/lab/` GUI checks (they need the nested Plasma session on the development VM), real hardware, and the runner host itself. This was a review of the repository, its CI, and its release state, not of every feature.
---
_Found by Claude during a review of Classroom_Desktop, 2026-10-14 (`found-by-claude`)._
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.
An overview of where Classroom_Desktop stands after a review on 2026-10-14, to plan the next round of work from. The individual problems each have their own issue with the evidence; this one ties them together.
What's healthy
tools/check.shruns all 31 checks green onmaster(719c0f7), both locally and in CI (run #4'schecksjob).updates.riverofglorymn.org: stable serves 0.2.6.4; canary serves 0.2.6.6 (2b972391…), which matchesdocs/testing.md.docs/testing.md→ Before 0.2.6.6 goes to stable: reboot-after-update behaviour, the late-switched-on television) have been pending since 2026-09-29.docs/backlog.md(Wonder Ink, Presentations, launcher, settings lockdown). It isn't duplicated as issues.What's broken or missing
/tmp, which the gate's container can't see. The fresh install passes (confirmed on PR #7's CI). No CI run has ever passed the whole gate on Gitea.masterrelease/0.2lacks thetest-release-cifix, so a 0.2.6.7 release build would fail its own checks.Suggested order
release/0.2; protects the release line now..gitattributesline; unblocks the next release commit.docker create+docker cp) so it runs on any runner. After that, CI can be green end to end and the gate can become a required check.docs/backlog.mdtoward 0.3.0.Bigger question, not decided here
ROADMAP.md(in the development workspace, not this repository) plans Classroom as a future first-party Ekklesia module, says its scope is intentionally not locked, and asks for a dedicated scope issue recording Classroom's current responsibilities and dependencies before it gets a roadmap stage. This repository is today's standalone desktop. How it relates to that future module (kept as the appliance, absorbed, or replaced) is the decision that should shape any 0.3.0+ work beyond the backlog.Not reviewed
The
tools/lab/GUI checks (they need the nested Plasma session on the development VM), real hardware, and the runner host itself. This was a review of the repository, its CI, and its release state, not of every feature.Found by Claude during a review of Classroom_Desktop, 2026-10-14 (
found-by-claude).