Skip to content

Latest commit

 

History

History
186 lines (156 loc) · 11.2 KB

validation.md

File metadata and controls

186 lines (156 loc) · 11.2 KB

Validation record

2026-10-12 desktop source export

Exported selected installed source on top of origin/main including monitor and widget updates already published there. Kept account integrations opt-in, idle sleep disabled by default, existing presets and private-profile exclusions. No installed configuration was overwritten or session action performed.

  • Activity accounting: 24 isolated tests passed, including pause/viewing, lock, reconnect, clock gaps, DST boundaries, private permissions and collector lease.
  • Session lifecycle/install/state/integration: 60 tests ran, 59 passed and one Unix peer-identity test skipped because the sandbox forbids Unix socket binding.
  • Night schedule checks and a fake-native-overlay check passed for multi-output, temperature, CRT/aquarium coexistence, hotplug and simulated GPU failure. The latter used the installed runtime and a temporary Node TypeScript ESM loader.
  • MRU checks passed for forward/reverse selection, deferred commit, wrapping, cancellation and empty desktops. Reverse selection failed before the fix.
  • Widget library checks passed for published preset order, legacy migration, copy/edit isolation, protected empty, malformed data and serialization.
  • Existing monitor, brightness and music-source checks passed. The spectrum self-check passed, including the Python FFT fallback without NumPy.
  • Full TypeScript typecheck passed against the installed runtime after porting prepared vector-uniform/signal typing corrections.
  • Qt shaders compiled for isolated installation; generated .qsb files are ignored.
  • Temporary-home installation/reinstallation preserved integration/key files, wallpaper/monitor/night/idle/widget profiles and private activity history.

Qt 6 lint reports no error-level diagnostics in the exported QML; incomplete Quickshell metadata, dynamic model/property and unused-import warnings remain. These checks do not establish fresh-machine or pinned-runtime compatibility. Native Alt-release matching, rendered UI/animations, actual lock/suspend, hotplug/mode changes, cold boot and a clean-user session remain acceptance tasks. The live desktop was not restarted, reloaded, locked or suspended during export.

2026-10-10 widget export

Selected installed widget sources were ported onto main after the monitor PR. No account credentials, session databases, music catalog or balance ledger were copied. DeepSeek received the publication-required opt-in gate; the default key file is excluded from publication and preserved during reinstall.

  • check-music-source.mjs: PID preference, ambiguous capture/player rejection, paused-player retention and browser eligibility passed with fake MPRIS players.
  • Five check-deepseek.py tests: disabled credential/network guard, currency and numeric validation, estimated spend/top-ups, cache/key isolation/private file permissions and fixed error messages passed using synthetic data.
  • Session self-check: OpenCode read-only fixture queries, exclusion of archived/ child sessions, command quoting, recency and widget archive behavior passed.
  • Quota/status parser self-checks passed without authenticated CLIs or network.
  • Temporary-home install/reinstall preserved integration settings, monitor and wallpaper state, and a synthetic private DeepSeek key with mode 600.
  • Qt 6.11.2 QML lint reported no error-level diagnostics. Quickshell metadata, dynamic loader properties, delegate qualification and existing session gesture layout warnings remain; this is not a warning-free lint result.
  • A synthetic offscreen DeepSeek preview was rendered and inspected for available, missing-key and authentication-error states with the collector disabled.
  • Privacy scan and Git whitespace checks passed.

No live shell restart, account request, playback command or power profile change was performed for this export. Source checks do not establish behavior on another machine's players, battery hardware or CLI database versions. The user's installed feature supplies working-desktop provenance.

2026-10-10 monitor settings export

The installed monitor feature was exported as selected QML/TypeScript/Python source, without the local monitor profile or unrelated desktop changes.

  • check-monitors.mjs: mocked compositor checks passed for layout/primary changes, invalid modes and geometry, timed rollback, native mismatch rejection, confirmation with a translated origin, disconnected profiles and config reload.
  • brightness.py --check: isolated backlight read/write/routing/range checks and external DDC parsing checks passed; no hardware brightness was changed.
  • Qt 6.11.2 qmllint on the three monitor components and modified brightness, control centre and widget layout files: no error-level diagnostics. Existing QProcess::ExitStatus and Bluetooth UntypedObjectModel metadata warnings and an unused import notice remain.
  • check-install.py: temporary-home installation/reinstallation passed, including monitor component delivery and preservation of a synthetic monitors.json.
  • Publication privacy and Git whitespace checks passed.

The live desktop was not installed over, reloaded or connected to during these checks. The module uses output APIs present in the installed runtime; a new build against the pinned public compositor revision and native mode switching, hotplug, real brightness and rendered panel behavior remain unverified for this export. See monitor settings for deliberate desktop acceptance checks.

