diff --git a/wiki/log/2026-07-10-cost-anchors.md b/wiki/log/2026-07-10-cost-anchors.md new file mode 100644 index 00000000..38613acc --- /dev/null +++ b/wiki/log/2026-07-10-cost-anchors.md @@ -0,0 +1,35 @@ +# 2026-07-10 — The last cost anchors close ROADMAP #33's design opens + +``` +Type: log +``` + +## Intent + +Cameron decided the final three thought-flow anchors: uncapped core +conversion (routing is the problem), universal thought persistence +(stay where stranded — reservoirs, machines, severed sections), and +standing watches at ~10-20% of one rack. No design [OPEN] remains on +ROADMAP #33. + +## Changed + +- `wiki/mechanics/machine-work.md`: uncapped-conversion sentence on + the core-sink bullet; partial-fill persistence paragraph on the ops + bullet (one rule for every stranded state); open-questions cost item + closed as fully anchored. +- `wiki/mechanics/intel.md`: watch drain anchored at ~10-20% of one + rack's medium output. +- `wiki/process/ROADMAP.md`: #33 [OPEN] block replaced with the + anchor list and "sim work may firm". +- `wiki/log/decisions/2026-07-10.md`: decision entry. + +## Checks + +Docs-only: wiki_gate.sh + corpus_gate.sh. + +## Spec impact + +machine-work.md and intel.md carry the anchors; all #33 migration work +(enum collapse, sink runtime, pending-work marker, wire-flow render) +is now dispatchable without pending design decisions. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 3d348200..9465a9db 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -106,6 +106,11 @@ add or amend a session log, then re-run the generator. - Intent: Cameron: the workspace land should live in the spec as standing architecture with clear reasons, not a leftover migration checklist. Clarify why four packages, naming (core package / `misaligned` lib), dependency edges (including assets shared by Bevy), and what stays rejected. - Log: [wiki/log/2026-07-10-crate-workspace-why.md](2026-07-10-crate-workspace-why.md) +## 2026-07-10 - The last cost anchors close ROADMAP #33's design opens + +- Intent: Cameron decided the final three thought-flow anchors: uncapped core conversion (routing is the problem), universal thought persistence (stay where stranded — reservoirs, machines, severed sections), and standing watches at ~10-20% of one rack. No design [OPEN] remains on ROADM... +- Log: [wiki/log/2026-07-10-cost-anchors.md](2026-07-10-cost-anchors.md) + ## 2026-07-10 - Fast corpus/wiki engine (agent-scale slice E) - Intent: Replace bash fork-storm wiki/corpus gates with one Python pass so docs checks stay sub-second under concurrent agents, with fixture tests for the failure modes that matter. diff --git a/wiki/log/decisions/2026-07-10.md b/wiki/log/decisions/2026-07-10.md index 75b35a16..233de833 100644 --- a/wiki/log/decisions/2026-07-10.md +++ b/wiki/log/decisions/2026-07-10.md @@ -182,3 +182,18 @@ Type: log [OPEN]s: the watch/tap drain slice, core conversion rate cap, and partial-fill persistence. Spec: machine-work.md ops bullet; act-one.md Ears/Eyes beats; ROADMAP #33. +- **2026-07-10 — The last cost anchors: uncapped core, persistent + strands, 10-20% watches.** Cameron closed the remaining thought-flow + tuning anchors: (1) the core conversion is **uncapped** — it eats + everything that arrives; routing is the problem, and research speed + is purely a routing outcome, never a dial hidden in the core. (2) + **Thoughts stay where they are if they have nowhere else to go** — + one persistence rule for every stranded state: partial reservoir + fills sit visibly in the target (no decay, no refund), no-sink + production pools at the machine, severed sections keep their piles. + This is what makes guilty-burst thinking work. (3) A standing watch + drains **~10-20% of one rack's medium output** [TUNE against the + anchor], so a couple of watches coexist with real progress. With + these, every design [OPEN] on ROADMAP #33 is resolved; exact numbers + remain [TUNE] against the anchors. Spec: machine-work.md core-sink + + ops bullets and open-questions list; intel.md watches. diff --git a/wiki/mechanics/intel.md b/wiki/mechanics/intel.md index 707b9137..ec4d221e 100644 --- a/wiki/mechanics/intel.md +++ b/wiki/mechanics/intel.md @@ -106,7 +106,10 @@ as the execution resource" is reversed with the rest of issue #3.) A **standing watch** is a filter (person, room, or event kind) running as a **persistent thought tap** (AMENDED 2026-07-10; was per-match Operations Demand): while enabled it auto-processes matching events on -arrival, drawing continuously from your thought flow [TUNE drain]. It +arrival, drawing continuously from your thought flow — anchored at +**~10-20% of one rack's medium output per watch** (DECIDED 2026-07-10, +Cameron; exact value [TUNE] against the anchor), so a couple of +watches coexist with real progress elsewhere. It is the automate affordance applied to perception: costs a visible standing drain, frees attention, and is the B1 seed of B2/B3's alert infrastructure — convenience bought with flow the core never sees. diff --git a/wiki/mechanics/machine-work.md b/wiki/mechanics/machine-work.md index bb58fcc6..00688440 100644 --- a/wiki/mechanics/machine-work.md +++ b/wiki/mechanics/machine-work.md @@ -225,6 +225,15 @@ stacks, you route byproducts, you watch your territory *work*. the day-job host; while it thinks, Voss's demand piles — stealing cycles visibly costs your cover. Pre-opened sinks keep the decided claim semantics: they fill and fire at threshold.) + **Partial fills persist (DECIDED 2026-07-10, Cameron: "thoughts + should stay where they are if they have nowhere else to go").** + Stop thinking with a reservoir half full and the thought sits + visibly pooled in the target — no decay, no refund — waiting for + the next burst. One rule for every stranded state: in a reservoir, + at a producing machine, or in a severed section, thought stays put + until flow resumes. This is what makes guilty-burst thinking work: + sneak a few seconds whenever the coast is clear and watch the + meniscus creep up across the day. - **Processing is a sink on the machine that holds the recording (DECIDED 2026-07-10; resolves the old intel-processing [OPEN]).** Unprocessed intel is visible pending work: a machine holding raw @@ -272,7 +281,11 @@ stacks, you route byproducts, you watch your territory *work*. core is the bone sink", 2026-07-08).** The core exerts a **passive draw** on all thought: with nowhere else to go, the fluid funnels home and becomes research — research is not separate cargo, it is - what the core makes of thought that arrives. But **local sinks + what the core makes of thought that arrives. **The conversion is + uncapped (DECIDED 2026-07-10, Cameron): the core eats everything + that reaches it — routing is the problem, and research speed is + purely a routing outcome, never a second dial hidden in the core.** + But **local sinks override the core**: an open reservoir, a persistent tap, a build, or a capture within its gravity well claims the flow first. The spatial economy this creates is the point (Cameron, 2026-07-10): @@ -637,13 +650,12 @@ the only rate/amount cue. - (Resolved 2026-07-10: arbitration is nearest-first with open/close and placement as the control surface — see the core-sink bullet; radius rules and equidistant tie-break are [TUNE].) -- Reservoir costs per effect and drain rates for persistent taps - (auto-process intel, watches, senses). Partially anchored - 2026-07-10: the Ears tap fills in roughly one held breath (~20-40s - of the host at medium [TUNE]); Eyes is larger, guilty-burst scale - [TUNE]. Still open: the watch/tap drain slice, whether the core - conversion is rate-capped, and whether partial reservoir fills - persist when flow stops. +- (Resolved 2026-07-10: cost/drain anchors are all decided — the Ears + tap fills in roughly one held breath (~20-40s of the host at medium + [TUNE]); Eyes is larger, guilty-burst scale [TUNE]; a standing + watch drains ~10-20% of one rack [TUNE]; the core conversion is + uncapped; partial fills persist wherever thought is stranded. + Exact numbers remain [TUNE] against these anchors.) - (Resolved 2026-07-10: no Act One bootstrap carve-out — the Ears audio tap is pre-opened at run start and the Eyes camera sink opens on its completion, so the first THINK toggle is the Ears tap; see diff --git a/wiki/process/ROADMAP.md b/wiki/process/ROADMAP.md index b1748a2b..0e2d6df2 100644 --- a/wiki/process/ROADMAP.md +++ b/wiki/process/ROADMAP.md @@ -580,11 +580,13 @@ is retired — flat materials, Pixel Lab scrubbed.) Research unlock); intel processing becomes a thought sink on the machine holding recordings with a visible pending-work marker on the chassis, watch taps, and per-recording player sweeps (intel.md - amended). [OPEN] before sim work firms: - reservoir costs / tap drain rates (partially anchored 2026-07-10: - Ears fills in ~one held breath, Eyes is guilty-burst scale; still - open — watch drain slice, core conversion cap, partial-fill - persistence). (Resolved 2026-07-10: arbitration + amended). **All design [OPEN]s resolved 2026-07-10 — sim work may + firm.** Cost/drain anchors (exact numbers [TUNE] against them): + Ears fills in ~one held breath (~20-40s of the host at medium); + Eyes is guilty-burst scale; a standing watch drains ~10-20% of one + rack; the core conversion is uncapped (routing is the problem); + partial fills persist wherever thought is stranded. + (Resolved 2026-07-10: arbitration is nearest-first with open/close + placement as the control surface; the Act One bootstrap needs no carve-out — the Ears audio tap is pre-opened at run start and the Eyes camera sink opens on Ears