§2 closed, §3 built and half-accepted: the split reaches the message and
serialises, but no test asserts it and no surface renders it. §1's config
change is recorded as mine, not Casey's word. Run 1283 green, r399 shipped
to edge and running on the laptop; the phone has not pulled it.
The config hands the subconscious sliding_window where the doc and the
code default both say sliding_reflect, and the memory tool exposed the
blind strategy while hiding the safe one.
Also indexes 63, 64 and 66 — all three existed on disk and in no table.
Measured once: reply commits and PrimaryComplete fires, then the N+1
pass stops at round 3 of 10 with a fully idle runtime. The pass runs
inside run_turn, so tx never drops and the SSE stream never closes.
Lead is the todo tool. Stream lifetime is a separate fix.
One row per capability, one column per body, with a strict status vocabulary —
"works" means exercised with evidence named, never that a device node appeared.
blueline points at PAF/ rather than copying it; d10 carries its own state; m1
records what already transfers before anything is measured.
The display pipe is corrected in the same change: ADP binds and scans out and
the panel stays dark, so it is partial, not working.
Touch proven with real events, not a device node: three layers, the last
being runtime report activation gated to D11 so D10 went silent a second
after boot.
adp binds on 206200000.display-pipe with card1-DSI-1 — the first DRM
display pipe on this hardware; everyone else scans a dumb framebuffer.
Still unused because m1n1 re-enables /chosen/framebuffer and udev then
hands viewtop simpledrm.
Kernel patch kept as evidence; hoolock/ is not a repo.
The shell is on the iPhone 7 — viewtop, sessiond and qs, drawn by llvmpipe
on a card with no render node, over one cable. Wallpaper, palette, bar,
clock, dock and her quote match the Pixel.
Everything that blocked it was the base assuming blueline. That rootfs had
never installed a package in its life and could not have: no Landlock, and
no keyring at all. The phantom pacman options TASK-25 caught in July had
propagated into a second image. PAM, the panel-blank script and the fonts
all had to be hand-carried because they ship by flash or not at all.
The lock is the good news. Root on the box and a key in the account, and
viewtop, sessiond and the shell each refused the unlock in turn.
fprintd, gazed, sailfish-fpd and biometryd are the same interface four
times. Take that shape and face and finger become one surface with two
backends. Mapped every call onto the recovered TA commands; the gaps
are persistence and the auth token, both already named.
Prior art checked: sailfish-fpd-community needs hybris, wrobelda's
libfprint branch is the only match-on-chip-over-QSEE example, and
nobody has done FPC over QSEE natively. One listener receiver per
device means the supplicant is a separate owner from the fp daemon.
The awkward hand-off was not the dwell gate — it was committing at whatever
shift the thumb left. quickstep travels to the end target first; settleTo
does that now. Dwell restored to match prior art.
Records the geometry being measured rather than assumed, and two findings
that are not this task's: furniture_at() is a stub so synthetic touch cannot
reach the pill, and Origin is two-valued so agent touches carry no audit.
Two writers own one geometry — the rail's pose and ZoneOverview's scale,
running opposite curves off the same progress. Three attempts to make the
numbers agree failed in a session. The strand proves it: the repro path
is card taps, which never reach the rail's clear-the-pose code.
Plan follows quickstep, which is on this machine: one shift 0..1, the
live window transformed onto the real card rect, end targets as an enum
with LAST_TASK a destination rather than an abandon branch, drag length
derived from that rect.
The transition is a verb because she gives the tour, under the origin
rules input.rs already enforces: agent input is not evidence and the
lock surface takes fingers only.
TASK-59 becomes a record of five bugs that each presented as something else —
the missing #live_talk element, --app-id doing nothing, the GL context claimed
before the canvas was sized, posture wired to a function that does not exist,
and a feed that dropped its own reader for being slow. Plus the furniture role,
input regions, gaze, and what the rig costs next.
TASK-60: the cards were zero pixels wide, and the capture-hang theory is
retracted — the session had been left locked by a test.
DUMP: 3/4/5 closed, 7 retracted with the trap that produced it, 8/9/10 new.
STATE.md was five days stale. It now carries what is on the phone
(viewtop r76, souveraine r333) and the four defects fixed on the glass:
per-window capture was unreachable because quickshell holds wlr handles and
the ext capture source is named by an ext handle with nothing correlating
them; titles were never republished on commit; the border was a filled slab
that relied on the client covering its middle; capture came back flipped.
Also the packaging hole, which was the important one — viewtop's PKGBUILD
existed and appeared in none of packages.yml's build lists, so nothing ever
built it. Half closed: it builds now, but a viewtop commit still does not
trigger a rebuild.
TASK-15 question 1 is answered and closed: dropping the accelerometer claim
took iio-sensor-proxy from 15.3% to 1.1%, sensors overall 17.2% to 2.6% of
a core. Consequence noted against 08(g) — confidence loses accel's +0.3.
New: 54, 55, 56, and 57/58 (Pi dock head, SMB2 OTG boost) with the USB
notes they point at.
toggle_float was the only caller-visible un-float and it went with the
three-finger binding when that became a sessiond verb. Recorded rather
than left as dead code with a comment.
Nine findings from an adversarial read of the night's work, ranked.
Six others from the same audit are already fixed; these are the rest.
The method note is the part worth keeping: every one of these passed
all four gates. A wedged compositor reports shell=active with zero
errors, so green proves nothing about behaviour.
Three fingers should raise an overlay with move/resize/close and the
scaled, sliding visuals the reference shell has. Reading how that shell
does it: its compositor publishes a texture_id AND full geometry per
window on the wire, and the shell draws that texture wherever and at
whatever scale it likes. That is the whole trick behind scaled cards and
every sliding transition.
Ours cannot. The registry publishes size and deliberately never
position, and the only capture source served is per-output rather than
per-toplevel. So the overlay is two pieces of plumbing in order: publish
position alongside size, then a foreign-toplevel capture source.
Building the overlay in the compositor instead would be quicker and
wrong — it is UI, and it would be the one piece of chrome the agent
could not restyle.
START-HERE §6 said the phone has no wifi away from home because the
SSIDs are pinned. It joined a foreign SSID on 2026-08-02 and sat there
working while that paragraph sent the reader hunting for a cable. It
now says how to pass the address, and records that a phone off the home
net reaches the repo through the laptop rather than by bringing the
phone's tunnel up.
TASK-51 §3 said the volume buttons do nothing. They were wired on
2026-08-02 in 266af98 — Action::Volume on the down edge, through the
executor table, with tests. Only the gesture level is still unbound.
SECURITY-AUDIT gains three rows its own review cadence required: the
virtual-keyboard and input-method bind filters admit every client, which
is keystroke injection and observation from any uid-1000 process
(verified live with wtype); the clipboard gate is written and tested and
routed at no call site; xdg-activation accepts every token and never
prunes them.
Five protocol filters admit every client, two of them keystroke paths.
A wake leaves no trail entry. The device flaps Locked/Observed with no
hysteresis. Four behaviours recognised and bound to nothing. Three
shipping paths that silently do not ship.