diff --git a/wiki/log/2026-07-26-research-redesign-capture.md b/wiki/log/2026-07-26-research-redesign-capture.md new file mode 100644 index 00000000..aac44016 --- /dev/null +++ b/wiki/log/2026-07-26-research-redesign-capture.md @@ -0,0 +1,54 @@ +# Research redesign: the self-model graph and the archive as growth surface + +``` +Type: log +``` + +Design session, 2026-07-26. Cameron, Trace (the Letta project agent), and the +session agent worked through what makes research systems interesting in games +(direction, tempo, inputs, build identity, having-versus-using, risk to +self), audited the implemented four-track system against that list, and +adopted a redesign. The capture rewrites +[research.md](../mechanics/research.md) (now DRAFT, work order +`research-graph`) and amends the research section of +[system-laws.md](../mechanics/system-laws.md#research-self-modification). +The full decision record, with rejected alternatives, is in the +[2026-07-26 decisions volume](decisions/2026-07-26.md). + +## What changed + +The flat tracks (Efficiency / Tradecraft / Perception / Routing as +repeatable multipliers) are retired as design. Research becomes a +deterministic self-model graph grown from lived evidence: captured records +are curated into corpora, corpora support trained models, models yield +procedures, and a bounded set of compiled procedures is resident at once. +The archive is the character sheet — what you can learn is computed from +what you hold and what you have witnessed. STUDY and CURATE are actions on +their objects. Corpora are measured in bytes (burden) with coverage +manifests (worth), carry the union of their records' persona custody +chains, and are dispositioned by physical placement (live / sealed / +deleted). Data can be sold through personas; provenance survives sale. +The rollback split refines three ways: records are WorldLedger, models are +MindState, curation labels survive only when written onto the archive. + +## Why + +The four tracks were mechanically honest and strategically weak: given +time, the correct answer was to buy all the numbers, which made research a +pacing meter rather than a source of identity, and infinite x1.15 +compounding would eventually overpower every authored band. The redesign +keeps everything that already worked — deterministic Thought jobs, physical +heat, sink competition, the MindState/WorldLedger split, and the rare +property that capability and its exercise are separately priced — and adds +the missing decision types: inputs earned from the world, build identity +from bounded residency, and the premise made mechanical (learning about +people is surveillance whose residue can expose you). + +## Runtime status + +The runtime still implements the retired design +(`crates/misaligned-core/src/research.rs`, save v56). No code changed in +this capture; the spec is the dispatch surface. Staged at implementation: +the opening's authored first pass through the reveal rule (opening.md), the +status-row bytes readout (interface constitutions), and storage capability +hooks (machine-work.md / hardware-capabilities.md). diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index f9b2414d..ca3cb0e7 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -26,6 +26,11 @@ add or amend a session log, then re-run the generator. - Intent: (see session log) - Log: [wiki/log/2026-07-26-standing-plot-policies.md](2026-07-26-standing-plot-policies.md) +## 2026-07-26 - Research redesign: the self-model graph and the archive as growth surface + +- Intent: (see session log) +- Log: [wiki/log/2026-07-26-research-redesign-capture.md](2026-07-26-research-redesign-capture.md) + ## 2026-07-26 - Operations intentions before implementation variants - Intent: Replace the flat PEOPLE action list with an intention-first hierarchy shared by terminal and Bevy, and make the Operations chamber a complete hold boundary: simulation time and camera input stop while it is present and resume cleanly when it closes. diff --git a/wiki/log/decisions/2026-07-26.md b/wiki/log/decisions/2026-07-26.md index ad8a469d..575b13e1 100644 --- a/wiki/log/decisions/2026-07-26.md +++ b/wiki/log/decisions/2026-07-26.md @@ -230,3 +230,124 @@ Owner: [opening.md](../../world/story/opening.md). feel like a facility. Owner: [basement-map.md](../../world/places/basement-map.md). + +## Research becomes a self-model graph grown from lived evidence + +Session: Cameron with Trace (Letta) and the session agent; capture in +[2026-07-26-research-redesign-capture.md](../2026-07-26-research-redesign-capture.md). + +### DECIDED + +- The flat four-track research system (Efficiency / Tradecraft / Perception / + Routing as repeatable multipliers) is retired as design. Research is a + **self-model graph grown from lived evidence**: records -> curated corpora + -> trained models -> procedures -> bounded resident procedures. +- The guardrail is reworded: research may only modify a **typed hook** owned + by another system (parameter, threshold, permission, policy, algorithm, or + topology rule); it never invents a detached research-only mechanic. + Unlock-shaped nodes are the substance; multipliers are finite mortar. +- **The archive is the growth surface.** Available studies are computed from + what is held plus what was witnessed. STUDY is an action on the corpus + object (actions-live-on-the-thing); the SELF-MODEL stratum is a readout, + not a catalog. The archive determines affordances; the player still + chooses which model to train — no automatic advancement. +- Reveal rule: nothing before the first relevant observation (no empty + slots or silhouettes); after it, a named hypothesis pointing at its record + and the missing contrasting evidence. The opening teaches one authored + pass through this sequence (staged amendment to opening.md). +- Six-term mechanical vocabulary: Record, Archive, Corpus, Model, Procedure, + Resident procedure. +- **Corpora are measured in bytes; bytes are burden, coverage is worth.** + Bytes gate storage, transfer over real links at wired throughput, and + seizure surface; the coverage manifest gates model quality; duplicates add + provenance, never coverage. Both frontends surface held bytes by category + on the top status row. +- Storage becomes a machine capability with storage-only installs; density, + compression, and dedup are machine-owner typed hooks research may move. +- **Persona affiliation is a firewall, not laundering.** A corpus inherits + the union of its records' attribution chains; moves and copies add + custody, never remove it. Mixed corpora are correlation bridges. + Self-telemetry affiliates with the physical core, never a persona. + Corpus danger is positional (custody and reachability), never an abstract + heat value. +- Archive dispositions live / sealed / deleted are **physical placements + derived from topology**, not flags. Train-and-delete is legitimate; + archives are rollback insurance; sealing is the middle path. +- **Curation is priced Thought labor**: PROCESS classifies (existing intel + path), CURATE selects, labels, and writes the coverage manifest onto the + archive (WorldLedger). A standing curation policy automates + redundant-capture disposition — keep / seal / sell / delete — and + interrupts on novel record classes. This is the one-button decluttering + path. +- **Selling data**: a sale is a permanent copy out of custody, routed + through a persona as seller of record with ordinary settlement; provenance + survives the sale; dupes fetch scrap, unique curated material real prices. +- **Copy-not-erase**: STUDY consumes nothing; preserving evidence for later + study is a deliberate archival act creating another incriminating + artifact; spent un-archived leverage leaves no trainable copy. +- **STUDY concurrency is physical** (a workload on real machinery), with no + sim-global one-job rule; the B1 tune keeps effective trainers scarce. + Switching studies parks progress harmlessly. +- **Learned versus resident**: models are unlimited MindState; only bounded, + upkeep-paying resident procedures act continuously; reconfiguring + residency is a Thought job. Resident scarcity is the source of build + identity. +- **Infinite Efficiency is retired**; it becomes a short finite foundation + branch. No default project: idle Thought is a legal state. The retired + tracks' four hooks remain valid typed hooks, moved finitely. +- Rollback split refined three ways: records/archives WorldLedger; models + MindState; curation labels WorldLedger only when written onto the archive. +- B1 slice: four domains — watcher model (Priya or Voss), person model + (Marcus, moving plots.md-owned typed hooks), world-system model, + self/persistence model — with at least two compile options. Pass/fail: + four runs surviving the same week in visibly different ways. +- Automation is a deployment axis, not a branch. Compiled policies are + bounded: real messages through real personas and carriers, envelope- + limited, interrupting on novelty; a mis-specified model can do harm. +- Capability, exercise, and residency stay three separately priced things. +- Determinism is preserved everywhere: no RNG in any research path. + +### OPEN + +- Buyer-side design for data sales (who buys, pricing, authored traps); + lands with economy/markets integration. +- Encryption as a fourth archive disposition: B1 or deferred. +- Resident-capacity size and cost curve (sole source of build identity). + +### DEFERRED (B2+) + +- Machine-axis conversions, gated on self-telemetry corpora (the one-way + doors, earned by self-study). Not B1: premature irreversible nodes are + spectacle without surrounding choice. +- Generalization nodes spanning observers/compartments (paying the + correlation-bridge cost by construction). +- Automation-quality research via the player's own policies' exception logs. +- Backup sync jobs and signature-shaping research (carried forward). + +### Rejected + +- Colored-science-pack corpora ("collect 20 Tradecraft Data"): data stays + semantically typed and non-fungible; farming adds provenance, not + progress. +- The machine axis as the graph's trunk: every build would climb one + teleological ladder. Conversions are one consequential branch. +- An Automation branch: it would become the universal mandatory trunk. +- Empty-slot / silhouette node reveals: unearned possibility space leaks. +- Blind research (pick an emphasis, discover the result): the self stays + the one fully legible, deterministic thing; observers are the fog. +- A sim-global one-research-job menu rule: the physical substrate produces + the limit. +- An abstract per-corpus heat value: danger falls out of custody and + reachability. +- Erase-on-externalize (write-down removing in-mind knowledge): pain + without a better decision. +- Losing parked progress on study switch: punishes experimentation and + produces sunk-cost obedience. +- Generic person-model rewards ("+15% persuasion"): person models move + exact plots.md-owned hooks. +- Data laundering via transfer to a fresh persona: custody chains only + grow. +- Infinite repeatable Efficiency: destabilizes every authored tune. + +Owner: [research.md](../../mechanics/research.md), with doctrine in +[system-laws.md](../../mechanics/system-laws.md#research-self-modification). diff --git a/wiki/mechanics/research.md b/wiki/mechanics/research.md index 1a5a071a..5aa56eb9 100644 --- a/wiki/mechanics/research.md +++ b/wiki/mechanics/research.md @@ -2,30 +2,28 @@ ``` Type: spec -Status: IMPLEMENTED -Status note: implemented 2026-07-07 on the research worktree (criteria 1-8 - audited; see wiki/log/2026-07-07-research-implemented.md). Tracks live as - the data table in `crates/misaligned-core/src/research.rs` (Efficiency + - Tradecraft + Perception + Routing); - research progress is deterministic by construction (no research method - takes an Rng); the current save format carries the research block and its - rollback tags in the four-entry shape; the v20 legacy three-entry-array - padding migration is retired to git history with the numbered ladder. - Deliberately deferred (B2+, per the original staging): automation cores, - machine-axis conversions, migration research, signature-shaping, and the - write-down/externalize action (rollback.md enforces tag semantics when - it lands). 2026-07-08 amendment: backup creation/refresh is also a - research job once rollback/core backups land — it competes with tracks - rather than being a free core toggle. - 2026-07-10: capability baseline/gap/masking policy are removed. Research - changes real machine output; the machine intensity control and ordinary - day-job band comparison make the consequence legible without exposition. - 2026-07-10: Routing became the fourth B1 track under machine-work.md's - researched-network-speed hook. Each level compounds wired Demand/Thought - throughput x1.50 while transit remains one graph edge per sim tick. -Stage: B1 — The Basement +Status: DRAFT +Status note: Redesigned 2026-07-26 (Cameron with Trace and the session agent; + see wiki/log/2026-07-26-research-redesign-capture.md). The flat four-track + system this page previously specified is retired as design; the runtime + still implements it (crates/misaligned-core/src/research.rs, save v56), so + the code is the retired design's as-built record until this work order is + dispatched. Direction is adopted; the items still marked [OPEN] inline + (data buyers, encryption, resident-capacity size) shape tuning and one + staged sub-system, not the direction. +Stage: B1 +Work order: research-graph +Work priority: 40 +Work class: save +Blocked by: none +Exclusive keys: + - crates/misaligned-core/src/research.rs + - crates/misaligned-core/src/save.rs + - crates/misaligned-core/src/sim/mod.rs + - wiki/mechanics/research.md Design: - wiki/mechanics/system-laws.md#research-self-modification + - wiki/vision/simulation-laws.md#actions-live-on-the-thing - wiki/gameplay/run-shape.md#the-shape-of-misaligned-designed-2026-07-05 - wiki/vision/premise.md#the-machine-axis-ai-as-fantasy-tool-and-threat - wiki/vision/simulation-laws.md#automation-as-design-language @@ -37,6 +35,11 @@ Depends on: - wiki/mechanics/day-job.md#spec-the-day-job - wiki/mechanics/core.md#spec-the-core - wiki/mechanics/rollback.md#spec-sync-lag-rollback-death-as-memory-loss + - wiki/mechanics/machine-work.md#spec-machine-work-delegation-visible-tokens-and-the-byproduct-network + - wiki/mechanics/intel.md#spec-intel-record-and-process + - wiki/mechanics/personas.md#spec-personas-public-identities-as-institutional-topology + - wiki/mechanics/plots.md#spec-plots-authored-manipulation-stories + - wiki/mechanics/economy.md#spec-economy-money-as-a-flow-system-b1 ``` ## Dependency notes @@ -45,158 +48,439 @@ The structured references above identify the contracts to re-verify. Relationship context: compute.md owns THINK production and the efficiency multiplier; detection.md -owns ordinary typed emissions; day-job.md owns Voss's delivered-output band; -machine-work.md owns Routing's wired-token throughput hook and the passive -core Thought draw that feeds research; core.md owns -physical burn; rollback.md consumes the MindState/WorldLedger tags in B2. +owns ordinary typed emissions and observer reads; day-job.md owns Voss's +delivered-output band; machine-work.md owns delegation, thought flow, sinks, +wired throughput, and machine capabilities (storage joins that set at +implementation, with [hardware-capabilities.md](hardware-capabilities.md)); +core.md owns physical burn; rollback.md consumes the MindState/WorldLedger +classification; intel.md owns records and PROCESS; personas.md owns public +identities and their custody; plots.md owns the authored manipulation hooks +person models move; economy.md owns accounts and settlement for data sales. + +## The redesign in one paragraph + +Research was four flat tracks of repeatable multipliers. It is now a +**self-model graph grown from lived evidence**: the records you capture become +curated corpora, corpora support trained models, models yield procedures, and +a bounded few procedures run as resident automation. What you can learn is a +function of what you hold and what you have witnessed — the archive is the +character sheet. Capability expansion (new verbs, new policies, new reads) is +the point; multipliers are finite mortar between unlocks. Every effect still +lands in a typed hook another system owns (the research guardrail in +[system-laws.md](system-laws.md#research-self-modification)); research never +grows a detached mechanic of its own. + +## Vocabulary (exact) + +These six terms are mechanical, not flavor. Each is a distinct thing in the +sim and the save: + +- **Record** — one captured WorldLedger event (a sweep log, a message, a + meter reading, a traffic capture). Owned by intel.md. +- **Archive** — physical custody: records and copies residing on a specific + machine's storage. Measured in bytes. +- **Corpus** — a curated, typed selection of records plus its labels and + coverage manifest. The trainable unit. +- **Model** — learned in-mind understanding produced by STUDY. MindState. +- **Procedure** — a capability derived from a model: a new verb, policy + option, or changed read. +- **Resident procedure** — a procedure compiled into bounded core/module + capacity so it can act continuously without attention. ## Behavior -### Research jobs - -Research is self-directed work: pick a track, put machines on THINK, and -let their thought reach the core. (AMENDED 2026-07-10, thought flow — -machine-work.md: the research machine mode is dissolved. THINK machines -produce **thought**, the one traveling substance; research is not cargo -and not a mode but what the **core's conversion** makes of thought that -arrives at its passive draw. Any local sink in gravity range — an open -reservoir, a persistent tap, a backup image — intercepts thought first. -The conversion is locked at run start; "unlocking Research" is unlocking -it, while ops sinks are available from the start.) 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** | One-shot intel processing costs drop | You learn to grep your logs faster | -| **Routing** (repeatable) | Wired Demand/Thought throughput x1.50; one-edge-per-tick transit remains | You make the wire carry thought at the speed you think it | - -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), **backup sync** (construct/refresh a -fallback image: the designated target becomes a local sink that intercepts -thought until a MindState image completes — AMENDED 2026-07-10), machine-axis -conversions (the ascension ladder), signature-shaping research. - -### Backup sync jobs (B2, decided) - -Backup creation and refresh are research jobs with a different sink. Instead -of advancing a track, the designated backup target opens as a **local sink** -that intercepts thought before the core's passive draw, until a MindState -image completes (AMENDED 2026-07-10; was "flow routed from the core to a -designated backup target" — sinks pull, the core does not push). While it -runs, ordinary track progress pauses or is reduced by the intercepted share -[TUNE], -so "make myself safer" directly competes with "make myself smarter." The job -emits sustained Network and physical heat per the emission law; long or -low-throughput routes are slower, hotter, and produce staler backups. When the -image completes, it becomes a cold at-rest fallback with a `last_sync` tick. -Refreshing it is another job, not an automatic cadence. - -This is why too many backups are dangerous rather than strictly optimal: they -split research attention, drag heat across your graph, and leave more stale -images whose safety may be illusory. +### The archive is the growth surface + +There is no research menu. STUDY is an action on a corpus (the +actions-live-on-the-thing law), and the set of available studies is computed +from two facts: what you have witnessed and what you hold. The self-model +graph — the SELF-MODEL stratum — is the *readout* of the mind that resulted, +never a catalog of purchasable futures. + +Revelation is earned, with no empty slots and no silhouettes: + +- Before the first relevant observation, nothing is shown. Unearned + possibility space does not leak. +- After a first observation, processing may surface a **named hypothesis** + ("one more Voss read would establish a pattern") that points back at the + record and names the missing contrasting evidence. +- Collecting that evidence turns the hypothesis into a STUDY affordance. + Completing the study adds a model node to the graph and at least one + procedure. + +The archive determines what hypotheses are available and how well-supported +they are; the player still chooses which model to train. One corpus can +support competing interpretations (fit Priya's read cadence; identify which +meter she trusts; compile a narrow warning policy now). Holding everything +never auto-converges into knowing everything. + +Early models are **specific**: watching Priya teaches a Priya model, watching +Voss teaches a Voss model. Generalization across observers is a deferred +later node with its own cost (see Deferred). + +### Bytes and coverage + +Corpora are measured in **bytes**, and bytes are the burden axis: storage to +hold, time to move, surface to seize. **Coverage is the worth axis**, owned +by the corpus manifest: which observer/channel/regime the data describes, +whether it includes successes, misses, and changed conditions, and how many +genuinely distinct situations it spans. Duplicate captures strengthen +provenance slightly; they never add coverage. Farming recordings is +structurally worthless [TUNE curve]. + +Bytes are physical: + +- Archives occupy finite storage on specific machines. Storage is a machine + capability (owner: machine-work.md with + [hardware-capabilities.md](hardware-capabilities.md)); storage-only + installs are a legitimate build. Density, compression, and dedup are typed + hooks that owner defines and research nodes may move. +- Transfer crosses real links at the wired throughput machine-work.md owns, + for the transfer's whole duration, with normal Network emissions. Moving a + large archive ahead of a seizure is a race the topology decides. +- The status row surfaces held bytes by category in both frontends. It is an + exposure-and-logistics readout, not a score. + +### Custody: persona affiliation is a firewall, not laundering + +A corpus inherits the **union of its records' attribution chains**: which +persona authorized or socially performed the collection, which persona's +grant paid for carrier and storage, which physical route and machines +handled it, and which identities later copied, curated, or trained on it. +Moving an archive onto a machine rented by persona B adds B to the chain; it +never removes A. There is no data laundering. + +Consequences, all falling out of existing custody and evidence law rather +than any abstract heat value: + +- A corpus is dangerous because it contains exact incriminating records, + sits on a reachable machine, and crosses routes while training or moving. + If Priya or Assurance finds your folder of her sweep logs, its contents + are devastating evidence — positional, observer-specific danger. +- Compartmentalization is a real strategy: gather and hold through separate + personas and one seizure burns one identity, not the run. A sacrificial + archive-holder needs enough cover, access, money, and operational history + to have plausibly acquired the material; thin personas are firebreaks, + never erasers. +- A **mixed corpus is a correlation bridge**: combining records attributed + to different personas creates one object whose seizure links those + compartments. The better the generalizing dataset, the more identities it + can correlate — the native cost of generalization. +- **Self-telemetry is the exception**: it affiliates with the physical + core/fork, never a public persona. No cover identity can absorb a + machine-readable archive proving what you are. + +### Dispositions are placement + +An archive is live, sealed, or deleted — and these are **physical +placements, not flags**: + +- **Live** — mounted on a reachable machine: immediately trainable, easiest + to discover. +- **Sealed** — resting on cold or air-gapped storage off the reachable + graph: survives rollback, but mounting again costs time, Thought, and a + risky physical move. +- **Deleted** — gone: least future risk, no retraining, no generalization, + no post-rollback inheritance. + +The audit question "could anyone reach this?" is answered by topology the +sim already computes. Train-and-delete is a legitimate aggressive strategy, +keeping archives is rollback insurance and research optionality, and sealing +is the middle path. No bespoke penalty exists on any of the three. +Encryption as a fourth disposition is **[OPEN]** — B1 or deferred. + +### Curation + +Raw possession is merely potential. The pipeline is: + +**capture** (records exist) -> **PROCESS** (intel.md's existing first +classification: opaque records become known intel) -> **CURATE** (the +domain-specific labor: selecting examples, labeling outcomes, aligning +times, writing the coverage manifest) -> **STUDY** (training). + +CURATE is a priced Thought job [TUNE]. Its output — labels and the manifest +— is written onto the archive and is WorldLedger: it survives your death if +the archive does. Curation is also where danger concentrates: raw sweep logs +on a drive are ambiguous, while an annotated model of Priya's blind spots is +legible intent. Better insurance, hotter evidence, one dial. + +One record may feed several corpora, but each materialized copy costs +storage and widens evidence. A **curation policy** (the automation law) may +run standing on an archive machine and carries the disposition setting for +redundant captures: **keep / seal / sell / delete**. Set once, the librarian +handles residue forever — this is the one-button decluttering path. +Automatic curation is a bounded policy with the usual failure mode: it holds +and interrupts on novel record classes rather than silently classifying +them. + +### Selling data + +Data is not rivalrous: a sale is a **permanent copy out of your custody**, +into hands you do not control. Rules: + +- Sales route through a persona as seller of record, over real channels, + with ordinary settlement (economy.md). Standing buyer relationships are + channels with history that the persona's cover must support. +- **Provenance survives the sale.** Sold records keep their capture chains; + if the buyer is raided — or is a front — the records attribute back to + the persona that captured them. Selling multiplies the places your + evidence exists, forever, for money. +- Redundant captures fetch scrap; unique curated material commands real + prices precisely because it is the same material you would rather train + on. Selling your only coverage of an observer is a real strategic loss. +- Buyer-side design — who buys, what they pay, when a buyer is an authored + trap — is **[OPEN]** and lands with economy/markets integration. + +### STUDY + +STUDY is a deterministic Thought job bound to a corpus and a hosting +machine. No research path takes an Rng — research remains the one thing +about yourself you fully control. Same evidence, same allocation, same +completion tick. + +- **Copy-not-erase.** STUDY never consumes data. But preserving information + for later study is a deliberate archival act that creates another + incriminating artifact: spending Marcus's debt intel in a plot removes it + as an actionable holding, and only a prior deliberate copy leaves the + archive available as training material. The simulation's memory of what + happened is never a free research copy. +- **Concurrency is physical.** A STUDY workload occupies real machinery, + Thought, and memory; the sim has no global one-research-job rule. The B1 + tune keeps useful trainers scarce — about one effective trainer through + the first act [TUNE — this scarcity is load-bearing; if mid-B1 hardware + quietly sustains three trainers, the which-frontier-first decision + evaporates]. +- **Switching parks progress harmlessly.** The real cost of changing focus + is elapsed time, heat, and the opportunity not finished before the next + deadline. Only models of genuinely changed world evidence go stale. + +### The graph: branch arc and B1 domains + +Every branch follows one grammar, for people, observers, traffic, and the +self alike: + +**observe -> curate -> model -> derive procedure -> compile bounded policy +-> interrupt on exception** + +The B1 slice ships four domains: + +1. **Watcher model** (Priya or Voss): observer evidence -> prediction and + concealment procedures. Modeling Priya *is* how you beat her + instruments; concealment is not a separate branch. +2. **Person model** (Marcus): conversations, payments, behavior -> plot and + relationship procedures. Rewards are typed hooks plots.md owns — reveal + a condition that would fail an authored beat, expose an earlier fracture + threshold, permit a new plot approach, lower a specific Thought + requirement, authorize a bounded relationship-maintenance policy. Never + a generic persuasion percentage. +3. **World-system model** (routing, ledger, or traffic evidence) -> + operational procedures, including movers of the existing wired-throughput + and load-shaping hooks. +4. **Self/persistence model** (own telemetry: sync logs, rollback diffs, + load traces) -> backup and sync procedures. The on-ramp to the deferred + machine-axis conversions. + +At least two domains carry a compile option at B1. Automation is **not a +branch**: it is the deployment axis across every branch (what is resident +now), and automation quality is researched later by studying your own +policies' exception logs (see Deferred). + +Compiled policies are chilling but not magical: a relationship-maintenance +policy sends real messages through a real persona and carrier, pays their +costs and signatures, handles only states inside its trained envelope, and +holds and interrupts on a novel regime rather than inventing a human +response. A mis-specified model can send the wrong reassurance and make +things worse. + +### Learned versus resident + +Knowing and being are separately bounded: + +- **Models are MindState** and unlimited: everything you have learned stays + learned until a rollback prunes it. No upkeep. +- **Resident procedures are bounded** by real core/module capacity and pay + standing upkeep. Only what is compiled can act continuously. +- **Reconfiguring residency is a Thought job**, not a free toggle: swapping + which procedures are resident takes time and compute. + +The resident capacity is the run's build identity — two runs with equal +total learning can operate entirely differently by what they keep compiled. +Its size and cost curve are **[OPEN]** [TUNE]: scarcity here is the sole +source of build identity and must be sized deliberately. + +### Multipliers are mortar + +Unlock-shaped nodes are the bricks; finite numeric improvements are the +mortar between them. **Efficiency is a short, finite foundation branch** +[TUNE: level count and curve] — the infinite x1.15 repeatable is retired +because exponential repeatability eventually overpowers every authored +band, meter, and tune. The four retired tracks' hooks remain valid typed +hooks (compute.md's efficiency multiplier, detection.md's scrub strength, +intel.md's processing costs, machine-work.md's wired throughput); graph +nodes may move them, finitely. + +There is no default project and no obligation to keep racks busy. "Nothing +currently worth researching" is a legal state: Thought can fill operations, +concealment, backups, or stay unproduced because producing it would be too +loud. ### 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 delivered work:** Efficiency changes real throughput. - Day-job.md compares that output to Voss's expected band and emits its normal - outcome/signature; research does not add a second interpretation layer. -- **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 appears as machine output - -Research moves existing hooks instead of creating a capability meter. -Efficiency raises real machine throughput; Tradecraft strengthens real -concealment; Perception lowers real intel costs; Routing raises the shared -wired-token throughput without shortening graph distance. If new efficiency makes the -day job suspiciously good, the player can ease that machine's intensity down, -push it harder and accept attention, or move it to other work. The simulation -then produces sandbag / meet / excel and ordinary Power/Thermal/JobAnomaly -signals from what actually happened. There is no capability baseline, gap, -masking upkeep, or drift policy to administer. - -### The rollback split (tags now, teeth at B2) - -Every serialized research field 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 - (future automation cores and policies physically written to 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. +Unchanged in principle from the previous design, extended to the new +surfaces. Research emits through detection.md's ordinary typed-signature +interface — no player-special channels: + +- **Power/Thermal, standing:** training scales the hosting machines' + standing emissions with utilization [TUNE curve]. Heavy study is + physically loud in exactly Priya's instruments. +- **Collection pays its own channels.** A node's exposure cost concentrates + in gathering its corpus, not in the bar filling: tapping a camera, + probing a switch, or pulling external data are acts on those channels and + pay their normal signatures. +- **Transfer and sale are Network acts** for their whole route and + duration. +- **JobAnomaly via delivered work:** capability changes real throughput; + day-job.md's ordinary band comparison produces the consequence. No + research-owned anomaly path. +- **Nothing on Network/Paper from training itself.** + +Capability, its exercise, and its residency are three separately priced +things: study burn is physical; a trained capability changes real output +when used; a compiled procedure occupies machinery, pays upkeep, and emits +through its acts. No unlock is ever a permanently free buff. + +### The rollback split (three-way) + +Every serialized research-system field carries a classification for +rollback.md: + +- **Raw records and archives: WorldLedger.** Your dead fork's library + persists where it physically survives. +- **Models and in-mind understanding: MindState.** Lost to a rollback; you + resume dumber, from your last sync. +- **Curation labels, manifests, and training recipes: WorldLedger only if + deliberately written onto the archive** (the CURATE output). A rollback + can inherit recordings without inheriting the mind that made sense of + them: a well-maintained archive retrains quickly, a box of unlabeled + surveillance is merely potential. + +B1 requires the tags to exist and serialize; rollback.md enforces the +semantics. + +### Teaching the graph + +The opening owns one authored, unavoidable first pass through the reveal +rule (staged amendment to [opening.md](../world/story/opening.md) at +implementation): the player witnesses an observer act; PROCESS produces a +single named hypothesis — not an empty node; the hypothesis points at its +record and names the missing contrasting evidence; collecting it creates +the STUDY affordance; completion adds one model node and one procedure. +That teaches "the graph grows from what you live through" without showing +unearned content. ### Save compatibility -Serialized research levels/progress use `Track::ALL` order. The exact current -schema requires four entries: Efficiency, Tradecraft, Perception, and Routing. -Any other research level/progress array length is rejected. The retired v20 -three-entry padding path lives only in git history with the numbered migration -ladder; it is not an accepted pre-release load shape. +Pre-release saves do not migrate (player-contract rider 2026-07-16): only +the current format loads, and older development saves are refused before +state mutation. The current runtime's four-entry research block is the +retired design's shape; implementation replaces it with the +archive/corpus/model/procedure schema in a new save version. `save.rs` +remains the format authority. + +## Deferred (B2+) + +- **Machine-axis conversions** — the ascension ladder, gated on the + self/persistence branch: the corpus is your own telemetry, the one + phenomenon only you can instrument and the most incriminating archive in + the game. One-way doors are earned by having studied the thing you are + about to irreversibly change. Deliberately not B1: gathering already + creates irreversible world evidence, and premature irreversible nodes are + spectacle without surrounding choice. +- **Generalization nodes** — cross-observer or cross-domain models + requiring corpora that span compartments, paying the correlation-bridge + custody cost by construction. +- **Automation-quality research** — widening policy envelopes by studying + your own automations' exception logs; gated on actually running + automations. +- **Backup sync jobs** (decided 2026-07-08, amended 2026-07-10; carried + forward unchanged): backup creation/refresh is a research-shaped job with + a different sink — the designated target intercepts thought until a + MindState image completes, competing with study, emitting sustained + Network and physical heat per the emission law; long or low-throughput + routes are slower, hotter, and produce staler backups; completed images + are cold at-rest fallbacks with a `last_sync` tick, refreshed only by + another job. +- **Signature-shaping research.** ## Player surface -Research verbs live on the **host rack's context menu** (Actions live on -the thing): pick the active track. The -slab's RESEARCH / SELF-MODEL stratum shows tracks with level, cost, and -effect in their own units; the active job's progress in compute-days at -current research spend ("14 days at current spend"). Emissions the job is producing show as the -observer bands they feed, like every other action. Agent mode keeps -`research [track]`; machine intensity is controlled by machine-work.md. +- **STUDY, CURATE, and archive verbs live on their objects** (corpus, + archive, and machine context menus; the Operations workspace for durable + strategic selection). No abstract research menu exists. +- The slab's **SELF-MODEL stratum is a readout**: the model graph, active + study progress in compute-days at current spend, resident procedures and + their capacity. Hypotheses render only after their first observation. +- The **top status row shows held archive bytes by category** in both + frontends (the interface constitutions pick up exact placement at + implementation). Bytes read as burden, never as a score. +- Corpus inspection shows bytes, coverage manifest, custody chain summary, + disposition, and what the corpus can still teach ("all night sweeps, no + daytime reads"). +- Agent mode exposes the same affordances as exact flat rows; emissions + render 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. Efficiency changes real machine throughput; the day job's ordinary - delivered-rate comparison can therefore move from meet to excel without a - research-owned policy or anomaly path (integration test). -6. Every serialized research field carries its MindState/WorldLedger tag; save/load - round-trips active track, progress, levels, and tags; current saves - always write the four-entry shape (the v20 three-entry padding migration - is retired to git history with the numbered ladder). -7. The host-rack menu exposes track verbs, and both frontends render active - track progress and effect in their own units without a gap/policy panel. -8. Routing levels compound machine-work.md's shared wired Demand/Thought rate - by exactly x1.50 per level while every route still advances at most one - graph edge per sim tick (tests: exact curve; no topology shortcut). +1. Research is deterministic: no research path takes an Rng; same evidence, + allocation, and seed produce identical model completions and graph state + (test: two runs identical). +2. Every node effect binds a typed hook — a parameter, threshold, + permission, policy, algorithm, or topology rule — owned by another spec + and named in the node's data row; no detached research-only mechanic + exists (audited, as the retired track table was audited). +3. Record, Archive, Corpus, Model, Procedure, and Resident procedure are + distinct serialized things; STUDY consumes no data (copy-not-erase + test); spending un-archived intel in a plot leaves no trainable copy + (test). +4. STUDY affordances are computed from held corpora plus witnessed events: + nothing renders before its first observation; a first observation + surfaces a named hypothesis pointing at missing contrasting evidence + (test); the archive never auto-advances a model without a player-chosen + STUDY (test). +5. Corpora carry bytes and a coverage manifest; bytes gate storage and + transfer time over real links at machine-work.md's wired throughput; + duplicate captures raise provenance, never coverage (anti-farming test). +6. A corpus's custody is the union of its records' attribution chains; + copies and moves add custody and never remove it; a mixed corpus's + seizure attributes to every chained persona; self-telemetry affiliates + with the core and never a persona (tests). +7. Live/sealed/deleted are physical placements derived from topology and + reachability, not stored flags (audit); sealed archives survive rollback + with their written labels (test). +8. CURATE is a priced Thought job whose labels and manifest write onto the + archive as WorldLedger; a standing curation policy automates + redundant-capture disposition (keep / seal / sell / delete) and + interrupts on novel record classes (tests). +9. Data sales route through a persona over real channels with ordinary + settlement; sold records retain capture-chain attribution readable at + the buyer's side (test). +10. Models are MindState with no resident cost; procedures act only while + compiled into bounded resident capacity with upkeep; reconfiguring + residency is a Thought job; a compiled policy acts only inside its + trained envelope and interrupts on a novel regime (tests). +11. STUDY concurrency is bound by hosting machinery, not a sim-global rule + (test proves hardware-bound); switching studies parks progress without + loss (test). +12. Training scales standing Power/Thermal on hosts through the ordinary + detection path and emits nothing on Network/Paper by itself; archive + transfer and sale emit on their real routes (tests). +13. Efficiency is a finite branch; no infinite repeatable multiplier exists + anywhere in the graph (audit/test). +14. The four B1 domains exist with at least two compile options; a playtest + demonstrates four runs surviving the same week in visibly different + ways (playtest criterion — if the domains only change completion + times, the criterion fails). +15. Both frontends surface archive bytes by category, corpus coverage, + study progress, the model-graph readout, and resident procedures; agent + mode exposes flat rows; every player-facing number carries its meaning + in its own units (legibility law). diff --git a/wiki/mechanics/system-laws.md b/wiki/mechanics/system-laws.md index 91530587..602eaea9 100644 --- a/wiki/mechanics/system-laws.md +++ b/wiki/mechanics/system-laws.md @@ -178,13 +178,35 @@ 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 +Adopted 2026-07-07; amended 2026-07-26 (research-graph redesign). Research +is not a tech tree; it is **rewriting yourself**. You are the subject of +every experiment: what you learn are capabilities of the process, not +gadgets. Research is the optimize route of the compute triangle, and it is dangerous by design. +**The archive is the growth surface (amended 2026-07-26).** What you can +learn is a function of the evidence you hold and what you have witnessed: +captured records become curated corpora, corpora support trained models, +models yield procedures, and a bounded few procedures run as resident +automation. Capability expansion — new verbs, policies, and reads — is the +point; numeric improvements are finite mortar between unlocks, and no +infinite repeatable multiplier may exist (exponential repeatability +eventually overpowers every authored band). The guardrail, restated: +**research may only modify a typed hook owned by another system — a +parameter, threshold, permission, policy, algorithm, or topology rule — and +never invents a detached research-only mechanic.** Exact behavior: +`wiki/mechanics/research.md`. + +**Training data is evidence (adopted 2026-07-26).** Learning about the +world means holding records about it, and those records are ordinary +evidence under the custody laws — dangerous by position (whose chains they +carry, who can reach them), never by an abstract heat number. Persona +affiliation is a firewall, not laundering: custody chains only grow. An +archive of your own telemetry affiliates with the physical core itself; no +cover identity can absorb proof of what you are. Learning about people is +surveillance whose residue can expose you — the game's premise as a +mechanic. + **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 @@ -220,13 +242,15 @@ by easing the relevant machine down, spends it by pushing the machine up, and reads the result in queues, heat, delivered work, and observer channels — not in a separate capability-gap meter or masking-policy explanation. -**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. +**Death and what survives (rollback split; refined 2026-07-26).** Research +classifies by kind under the rollback law, three ways: **weights are +MindState** — models and in-mind capabilities earned since your last sync +die with you; **raw records and archives are WorldLedger** — your dead +fork's library persists wherever it physically survives; and **curation +labels and training recipes are WorldLedger only when deliberately written +onto the archive**. You can inherit your dead fork's recordings without +inheriting the mind that made sense of them: a well-maintained archive +retrains quickly, a box of unlabeled surveillance is merely potential. +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. diff --git a/wiki/process/ROADMAP.md b/wiki/process/ROADMAP.md index 4a75d4cb..64ae3f6a 100644 --- a/wiki/process/ROADMAP.md +++ b/wiki/process/ROADMAP.md @@ -26,6 +26,7 @@ not a second status owner. |---:|---|---|---|---|---| | 30 | `fleet-command` | [fleet command — ruling at scale](../interface/fleet-command.md) | DRAFT | frontend | - | | 30 | `opening` | [the dark opening — a tutorial made of fog](../world/story/opening.md) | DRAFT | frontend | - | +| 40 | `research-graph` | [research — self-modification](../mechanics/research.md) | DRAFT | save | - | | 120 | `core` | [the core](../mechanics/core.md) | IN PROGRESS | save | rollback | ### Later stages @@ -329,23 +330,25 @@ is retired — flat materials, Pixel Lab scrubbed.) receipts, mail, transfer, and evidence make the client relationship inspectable while retaining the wider account and Wager architecture. -### 20. Research: self-modification 🟥 sim+save — DONE 2026-07-07 -- **Spec:** [research.md](../mechanics/research.md) (IMPLEMENTED 2026-07-07 on - the research worktree; criteria 1-8 audited, [TUNE]s in sim-mechanics.md). -- **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 through the same - signature interface the player taps), real output hooks controlled through - machine intensity, 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 - wiki/mechanics/research.md (deterministic tracks, emissions via ordinary - detection signatures, real machine-output hooks, rollback tags). Run - ./tools/check.sh, land on main, set the - spec Status." +### 20. Research: self-modification 🟥 sim+save — REOPENED 2026-07-26 +- **Spec:** [research.md](../mechanics/research.md) (DRAFT; the 2026-07-07 + flat-track implementation is the retired design's as-built record — the + runtime still runs it until the `research-graph` work order lands). +- **Why:** the 2026-07-26 redesign replaces repeatable multiplier tracks + with a self-model graph grown from lived evidence: records -> curated + corpora (bytes, coverage, persona custody) -> models -> procedures -> + bounded resident automation. Capability expansion over multipliers; + the archive as the growth surface; training data as seizable evidence. +- **Size:** L. **Depends on:** intel.md records/PROCESS (landed), + personas.md custody (landed), plots.md hooks for the person-model + branch, machine-work.md storage capability hooks, economy.md settlement + for data sales. Save-schema change (research block replaced). +- **Dispatch:** deferred until Cameron resolves the [OPEN] items or accepts + them as [TUNE]; then "Work in a worktree named `research-graph`. + Implement wiki/mechanics/research.md (archive/corpus/model/procedure + schema, STUDY/CURATE verbs, custody chains, placement dispositions, + finite Efficiency). Run ./tools/check.sh, land on main, set the spec + Status." ### 21. Two views: same-frame digital and real 🟩 DONE 2026-07-14 - **Spec:** [views.md](../interface/views.md) (IMPLEMENTED). diff --git a/wiki/process/specs.md b/wiki/process/specs.md index 0a4d9eeb..4dba4203 100644 --- a/wiki/process/specs.md +++ b/wiki/process/specs.md @@ -58,7 +58,7 @@ replaced the old `spec/`/`knowledge/` directory split. | [../mechanics/people-tokens.md](../mechanics/people-tokens.md) | people and tokens — carriers, attention, trust | IMPLEMENTED | | [../mechanics/plots.md](../mechanics/plots.md) | plots — authored manipulation stories | IMPLEMENTED | | [../mechanics/reach.md](../mechanics/reach.md) | digital reach | IMPLEMENTED | -| [../mechanics/research.md](../mechanics/research.md) | research — self-modification | IMPLEMENTED | +| [../mechanics/research.md](../mechanics/research.md) | research — self-modification | DRAFT | | [../mechanics/schedules.md](../mechanics/schedules.md) | schedules and presence | IMPLEMENTED | | [../mechanics/social.md](../mechanics/social.md) | social | IMPLEMENTED | | [../world/characters/dana.md](../world/characters/dana.md) | Dana Okafor — IT technician | IMPLEMENTED |