Repository navigation
Compass 1.0.0
Run as many coding agents as you like. Compass tells you which ones need you, which ones are fine, and when it is safe to walk away. One local screen, every harness you use, and nothing leaves your machine that you cannot switch off.
This is the first release under the Compass name (it was Cargento through 0.28.0) and the first we call stable.
What you can do now
Check a session against your goal
The session page is cut down to your goal, Analyze drift and the result (#590). A how-to popup explains the steps and the reading's limits (#588), a finding links to the entries behind it (#591), and the Intent panel has more room (#595). The first screen leads with the first step, and the Projects labels say what they mean (#589).
Use it on long sessions
The activity list keeps a long session's prompts, pages older entries on demand and shows the session's age (#601). Analyze reads a long session's messages back to the start of its window (#605) and keeps the closing message of each earlier turn (#607). Use as goal, Add and Keep work on a long session and say so when they cannot (#603).
Run it without installing Python
Each release now attaches standalone builds for macOS and Linux on arm64 and amd64, with a checksums.txt (#597). The build carries its own Python. Unpack the archive for your machine and run it:
tar -xzf compass_1.0.0_<os>_<arch>.tar.gz
./compass/compass --port 4553 --daemonIt takes the same options as server.py, and the README has the checksum step.
Upgrading
From Cargento, move your data once before you upgrade. 1.0.0 no longer reads ~/.cargento, the CARGENTO_ variables, cargento- state files or cargento. browser settings, and nothing migrates them (#609). If you do not have a ~/.compass yet:
mv ~/.cargento ~/.compass
cd ~/.compass && for f in cargento-*; do mv "$f" "compass-${f#cargento-}"; doneBrowser settings are not moved and will reset. Install the plugin as compass@spacedock, and update any hook, MCP or status-line setting that still names the old plugin path or /cargento:cargento.
Two smaller changes: --diagnose no longer reports legacy fallbacks, and the retired page's script files no longer ship (#608). They were never served.
Nothing else you run changes. No command-line option was removed, and the dashboard still starts on port 4553.
What this release does not add
There is no Windows build yet; run server.py with Python 3.11 or newer there. The macOS builds are not notarized, so a copy downloaded through a browser may need xattr -dr com.apple.quarantine compass. What Compass promises says what each answer rests on and where it stops.
All merged pull requests
- Keep internal tracker references out of public documentation by @gcko in #502
- Add a complete Cargento command manual by @gcko in #503
- fix(reading): recover final replies from the exact Claude session by @gcko in #504
- Preserve command arguments and bind consent to the disclosure shown by @gcko in #505
- Prepare bounded persisted-turn verification by @gcko in #506
- Explain drift with assessment text and cited event times by @gcko in #507
- Separate recorded drift signals from estimate limits by @gcko in #508
- Enforce guarded Analyze study batches and native acceptance by @gcko in #509
- Reconcile reading and study documentation by @gcko in #510
- Admit reviewed native session exports to drift qualification by @gcko in #511
- Run guarded Claude qualification before held replay and live checks by @gcko in #512
- Record the stopped Claude qualification and preserve every failure by @gcko in #513
- Reduce repeated study-ledger setup in the test suite by @gcko in #514
- Retire the cold-study acceptance requirement by @gcko in #515
- Preserve charges across a fresh qualification continuation by @gcko in #516
- Register a bounded fresh Claude qualification packet by @gcko in #517
- test(study): preserve blocked qualification and its charges by @gcko in #518
- Record Claude failures and resume bounded qualification by @gcko in #519
- Record the stopped Claude qualification after login repair by @gcko in #520
- Keep earlier departures distinct from unfinished work by @gcko in #521
- Record the stopped Claude qualification and preserve its results by @gcko in #522
- Keep each drift judgment tied to its own evidence by @gcko in #523
- Preserve the latest stopped Claude qualification by @gcko in #526
- Keep unknown conditions separate from drift by @gcko in #527
- Record the complete Claude qualification without erasing failures by @gcko in #528
- Clarify evidence requirements for unfinished work and claims by @gcko in #529
- feat(dev): map frontend contracts and record browser baselines by @gcko in #530
- feat(frontend): add pinned React and Vite development toolchain by @gcko in #531
- feat(frontend): package offline React assets and require native build checks by @gcko in #532
- ci(gate): run Windows legs on main and on labelled pull requests only by @gcko in #535
- feat(frontend): run owned Vite hot refresh with the Python backend by @gcko in #534
- feat(frontend): add the typed API client, board store and legacy storage codecs by @gcko in #536
- feat(frontend): add the React shell, routes and shared controls by @gcko in #538
- feat(frontend): add Sessions, session detail, the timeline filter and the output-only terminal by @gcko in #539
- test(frontend): make the captured client fixtures and the backend environment test identical on Windows by @gcko in #541
- build(frontend): lint and format the frontend with Biome by @gcko in #542
- test(frontend): settle the terminal clamp proof and skip a stalled legacy page by @gcko in #544
- test(frontend): allow one pixel of rounding in the sessions focused-link proof by @gcko in #545
- ci(release): verify the frontend before publishing, away from the deploy key by @gcko in #543
- test: loosen the Python suites' tight timing bounds by @gcko in #549
- test(frontend): record a legacy terminal that misses a timing check by @gcko in #550
- feat(frontend): add the Intent log and the Intent panel to the React page by @gcko in #546
- feat(frontend): add the Drift card, Analyze and Steer back to the React page by @gcko in #547
- feat(frontend): add the project views, steering and the Console to the React page by @gcko in #551
- feat(frontend): add Attention, notifications, capacity and the consent controls to the React page by @gcko in #553
- test(frontend): loosen the proofs' read-count and wait bounds by @gcko in #554
- test: stop the Windows test servers printing a traceback when a client aborts by @gcko in #552
- feat(frontend): make the React frontend the default, keep the legacy rollback and hold releases by @gcko in #555
- test: allow 12x for the transcript reader's linearity check by @gcko in #557
- test(frontend): replay the legacy page's recorded observations instead of running it by @gcko in #556
- test: fix the two Windows failures that main's runs caught by @gcko in #558
- ci(gate): run the Windows legs on every pull request and split the Python suites by @gcko in #559
- refactor(frontend): retire the legacy frontend by @gcko in #560
- test(frontend): stop two browser proofs failing on teardown races by @gcko in #561
- fix(frontend): give the project popover its shadow back by @gcko in #562
- test(frontend): stop the terminal proof's registration lapsing on a slow runner by @gcko in #563
- fix(annotations): retry a briefly refused rename before reporting a failed save by @gcko in #564
- docs: record the shadcn/ui and Tailwind 4 measurement by @gcko in #566
- ci: re-base the fluidity byte ceiling to 2,000,000 bytes by @gcko in #567
- build(frontend): add the Tailwind 4 toolchain and its style gates by @gcko in #568
- feat(frontend): move every button to the shared Button by @gcko in #569
- refactor(frontend): drive open sections from a subscribed keyed store by @gcko in #570
- feat(frontend): render open sections with Accordion and Collapsible by @gcko in #572
- feat(frontend): render popovers with the shared Popover by @gcko in #573
- feat(frontend): draw fields with the shared Input, Textarea and NativeSelect by @gcko in #574
- feat(frontend): draw the Sessions views with the shared Badge, Card, Alert and Separator by @gcko in #576
- feat(frontend): draw the Intent, Drift and steering views with the shared Card, Badge and Alert by @gcko in #577
- feat(frontend): draw the Project, Console, Timeline, shell and terminal controls with the shared parts by @gcko in #578
- feat(frontend): draw the Attention and Capacity views with the shared Card, Badge and Alert by @gcko in #579
- refactor(frontend): remove the stylesheet rules the page never uses by @gcko in #581
- docs(frontend): describe the shadcn and Tailwind end state by @gcko in #582
- fix(frontend): allow a two-digit clock hour in the disclosure width gate by @gcko in #583
- ci: retire the Windows and heavy frontend proof jobs after the refactor by @gcko in #584
- fix(frontend): show the prompt menu loading and keep its width stable by @gcko in #585
- feat(frontend): add Storybook with component stories and offline proofs by @gcko in #586
- docs: rule the cut list for the Intent and drift pages by @gcko in #587
- feat(frontend): remove the session Copy buttons and add the how-to popup by @gcko in #588
- feat(frontend): make the first screen the first step and say plainly what the Projects labels mean by @gcko in #589
- feat(frontend): cut the session page to the goal, Analyze drift and the result by @gcko in #590
- feat(frontend): jump from a finding to its entries and keep one run control per state by @gcko in #591
- test(frontend): hold the path to an analysis to its click budget by @gcko in #592
- docs: lead the README, the skill text and the promise map with Intent and drift by @gcko in #593
- feat(frontend): two-column session page, a roomier Intent panel and the shadcn Select by @gcko in #595
- ci: retire the browser proofs from the gate and verify the interface in Storybook by @gcko in #596
- feat: rename Cargento to Compass by @gcko in #598
- feat(frontend): a cleaner session activity list: newest first, icon marks, folded checks by @gcko in #600
- feat(runtime): keep a long session's prompts in the activity list, page older entries on demand and show the session's age by @gcko in #601
- docs: drop the browser checks from the release hold's conditions by @gcko in #602
- fix(runtime): Use as goal, Add and Keep work on a long session and say so when they cannot by @gcko in #603
- Point repository links at spacedock-dev/compass by @gcko in #604
- Analyze reads a long session's messages back to the window start by @gcko in #605
- Analyze keeps the closing message of each earlier turn in a long window by @gcko in #607
- Attach standalone Compass binaries to each release by @iamcxa in #597
- Stop shipping the retired page scripts by @gcko in #608
- Remove the Cargento name fallbacks by @gcko in #609
- Lift the release hold by @gcko in #610
Full Changelog: v0.28.0...v1.0.0