Repository navigation
v0.22.0
Project Observatory on Windows and Linux: a desktop app with a signed Windows installer, the tick, the server
and maintenance as per-user Task Scheduler tasks or systemd units, updates that work on Windows, and the backup
passphrase in the Credential Manager. The Mac app is universal again for Intel Macs. The companion plugin
observatory-log moves to 0.22.0.
Changed
- The vendored fabric-service kit is fabric-agent-adapter 0.8.2 (was 0.5.0): Windows and Linux support
(contract DEC-0032, DEC-0033) — the instance lock, the token-file ACL rule, Task Scheduler and systemd in
the descriptor — which the always-on server needs on Windows (W4b).serverd --uninstallrelies on the
kit's own wait for launchd to unload the job. The conformance probe's two new checks the server does not
declare yet are NOT_RUN (usage.report: OBS-53).
Added
- The Windows and Linux app (W8a,
desktop/, Tauri 2): opens on this workspace's dashboard — live when its
server answers, else the built pages under a banner with «Start server», else «Build the dashboard»; Settings
for the program, the workspace and the language; first-run messages that name the install orfull init
step; stays in the tray when its window closes. Built as an NSIS installer and an AppImage/.deb by
.github/workflows/desktop.yml; the release builds and Authenticode-signs it (W9). It updates itself from the
release'slatest.json, each package minisign-signed: «Restart to update» in the menu and the tray (W8c). The
assistant window (Ctrl+Shift+A) asks the workspace's assistant, with each answer's evidence and Stop (W8b). - Updates on Windows (W6):
full update --applystops and restarts the tick and server tasks (systemd units
on Linux) around the install, and replaces theproject-observatory.exeit may be running from — moved aside
first, put back if the install fails. - The server's always-on state off macOS (W4c): «Start server» in an app restarts the Task Scheduler task
or systemd unit of an installed server instead of callinglaunchctl;server.silentwatches that
installation too. - Windows paths and tools (W7): the default workspace is
%LOCALAPPDATA%\project-observatory-full(an
existing~\.local\shareone stays); tools npm installs as.cmd(heroku,claude) start by name; the
CLI and the scheduled jobs write UTF-8. README → Install has the PowerShell steps. - The backup passphrase in the Windows Credential Manager (W5): a generic credential per workspace, kept
for this account on this machine (CredWriteW/CredReadW, never roaming, the value never an argument);
a store that does not answer is not an empty one. The file fallback is owner-only on Windows too (a
protected ACL instead of mode bits). osschedule: background jobs under Windows Task Scheduler and systemd (W4a). One job description, a
per-user task created from XML (InteractiveToken, no stored password,pythonw.exethrough
tools/scheduled.py, so no console window opens) or a systemd user unit;tools/install_launchd.pyand
tools/serverd.py --installuse it off macOS, the server's fabric-service descriptor namingtask-scheduler
orsystemd(W4b).
Fixed
- The Mac app is universal.
macos/scripts/build-app.shbuildsarm64andx86_64and refuses an
executable missing either slice; up to 0.21.0 the release carried the runner's architecture only, so
the app did not open on an Intel Mac (PassionCode.ai platforms rule PL-01).
Verify
gpg --verify SHA256SUMS.asc SHA256SUMS # key 63B30DC324BD697487AA31944FAFB8AEC803B6A7
shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify <file> --owner passioncode-ai --signer-repo passioncode-ai/.githubThe organization's public key: https://github.com/passioncode-ai/.github/blob/main/release-signing/passioncode-release-signing.asc