Watch
1
0
Fork
You've already forked SouveraineOS
0

task-13: name the single blocker and the consumer that makes grip worth finishing

This commit is contained in:
Fimeg 2026-07-26 16:07:41 -04:00
commit d84610b86a
2 changed files with 17 additions and 2 deletions

View file

@ -1,6 +1,8 @@
# TASK 13 — Active Edge (squeeze) as a sensor input
**Status:** open. Substrate present, bring-up unit not yet drafted. The
**Status:** open, and wanted — Casey has named grip twice (2026-07-26).
The blocker has been the same single missing devicetree node since 07-20.
Substrate present, bring-up unit not yet drafted. The
sensor front-end config and the Android boot recipe both exist in-tree as
reference; nothing here is invented.
@ -85,6 +87,14 @@ the modern generic pinconf shape (`function`, `input-enable`,
shape, not the CAF one — the Motorola file is useful only for confirming
the register-offset/binding-family, not as copy-paste source.
**The one thing standing in the way, restated plainly:** `pm8998_gpios` is live
and used for volume-up; GPIO 2 — the edge-sense rail — has no node at all, on
either the kernel source tree or the live decompile. Not disabled: absent. Add
the node and the rest of the chain is already booted and serving. That is a
kernel rebuild + deploy on archdev, which is now `pacman -Syu` rather than a
flash (`DUMP-pacman-pipeline`), so the cost is much lower than when this was
written.
1. **Devicetree patch (the actual missing piece).** Add a `pm8998_gpios`
subnode for GPIO 2 to `sdm845-google-common.dtsi` (or a Pixel3Arch
kernel overlay), mirroring `vol-up-active-state`'s binding style:
@ -156,6 +166,11 @@ the register-offset/binding-family, not as copy-paste source.
use).
- Keyboard System memory (routing — squeeze must register as an input,
not a hardcoded binding).
- **TASK-31 (the radial dial) — the consumer.** A squeeze that fires an event
nothing listens for is a bring-up with no product on the other side. The dial
is what a squeeze should open, and it is the reason to finish this: the two
land together or neither is worth much. The dial has other invocations, so it
is not blocked on this; this is blocked on nothing but the kernel patch.
- TASK-02 lockscreen glance (one plausible policy target for a squeeze).
- GPT Sol gap prompt (sent 2026-07-18) covers the same gap from the
external side; this task is the local in-tree half.

View file

@ -18,7 +18,7 @@ plus open threads from the 2026-07-17 session.
| 8 | [Device state manager / power profiles](08-device-state-manager.md) | actuating 07-25 | clock + actuators; lock-before-blank is an invariant and hypridle's listeners are deleted; (b) charge real, (c)(d) open, **(e) lease still missing**, **(f) `sensors_degraded` reaches no surface**, **(g) the confidence gates need a decision before code** |
| 9 | [Suspend-resume FTS calibration race](09-suspend-resume-fts.md) | interim-fix | kernel-side; cold-boot only |
| 12 | [Face auth as a capability factor (Gaze reference)](12-gaze-reference-face-auth.md) | open | per-target: phone needs front-cam bring-up |
| 13 | [Active Edge (squeeze) as a sensor input](13-active-edge-squeeze.md) | open | substrate up; bring-up unit not drafted |
| 13 | [Active Edge (squeeze) as a sensor input](13-active-edge-squeeze.md) | open, wanted | blocked on ONE missing devicetree node (PM8998 GPIO 2); TASK-31 is the consumer |
| 14 | [Overview/app grid + Auxo multitasking](14-overview-appgrid.md) | in progress | shell-side; Home path + app cards |
| 15 | [Idle coordinator: freeze, doze, scheduled wakeups](15-idle-coordinator.md) | blocked | freezing `app.slice` would freeze sessiond+shell+secrets; needs slice separation first (measured 07-25) |
| 16 | [culver: usable messenger + contacts as Personal-class store](16-culver-messenger-contacts.md) | in progress | A/B/D landed; C contact card next; F is the folded-in TASK-01 |