You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
releases move to CI — the release script retires: every push to main runs release.yml, whose gate reads tauri.conf.json's version and ships only when that version has no GitHub release yet (the anti-spam: a literal release per push would light the in-app update icon after every commit — the ritual reduces to bump the version, push). A release run builds the signed macOS updater bundle (keychain key → repo secret TAURI_SIGNING_PRIVATE_KEY, same bytes release.sh read) and the Windows NSIS installer in parallel, generates latest.json, verifies manifest==version and signature==.sig (the script's python gates, verbatim), and publishes one v release at the pushed commit carrying all four assets — then re-runs the end gates: the channel check (releases/latest/download/latest.json polled until it serves the new version) and the install-path check (the site's versionless curl one-liner must serve the new release's bytes). The tag-race dies with it: windows.yml loses its v* tag branch and its release-wait step (release.yml builds its own installer — GITHUB_TOKEN tag pushes don't trigger workflows, so the old handoff couldn't survive CI), keeping only the rolling windows-dev prerelease; linux.yml untouched. scripts/release.sh + the npm run release entry deleted — one path, no plan B; notes are auto-generated commits since the last tag (the manual custom-prose pass has no CI equivalent)
demo mode teaches the capture grammar and grows a standing exit: the three capture inputs (tasks / notes / goals) rotate example lines while they sit empty — TokenField's demoExamples render a .token-ph layer under the mirror (prose in --text-faint, the raw sigils ##t/!1/$2/@/#tag in the dull accent rgba(accent,.5) — raw, never the display forms, the hint teaches what to TYPE), each line split over the surface's own scanTokens kinds so a token colors exactly when the surface would parse it, and gated per feature (SectionList on routes/priorities/projects/agent, Notes on entryRoutes/note axes, Goals on timeframes/projects) so a switched-off axis never teaches its token; the swap re-arms on a timeout chain at 6.5s ± 0.7s jitter per step (no metronome beat) and the keyed remount fades each new line in slowly (ph-in, 0.8s ease-out, 2px rise); real-db surfaces pass nothing — the resting capture stays bare there. Beside it the header carries Exit Demo in demo mode: the one labeled text pill, first in the right cluster left of the icon buttons, because it IS the first-run tour's on-ramp — same demoApi.exit the palette fires, the demo.enter/exit trace riding the existing transition effect
the README header and the repo About speak for every platform the app ships on — tagline and badges read macOS · Windows · Linux (Windows badge lands on the latest release's setup.exe, Linux on the rolling linux-dev AppImage; Android keeps its companion badge), the links line carries the three download doors, and the GitHub description + windows/linux topics drop the macOS-only claim