Repository navigation
Releases: trainingsites/campus-ai-os
Releases · trainingsites/campus-ai-os
Release list
Campus AI OS 5.2.11
Fixes the last instructions that told non-clock primary seats to write to the shared ledger (Codex 5.2.10 blocker). 251 fixtures pass; packaged artifact audited. SHA-256 (.plugin/.zip): ef4ee25c9d458cb099a187b0c6f8803fe3c14e40807716a553026e23baf9862f. See CHANGELOG.md.
Campus AI OS v5.2.9
[5.2.9] - 2026-09-14
First release prepared for public GitHub distribution (trainingsites/campus-ai-os). Scope is the co-primary seat model only; SEC-04/05/06 ride a dedicated security train at 5.3.0 or later by owner decision (2026-09-13).
Fixed
tests/test_phase0_coprimary.pydoctor fixtures issued their host binding against the frozen fixture clock while the doctor reads wall-clock time, so the suite began failing on its own three days after 5.2.8. The two doctor fixtures now issue the binding relative to real time; resolver fixtures keep the frozen clock.
Changed
- Co-primary seats. A campus may now designate more than one client
primaryinseat.json, so an owner can work from any installed client and finish the job there — closing tasks, writing memory and wiki — instead of filing a proposal for another seat to merge. Single-primary campuses are unaffected: aseat.jsonwith one primary and noclock_ownerresolves exactly as before. clock_ownernames the single scheduling seat. One campus, one clock is preserved by configuration rather than by role:clock_owneris the one client that runs recurring jobs, holds the host binding, and writes the shared ledgerdean/.activity.jsonl. Every other primary appends to its own shard. The resolver returnsowns_clockso a client can tell the difference. A co-primaryseat.jsonwithout a validclock_owneris refused and the caller stays satellite.- Doctor is co-primary aware. Check 11a treats a stamp from any configured primary seat as expected instead of unresolved attribution, while an unrecognised seat is still reported. Check 11d validates the host binding against the clock owner; previously a co-primary config made it advise deleting a valid binding.
Security
- Unchanged boundary, re-proven by fixture: an unknown machine fingerprint, an unassigned client, a sandbox with no binding, an expired binding, and a binding issued for a client that is not the clock owner all still resolve satellite. Co-primary widens who may write on one recognised installation; it does not widen what counts as recognised.
Added
tests/test_phase0_coprimary.py— 17 fixtures covering co-primary resolution, clock ownership, ledger routing, the unchanged satellite boundary, config integrity, legacy single-primary behaviour, and the two doctor checks. Suite is 226 tests.
Verify: the SHA-256 of both artifacts is in campus-ai-os-v5.2.9.PACKAGE.json (they are byte-identical).