Repository navigation
Arinn v0.1.0
Pre-release
Pre-release
Added
- Reusable QML UI foundation: Onest typography, design tokens, logical canvas, buttons, content cards, app tiles, progress and status components; isolated fixture gallery and offscreen Qt Quick component tests. Production screen integration remains pending.
- Add a standalone Home preview with Continue, Favorites and New rows, global
navigation, local Home/Back and focus restoration, explicit failure/loading
fixtures, and Qt Quick navigation tests. Production provider binding is pending. - Add the desktop application provider with bounded XDG discovery, system GIO launch in independent application units, exact window association, activation and graceful close through the production KWin platform backend. Private-bus, adapter and package fixtures cover integration and lifetime handling; real KDE/cgroup qualification remains outstanding.
- Define the pre-stable platform window snapshot, activation and graceful-close contract, with typed protocol and SDK bindings and private-bus fixtures. Production daemon/KDE implementation remains pending (ADR-0039).
- Define the internal KWin inventory/control wire contract and SDK registration contexts for desktop-provider integration, with isolated contract and lifecycle tests. Production backend and KDE qualification remain pending (#24, G-1.5, G-2.1–G-2.3).
- Add Home, Library and player design screenshots to the English and Russian READMEs, with captions distinguishing the target design from the implemented Qt shell.
- The production shell now uses the shared Home and navigation design, with a Return
card, a paged Applications catalogue and asynchronous launch feedback. Navigation
remains local during operations, unchanged snapshots preserve focus, and missing
services show explicit empty, error or unavailable states. - English specification v0.4, consolidating developer specification v0.3 with all accepted decisions, including acceptance criteria AC-01–AC-19 and open questions OQ-01–OQ-06.
- ROADMAP.md with phase status, exit criteria and evidence links.
- ADR-0028 (documentation governance), ADR-0029 (licensing), ADR-0030 and ADR-0031 (clarifications previously edited into ADR-0023 and ADR-0026), ADR-0032 (KWin script adapter), and an ADR template.
- Licensing:
GPL-3.0-or-laterfor the core,MIT OR Apache-2.0forarinn-protocoland interface XML,CC-BY-SA-4.0for documentation; SPDX headers,REUSE.toml,LICENSES/,deny.toml. - Contributor documentation: README (English and Russian), CONTRIBUTING, CLA, AGENTS/CLAUDE, SECURITY, Code of Conduct, issue and pull request templates.
- CI/CD (ADR-0033): Rust build, tests and lints; Qt build and private-bus integration suite on Arch Linux; KWin adapter tests; REUSE, cargo-deny, documentation and version checks; Arch package build with a clean-install smoke test; nightly runs against the latest Arch packages; tag-gated releases to GitHub Releases; CLA check; Dependabot.
- Arch Linux
PKGBUILD, package smoke test andscripts/release.py. - Rules and tooling for parallel development by several agents (ADR-0036): changelog fragments, reserved ADR numbers with a generated register, work zones and an agent task issue template.
- Production
org.arinn.Daemon1, application proxies and asynchronous operation objects with versioned XML, caller-bound paging, request deduplication and deadlines (ADR-0035). - Systemd transient provider supervision, registration authentication, generation invalidation, daemon recovery and persisted restart diagnostics.
- Versioned TOML/SQLite storage, SHA-256 provider directories, ordered favorites and bounded launch recents.
- Production SDK demo fixtures and a private-bus contract suite covering recovery, limits, reload and Qt clients; package manifest and smoke-test integration.
- Phase 1 foundation: XDG plugin manifest discovery, deterministic overrides and duplicate diagnostics, bounded file parsing, executable/capability validation and a declarative reload plan.
arinnd --check-plugins: offline JSON diagnostics without D-Bus or plugin execution; launch arguments are omitted from output.- Permissive
arinn-plugin-sdksnapshot primitives: immutable revision paging, actual D-Bus body-size checks, caller-bound expiring tokens and bounded leases. The production transport and SDK demo are integrated.
Changed
- Agents work autonomously (ADR-0037): they create and claim their own tasks from the roadmap, take over stale claims after 48 hours, and merge their own pull requests when all checks are green; open questions, product scope, licensing, releases, operator tests, repository administration and agent rules stay with the owner and are marked
needs-owner. Repository labels are declared in.github/labels.ymland synced by a workflow.
- Resolve OQ-03: the desktop ApplicationProvider owns browser launch; the Chrome provider declares only
browser, with entities linked through validated platform window tokens (ADR-0038). Implementation and Phase 2/3 acceptance remain pending.
- Record the Phase 1 shell capability-boundary review and the unresolved Daemon1-only gate conflict with the direct session lifecycle guard; Phase 1 remains in progress.
- Clarify the owner-approved shell boundary: application/provider integration uses Daemon1, while fail-closed lock/sleep observation remains daemon-independent; track platform transport isolation separately (ADR-0041).
- Isolate asynchronous lock/sleep observation in the platform session layer while preserving daemon-independent shell hiding; add private-bus coverage for stale lock replies and absent or unresponsive daemon services (R-05, ADR-0041).
- Update GitHub Actions for checkout, Python setup, artifact upload/download, REUSE checks and release publishing to current stable major versions.
- Make the private-bus desktop activation test wait for the application to handle dispatched activation, with a gated fixture that covers completion after the provider disconnects.
- Record verified Phase 1 branch protection and completed platform lifecycle extraction; identify the remaining v0.1.0 release preparation and publication gate.
- Record successful Phase 1 CI and clean Arch package checks, with source links and the remaining branch-protection and maintainer release requirements.
- All living documentation translated to English. ADR-0001–ADR-0019 accepted.
docs/architecture/review-map.mdanddocs/architecture/product-decisions.mdfolded into the specification and the roadmap.- Shell, KDE adapter and CLI now use the production daemon API. CLI provides human/JSON output, paged diagnostics and capability commands; active Spike1 interfaces are removed.
- Documented the owner-approved parallel UI workstream alongside Phase 1: QML design system, Home, global navigation, local focus/input and fixture-based checks, with explicit API/open-question dependencies. Full UI acceptance remains in Phase 5; no implementation gate is closed by this scheduling decision.
- Specification v0.5 resolves OQ-06 with owner approval: provider data/state directories use the SHA-256 of
provider_id, independent ofstate.sqlite3(ADR-0034). Provisioning and registry-reset recovery tests are implemented.
Removed
- Third-party service logos from the design prototype and screenshots; replaced by neutral monograms, screenshots re-rendered from the prototype.
Fixed
- Declare Qt SVG as a required build and Arch package dependency, and install it in clean CI environments so the UI artwork loading and pixel regression test can decode SVG fixtures. Missing Qt SVG now fails at configuration instead of during UI tests.
- Isolate the Home navigation tests from pointer positions left by previous fixtures, preventing intermittent focus failures in CI.
- Prevent unrelated D-Bus name changes from blocking provider registration and recovery after daemon restart.
- Ambient auto-start condition made consistent ("external Activity or playing media").