Skip to content
This repository was archived by the owner on Nov 8, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

> **PRIMARY GOAL:** a picture on the WD22TB4 dock's HDMI from elementary OS on this j314s.
> Current J314S host: owner confirms the dock works on Aurora .20; external 1080p/60 is active.
> October 21 Aurora 7.2 wip2 trial: owner confirms dock picture on all 3 USB-C ports,
> with delayed initial training; `.20` remains default and actual recovery/suspend
> still unqualified. [Scoped port/timing follow-up](mseries/aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md).
> [Scoped VRR/dock result](mseries/aurora/hardware-tests/2026-10-18-j314s-vrr-and-boot-archive.md)
> records a visual pass and brief kernel VRR activation. Sustained VRR, long-run dock stability,
> physical-port verification and suspend/resume remain open. Check this result before repeating older RE.
Expand Down
157 changes: 157 additions & 0 deletions mseries/OS9-HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,163 @@ No live screenshot/owner visual confirmation is claimed.

# OS 9 implementation / Claude Code handoff

## Aurora 7.2 all three dock ports working; pilot timing — 2026-10-21

Owner later confirms **rear-left nearest hinge works**; the earlier blank-screen
report was transient and is superseded. Front-left closest to owner and right
also show picture; front/right input explicitly confirmed. All three external
modes observed at 1080p/60. No agent driver/service/runtime change caused this
recovery. [Follow-up and pilot timings](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md).

One cycle per port: partner→dock≈3s, dock→monitor≈1s, monitor→desktop≈0.5s,
partner→active desktop≈4.5s. Poll resolution 0.5 s plus query delay; not cable-insertion
or visible-pixel latency, no statistical ranking. Front boundary recovered from
retained events and regression-fixed; prior mislabelled rear run corrected by
owner sidecar. Original receipts retained. Five timing state-machine tests and
71 Aurora repository tests pass after merging current dev into this branch.
Only merge conflict was both parties' prepended handoff entries; both preserved.
Kernel builder/manifest/native-workflow bytes still match tested b213999.

Next: merge this experimental kernel/qualification lane into dev after current
review/checks, keeping `.20` persistent boot default. No stable-kernel promotion,
automatic re-arm or reboot. Actual `.20` recovery/suspend/power still pending.
Display lifecycle logging and attention integration are separate deployment
work, preserving the current dock/panel/popup lineage. Upstream review identifies
only a host-fixture candidate, not a newly authored dock kernel fix.

## Aurora 7.2 first boot: scoped pass; rear-left dock picture fails — 2026-10-21

Owner rebooted into `7.2.10-elementary-aurora72-wip2`. Live build ID
`e33ad2aa657320824a246a3b04814accdb31df1e` matches audited Image. One-shot is
consumed/empty and `.20` stays persistent default. Old fallback/menu/shared
`boot.bin` hashes unchanged; all 91 early modules and installed package verify.
Runtime 37 DART providers use one-cell bindings, firmware compat 13.5.0 retained.
[Report and receipts](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md).

Scoped checks PASS: boot beyond 5 min, PMP ready/started/manages fabric, idle
accounting, real M1 Pro GPU shader/16-pixel readback with Mesa 26.0.8 and 1 MiB
fsync/SHA256. Selected severe-message scan through post-smoke snapshot clear.
Owner confirms internal display/input. Compositor observes internal 3024x1964
at 120 Hz and later external DP-1 1920x1080 at 60 Hz. Display firmware/Wi-Fi warnings
also occurred on prior `.20-enh1`; unequal traces do not prove regression.

**Physical port correction:** left port closest to owner/front, farther from
hinge, WORKS with delayed picture. Left nearest hinge/rear DOES NOT show the dock
picture. Earlier button answer saying hinge works is explicitly superseded.
Right port untested. Both controller paths show retries/connected events and
routing; logical-controller-to-physical-port mapping is not yet a controlled
measurement. Do not mark rear USB4 entirely dead or claim all-port dock acceptance.

**Next:** matched per-port evidence and attended return to `.20` for actual
recovery before suspend/power work. No automatic re-arm or stable promotion.
PowerSaveMode remains unknown; controls false, startup/hotplug power is not an
idle or paired saving result. Private raw logs stay in the owner's outputs.
This supersedes armed/no-reboot statuses below. No agent boot/service/module
parameter change was made during first-boot testing.

## Deferred reboot: static audit and manual test readiness — 2026-10-21

