commits
API endpoints, CLI references, and stream_name parameter updated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Instructions written for a coding agent working with a human.
Includes idempotency check, inline distro package lists,
sol root/observers clone path, and stream name as a
collaborative decision point.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The previous LICENSE contained only the short FSF boilerplate with
"either version 3 of the License, or (at your option) any later version"
— AGPL-3.0-or-later language that contradicted AGPL-3.0-only declared
in README, pyproject.toml, and SPDX headers in every source file.
Replace with the complete canonical AGPL-3.0 license text from the FSF.
The SPDX-License-Identifier headers in source files remain the
authoritative "only" declaration.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When sol is installed on the same machine, use `sol remote --json create`
for registration instead of requiring the server to be running. Falls back
to HTTP registration if sol is not found or CLI fails.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Packages aren't on PyPI — document clone + pipx install from source.
Add Arch section with all required packages. Add gstreamer1-plugin-
pipewire to Fedora packages. Add note that activity detection (idle,
lock, power save) requires GNOME desktop — other desktops get capture
but no activity-based segment boundaries.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extracts the Linux desktop observer (screen + audio capture) from the
solstone monorepo into a standalone package. Follows the same pattern
as solstone-tmux (phase 5a) with key improvements:
- Local cache + async sync instead of inline upload at segment boundary
- Circuit breaker tuned by error type (auth=immediate, transient=5-10)
- Respects configured sync_max_retries (no hard min(config,3) cap)
- Recovery .metadata file with start timestamp for accurate duration
- Synced-days pruning at 90 days
- Session env recovery for CLI launch, PassEnvironment for systemd
- Screencast restore token at ~/.local/share/solstone-linux/config/
48 tests passing covering config, streams, monitor positions, recovery,
sync collection, error classification, circuit breaker thresholds, and
session readiness checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The previous LICENSE contained only the short FSF boilerplate with
"either version 3 of the License, or (at your option) any later version"
— AGPL-3.0-or-later language that contradicted AGPL-3.0-only declared
in README, pyproject.toml, and SPDX headers in every source file.
Replace with the complete canonical AGPL-3.0 license text from the FSF.
The SPDX-License-Identifier headers in source files remain the
authoritative "only" declaration.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Packages aren't on PyPI — document clone + pipx install from source.
Add Arch section with all required packages. Add gstreamer1-plugin-
pipewire to Fedora packages. Add note that activity detection (idle,
lock, power save) requires GNOME desktop — other desktops get capture
but no activity-based segment boundaries.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extracts the Linux desktop observer (screen + audio capture) from the
solstone monorepo into a standalone package. Follows the same pattern
as solstone-tmux (phase 5a) with key improvements:
- Local cache + async sync instead of inline upload at segment boundary
- Circuit breaker tuned by error type (auth=immediate, transient=5-10)
- Respects configured sync_max_retries (no hard min(config,3) cap)
- Recovery .metadata file with start timestamp for accurate duration
- Synced-days pruning at 90 days
- Session env recovery for CLI launch, PassEnvironment for systemd
- Screencast restore token at ~/.local/share/solstone-linux/config/
48 tests passing covering config, streams, monitor positions, recovery,
sync collection, error classification, circuit breaker thresholds, and
session readiness checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>