From 2d2ce45f8b2a57aa41595de78ed4a518c6f0f0a0 Mon Sep 17 00:00:00 2001 From: Cameron Date: Tue, 7 Jul 2026 17:14:32 -0700 Subject: [PATCH] Design session: work is somewhere (device-resident jobs, attended work) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cameron's riff: day jobs pinned to devices/locations; the starting server carries the job; automation is device-specific. Adopted with the cursor synthesis (attended work: cursor presence is the manual verb) and staged scope guidance (destination processes-on-machines; compute.md reshape holds until the economy/income chain lands). Docs only — the amendment precedes the implementation. New constitution section 'Work is somewhere' + decisions-log entry with rejected alternatives; day-job.md gains criteria 6-7 (residency, attended work); compute.md Status note records the destination and the do-not-deepen warning; ROADMAP #3 extended and #25 (compute reshape, HOLD) added. Defense: 'Automation as design language' names the day job as the automation tutorial and prices automation in attention; 'Justification and legibility' requires visible mechanics to live somewhere real. Work that arrives from nowhere and runs nowhere violated the device-anchored direction every 2026-07-07 system took; this amendment closes it and sequences the mechanical reshape so no in-flight work order builds against a moving channel model. --- DESIGN.md | 42 +++++++++++++++++++ wiki/log/2026-07-07-design-work-pinning.md | 49 ++++++++++++++++++++++ wiki/log/DEVLOG.md | 12 ++++++ wiki/mechanics/compute.md | 10 ++++- wiki/mechanics/day-job.md | 33 ++++++++++++++- wiki/process/ROADMAP.md | 27 ++++++++++-- 6 files changed, 166 insertions(+), 7 deletions(-) create mode 100644 wiki/log/2026-07-07-design-work-pinning.md diff --git a/DESIGN.md b/DESIGN.md index d5770918..7b65a977 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -146,6 +146,36 @@ attention; nobody can hover a corporation. Standing watches, alerts automated attention — you research away the need to look, at the same compute-for-attention price as every other automation. +## Work is somewhere + +Adopted 2026-07-07. Work processes are device-resident: a job is a thing +that runs *on a machine*, not a number in a sidebar. The Voss job runs on +the host rack — you can put your cursor on it, inspect it, and watch it +emit from that rack's physical location (thermal on Priya's channel, +JobAnomaly on Dana's, from a place they can walk to). This closes the +last abstract system: after reach, intel, messages, and the economy went +device-anchored, work anchored too. + +**Attended work.** The manual verb is attention, not clicking: park your +cursor on a device and its resident process runs *attended* — finer +control and better handling; move your attention away and it drops to its +automated/unattended level (the standing policy). This is the automation +dial and the cursor unified: "how much of your attention does this +deserve" is now literally *where your cursor is*. (Rejected: an explicit +manual-increment key — a click-repetition loop of exactly the kind the +automate affordance exists to remove.) + +**Destination: processes on machines.** The end state is that every +compute channel is a set of processes assigned to specific machines, and +the global allocation bar is an aggregate view of those assignments (the +same aggregation law as everything else). Staged deliberately: the +device-resident day job and attended work land first on the current +allocation model; the general reshape of compute.md waits until the +economy/income chain lands, so nothing is built against a moving channel +model. Until the reshape, the global bar remains the mechanic and the +device residency is honest presentation (the job genuinely runs on the +host — it is the only machine that hosts it). + ## Justification and legibility Adopted 2026-07-06. The forward half of no-dead-code: existence is not @@ -1576,3 +1606,15 @@ knows."* updated to the current direct-to-main process (the PR rule was removed 2026-07-07, after wiki.md was drafted). See DEVLOG.md for per-stage progress; spec/wiki.md Status tracks it live. +- **2026-07-07 — Work is somewhere: device-resident jobs, attended work.** + Cameron: day jobs should be pinned to devices/locations — the starting + server carries the job, and automation is device-specific. Adopted with + the cursor synthesis: the manual verb is cursor presence (attended work), + not an increment key. Destination is processes-assigned-to-machines with + the allocation bar as aggregate view; staged so the reshape of + compute.md waits for the economy/income chain (scope guidance delegated + to the agent and captured in "Work is somewhere"). Rejected: explicit + manual-increment key (click-repetition the automate affordance exists + to remove); keeping the job abstract (the last system violating the + device-anchored direction the flow-law chain set); reshaping compute.md + immediately (collides with the in-flight economy/income work orders). diff --git a/wiki/log/2026-07-07-design-work-pinning.md b/wiki/log/2026-07-07-design-work-pinning.md new file mode 100644 index 00000000..1f52498b --- /dev/null +++ b/wiki/log/2026-07-07-design-work-pinning.md @@ -0,0 +1,49 @@ +# 2026-07-07 — Design session: work is somewhere + +``` +Type: log +``` + +## The riff + +Cameron: day jobs should be pinned to something — automation as device- or +location-specific. The starting server might carry a "job" item you can +automate or even manually increment. + +## The synthesis + +After the flow-law chain landed today, the day job was the last abstract +system in the game: reach names devices, the economy is a reachable +accounting system, messages ride physical channels — and work arrived from +nowhere and happened nowhere. Pinning the job to the host rack makes the +oldest system obey the newest law and gives detection a *site* for job +emissions. + +The agent's addition, affirmed by Cameron: the manual verb is the cursor. +Park attention on the device and its process runs attended; move away and +it drops to the standing policy. Cursor-as-attention, the automation +dial, and device residency become one mechanic. An explicit +manual-increment key was rejected as the click-repetition loop the +automate affordance exists to remove. + +Scope guidance was delegated ("offer some guidance"): destination is +processes-assigned-to-machines with the allocation bar as aggregate view, +staged in two steps — device residency + attended work now (rides the +current allocation model), the compute.md reshape only after the +economy/income chain lands, so no in-flight work order builds against a +moving channel model. + +## Captured + +- DESIGN.md: new "Work is somewhere" section + decisions-log entry (with + rejected alternatives). +- wiki/mechanics/day-job.md: device-residency behavior section; criteria + 6 (inspectable at the host rack, emissions from its location) and 7 + (attended work, attendance as an explicit sim command so the cursor + stays frontend-only). +- wiki/mechanics/compute.md: destination + do-not-deepen warning in the + Status note. +- wiki/process/ROADMAP.md: #3 day-job order extended with criteria 6-7; + new #25 compute reshape (HOLD until #18/#19 land). + +No code in this commit; the amendment precedes the implementation. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 7ee94efe..c2fe74de 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -5,6 +5,18 @@ Type: log ``` Reverse chronological implementation notes. Keep this factual: what changed, why, checks, and spec impact. +## 2026-07-07 - Design session: work is somewhere + +- Decided: work processes are device-resident (the Voss job runs on the + host rack: inspectable there, emitting from there); the manual verb is + cursor presence (attended work), no increment key; destination is + processes-assigned-to-machines with the allocation bar as aggregate + view, staged after the economy/income chain. +- Captured: DESIGN.md "Work is somewhere" + decisions-log entry; + day-job.md criteria 6-7; compute.md destination note; ROADMAP #3 + extended, #25 compute reshape added (HOLD until #18/#19). +- Log: wiki/log/2026-07-07-design-work-pinning.md. Docs-only commit. + ## 2026-07-07 - Playability pass: the job is answerable - Intent: playtest finding — a new job gave the player nothing to act on, diff --git a/wiki/mechanics/compute.md b/wiki/mechanics/compute.md index 490cd4ed..d398da23 100644 --- a/wiki/mechanics/compute.md +++ b/wiki/mechanics/compute.md @@ -3,10 +3,16 @@ ``` Type: spec Status: IN PROGRESS -Status note: B1 slice implemented; see wiki/mechanics/sim-mechanics.md +Status note: B1 slice implemented; see wiki/mechanics/sim-mechanics.md. + 2026-07-07 destination adopted (constitution: "Work is somewhere"): + channels become processes assigned to specific machines, with the + global allocation bar as their aggregate view. The reshape is staged + AFTER the economy/income chain lands — do not build new systems that + deepen the global-channel assumption in the meantime. Stage: B1 — The Basement Constitution: "The shape of Misaligned" (compute allocation; the - buy/steal/optimize triangle), "Act One" (opening state) + buy/steal/optimize triangle), "Act One" (opening state), "Work is + somewhere" (destination: processes on machines) Depends on: core.md ``` diff --git a/wiki/mechanics/day-job.md b/wiki/mechanics/day-job.md index 78bcbb79..bd00d667 100644 --- a/wiki/mechanics/day-job.md +++ b/wiki/mechanics/day-job.md @@ -50,11 +50,33 @@ schedule. a soft loss where the basement starts shutting down around you (a survival scenario, not an instant game over). +## Device residency and attended work (adopted 2026-07-07) + +Constitution: "Work is somewhere". The active job is a process resident on +the host rack, not sidebar-only state: + +- The job is inspectable at the host rack's tile/node (cursor.md + provenance rules apply: name, band, delivered rate, deadline — the same + facts the panel shows, anchored where the work runs). +- Job emissions source from the host rack's location: Thermal/Power scale + with the delivered rate at that machine (Priya's channels), JobAnomaly + from sandbag/excel patterns (Dana's) — emitted where she can walk. +- **Attended work:** while the player's cursor is on the host rack, the + job runs attended: the target dial applies per-tick and the delivered + rate gains an attended bonus [TUNE, small]. Cursor elsewhere = the job + runs at the standing policy, unattended. No manual-increment key exists + (rejected in the decisions log). +- Until the compute.md processes-on-machines reshape (staged after the + economy/income chain), the day-job channel remains the global source of + delivered compute; residency governs inspection, emissions, and + attendance only. + ## Player surface Job queue panel: active jobs, deadlines, band, current projected quality, one-key target adjustment. Trust and attention shown as two meters on the -handler's card. +handler's card. The job is additionally inspectable at the host rack, and +the panel states attended/unattended. ## Acceptance criteria @@ -69,3 +91,12 @@ handler's card. 4. Standing policy ("always meet band") works, so the day job can be played hands-off at a cost in optimality. 5. Save/load round-trips jobs, trust, attention, and the pilot clock. +6. The active job is inspectable at the host rack with the same facts the + panel shows; its Thermal/Power/JobAnomaly signatures are emitted from + the host rack's location (a test asserts the emission site). +7. Attended work: with the cursor on the host rack the job runs attended + (dial applies, [TUNE] bonus rate); moving the cursor away drops it to + the standing policy. Both frontends surface the attended/unattended + state. (The cursor stays frontend-attention: the sim receives + attendance as a command-set state, mirroring how the cursor already + drives inspection.) diff --git a/wiki/process/ROADMAP.md b/wiki/process/ROADMAP.md index ac9fb25f..70174a68 100644 --- a/wiki/process/ROADMAP.md +++ b/wiki/process/ROADMAP.md @@ -53,15 +53,34 @@ but only once Pixel Lab quota is available again. (#2 Bevy parity is done.) log, in `worktree-bevy-parity`. ### 3. Day-job loop → IMPLEMENTED 🟥 sim+save -- **Spec:** [day-job.md](../mechanics/day-job.md) (IN PROGRESS) +- **Spec:** [day-job.md](../mechanics/day-job.md) (IN PROGRESS) — criteria + 6-7 added 2026-07-07 (device residency + attended work; constitution + "Work is somewhere"). The 2026-07-07 playability pass landed the panel + legibility slice (band vs delivered, deadline, the dial, shift-lower). - **Why:** jobs/trust/attention/pilot-clock exist in sim; verify every - acceptance criterion, add the terminal job panel, make trust/attention - legible. + acceptance criterion, anchor the job to the host rack (inspection, + emission site, attended work), make trust/attention legible. - **Size:** M. **Dispatch:** "Work in a worktree named `day-job`. Drive - wiki/mechanics/day-job.md to IMPLEMENTED: audit each acceptance criterion, add the + wiki/mechanics/day-job.md to IMPLEMENTED: audit each acceptance criterion + including the new device-residency and attended-work criteria 6-7, add the missing player surfaces, test the three outcomes + pilot shutdown. Run ./tools/check.sh, land on main, set Status." +### 25. Compute reshape: processes on machines 🟥 sim+save — HOLD until #18/#19 land +- **Spec:** [compute.md](../mechanics/compute.md) (destination in its + Status note; constitution "Work is somewhere") +- **Why:** every channel becomes processes assigned to specific machines; + the 1-4 allocation bar becomes the aggregate view. Decided 2026-07-07, + deliberately staged after the economy/income chain so nothing is built + against a moving channel model. +- **Size:** L. **Dispatch (once #18/#19 are landed):** "Work in a worktree + named `compute-processes`. Reshape compute.md's allocation into + processes-assigned-to-machines per the constitution's 'Work is + somewhere' destination: per-machine process lists, the allocation bar as + aggregate view, day-job/research/conceal/social re-expressed, save + migration, both frontends. Run ./tools/check.sh, land on main, update + compute.md and day-job.md Statuses." + ### 4. Detection → IMPLEMENTED 🟧 sim - **Spec:** [detection.md](../mechanics/detection.md) (IN PROGRESS) — [aggregate-observer.md](../mechanics/aggregate-observer.md) is now IMPLEMENTED. -- 2.51.2