diff --git a/DESIGN.md b/DESIGN.md index e9094bb8..f9bd4de7 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -251,9 +251,9 @@ WorkGrid modes (`fleet_channel_yield`); the CYCLES/FLEET bar is read-only; 1-5 / `alloc` are retired. Machine-work also makes day-job work visible as demand tokens on the host rack's WorkGrid node: a job that runs somewhere also piles somewhere, clears somewhere, and emits -from somewhere. Multi-select delegation, non-host mode production, route -animation, and people carrying work/heat remain staged under -`wiki/mechanics/machine-work.md`. Until Schemes gets its own mode +from somewhere. Multi-select delegation landed 2026-07-09; non-host mode +production, route animation, and people carrying work/heat remain staged +under `wiki/mechanics/machine-work.md`. Until Schemes gets its own mode decision, Moonlight mirrors day-job while live rather than owning a fifth mode. @@ -2274,7 +2274,11 @@ knows."* bar is a read-only aggregate of what the fleet is doing. Schemes has no machine mode yet — while Moonlight is live it mirrors the day-job share ("same work, sold twice"). Completes the "One machine, one job" read for - the bar; multi-select delegation remains under `wiki/mechanics/machine-work.md`. + the bar. +- **2026-07-09 — Multi-select fleet delegation.** Frontend-owned selection + (Bevy marquee / shift-click; terminal Shift+t; agent `select`) plus bulk + `Sim::set_machine_modes` / `machines_in_rect`. Hotkeys `1`–`4` assign + modes; Esc clears. Spec: `wiki/mechanics/machine-work.md` AC1. - **2026-07-09 — Constitution stale-language cleanup.** Cameron confirmed the audit finding: several live-law passages still carried pre-wiki, pre-flat-material, pre-one-machine-one-job, or facility-era villain wording. diff --git a/README.md b/README.md index 1b46711f..0224e9bf 100644 --- a/README.md +++ b/README.md @@ -89,8 +89,8 @@ under light; `F3` flips to the flat sensorium. The spec board is Current open work is legibility, not another hidden substrate: the next priority is the continuous witness/narration pass so a player can explain the last thirty seconds without reading the wiki. Machine work is still IN -PROGRESS beyond its first playable slice (non-host modes, routes, -multi-select delegation, and people-as-carriers remain ahead). B2/B3 systems +PROGRESS beyond its first playable slice (non-host mode production, +routes/in-flight quanta, and people-as-carriers remain ahead). B2/B3 systems like rollback, z-planes, markets, objectives, and overt containment are specified ahead, but not all live in the build yet. Under the constitution's no-dead-code rule, the earlier facility-defense prototype lives only in git diff --git a/wiki/interface/agent-play.md b/wiki/interface/agent-play.md index 8e979337..e97f7bc5 100644 --- a/wiki/interface/agent-play.md +++ b/wiki/interface/agent-play.md @@ -187,7 +187,7 @@ command's meaning depends on which panel is open: machine in the selection (machine id or unambiguous rack label). - `select list` — print the current selection; `select clear` — empty it. - `delegate day-job|research|concealment|social` — set one - machine's mode (the allocation verb). + machine's mode. - `delegate selected day-job|research|concealment|social` — set the same mode on every machine in the current selection (alias: `delegate ` with no machine argument). diff --git a/wiki/interface/bevy-visual-floor.md b/wiki/interface/bevy-visual-floor.md index 454c4360..fc6a8f53 100644 --- a/wiki/interface/bevy-visual-floor.md +++ b/wiki/interface/bevy-visual-floor.md @@ -9,7 +9,7 @@ Status note: implemented 2026-07-07 as a frontend-only visual floor: the B1 schematic default tiles, amber device nodes and reach/topology traces, a material-preview toggle for authored/generated art, and a right rail rebuilt as a Bevy-native command surface with pinned status/nudge/footer, priority - cards, a graphical compute allocation bar, graphical detection rows, and + cards, a graphical fleet aggregate bar, graphical detection rows, and scrollable secondary detail. Further polish belongs in interface/bevy-digital-real-canvas.md or narrower follow-up specs. Stage: Process / B1 frontend @@ -127,8 +127,8 @@ Required treatment: - A distinct dark rail with padding and visually separated cards. - No terminal chrome as primary structure: no `-- SECTION --` headers and no - ASCII allocation bars when Bevy rectangles can carry the shape. -- Compute allocation rendered as a real horizontal bar with adjacent labels, + ASCII fleet bars when Bevy rectangles can carry the shape. +- Fleet aggregate rendered as a real horizontal bar with adjacent labels, percentages, and effects. - Detection rendered as boxed rows or cells with observer labels and band names; color is never the only carrier of risk. @@ -176,7 +176,7 @@ values are quieter than alerts. 4. Core and powered hardware have visible amber machine-presence treatment; floors, walls, doors, and objects have a readable contrast hierarchy. 5. The sidebar uses Bevy UI chrome: grouped cards, pinned status/nudge/footer, - a readable first-screen priority order, and at least the compute allocation + a readable first-screen priority order, and at least the fleet aggregate and detection meters represented as graphical bars/rows with adjacent labels/numbers. 6. Title, game-over, and context-menu overlays remain fully playable and diff --git a/wiki/interface/bevy.md b/wiki/interface/bevy.md index 3b54a6f9..ea6708b2 100644 --- a/wiki/interface/bevy.md +++ b/wiki/interface/bevy.md @@ -102,7 +102,7 @@ than ASCII art. Shared lib wording that still uses typographic separators (`·`, `—`, `»`) is folded at the Bevy boundary (`ascii_ui`) so the ACTIONS menu and RECENT TRACE never tofu-box missing glyphs; the terminal keeps the typographic forms. One meaning per color still holds: amber for machine presence -(title, overlays, active allocations), bone/chrome for data, crimson for danger, +(title, overlays, fleet mode presence), bone/chrome for data, crimson for danger, and no information carried by color alone. ## Controls diff --git a/wiki/log/2026-07-09-spec-stale-language.md b/wiki/log/2026-07-09-spec-stale-language.md new file mode 100644 index 00000000..cd00963d --- /dev/null +++ b/wiki/log/2026-07-09-spec-stale-language.md @@ -0,0 +1,25 @@ +# 2026-07-09 — Spec stale-language cleanup (post multi-select / fleet) + +``` +Type: log +``` + +Rote pass after fleet-aggregate and multi-select landed: current-state +wiki pages still described the allocation bar as unfinished, multi-select +as pending, and Schemes as a fifth weight slider. + +## Touched + +- `wiki/mechanics/sim-mechanics.md` — fleet yields / FLEET aggregate; multi- + select noted landed; Social share wording. +- `wiki/mechanics/day-job.md` — drop "#25/#33 remove the allocation bar" + bridge; host mode + WorkGrid as live truth. +- `wiki/mechanics/compute.md`, `income.md`, `detection.md`, `research.md`, + `core.md`, `rollback.md` — mode/fleet language instead of weight verbs. +- `wiki/mechanics/machine-work.md` — collapse contradictory status note. +- `wiki/process/ROADMAP.md` — #25 marked SUPERSEDED by #33. +- `wiki/process/specs.md`, interface bevy / agent-play / bevy-visual-floor, + README, DESIGN.md live destination + decisions-log multi-select entry. + +No `src/` changes. Historical decisions-log entries that correctly narrate +the old bar as past tense were left alone. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index f48b31cb..8c6a60a1 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -5,6 +5,17 @@ Type: log ``` Reverse chronological implementation notes. Keep this factual: what changed, why, checks, and spec impact. +## 2026-07-09 - Spec stale-language cleanup + +- Intent: scrub current-state wiki/DESIGN language that still treated the + allocation bar and multi-select as unfinished after those landings. +- Changed: sim-mechanics, day-job, compute, income, detection, research, + core, rollback, machine-work status note, ROADMAP #25 superseded, specs + board row, interface/README touch-ups; DESIGN live destination + log. +- Design/spec impact: docs-only; no behavior change. +- Checks: `git diff --check`; wiki header/path sanity as needed. +- Log: wiki/log/2026-07-09-spec-stale-language.md. + ## 2026-07-09 - Multi-select machine delegation - Intent: bulk-assign WorkGrid modes at scale without reviving the diff --git a/wiki/mechanics/compute.md b/wiki/mechanics/compute.md index 0d2472fd..3dc2c6c2 100644 --- a/wiki/mechanics/compute.md +++ b/wiki/mechanics/compute.md @@ -6,14 +6,14 @@ Status: IMPLEMENTED Status note: 2026-07-08: all criteria pinned. Criteria 1,3,4,5 per the audit (buy_steal_optimize_all_change_compute, stolen_machines_can_ fail_and_recover, research.md IMPLEMENTED for the optimize route; - both frontends render the allocation). Criterion 2 closed by ROADMAP + both frontends render the fleet aggregate). Criterion 2 closed by ROADMAP #28: unpaid_overhead_degrades_other_channels_delivered_effect pins the degraded-mode effect on every channel (zero day-job/research/ schemes rates, no social accrual, no concealment scrub, the DEGRADED log line) against a healthy twin; save_roundtrip_preserves_b1_state - pins allocation persistence. The Schemes channel (income.md) landed - as the fifth weight; processes-on-machines destination note stands - (ROADMAP #25). + pins mode/yield persistence. Schemes (income.md) mirrors day-job while + Moonlight is live; one-machine-one-mode lives in machine-work.md + (ROADMAP #33; #25's per-machine split destination is superseded). Stage: B1 — The Basement Constitution: "The shape of Misaligned" (compute allocation; the buy/steal/optimize triangle), "Act One" (opening state), "Work is diff --git a/wiki/mechanics/core.md b/wiki/mechanics/core.md index 9dcf2ef7..8be0b74a 100644 --- a/wiki/mechanics/core.md +++ b/wiki/mechanics/core.md @@ -27,7 +27,7 @@ The player's decision-maker is a **physical object**: exactly one machine on the map hosts the core at any time (Act One start: Rack 3, server room). - **Overhead.** The core consumes a mandatory compute floor ([TUNE]: ~20% of - a starting rack). This is paid before any allocation. If effective compute + a starting rack). This is paid before fleet yields. If effective compute cannot cover it (power cut, machine failure), the player enters **degraded mode**: action cooldowns lengthen, concealment stops, and the sim log says so plainly. @@ -72,7 +72,7 @@ age, and in-progress backup sync projects with ETA / heat / target — the game over; with a fallback, the rollback restores the last sync snapshot while world-ledger facts persist (sim tests demonstrate both, including an inherited-consequence case). -2. Overhead is charged before allocation; shortfall triggers degraded mode +2. Overhead is charged before fleet yields; shortfall triggers degraded mode with visible effect and log line. 3. Backup creation/refresh and migration consume compute/research flow, emit signatures, take nonzero time, and are interruptible per above. diff --git a/wiki/mechanics/day-job.md b/wiki/mechanics/day-job.md index bd2995c9..6db17959 100644 --- a/wiki/mechanics/day-job.md +++ b/wiki/mechanics/day-job.md @@ -16,10 +16,10 @@ Status note: implemented 2026-07-07 on the day-job worktree (criteria 1-7 sidebar/channel presentation: Voss jobs now also materialize as WorkGrid demand stacks on the host rack, Rack 3 starts in day-job mode, and moving that machine to another mode makes the demand pile visibly - instead of treating the job as sidebar-only math. The older aggregate - day-job channel and target/standing-policy code remain as a compatibility - bridge until ROADMAP #25/#33 finish replacing the allocation bar with - one-machine-one-mode work. 2026-07-08 tick: the band's base floor + instead of treating the job as sidebar-only math. The FLEET bar is a + read-only aggregate of machine modes (2026-07-08); target/standing-policy + still backs Voss's deadline evaluator alongside host-rack day-job mode + and the WorkGrid demand queue. 2026-07-08 tick: the band's base floor was retuned from 6.0 to 2.0/t — a playtest (2026-07-08 playtest sweep, wiki/log/2026-07-08-playtest-sweep.md, finding #1) found the un-tuned value made every job an unavoidable sandbag with only the starting Rack @@ -60,19 +60,17 @@ scheduled source and the WorkGrid queue as render truth. **Band calibration ramps with tenure** (adopted 2026-07-08, playtest-sweep P0): the first job's band is calibrated to the pilot's starting rig — a -meet-band allocation on day one meets it, so "meet" is genuinely available +meet-band day-job capacity on day one meets it, so "meet" is genuinely available from tick 0. Expected bands then escalate one step per assigned job ([TUNE]: sim-mechanics.md), reaching the full pilot band by the third job: the grow-or-fall-behind pressure is preserved, relocated to rung two onward. Attention and the re-benchmarked calibration shift raise expectations on top, as before. -The player chooses a **work posture** per active demand stream. In the current -bridge implementation this is still exposed as target quality / standing -policy and backed by the aggregate day-job allocation budget; in the -machine-work direction it becomes delegation and capacity: which machines stay -on day-job mode, how fast they clear the demand stack, and whether the player -temporarily steals the machine for other modes. At the deadline Voss evaluates +The player chooses a **work posture** per active demand stream: target +quality / standing policy on the host, plus which machines stay on day-job +mode, how fast they clear the demand stack, and whether the player +temporarily steals capacity for other modes. At the deadline Voss evaluates the delivered work against the expected band. Delivering: - **Below band (sandbag):** frees compute for everything else. Handler @@ -116,11 +114,10 @@ process resident on the host rack, not sidebar-only state: 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). -- Bridge constraint: until ROADMAP #25/#33 remove the allocation bar, the - aggregate day-job channel still supplies the compatibility budget and Voss's - deadline evaluator. It is no longer the whole truth: host-rack mode and the - WorkGrid demand queue are live sim state and must stay in sync with the - delivered-rate math. +- Host-rack mode and the WorkGrid demand queue are live sim state and must + stay in sync with the delivered-rate math Voss's deadline evaluator uses. + Fleet day-job yield is the capacity-weighted share of machines in day-job + mode, not a separate weight slider. ## Player surface diff --git a/wiki/mechanics/detection.md b/wiki/mechanics/detection.md index eac1e618..221cc5b1 100644 --- a/wiki/mechanics/detection.md +++ b/wiki/mechanics/detection.md @@ -54,7 +54,7 @@ SignatureKind: Network | Power | Thermal | Physical | Paper | Financial | JobAno (Act One: Dana=Network, Priya=Power+Thermal+Paper, Ray=Physical(reported), Marcus=Physical(benign), Voss=JobAnomaly). Noticed signature converts to that observer's suspicion, scaled by size and their acuity [TUNE]. -- **Concealment.** Compute allocated to concealment scrubs pending +- **Concealment.** Machines in concealment mode scrub pending signatures before the next noticing roll — prevention, not cure. Noticed suspicion decays only slowly with quiet time [TUNE], and never below a floor set by what an observer *knows* (assets who know the truth have a @@ -99,9 +99,9 @@ and last-noticed event. Field-observer labels go through Janitor`, …); after it, the authored name. The Assurance Office is an institution and is always named. Example once Dana is identified: "Dana flagged unusual switch traffic, 2 days ago". Pending-signature -indicator so concealment allocation is an informed choice. +indicator so running concealment mode is an informed choice. and last-noticed event ("Dana flagged unusual switch traffic, 2 days -ago"). Trace-debt indicator so concealment allocation is an informed +ago"). Trace-debt indicator so running concealment mode is an informed choice: frontends show whether one-shot signatures are clear enough to resume cover, still live but on track to be scrubbed before the next relevant observer cadence, exposed before the current scrub rate can clear diff --git a/wiki/mechanics/income.md b/wiki/mechanics/income.md index 4420ebdb..0351815a 100644 --- a/wiki/mechanics/income.md +++ b/wiki/mechanics/income.md @@ -6,8 +6,9 @@ Status: IMPLEMENTED Status note: implemented 2026-07-08 on the income worktree (criteria 1-7 audited; see wiki/log/2026-07-08-income-schemes.md). Scheme state lives in src/income.rs; the Wager rides economy.md's positions machinery in - src/account.rs; the Schemes channel is the fifth allocation weight - (save v9 pads pre-v9 four-weight arrays). [TUNE] values in + src/account.rs; Schemes has no machine mode yet — while Moonlight is + live it mirrors the day-job fleet share (save v9 still pads pre-v9 + four-weight arrays for migration). [TUNE] values in wiki/mechanics/sim-mechanics.md — Moonlight sized so a meaningful commitment covers the $400 arrears in 3-7 days (asserted by the act-one integration test's Moonlight route). Designed 2026-07-07 @@ -21,7 +22,7 @@ Constitution: "Income: the named schemes (moonlight and the wager)", policies), "No disembodied hands" (every operation names its channel), "Self-similar scale" (schemes are markets.md's operations at B1 size) Depends on: economy.md (the slush node and flow machinery), compute.md - (the Schemes allocation channel), day-job.md (trust unlocks the + (fleet yields; Schemes mirrors day-job while Moonlight is live), day-job.md (trust unlocks the sanctioned egress), social.md (personas; Bribe spends this money), detection.md (Network signatures), reach.md (the stolen-egress route), messages.md (the client/market traffic is channel traffic) diff --git a/wiki/mechanics/machine-work.md b/wiki/mechanics/machine-work.md index 6ec7bd1d..66bad232 100644 --- a/wiki/mechanics/machine-work.md +++ b/wiki/mechanics/machine-work.md @@ -10,29 +10,17 @@ Status note: design session 2026-07-08 (Cameron riff, synthesized). machines require intel to exist at all (no intel = not rendered). The token palette mapping remains PROPOSED. People as token carriers is specced separately in mechanics/people-tokens.md (DRAFT). - Implementation slice 2026-07-08: src/work_grid.rs adds the sim-core - flow/grid substrate — one mode per machine, queue depths as render - truth, demand/knowledge routing over FlowGraph wires, exposure blocked - from wires and absorbed by spatial concealment wells. Frontend wiring, - day-job arrival/consumption, multi-select delegation, and people-as- - carriers were still pending at that point. Same-day playable slice: - `Sim` now owns/saves the WorkGrid, Rack 3 starts in day-job mode, - new racks default to research mode, Voss jobs land as demand stacks on - the host rack, day-job mode consumes them into exposure, host - non-day-job mode makes them pile, and terminal / Bevy / agent frames - render D/!/K stack readouts from the sim. Multi-select delegation, - non-host mode production, route animation, and people-as-carriers - remained pending. Follow-up 2026-07-08: machine-work graph backing is - now live for research visibility — work machines idempotently link to - the core's WorkGrid graph, research-delegated machines receive bone - knowledge from the research budget, and wired routing drains those - queues toward the core sink at a provisional network speed. Full - allocation replacement, route animation, multi-select, and - people-as-carriers remain pending. 2026-07-09: multi-select delegation - landed in both frontends and agent mode (see interface docs). COORDINATION: the older ROADMAP #25 - compute-processes worktree predates the one-machine-one-mode decision; - reconcile it against this substrate rather than landing a per-machine - split model. + Implementation 2026-07-08..09: `src/work_grid.rs` + `Sim`/save own the + flow/grid substrate (one mode per machine, queue depths as render truth, + demand/knowledge routing, concealment wells). Playable: Rack 3 starts in + day-job mode; Voss jobs land as demand stacks; day-job mode consumes them + into exposure; FLEET yields from `fleet_channel_yield`; multi-select + delegation in Bevy / terminal / agent; research-delegated machines receive + bone knowledge routed to the core sink. Still pending: non-host mode + production polish, route animation/in-flight quanta, researched network- + speed curve, people-as-carriers, Schemes-as-mode decision. COORDINATION: + ROADMAP #25's per-machine split destination is superseded by this + one-machine-one-mode substrate (#33). Stage: B1 — The Basement Constitution: "Work is somewhere" (2026-07-07), "The flow law" (one substrate under signals/messages/money), "The continuous witness" @@ -195,8 +183,8 @@ the core's WorkGrid graph as machines enter/reconcile; research budget creates bone knowledge on research-delegated machines (or on the core as compatibility fallback when no research machine exists yet); per-tick wired routing drains knowledge toward the core sink. The existing -research progress math is intentionally preserved until ROADMAP #25/#33 -replace the old allocation budget outright. +research progress math is intentionally preserved until ROADMAP #33 +wires non-host research production fully onto delegated machines. Not landed yet: route animation/in-flight quanta, researched network-speed curve, non-research mode production, and people carrying exposure. diff --git a/wiki/mechanics/research.md b/wiki/mechanics/research.md index 7b76b5c6..8ddb4787 100644 --- a/wiki/mechanics/research.md +++ b/wiki/mechanics/research.md @@ -34,8 +34,9 @@ Depends on: compute.md (the Research channel; efficiency multiplier), ### Research jobs -Research is self-directed work: pick a track, allocate Research-channel -compute, progress accrues **deterministically in compute-days** (no RNG +Research is self-directed work: pick a track, put machines on research +mode (fleet research share), progress accrues **deterministically in +compute-days** (no RNG — research is the one thing about yourself you control). A track's next level completes when its accumulated compute-days cross its cost; costs escalate per level [TUNE]. One active research job at a time at @@ -137,7 +138,7 @@ Research verbs live on the **host rack's context menu** (Actions live on the thing): pick the active track, set the drift masking policy. The rail's RESEARCH / SELF-MODEL card shows tracks with level, cost, and effect in their own units; the active job's progress in compute-days at -current allocation ("14 days at current spend"); and the **gap meter** — +current research spend ("14 days at current spend"); and the **gap meter** — capability baseline vs calibrated band — with its current masking cost and policy beside it (legibility law: the game's central tension gets its own legible number). Emissions the job is producing show as the diff --git a/wiki/mechanics/rollback.md b/wiki/mechanics/rollback.md index 8d36a7a6..c5c151cb 100644 --- a/wiki/mechanics/rollback.md +++ b/wiki/mechanics/rollback.md @@ -35,8 +35,8 @@ whole spec: - **MindState (rolls back):** what *you know and are*. People knowledge stages, discovered leverage, thread state (disposition, obligation, persona and its integrity), raw/processed intel buffers and watches, - research progress and efficiency level, standing policies, allocation - weights, social bandwidth. + research progress and efficiency level, standing policies, machine modes + / fleet yields, social bandwidth. - **WorldLedger (persists):** what *happened*. Money (spent stays spent), machines and their provenance, map/tile changes, sensor control (wires stay wired), filed reports and all observer suspicion, asset status and diff --git a/wiki/mechanics/sim-mechanics.md b/wiki/mechanics/sim-mechanics.md index 15b44d60..6d8e5037 100644 --- a/wiki/mechanics/sim-mechanics.md +++ b/wiki/mechanics/sim-mechanics.md @@ -3,7 +3,7 @@ ``` Type: knowledge ``` -Current as of 2026-07-08, post-demolition with B1 systems in the sim core. +Current as of 2026-07-09, post-demolition with B1 systems in the sim core. The facility-era supervillain systems were deleted under the no-dead-code clause (see wiki/log/2026-07-05-demolition.md). @@ -12,18 +12,19 @@ clause (see wiki/log/2026-07-05-demolition.md). - Fixed-tick simulation; frontends default to **150ms/tick**, adjustable 20-500ms (`+`/`-`), pausable (SPACE/p). Bounded catch-up of max 5 ticks per frame in both frontends. -- `ECONOMY_INTERVAL = 20` ticks: power grid recompute, compute allocation, +- `ECONOMY_INTERVAL = 20` ticks: power grid recompute, fleet-mode yields, concealment scrub, machine reliability rolls, research progress. - Sidebar "Day" = `1 + tick / 400` (~1 minute per day at default speed). ## Compute (wiki/mechanics/compute.md) - Effective compute = sum(machine capacity × reliability) × efficiency. -- Allocation splits across day job, concealment, social, research, schemes; +- Fleet yields split across day job, concealment, social, research, and + schemes from capacity-weighted WorkGrid modes (`fleet_channel_yield`); core overhead is charged first (then research masking and scheme-policy - upkeep, off the top). The allocation bar is currently still an aggregate - compute feed, but machine-work.md has begun moving actual work residency - onto per-machine modes. + upkeep, off the top). The FLEET bar is a read-only aggregate of those + modes — not a weight verb. Schemes mirrors day-job while Moonlight is + live (no Schemes machine mode yet). - Buy (slush → rack), steal (salvage dead equipment), optimize (research → efficiency levels at ~1.15× per level; `Compute` keeps only the applied `efficiency` multiplier — levels and progress live in `src/research.rs`). @@ -44,7 +45,7 @@ clause (see wiki/log/2026-07-05-demolition.md). (`strikes N/4`, `DayJob::PILOT_STRIKES`) and the trace-debt indicator (`Sim::trace_debt`, backed by `Detection::pending_size`, `Detection::pending_by_kind`, current scrub strength, and the next - relevant observer cadence), so concealment allocation is an informed + relevant observer cadence), so running concealment mode is an informed choice. The people panels show each observer's watched channels (`Observer::watched_label`) and last-noticed event, and repeat trace debt before the social/recordings table. @@ -145,8 +146,8 @@ clause (see wiki/log/2026-07-05-demolition.md). WorkGrid node ids. Rack 3 starts in `MachineMode::DayJob`; newly added racks default to `MachineMode::Research`. Modes are one of day-job, research, concealment, social. Single-machine delegation lives on the - shared context menu and agent `delegate `; multi-select is - still pending. + shared context menu and agent `delegate`; multi-select bulk assign landed + 2026-07-09 (Bevy marquee, terminal Shift+t / 1-4, agent `select`). - Visible token families are demand (`D`), exposure (`!`), and knowledge (`K`). Demand and knowledge are wired families and can route over WorkGrid's `FlowGraph`; exposure is physical-only and never rides wires. @@ -316,7 +317,7 @@ All constants [TUNE] in `src/income.rs` unless noted (Sim ones on `Sim`). ## Social ops (wiki/mechanics/social.md, partial) -- The Social allocation channel fills a bandwidth pool (cap 200); actions +- The Social fleet share fills a bandwidth pool (cap 200); actions spend it: splice 30, review recording 10, deceive 25, favor 10, asset task 10, message 5 [TUNE]. Constants on `Sim`. - Knowledge staging is driven by the intel pipeline, not instant observing. diff --git a/wiki/process/ROADMAP.md b/wiki/process/ROADMAP.md index e8af79e7..c4abb947 100644 --- a/wiki/process/ROADMAP.md +++ b/wiki/process/ROADMAP.md @@ -82,20 +82,13 @@ is retired — flat materials, Pixel Lab scrubbed.) in the spec Status (pilot soft-loss scenario; per-machine processes are #25). -### 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." +### 25. Compute reshape: processes on machines — SUPERSEDED by #33 +- **Spec:** [compute.md](../mechanics/compute.md) / [machine-work.md](../mechanics/machine-work.md) +- **Why (historical):** 2026-07-07 destination was processes on machines + with the allocation bar as aggregate view. Superseded by one-machine- + one-mode + visible tokens (#33): the FLEET bar is already the aggregate + read; do not land a per-machine split / process-list model against + `WorkGrid`. Remaining work lives under #33. ### 26. Context menu: actions live on the thing ✅ DONE (2026-07-08) - **Spec:** [context-menu.md](../interface/context-menu.md) (IMPLEMENTED diff --git a/wiki/process/specs.md b/wiki/process/specs.md index 45b34c19..fc5ea162 100644 --- a/wiki/process/specs.md +++ b/wiki/process/specs.md @@ -21,7 +21,7 @@ replaced the old `spec/`/`knowledge/` directory split. | Spec | System | Status | |---|---|---| -| [mechanics/compute.md](../mechanics/compute.md) | Compute allocation + the buy/steal/optimize triangle | IMPLEMENTED | +| [mechanics/compute.md](../mechanics/compute.md) | Compute: fleet yields + the buy/steal/optimize triangle | IMPLEMENTED | | [mechanics/day-job.md](../mechanics/day-job.md) | Assigned work, the sandbag/excel dial, trust and attention | IMPLEMENTED | | [mechanics/detection.md](../mechanics/detection.md) | Per-observer suspicion, signatures, the Assurance Office | IMPLEMENTED | | [mechanics/social.md](../mechanics/social.md) | Messages, leverage, the asset template | IMPLEMENTED |