2026-10-09 wallpaper groups

The named static-image groups feature was exported separately from local wallpaper state and unrelated desktop changes. Source validation in this checkout:

  • wallpaper-groups-check.mjs: naming, shared membership, filtering, serialization, missing images and deletion passed with synthetic paths.
  • Qt 6 qmllint on the picker, wallpaper catalogue, group state and editor: no error-level diagnostics; existing dynamic currentItem properties and QProcess::ExitStatus metadata warnings remain.
  • Qt wallpaper shaders compiled for the isolated installer check; generated binaries are ignored by Git.
  • check-install.py: temporary-home installation and reinstallation passed, including preservation of group state and existing integration settings.
  • Publication privacy checks and Git whitespace checks passed.

Before export, the installed implementation was exercised in an isolated offscreen Quickshell instance: atomic writes, restart loading, editor save/cancel and the empty-group apply guard passed. Rendered picker/editor previews were inspected at 1280×900 and 800×600. This does not establish compositor or GPU behavior on a fresh desktop session; the publication checkout was not installed over the live desktop or used to restart it.

2026-10-09 custom session lock

The custom locker, profile button and Super+L binding were integrated into the publication source without replacing the installed desktop configuration. Seven launcher regression tests and five offscreen keyboard interaction tests passed. The keyboard tests cover editing/deletion from either view, shared clearing/submission, cursor/focus preservation and initialisation of a new output. Qt 6 QML lint reported no errors; the existing Quickshell QProcess::ExitStatus metadata warning and unused-import notices remain. Publication privacy checks and Git whitespace checks passed.

The agent sandbox cannot connect to live Wayland/IPC sockets. Actual password authentication, lock/unlock and monitor hotplug have not been verified against the pinned public compositor revision. Automatic idle/sleep locking is disabled. Run the checks in the locker guide in the installed desktop before relying on the new lock.

2026-10-04 source update

Selected live desktop source was exported into the publication tree. The privacy guard was run on that tree; personal paths, profile links/tags, application pins, private music catalogs and saved wallpaper choices were excluded. Generated clock sprite sheets have an explicit file allowlist. Account collectors retain their opt-in gates, including inside Home Zone. No new build, lint, typecheck, installer test or graphical test was run for this update. The earlier checks below apply to the September snapshot, not automatically to the new source.

The compositor snapshot is pinned separately in sources.json. Its provenance is the installed local desktop; publishing it does not establish clean-machine or cross-GPU compatibility.

2026-09-28 packaging checks

Packaging checks performed on 2026-09-28, with permission, without changing the running desktop or invoking account integrations:

Check Result
Installer preview in an empty temporary home No files written
Full install into temporary home with a space in its path Files copied, home-specific paths rendered, runtime link created
Second install into that temporary home Existing configs backed up; local integration flags preserved; backup manifest retained
Three Qt fragment shaders Compiled with the installed Qt 6 qsb
Walker patch against exact clean upstream commit Applies; all four resulting Rust files match the working customized source
15 TypeScript/TSX source files Parsed with Bun's TypeScript/TSX transpiler; this is syntax checking, not API type checking
Python, shell, Node adapter, JSON, TOML, XML/SVG Syntax/parse checks passed
41 QML files with Qt 6 qmllint No error-level diagnostics; warning-level diagnostics remain and match the original live sources
Five Python/Node collectors without opt-in Refuse execution before querying accounts or reading session data
Two published skills Skill frontmatter/structure validation passed
Publication privacy guard No findings in the selected publication files; source paths, endpoints and binary provenance also reviewed
Grain PNG metadata Only IHDR/IDAT/IEND chunks; no screenshot or embedded textual metadata

The QML warnings include incomplete Quickshell type metadata (PanelWindow, QProcess::ExitStatus, UntypedObjectModel, FileViewAdapter) and existing dynamic property/layout warnings. They are not represented as a clean lint pass, nor as proof of a runtime failure. The sanitized copy introduced no additional diagnostics in the comparison. No live shell was launched for this packaging check.

Not performed: building the published ShojiWM integration revision, rebuilding Walker during packaging, installing system packages, logging into a clean user desktop, checking every GPU/output combination, or connecting real provider accounts. The original working desktop provides provenance, not a substitute for testing the sanitized configuration on a fresh machine.

Reproduce the isolated checks after installing prerequisites and compiling shaders:

python3 dotfiles/scripts/check-install.py
python3 dotfiles/scripts/check-public.py

For a full user acceptance check, log into the installed desktop deliberately and check terminal/launcher, focus, tiling, minimize/restore/close, both output scaling and workspace movement, all three presets, simultaneous wallpaper/layout selection, notification/tray interaction and recording. Enable account integrations only with your own credentials when you are ready to exercise those optional paths.