Owner deferred the reboot and asked to continue. One-shot remains armed for
wip2; no boot setting, installed package, service or module was changed.
All 24 mechanically-neither review patches now have a bounded static triage:
19 described source contracts retained, two subsystem replacements open,
one documentation case open and two partial lifecycle/policy reviews. The
moved `mm/userfaultfd.c` was recovered from the audited corresponding-source ZIP;
its source-check branch survives, and USERFAULTFD is disabled in this config.
Other matched safeguards include debug commands disabled, AWDL parameter
read-only, AFK/VFIO dependencies, legacy 13.5 DPTX dispatch and SEP store policy.
[Source-bound receipt](aurora/unified72/static-contract-review-2026-10-21.json).
Full 64-fix semantic qualification remains open, including the 40 reverse checks.

Readiness: compiler, EGL/GLES development metadata and Python GI imports exist.
No new test execution or old-kernel result was presented as wip2 acceptance.
Added [exact private manual commands](aurora/unified72/BOOT-TRIAL.md#manual-collection-after-the-attended-wip2-boot):
copy/hash only root-readable Image/shared boot payload into mode0700 evidence,
collect current-boot journal and run qualification as desktop user, preserving
session-bus access. Review health/live identity before a separate shader/fsync
invocation. PowerSaveMode remains unknown; do not treat equal unavailable
dictionaries as measured display/power stability. Owner controls later reboot,
and actual return-to-.20 recovery still precedes suspend/power work.

## Aurora 7.2 one-shot armed after repeat CI pass — 2026-10-21

Owner authorized arming when the repeat run passed, then asked to continue.
Both native matrix jobs passed [repeat CI 39601423970](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39601423970)
at `ed08d50`. Rechecked installed package, Image/initramfs, old fallback files,
shared `boot.bin`, menu syntax and empty prior one-shot; all passed. Ran
`sudo grub-reboot --boot-directory=/boot elementary-aurora72-wip2-trial` at
13:23:18 UTC (09:23:18 EDT). Verified **next_entry=elementary-aurora72-wip2-trial**.
Persistent default stays `.20`; all protected files except the intentional
GRUB environment update remain unchanged. Running `.20-enh1`; **no reboot**.
[Arming receipt](aurora/unified72/one-shot-armed-2026-10-21.json),
[repeat CI receipt](aurora/unified72/repeat-ci-2026-10-21.json).
Root-private pre-arm environment/receipt:
`/var/lib/mseries-kernel-tests/arming/20261021T132318Z-aurora72-wip2`.

**Next:** owner/Claude attended reboot into `7.2.10-elementary-aurora72-wip2`,
password unlock, internal/dock display/input, current-boot logs and manual
qualification + shader/fsync checks, then actual `.20` recovery before suspend
or power tests. GRUB clears the one-shot before kernel loading; subsequent normal
boots retain `.20` default. If trial hangs, record the last message and select
STABLE `.20` on recovery. Existing source/hardware limits still apply. Do not
re-arm automatically after this boot, regenerate GRUB or rewrite `boot.bin`.
Arming does not establish any new hardware acceptance. This checkpoint
supersedes the earlier unarmed status below.

## Aurora 7.2 wip2 staged, unarmed — 2026-10-21

Owner explicitly approved the checked unarmed staging proposal. Installed separate
`linux-image-elementary-aurora72-wip2` (7.2.10 wip2) and the audited Image/initramfs;
added `elementary-aurora72-wip2-trial` in existing `custom.cfg`. **No reboot or
one-shot selection:** `next_entry` is empty; persistent default is STABLE `.20`;
running kernel remains `.20-enh1`. Both old Images/initramfs, generated GRUB,
GRUB environment and shared `boot.bin` remain byte-identical. Root-private backup:
`/var/lib/mseries-kernel-tests/staging/20261021T131440Z-aurora72-wip2`.

All 2,042 regular payload files and symlinks compared with the audited package;
`dpkg -V` and `dpkg --audit` clean, both GRUB syntax checks pass. Host dpkg strips
`/usr/share/doc/*`; the first attempt detected omitted documentation before any
boot change. Reinstalled using the package-specific `--path-include` in the
[lane's staging instructions](aurora/unified72/BOOT-TRIAL.md), restoring licenses,
resolved config and provenance without changing the global policy.

The original Arch encrypt/userspace/firmware entries remain identical; 91 new
initramfs modules and dependency closure match the exact CI package. Retain old
shared 7.1 DTBs: new DART parser passes 50 host controls on the exact J314S legacy
geometry. That preserves old fallback format, not a demonstrated recovery boot.
Mesa/UAPI and firmware-source checks plus DART/DCP/radio controls are recorded in
[preflight evidence](aurora/unified72/boot-preflight-2026-10-21.json). 71 repository
unit tests pass. Original failed host fixtures and corrected invocations are
identified, not hidden. Native build artifact is run 39595756051 at `b213999`;
repeat native run 39601423970 at `ed08d50` was still building when staging finished.

**Next:** coordinate with owner/Claude for an attended one-shot boot, basic
unlock/display/input and manual qualification, then an actual return to `.20`
before suspend/power tests. See [first-boot sequence and limits](aurora/unified72/BOOT-TRIAL.md).
Full 64-fix semantic review and live hardware/Mesa acceptance remain open. Do not
start the next maintenance task or automatically arm/reboot this experiment.

## Aurora 7.2 merged-source refresh selected — 2026-10-21

Owner selected refreshing the independent 7.2 candidate. The unified72 manifest
now pins merged #139 `644133b7799f` with streamed archive SHA256 and new distinct
`7.2.10-elementary-aurora72-wip2` / Debian wip2 identity. The already-upstream
stock-bindgen patch is removed from the active series and retained as historical
provenance. Five GPU-reader and 12 PMP host tests pass on the selected source;
three old GPU/SEP source gaps are addressed, not all 64 semantic review gates.
Native ARM64 config/Image/modules/DTBs/package inspection and upload passed
[run 39595756051](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39595756051)
at `b213999`; the `.20` control passed too. Independent ZIP/checksum/full-source
digest/package/J314S-DTB audit passed;
[receipt](aurora/unified72/native-build-2026-10-21.json). Later audit/test/docs
edits preserve the recorded build input hashes. At this earlier build checkpoint
there was no host installation. The unarmed staging above supersedes that status. Actual Mesa clients, upstream M1
Touch ID regressions and J314S boot/suspend/recovery remain gates. See
[the current lane and receipt](aurora/unified72/README.md). The refreshed
64-patch comparison is 0 forward / 40 reverse / 24 neither: mechanical checks,
not full semantic parity. The paused kernel task now resumes active PR/CI and
requires archive, carried-patch and artifact evidence before success claims.

## Messages: honest full text, attachment chips — 2026-10-21

Audit of "full text / MMS / links" against the live phone (read-only; nothing sent):
Expand Down
56 changes: 55 additions & 1 deletion mseries/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,59 @@
# Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi)

## All three wip2 dock ports pass scoped picture — 2026-10-21

Later rear-left picture supersedes initial failure. All 3 ports show 1080p/60;
one-cycle polling≈4.5s partner→active desktop each, with label/boundary corrections
and 0.5 s resolution disclosed. Not a speed ranking or pixel latency benchmark.
New read-only timing tool and 5 tests; existing 71 Aurora tests pass after dev
conflict resolution. Next dev merge, exact lifecycle tracing and actual `.20`
recovery; boot default unchanged, no stable promotion/power claim.
[Timing follow-up](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/PORT-TIMINGS.md).

## Aurora 7.2 first boot: GPU/fsync pass, port acceptance incomplete — 2026-10-21

Actual wip2 boot/Image identity, package/91 early modules and unchanged legacy
shared payload verified; one-shot consumed, `.20` remains normal default.
Five-minute boot/PMP/idle and M1 Pro GLES shader/readback plus 1 MiB fsync pass.
Owner confirms internal display/input and front-left dock picture (slow to
appear); hinge-side left port picture fails, right untested. External 1080p/60
observed. Next matched physical-port evidence and real `.20` recovery; no
suspend, stable or energy-improvement acceptance.
[Report](aurora/hardware-tests/2026-10-21-j314s-wip2-first-boot/REPORT.md).

## Deferred reboot: mismatch triage and test readiness — 2026-10-21

24 mechanically-neither patches triaged: 19 source contracts retained,
five deeper/partial reviews open. Full 64-fix semantics and hardware acceptance
remain unqualified. Exact private post-boot collector/smoke commands are ready;
compiler/EGL/GLES/GI dependencies exist. No hardware tests or installed changes.
The one-shot remains armed for the owner's later attended reboot.
[Audit](aurora/unified72/static-contract-review-2026-10-21.json),
[manual sequence](aurora/unified72/BOOT-TRIAL.md#manual-collection-after-the-attended-wip2-boot).

## Aurora 7.2 one-shot armed — 2026-10-21

Repeat native CI 39601423970 passed both matrix jobs. Owner-authorized one-shot
`elementary-aurora72-wip2-trial` is armed; `.20` remains persistent default,
old/shared payload bytes are unchanged, no reboot yet. Next is owner/Claude
attended reboot, basic unlock/display/input and manual qualification, then
actual `.20` recovery. Hardware/suspend/power acceptance remains open.
[Arming receipt](aurora/unified72/one-shot-armed-2026-10-21.json).
This supersedes the unarmed staging status below.

## Aurora 7.2 staged for an attended trial — 2026-10-21

Merged #139 `644133b7799f` wip2 passed native build, independent artifact audit,
legacy-DTB/unlock checks and bounded DART/DCP/radio host controls. Owner approved
unarmed staging: separate package/Image/initramfs and non-default GRUB entry are
installed, all 2,042 regular package files verified. `.20` stays default;
`next_entry` empty, old fallback assets/shared `boot.bin` unchanged; no reboot.
71 repository unit tests pass. [Receipt and boundaries](aurora/unified72/boot-preflight-2026-10-21.json).
Next: owner/Claude-coordinated attended one-shot boot, actual Mesa/display/unlock
acceptance and return-to-.20 recovery. Full semantic parity, suspend and power
qualification remain open; no measured power win.
[First-boot plan](aurora/unified72/BOOT-TRIAL.md).

## Native Messages experience landed — 2026-10-20

PR #353 merged to `dev` (`0bb46b7d`), including PR #352's media links, name
Expand Down Expand Up @@ -1167,7 +1221,7 @@ reopened Claude as524238; CLI and desktop identity hints matched the requested
target. Owner independently confirmed the correct main-UI account.

The operation exported/imported34 local Code conversations, with zero unavailable.
All34 destination records, transcripts and workspace directories exist; session,
All 34 destination records, transcripts and workspace directories exist; session,
CLI transcript, cwd/originCwd, worktree and branch bindings match the source.
Claude's own post-start logs loaded13 active records from the exact target index
(nine imported plus four existing) and25 deferred archived records. Initial
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# WD22TB4 per-port pilot timings — October 21, 2026

All three ports now have an owner-confirmed dock picture. Front-left and right
also have explicit input confirmation. Rear-left's later picture supersedes its
initial blank-screen observation. No driver/service/runtime parameter change
was applied by this agent between those observations.

| Physical USB-C port | Partner to dock | Dock to monitor | Monitor to active desktop | Partner to active desktop |
| --- | --- | --- | --- | --- |
| Rear-left, nearest hinge | ~3.0 s | ~1.0 s | ~0.5 s | ~4.5 s |
| Front-left, closest to owner | ~3.0 s* | ~1.0 s | ~0.5 s | ~4.5 s* |
| Right | ~3.0 s | ~1.0 s | ~0.5 s | ~4.5 s |

One plug cycle each; requested 0.5 s polling. These are detection-to-observed-state
times, not physical cable insertion-to-visible-pixel measurements. This sample
cannot rank ports statistically. The compositor may mark a mode active before
pixels are visible; owner confirmation remains separate. All observed external
modes are 1920x1080/60.

* The front-left run's partner appeared in the sample completing the detach
window. The original tracker swallowed that boundary, so its summary started at
dock enumeration. The retained event log contains the partner edge; derived
values in [all-ports-followup.json](all-ports-followup.json) use that actual event.
The tracker has a targeted regression fix and test for future runs. Original
runner/results/events are retained, without rewriting old evidence.

The earlier run named `timing-front-left-01` was retrospectively confirmed by the
owner to be rear-left. [Label correction](port-timings/left-label-correction.json)
is retained alongside unchanged original results. The final front-left sample
was explicitly requested and owner-confirmed. Logical results: rear port1/DP-1,
front port2/DP-2, right port3/DP-3 on this boot; logical names are not permanent
physical labels across other boots.

On unplug, partner loss and desktop disappearance fell in the same sample for
right/rear, and about 0.5 s apart for front. Same-sample means below the observation
resolution, not instantaneous disable. Separate detailed kernel/compositor
lifecycle instrumentation is the next step for optimization. About 3 s precedes
dock enumeration, so compositor-only changes cannot account for that entire
interval. Do not shorten debounce/recovery timers based on this pilot.

The read-only poller is `mseries/hardware/dock-port-timing.py`; it requires an
identity-bound hardware receipt from the running boot and a fresh private output
folder. Five state-machine tests pass, including the boundary fix. It changes no
hardware settings. Repeatability, suspend, real `.20` recovery, Vulkan/long-run
GPU and controlled energy comparisons remain unqualified.
Loading