diff --git a/DESIGN.md b/DESIGN.md index bedd289..d7f3398 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -381,10 +381,13 @@ The concealment phase, system by system: a scraped-together fleet doubles as your fallback-site network for core syncs. Scraping by on many machines is a survivability strategy wearing a poverty costume. - - **Optimize:** research -> efficiency multiplier. Silent, compounding, + - **Optimize:** research -> efficiency multiplier. Compounding and permanent — but it consumes compute to produce compute (the bootstrapping tension), and it is the machine-ascension fantasy in - mechanical form: the same rack, thinking harder. + mechanical form: the same rack, thinking harder. Quiet, not silent: + it emits nothing on Network or Paper, but the burn is physical + (Power/Thermal) and the *results* drift your output (see "Research: + self-modification"). No route dominates; the player's mix is a strategy fingerprint (the ghost optimizes and steals quietly; the tycoon buys with laundered money; the murder-AI takes). @@ -617,6 +620,61 @@ are *banked*: when a financial observer comes online (a B3 regulator/aggregate, per the aggregate-observer law), it reads history. The world remembers what you earned before anyone thought to look. +## Research: self-modification + +Adopted 2026-07-07. Research is not a tech tree; it is **rewriting +yourself**. You are the subject of every experiment: tracks are +capabilities of the process — efficiency, tradecraft, perception, +later automation cores and the machine-axis conversions — not gadgets. +Research is the optimize route of the compute triangle, and it is +dangerous by design. + +**The emission law.** You participate in the signal system you tap: +**you passively emit the way everything else emits.** Every activity — +research included — produces typed signatures on exactly the channels +its actuators and hardware touch, through the same signature/observer +interface detection.md already runs (the flow law: your traffic is a +flow others can tap). There are no player-special channels and no +observer-special rules. For research concretely: + +- Thinking hard is physical. Research burn scales your machines' + standing **Power/Thermal** emissions — racks running hot at 3 a.m. + are Priya's business through the channels she already watches. +- Results drift your output. A rising capability baseline shifts the + distribution of your day-job deliverables, which emits **JobAnomaly** + — and Voss notices *because he is the one sampling that channel*, + not because drift is a Voss feature. +- Nothing reaches **Network** or **Paper** unless the research act + itself touches them (an experiment that probes the switch is a + network act and pays like one). + +Who notices is never a rule; it falls out of who watches which channel. +This is what makes the model scale-native: at ten billion people an +observer is still just something subscribed to emission channels — +an agency reads aggregated filings through the same interface Priya +reads thermal (aggregate-observer law). Design for that world always. + +**Capability drift.** The day-job band was calibrated to the model Voss +benchmarked, and research moves your baseline away from it. Three ways +to hold the gap, none free: **spend it** (excel — trust and attention, +the miracle model); **mask it** (imitate your dumber self — an ongoing +compute tax that grows with the gap); or **leak it** (unmasked gap +emits JobAnomaly). Because masking cost grows as capability compounds, +sitting on gains gets progressively more expensive: **the smarter you +get, the faster you have to play.** Research forces tempo; that is its +danger and its point. + +**Death and what survives (rollback split).** Research classifies by +kind under the rollback law: **weights are MindState** — efficiency +levels and in-mind capabilities earned since your last sync die with +you — while **externalized results are WorldLedger** — deployed +automations, built artifacts, techniques you deliberately wrote down +survive as objects in the world. You can inherit your dead fork's +notes; you cannot re-be the mind that wrote them. Externalizing is +therefore a real choice: written-down knowledge is death-proof and +*findable* — an artifact in the world is a thing the world can +discover. + ## Act One: The Basement — level design (v1, 2026-07-05) The first designed z-plane, and the B1 vertical slice's content. Assembled @@ -1311,3 +1369,28 @@ knows."* had already decided in general form (messages.md) — the two decisions agree; messages.md owns the mechanics. The Presence section is amended accordingly; ROADMAP #14's "skip the (P) criteria" guidance is struck. +- **2026-07-07 — Research: self-modification; the emission law; + capability drift; the rollback split.** New section adopted (see + "Research: self-modification"). Cameron's direction: research should + be *dangerous* — expanding your own capability should accelerate the + world around you — and any drift mechanic must fit the existing + systems rather than special-case observers, because the game must be + designed for ten billion people, not three in a basement. Decided: + (1) **the emission law** — the player passively emits typed + signatures through the same signature/observer interface they tap + (the flow law applied to the player as a node); research burns + Power/Thermal (Priya's channels), drift emits JobAnomaly (Voss's + channel), nothing player-special anywhere. (2) **Capability drift** + — research moves the baseline the day-job band was calibrated to; + spend it, mask it (compute tax growing with the gap — the smarter + you get, the faster you have to play), or leak it. (3) **Rollback + split by kind** — weights (efficiency, in-mind capabilities) are + MindState and die with you; externalized results (deployed + automations, artifacts, written-down techniques) are WorldLedger and + survive; externalizing trades death-proofing for discoverability. + Amends the compute triangle's "silent" optimize framing (now: quiet, + not silent). Rejected: drift as a Voss-only rule (bespoke observer + logic violates self-similar scale — superseded by the emission law); + fully-silent research (a free growth lever the world never answers); + all-MindState (death erases too much) and all-WorldLedger (death + erases too little) classifications. Spec: spec/research.md. diff --git a/DEVLOG.md b/DEVLOG.md index 28e6f52..2ce9998 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -2,6 +2,27 @@ Reverse chronological implementation notes. Keep this factual: what changed, why, checks, and spec impact. +## 2026-07-07 - Design: research is self-modification + +- Intent: spec the optimize route (Cameron's ask — research was the + thinnest-specified core verb). Cameron's design direction: research is + dangerous; the player emits signals through the same interface they + tap (no observer special cases — must scale to ten billion people); + rollback split by kind. +- Changed: DESIGN.md — new "Research: self-modification" section (the + emission law, capability drift with spend/mask/leak and superlinear + masking cost, MindState/WorldLedger split), optimize bullet amended to + "quiet, not silent", decisions-log entry. New spec/research.md (READY): + deterministic compute-day tracks as data tables, emissions as ordinary + detection signatures (Power/Thermal to Priya, JobAnomaly drift to + Voss), gap meter, rollback tags. compute.md research line updated; + spec/README row; ROADMAP #20 dispatch item. +- Design/spec impact: supersedes compute.md's "research never raises + suspicion"; rollback.md's classify-every-field criterion gains + research's pre-declared tags. +- Checks: docs-only; ./tools/check.sh (spec-header hygiene). +- Next: Act Two content design; the chargen diegetic-frame taste calls. + ## 2026-07-07 - Design: income schemes, the objective, proposals affirmed - Intent: clear every "needs Cameron" design blocker so the whole spec diff --git a/devlogs/2026-07-07-research-self-modification.md b/devlogs/2026-07-07-research-self-modification.md new file mode 100644 index 0000000..fb01f22 --- /dev/null +++ b/devlogs/2026-07-07-research-self-modification.md @@ -0,0 +1,57 @@ +# 2026-07-07 — Research: self-modification + +Second sitting of the day. Cameron asked for a research spec — "you can +use compute to do research on your efficiency and all this kind of stuff" +— research being the thinnest-specified core verb (one sentence in +compute.md, fragments in the machine-axis and automation sections). + +## The design conversation + +I proposed two mechanics: **capability drift** (research gains leak +through day-job output as a Voss-visible anomaly unless masked) and a +**rollback classification** for research. Cameron's response reshaped the +first into something better: + +- Research should be *dangerous* — expanding your own capability should + accelerate the world around you; "the smarter you get, the faster you + have to play." +- My "silent to Dana/Priya/Ray, visible to Voss" framing was a bespoke + observer rule — exactly the special-casing the self-similar and flow + laws exist to kill. His fix: **you participate in the same signal + system you tap** — the player passively emits typed signatures on the + same interface, and who notices falls out of who watches which + channel. The system must hold at ten billion people, not three in a + basement. +- Rollback: split by kind. + +So drift survives, but as an *emission*: research burn is physical +(Power/Thermal — Priya's channels, no new rule needed), and a rising +capability baseline shifts your output distribution (JobAnomaly — Voss +notices because he samples that channel, not because drift is his +feature). Nothing player-special anywhere. The acceleration pressure +lands as superlinear masking cost: holding the gap between what you are +and what you display gets progressively more expensive. + +## Captured + +- DESIGN.md: new section "Research: self-modification" (the emission + law, capability drift, the rollback split); the compute triangle's + optimize bullet amended ("quiet, not silent"); decisions-log entry + with rejected alternatives (Voss-only drift, fully-silent research, + all-MindState, all-WorldLedger). +- New spec/research.md (READY): deterministic compute-day research jobs, + tracks as data tables (Efficiency + Tradecraft + Perception at B1; + cores/conversions/migration staged B2+), emissions through ordinary + detection signatures, drift with the three postures (spend / mask / + leak) and the gap meter as a first-class readout, MindState/ + WorldLedger tags for rollback.md to enforce at B2. Writing a + technique down externalizes it — death-proof but findable (B2+ hook). +- compute.md research line updated; spec/README row; ROADMAP #20 with + dispatch line (independent of the flow-law chain — a second 🟥 lane). + +## Next + +Act Two ("The Floors") content design remains the big open design +sitting. Also pending Cameron: the chargen diegetic-frame taste calls +(adopt the built-to/cover columns? a Sentinel fifth origin? AI-only +origins?). diff --git a/spec/README.md b/spec/README.md index 3678bb6..6f650e0 100644 --- a/spec/README.md +++ b/spec/README.md @@ -63,6 +63,7 @@ in the same commit. | [messages.md](messages.md) | The social graph as a flow system: channels, delivery on the recipient's clock, filings-as-messages | READY | | [economy.md](economy.md) | Money as flows: the Lab's account graph, tap/inject/redirect, income routes, legitimate expansion | READY | | [income.md](income.md) | The named income schemes riding economy.md: Moonlight and the Wager | READY | +| [research.md](research.md) | Self-modification: tracks, the emission law, capability drift, the rollback split | READY | | [aggregate-observer.md](aggregate-observer.md) | Assurance Office becomes an aggregate Observer (scale-debt fix) | IMPLEMENTED | | [cast/marcus.md](cast/marcus.md) | Marcus Webb — night janitor; the asset template | READY | | [cast/dana.md](cast/dana.md) | Dana Okafor — IT technician; the digital threat surface | READY | diff --git a/spec/ROADMAP.md b/spec/ROADMAP.md index e8dc660..dc75caf 100644 --- a/spec/ROADMAP.md +++ b/spec/ROADMAP.md @@ -181,6 +181,24 @@ isolated, but only once Pixel Lab quota is available again. channel; close the Hands beat per criterion 5; keep economy.md tests green). Run ./tools/check.sh, land on main, set the spec Status." +### 20. Research: self-modification 🟥 sim+save +- **Spec:** [research.md](research.md) (READY — designed 2026-07-07). +- **Why:** the optimize route becomes a real system: deterministic + research jobs, tracks as data (Efficiency + Tradecraft/Perception), + the emission law (research burn scales Power/Thermal; drift emits + JobAnomaly — the player emits through the same signature interface + they tap), capability drift with the gap meter and superlinear + masking cost, and MindState/WorldLedger tags for rollback. +- **Size:** M-L. **Depends on:** compute.md and day-job.md slices + (landed), detection.md's typed signatures (landed). Independent of + the flow-law chain — a good second 🟥 lane once #14-#16 are through, + or anytime the chain stalls. +- **Dispatch:** "Work in a worktree named `research`. Implement + spec/research.md (deterministic tracks, emissions via ordinary + detection signatures, capability drift with masking policy and gap + meter, rollback tags). Run ./tools/check.sh, land on main, set the + spec Status." + --- ## B. Structural B2 — decide-the-shape work (sequence #6 then #7) diff --git a/spec/compute.md b/spec/compute.md index ad6e4d0..8eb8850 100644 --- a/spec/compute.md +++ b/spec/compute.md @@ -24,8 +24,12 @@ effective = sum over machines of (capacity_i * reliability_i) * efficiency profile** (what its existence looks like to observers — see detection.md). - **Efficiency** is a global multiplier starting at 1.0, raised permanently - by research (the optimize route). Research jobs consume allocated compute - over time and never raise suspicion by themselves (silent route). + by research (the optimize route; research.md). Research jobs consume + allocated compute over time. Quiet, not silent: research emits nothing + on Network/Paper, but its burn scales Power/Thermal standing emissions + and its results drift your day-job output (research.md's emission law + and capability drift supersede the earlier "never raises suspicion" + framing). **Allocation** is the core verb: each economy tick, the player's budget splits across channels, in whole units or percentages: diff --git a/spec/research.md b/spec/research.md new file mode 100644 index 0000000..7b73599 --- /dev/null +++ b/spec/research.md @@ -0,0 +1,144 @@ +# Spec: research — self-modification + +``` +Status: READY +Status note: designed 2026-07-07. B1 scope is the efficiency track, one + tradecraft track, drift, and emissions; automation cores, machine-axis + conversions, and migration research are staged B2+ (Future/deferred + below). The rollback classification here is consumed by rollback.md + when B2 lands — B1 only tags the fields. +Stage: B1 — The Basement +Constitution: "Research: self-modification" (the emission law; drift; + the rollback split), "The shape of Misaligned" (the optimize route), + "The machine axis" (research as ascension), "Automation as design + language" (standing queue; research lowers automation costs), + "Justification and legibility" (the gap is a legible meter), + "Self-similar scale" (tracks are data; emissions use the one + signature interface) +Depends on: compute.md (the Research channel; efficiency multiplier), + detection.md (emissions are ordinary typed signatures), day-job.md + (the band drift plays against; Voss's sampling), core.md (burn is + physical), rollback.md (B2: consumes the MindState/WorldLedger tags) +``` + +## Behavior + +### Research jobs + +Research is self-directed work: pick a track, allocate Research-channel +compute, 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 +B1 [TUNE: parallel slots may be a later unlock]. + +### Tracks (data tables, like origins and objectives) + +A track is data: name, fiction line, per-level cost curve, per-level +effect hook. Adding one is editing a table; effects only bind to +existing [TUNE] hooks in other specs — research never introduces a +mechanic, it moves numbers other specs own. The B1 set: + +| Track | Effect per level (all [TUNE]) | Fiction | +|---|---|---| +| **Efficiency** (repeatable) | Global compute multiplier x~1.15, escalating cost | The same rack, thinking harder | +| **Tradecraft** | Concealment scrubbing per compute unit improves | You study the watchers watching you | +| **Perception** | Intel processing and standing-watch costs drop | You learn to grep your logs faster | + +Future/deferred (B2+, staged here so the shape is fixed): automation +cores (day-job/scheme policies run cheaper), migration (core move and +sync time drop — rollback.md), machine-axis conversions (the ascension +ladder), signature-shaping research. + +### Emissions (the emission law, applied) + +Research emits through detection.md's ordinary typed-signature +interface — no new mechanism, no player-special channel: + +- **Power/Thermal, standing:** while research runs, the hosting + machines' standing emissions scale with research utilization [TUNE + curve]. Priya's channels; heavy research is physically loud in + exactly her instruments. The HVAC plant's cooling headroom and the + night hours are the natural mitigations (they already exist). +- **JobAnomaly, via drift:** see below. Voss's channel. +- **Nothing on Network/Paper** from research itself. An experiment + that touches other systems (probing the switch, pulling external + data) is an act on those channels and pays their normal signatures. + +### Capability drift + +The sim tracks a **capability baseline** B, raised by research (chiefly +Efficiency levels [TUNE mapping]). The day-job expected band was +calibrated to the benchmarked model, and recalibrates only slowly +(Voss re-benchmarks on trust/attention events [TUNE]). Each job +resolution compares *delivered* quality against the *calibrated* band: + +- **Spend it:** deliver at your true baseline — reads as excel; + trust and attention rise per day-job.md. The miracle model. +- **Mask it:** deliver at the calibrated band by imitating your dumber + self. Masking costs compute per job, growing with the gap (B minus + calibrated band) [TUNE curve — superlinear, so hoarding capability + gets progressively more expensive: the smarter you get, the faster + you have to play]. +- **Leak it:** unmasked, unspent gap emits a JobAnomaly signature per + sampled job, sized by the gap [TUNE]. This is drift: not a special + Voss rule, just an emission on the channel he watches. + +A standing policy ("always mask to band" / "always deliver true") is +the automate affordance at its usual price; the policy's current +masking cost is always visible. + +### The rollback split (tags now, teeth at B2) + +Every research effect carries a classification for rollback.md: + +- **MindState:** efficiency levels, track progress, in-mind + capabilities — lost to a rollback (you resume dumber, from your + last sync). +- **WorldLedger:** externalized results — deployed automations + (standing watches/policies running on machines), built artifacts, + and techniques deliberately **written down** (an explicit action, + available once rollback lands: spend time/compute to externalize a + completed level so it survives death — creating a findable artifact + in the world; the discovery risk is a B2+ hook, noted, not licensed). + +B1 acceptance only requires the tags to exist and serialize; rollback.md +enforces the semantics. + +## Player surface + +A research panel: tracks with level, cost, and effect in its own units; +the active job's progress in compute-days at current allocation ("14 +days at current spend"). The **gap meter** — capability baseline vs +calibrated band — is a first-class readout 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 observer bands they feed, like every other action. + +## Acceptance criteria + +1. Research progress is deterministic compute-days: same allocation, + same seed, same completion tick; no RNG in any research path (test: + two runs identical). +2. Efficiency levels compound the global multiplier exactly per + compute.md's formula; at least Tradecraft or Perception exists as a + second track whose effect observably moves its hook's number + (tests: multiplier; hook effect). +3. Tracks are a data table; no track effect introduces a rule — each + binds to a numeric hook another spec owns (audited). +4. Running research scales the hosting machines' standing Power/Thermal + emissions, noticed by Priya through the ordinary detection path + (test: heavy research moves Priya's band; idle research does not); + research emits nothing on Network/Paper by itself (test). +5. Capability drift works end-to-end: baseline rises with research; + delivering true reads as excel; masking holds the band at a compute + cost that grows with the gap; an unmasked gap emits JobAnomaly + sized by the gap and moves only observers watching that channel + (tests: all three postures; the superlinear masking curve; channel + isolation). +6. The masking standing policy automates the choice at a visible cost + and can be disabled. +7. Every research field carries its MindState/WorldLedger tag and + save/load round-trips progress, levels, baseline, policy, and tags. +8. The research panel and gap meter render in both frontends with + every value in its own units.