46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
# Next session — Souveraine-owned AGPL lock primitives
|
|
|
|
> Paste this into the next session as the opening message. It is orders, not
|
|
> a draft. Related task doc: `docs/tasks/souveraine-lock-primitives.md`.
|
|
|
|
---
|
|
|
|
We're building the Souveraine-owned lock surface. Read
|
|
`docs/tasks/souveraine-lock-primitives.md` first — it's the full spec:
|
|
dependency set, the primitive tiers, the build order, done-when criteria.
|
|
|
|
## Non-negotiables (do not re-litigate)
|
|
|
|
1. **SouveraineOS, not ii OS.** Cut the cord from ii by **rewriting**, never
|
|
vendoring. ii files inherit GPLv3; we will not ship ii-derived files.
|
|
Every primitive is original Souveraine AGPL, Casey as copyright holder.
|
|
2. **Build the end goal, not v1/v2.** No borrowed-widget bridges. The lock
|
|
may not compile or may miss a subcomponent while the owned primitives
|
|
are built — that's preferable to a single compromise. Full AGPL lock
|
|
dep graph is the target.
|
|
3. **ii is behavioral reference only.** Read how ii's widget behaves (on the
|
|
phone at `~/.config/quickshell/ii/modules/common/widgets/`, `ssh pixel`);
|
|
do not copy. Write fresh.
|
|
4. **No subagents for this.** Write the code in the main conversation.
|
|
5. **No mid-session paperwork** beyond the task doc that already exists.
|
|
Don't write PLAN.md / handoffs / memory unless asked.
|
|
6. **Don't run build/test loops as the model if you're Opus.** Verify once
|
|
with the real build.
|
|
|
|
## Start here
|
|
|
|
Tier 0 (`Appearance` / `ColorUtils` / `Translation`) — nothing compiles
|
|
without them, and `Appearance` is where the Souveraine lock palette gets
|
|
defined (retire the scattered `#d9ffffff` etc. literals). Confirm the
|
|
target path (`modules/souveraine/widgets/` unless Casey says otherwise),
|
|
then Tier 0 → Tier 1 (`StyledText`, `MaterialSymbol`, `MaterialShape`,
|
|
`ErrorShakeAnimation`) → Tier 2 (`RippleButton`) → Tier 3 (`AmbientCard`,
|
|
`PinDots`, `LockKeypad`, `LockUtilityRow`, `LockReveal`) → rewire
|
|
`TouchLockSurface.qml` + the two cards → manifest lines → deploy.
|
|
|
|
Behavior reference on the phone: ii widgets at
|
|
`~/.config/quickshell/ii/modules/common/widgets/`; Phosh lockscreen at
|
|
`~/build/phosh/src/lockscreen.c` + `ui/lockscreen.ui` (swipe-capture model,
|
|
shake midpoint-crossing termination — implement in QML, do not port).
|
|
|
|
Go.
|