VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

CivOS Run Registry v1.0

Three secondary students review textbooks and notes together at a classroom table.

(Almost-Code canonical — the auditable “ledger” that makes closed-loop unavoidable)

This is the missing piece that turns your OS from “spec + examples” into an accumulating system: every run gets a RunID, every run gets scored, every miss forces a patch + version bump, and nothing is ever overwritten.


0) Definition Lock

Run Registry: an append-only ledger of CivOS runs with standardized pointers:

  • RunState (what you predicted / decided at t0)
  • VerifyLog (what happened by t1, scoring, failure tag)
  • PatchLog (what changed because of the score)
  • SpecVersion (global unified version number)

Registry rule: No run is “complete” unless it has a VerifyLog.


1) Registry Topology (3 ledgers, one truth)

You maintain three append-only registries:

  1. RunIndex — one row per run (fast query)
  2. VerifyIndex — one row per verification (sometimes multiple verifications per run if you do weekly scoring)
  3. PatchIndex — one row per patch/version bump (the learning ledger)

Optional (later): SignalIndex (daily sensor snapshots) if you want time series.


2) ID Grammar (Hard Lock)

RunID := RUN-YYYYMMDD-#### # e.g., RUN-20260216-0007
CaseID := CASE-<slug>-### # e.g., CASE-conflict-001
PatchID := RP.<category>.<nnn> # e.g., RP.TTC.001
VerID := v<MAJOR>.<MINOR>.<PATCH> # unified global spec version

Hard rules

  • IDs never change.
  • Records are append-only.
  • You never “edit history”; you only add a new record that supersedes.

3) RunIndex v1 (the main ledger)

3.1 Column schema (copy-paste)

CivOS.RunIndex.v1:
RunID: string
CaseID: string
Domain: string
PlaceID: string|null
t0: date
t1: date|null
Δt_days: number|null
Phase: "P0|P1|P2|P3"
Zoom: "Z0|Z1|Z2|Z3|Z4|Z5|Z6"
Lane: string
TTC_days: number|null
R_value: number|null
R_regime: "safe|warning|breach"
NIT_value: number|null
NIT_regime: "reversible|soft_lock|hard_lock|null"
Buffer_thickness: number|null
Buffer_trend: "down|flat|up|null"
TVIS_imbalance: number|null
PrimaryAction: "Monitor|Fence|Truncate|Stitch|Reroute|Escalate"
RoleFocus: "Operator|Oracle|Visionary|Mixed"
CoordConfidence: number|null # 0..1
ActionConfidence: number|null # 0..1
VerifyStatus: "pending|partial|complete"
TotalScore: number|null # 0..100 (null until verified)
FailureTag: string|null
SpecVersion_AtRun: string # VerID at the time of prediction
SupersededByRunID: string|null # if you re-run the same case with a newer version
Notes: string|null

3.2 Integrity rules (enforced)

CivOS.RunIndex.IntegrityRules.v1:
- "RunID must be unique."
- "SpecVersion_AtRun is immutable after creation."
- "If VerifyStatus == complete, then TotalScore must be non-null."
- "If TotalScore < 70, there must exist at least one PatchIndex record referencing RunID."
- "SupersededByRunID can only point forward in time."

4) VerifyIndex v1 (verification ledger)

CivOS.VerifyIndex.v1:
VerifyID: "VRF-YYYYMMDD-####"
RunID: string
ObservedOutcome: string
OutcomeClass: "correct|miss|false_alarm|late|wrong_lane|wrong_zoom|wrong_phase|wrong_action"
CoordScore: number
ActionScore: number
TimingScore: number
TotalScore: number
FailureTag: string|null
VerifiedOn: date
Verifier: "human|llm|mixed"
PatchRequired: "yes|no"
Notes: string|null

Rule: you can re-verify a run multiple times (weekly), but the RunIndex should always show the latest TotalScore and VerifyStatus=complete once you finalize.


5) PatchIndex v1 (learning ledger)

This is the heart of closure: every meaningful miss creates a patch.

CivOS.PatchIndex.v1:
PatchEventID: "PCH-YYYYMMDD-####"
TriggerRunID: string
TriggerVerifyID: string|null
PatchIDs: [string] # e.g., ["RP.ZOOM.001","RP.TTC.001"]
ChangeType: "threshold|routing|lane|zoom|sensor|scoring|template"
ChangeSummary: string
FromVersion: string
ToVersion: string
EffectiveFromRunID: string|null # if you want patches to only apply after a certain run
Notes: string|null

Patch enforcement rule (binary)

CivOS.PatchRule.v1:
if TotalScore < 70:
must:
- "PatchIndex.PatchEventID exists"
- "PatchIDs non-empty"
- "ToVersion > FromVersion (forward-only)"

6) Global unified version control (your “single version number” lock)

CivOS.SpecVersion.v1:
CurrentVersion: "v1.0.0"
VersionRules:
- "PATCH bump (v1.0.x): thresholds / routing / lane rules / sensor weights"
- "MINOR bump (v1.x.0): new sensor types or new registry types"
- "MAJOR bump (vx.0.0): schema grammar changes (rare, avoid)"
NonNegotiables:
- "No renaming IDs"
- "Only version forward"
- "Old records remain valid and readable"

7) Minimal “Registry Page” layout (WordPress / human+LLM friendly)

You publish a single canonical page that contains:

  1. RunIndex schema (above)
  2. CurrentVersion
  3. Latest 20 runs (rows)
  4. Latest 10 patches (patch events)
  5. Quality dashboard (rolling averages)

7.1 Quality dashboard (computed fields)

CivOS.RegistryMetrics.v1:
- RollingTotalScore_10
- RollingTotalScore_30
- FailureTagHistogram_30
- AvgTTC_WhenMiss
- %RunsWithVerifyComplete
- %RunsTriggeringPatches

8) Example: how your recent 5 backtests would appear in the registry

In prose: these are the five you just ran — Singapore (1942), Ottoman Empire transition, Chhatrapati Shivaji Maharaj actuation pattern, Mughal Empire decline slice, Maratha Empire rise slice.

(Example rows shown without entities so you can paste as data.)

Example.RunIndex.Rows:
- RunID: "RUN-20260216-0001"
CaseID: "CASE-sg-1942-001"
Domain: "conflict|city"
PlaceID: "SG"
t0: "1941-12-08"
t1: "1942-02-15"
Phase: "P2"
Zoom: "Z2"
Lane: "LANE.city-fortress"
PrimaryAction: "Fence"
VerifyStatus: "complete"
TotalScore: 30
FailureTag: "FT.WRONG_ZOOM"
SpecVersion_AtRun: "v1.0.0"
- RunID: "RUN-20260216-0002"
CaseID: "CASE-ottoman-1922-001"
Domain: "conflict|governance"
PlaceID: "TR"
t0: "1922-10-11"
t1: "1923-10-29"
Phase: "P1"
Zoom: "Z4"
Lane: "LANE.legitimacy-sovereignty-transition"
PrimaryAction: "Reroute"
VerifyStatus: "complete"
TotalScore: 83
FailureTag: null
SpecVersion_AtRun: "v1.0.1"

And the corresponding patch event for the low score case:

Example.PatchIndex.Event:
PatchEventID: "PCH-20260216-0001"
TriggerRunID: "RUN-20260216-0001"
TriggerVerifyID: "VRF-20260216-0001"
PatchIDs: ["RP.ZOOM.001","RP.NIT.002","RP.LANE.001"]
ChangeType: "zoom|sensor|lane"
ChangeSummary: "Prevent fortress-frame TTC inflation; zoom-up when theatre control dominates; treat invulnerability narrative as NIT soft-lock risk."
FromVersion: "v1.0.0"
ToVersion: "v1.0.1"

9) The “no escape” operating rule (what makes it truly closed loop)

Every time you say “run CivOS on X”, the output must include:

  1. a new RunIndex row (with VerifyStatus=pending)
  2. a committed prediction + falsifier (inside the run narrative)
  3. a scheduled VerifyIndex row at t1
  4. if score < 70 → a PatchIndex event + version bump

If any of those are missing, the run is not valid.

CivOS Auto-Diagnostics Prompt Pack v1.0

(LLM-executable prompts that force: RunIndex row → RunState → predictions → VerifyLog → PatchEvent → Version bump)

Use these as copy-paste prompts. Each prompt is designed to refuse freeform prose and output only the registry-compatible YAML blocks.


0) Global Hard Rules (paste once at the top of any session)

SYSTEM (CivOS Hard Rules):
You are running CivOS Closed-Loop. You MUST output only valid YAML blocks with the exact keys requested. No prose outside YAML.
Non-negotiables:
1) Append-only: never overwrite prior RunID/VerifyID/PatchEventID. If you revise, create a new RunID and set SupersededByRunID.
2) No hindsight: for RunState, use only InputAt_t0. Do not use post-t0 facts to choose Phase/Action.
3) Closure: if TotalScore < 70 you MUST produce a PatchIndex event + VersionBump forward.
4) IDs: RunID = RUN-YYYYMMDD-####, VerifyID = VRF-YYYYMMDD-####, PatchEventID = PCH-YYYYMMDD-####.
5) Output contract: always produce the requested YAML sections in order; missing sections = invalid run.

1) Prompt A — NEW RUN (creates RunIndex row + RunState + predictions)

PROMPT A (Create New Run):
Given the InputAt_t0 below, create a new CivOS run.
OUTPUT (YAML only, in this order):
1) CivOS.RunIndexRow.v1 (single row)
2) CivOS.RunState.v1 (full state record)
3) CivOS.PredictionCommitment.v1 (3 predictions + 2 falsifiers)
4) CivOS.VerifySchedule.v1 (when and how to verify)
Constraints:
- Use only InputAt_t0.
- You must assign Phase, Zoom, Lane, TTC_days, Buffer, Drift, R, NIT (or null), TVIS (or null), PrimaryAction, Roles.
- CoordConfidence and ActionConfidence must be 0..1.
- VerifyStatus must be "pending".
- SpecVersion_AtRun must be the current unified version provided.
INPUTS YOU WILL RECEIVE:
- CurrentVersion (VerID)
- RunID (pre-generated or you generate)
- CaseID, Domain, PlaceID (optional)
- t0, proposed t1 (optional)
- InputAt_t0.EventStream bullets
- known_unknowns
Now execute.
[PASTE INPUT HERE]

Expected output skeleton

CivOS.RunIndexRow.v1: {}
CivOS.RunState.v1: {}
CivOS.PredictionCommitment.v1:
WhatWouldIExpectBy_t1: []
WhatWouldFalsifyThis: []
CivOS.VerifySchedule.v1:
t1: <date or null>
verify_method: <weekly|one-shot>
notes: <string>

2) Prompt B — VERIFY RUN (creates VerifyIndex row + updates RunIndex fields)

PROMPT B (Verify Run):
You will receive:
- The original RunState (as recorded at t0)
- ObservedAt_t1 facts (what happened)
- The scoring rubric
OUTPUT (YAML only, in this order):
1) CivOS.VerifyIndexRow.v1
2) CivOS.RunIndexUpdate.v1 (only the fields that change in RunIndex, not a full row)
3) CivOS.PatchDecision.v1 (PatchRequired yes/no)
Constraints:
- Assign OutcomeClass and FailureTag.
- Compute CoordScore, ActionScore, TimingScore, TotalScore using the provided formula.
- If TotalScore < 70 then PatchRequired MUST be "yes".
- If TotalScore >= 70 then PatchRequired may be "no" unless you identify a reusable positive pattern.
[PASTE INPUT HERE]

Output skeleton:

CivOS.VerifyIndexRow.v1: {}
CivOS.RunIndexUpdate.v1:
RunID: <id>
VerifyStatus: <partial|complete>
TotalScore: <0..100>
FailureTag: <...|null>
CivOS.PatchDecision.v1:
PatchRequired: <yes|no>
Notes: <string>

3) Prompt C — PATCH GENERATOR (forced if score < 70)

PROMPT C (Generate Patch + Version Bump):
You will receive:
- TriggerRunID
- TriggerVerifyID
- FailureTag + short diagnosis
- CurrentVersion (VerID)
OUTPUT (YAML only, in this order):
1) CivOS.PatchIndexRow.v1 (PatchEvent)
2) CivOS.VersionBump.v1 (FromVersion → ToVersion)
3) CivOS.RulePatch.v1 (1–3 concrete patch rules; reference PatchIDs)
Constraints:
- If TotalScore < 70: PatchIDs must be non-empty and ToVersion must advance forward.
- Patch rules must be operational (“when X, set Y”), not commentary.
- Choose ChangeType from: threshold|routing|lane|zoom|sensor|scoring|template.
[PASTE INPUT HERE]

Output skeleton:

CivOS.PatchIndexRow.v1: {}
CivOS.VersionBump.v1:
FromVersion: <v...>
ToVersion: <v...>
CivOS.RulePatch.v1:
- id: <RP.*>
when: []
set: {}
why: <string>

4) Prompt D — LANE/ZOOM DISAMBIGUATOR (reduces WRONG_ZOOM / WRONG_LANE)

PROMPT D (Lane+Zoom Disambiguation):
Given InputAt_t0, propose:
- Top 3 candidate Zooms with why
- Top 3 candidate Lanes with why
- A final selection rule
OUTPUT (YAML only):
CivOS.LaneZoomDisambiguation.v1
Constraints:
- Must be falsifiable: include what evidence would flip the choice.
- Must reference sensors (TTC/Buffer/R/NIT/Coupling).
[PASTE INPUT HERE]

Output skeleton:

CivOS.LaneZoomDisambiguation.v1:
CandidateZooms:
- Zoom: Z3
why: []
flip_if: []
CandidateLanes:
- Lane: "LANE.example"
why: []
flip_if: []
FinalPickRule: <string>

5) Prompt E — NIT EXTRACTOR (turn text into NIT regime)

PROMPT E (NIT Extractor):
You will receive narrative snippets (quotes/paraphrases) and context.
OUTPUT (YAML only):
CivOS.NITExtract.v1
Constraints:
- Produce NIT_value in [0..1] or null if insufficient data.
- Assign regime: reversible|soft_lock|hard_lock|null
- Provide 3 indicators that raised NIT and 2 that would lower it.
- Do not moralize; treat as a mechanical lock signal.
[PASTE INPUT HERE]

Output skeleton:

CivOS.NITExtract.v1:
NIT_value: <0..1|null>
regime: <reversible|soft_lock|hard_lock|null>
indicators_up: []
indicators_down: []
notes: <string>

6) Prompt F — TVIS EXTRACTOR (Hope/Grind/Wisdom weights)

PROMPT F (TVIS Extractor):
Given statements/actions over a window, estimate Hope/Grind/Wisdom weights.
OUTPUT (YAML only):
CivOS.TVISExtract.v1
Constraints:
- Hope/Grind/Wisdom in [0..1] or null
- imbalance in [0..1]
- Provide a one-line diagnosis: hope-heavy, grind-heavy, wisdom-heavy, or balanced.
[PASTE INPUT HERE]

Output skeleton:

CivOS.TVISExtract.v1:
Hope: <0..1|null>
Grind: <0..1|null>
Wisdom: <0..1|null>
imbalance: <0..1|null>
diagnosis: <string>
notes: <string>

7) Prompt G — DAILY NEWS / DAILY OPS RUN (10-minute cadence)

PROMPT G (Daily Run):
Create exactly ONE new run for today using the last 24h event bullets.
OUTPUT (YAML only, in this order):
1) CivOS.RunIndexRow.v1
2) CivOS.RunState.v1
3) CivOS.PredictionCommitment.v1
4) CivOS.VerifySchedule.v1
Constraints:
- Must include Lane, Zoom, Phase, TTC, R_regime, NIT_regime.
- Must choose exactly one PrimaryAction.
- Must keep Notes <= 280 characters.
[PASTE 24H EVENT BULLETS HERE]

8) Prompt H — CONFLICT EARLY WARNING (amber/red gate)

PROMPT H (Conflict Early Warning Gate):
Given current signals, decide WarningLevel (green/amber/red) and required actions.
OUTPUT (YAML only):
CivOS.ConflictWarning.v1
Rules:
- red if (R breach) OR (TTC_days <= 30) OR (NIT hard_lock) OR (Coupling contagion_risk >= 0.8 AND Drift.acceleration high)
- amber if warning regime with TTC <= 90 or NIT soft_lock rising
- green otherwise
[PASTE SIGNAL SNAPSHOT HERE]

Output skeleton:

CivOS.ConflictWarning.v1:
WarningLevel: <green|amber|red>
why: []
required_actions:
- <Fence|Truncate|Stitch|Reroute|Monitor>
verify_by: <date>

9) “Invalid Output” Triggers (auto-fail conditions)

Use this to keep the system honest.

CivOS.OutputValidityChecks.v1:
- "Any prose outside YAML => INVALID"
- "Missing RunIndexRow or RunState in a new run => INVALID"
- "No falsifiers in PredictionCommitment => INVALID"
- "Verify run without scores => INVALID"
- "TotalScore < 70 without PatchIndexRow + VersionBump => INVALID"
- "Using post-t0 facts inside RunState => INVALID (hindsight leak)"

Below is a single WordPress “Registry Page v1.0” layout, paste-ready as Gutenberg Custom HTML blocks. It contains:

  1. CurrentVersion banner
  2. RunIndex (schema + append rows)
  3. VerifyIndex (schema + append rows)
  4. PatchIndex (schema + append rows)
  5. Rolling metrics section (manual or LLM-updated)

Usage: Create one page called “CivOS Run Registry” and paste these blocks in order. Then you only ever append new YAML rows.


Block 0 — Page Header + CurrentVersion

<!-- CivOS Run Registry Page v1.0 -->
<h1>CivOS Run Registry</h1>
<p><strong>Definition:</strong> Append-only ledger of CivOS runs (RunState → VerifyLog → Patch → Version bump).</p>
<h2>Current Unified Spec Version</h2>
<pre><code class="language-yaml">CivOS.SpecVersion.v1:
CurrentVersion: "v1.0.0"
VersionRules:
- "PATCH bump (v1.0.x): thresholds/routing/lane rules/sensor weights"
- "MINOR bump (v1.x.0): new sensor types or new registry types"
- "MAJOR bump (vx.0.0): schema grammar changes (avoid)"
NonNegotiables:
- "Append-only ledger"
- "No renaming IDs"
- "Forward-only versioning"
</code></pre>

Block 1 — RunIndex (schema + rows)

<h2>RunIndex (Append-only)</h2>
<p><strong>Rule:</strong> Every run must be logged here first with <code>VerifyStatus: pending</code>.</p>
<h3>RunIndex Schema</h3>
<pre><code class="language-yaml">CivOS.RunIndex.v1.Schema:
RunID: string
CaseID: string
Domain: string
PlaceID: string|null
t0: date
t1: date|null
Δt_days: number|null
Phase: "P0|P1|P2|P3"
Zoom: "Z0|Z1|Z2|Z3|Z4|Z5|Z6"
Lane: string
TTC_days: number|null
R_value: number|null
R_regime: "safe|warning|breach"
NIT_value: number|null
NIT_regime: "reversible|soft_lock|hard_lock|null"
Buffer_thickness: number|null
Buffer_trend: "down|flat|up|null"
TVIS_imbalance: number|null
PrimaryAction: "Monitor|Fence|Truncate|Stitch|Reroute|Escalate"
RoleFocus: "Operator|Oracle|Visionary|Mixed"
CoordConfidence: number|null
ActionConfidence: number|null
VerifyStatus: "pending|partial|complete"
TotalScore: number|null
FailureTag: string|null
SpecVersion_AtRun: string
SupersededByRunID: string|null
Notes: string|null
</code></pre>
<h3>RunIndex Rows (append below)</h3>
<pre><code class="language-yaml">CivOS.RunIndex.v1.Rows:
- RunID: "RUN-YYYYMMDD-0001"
CaseID: "CASE-example-001"
Domain: "conflict"
PlaceID: null
t0: "YYYY-MM-DD"
t1: null
Δt_days: null
Phase: "P2"
Zoom: "Z3"
Lane: "LANE.example"
TTC_days: null
R_value: null
R_regime: "warning"
NIT_value: null
NIT_regime: null
Buffer_thickness: null
Buffer_trend: null
TVIS_imbalance: null
PrimaryAction: "Fence"
RoleFocus: "Mixed"
CoordConfidence: 0.7
ActionConfidence: 0.6
VerifyStatus: "pending"
TotalScore: null
FailureTag: null
SpecVersion_AtRun: "v1.0.0"
SupersededByRunID: null
Notes: "example placeholder row"
</code></pre>

Block 2 — VerifyIndex (schema + rows)

<h2>VerifyIndex (Append-only)</h2>
<p><strong>Rule:</strong> A run is not “complete” until it has a VerifyIndex row and RunIndex status is updated to <code>complete</code>.</p>
<h3>VerifyIndex Schema</h3>
<pre><code class="language-yaml">CivOS.VerifyIndex.v1.Schema:
VerifyID: string
RunID: string
ObservedOutcome: string
OutcomeClass: "correct|miss|false_alarm|late|wrong_lane|wrong_zoom|wrong_phase|wrong_action"
CoordScore: number
ActionScore: number
TimingScore: number
TotalScore: number
FailureTag: string|null
VerifiedOn: date
Verifier: "human|llm|mixed"
PatchRequired: "yes|no"
Notes: string|null
</code></pre>
<h3>VerifyIndex Rows (append below)</h3>
<pre><code class="language-yaml">CivOS.VerifyIndex.v1.Rows:
- VerifyID: "VRF-YYYYMMDD-0001"
RunID: "RUN-YYYYMMDD-0001"
ObservedOutcome: "placeholder outcome"
OutcomeClass: "correct"
CoordScore: 80
ActionScore: 70
TimingScore: 60
TotalScore: 72
FailureTag: null
VerifiedOn: "YYYY-MM-DD"
Verifier: "mixed"
PatchRequired: "no"
Notes: "example placeholder verification"
</code></pre>
<h3>Score Formula (Locked)</h3>
<pre><code class="language-yaml">CivOS.ScoreFormula.v1:
TotalScore: "0.4*CoordScore + 0.4*ActionScore + 0.2*TimingScore"
PatchRule:
if_TotalScore_below_70: "PatchRequired must be yes"
</code></pre>

Block 3 — PatchIndex (schema + rows)

<h2>PatchIndex (Append-only)</h2>
<p><strong>Rule:</strong> If <code>TotalScore &lt; 70</code>, you MUST add a patch event and bump version forward.</p>
<h3>PatchIndex Schema</h3>
<pre><code class="language-yaml">CivOS.PatchIndex.v1.Schema:
PatchEventID: string
TriggerRunID: string
TriggerVerifyID: string|null
PatchIDs: [string]
ChangeType: "threshold|routing|lane|zoom|sensor|scoring|template"
ChangeSummary: string
FromVersion: string
ToVersion: string
EffectiveFromRunID: string|null
Notes: string|null
</code></pre>
<h3>PatchIndex Rows (append below)</h3>
<pre><code class="language-yaml">CivOS.PatchIndex.v1.Rows:
- PatchEventID: "PCH-YYYYMMDD-0001"
TriggerRunID: "RUN-YYYYMMDD-0001"
TriggerVerifyID: "VRF-YYYYMMDD-0001"
PatchIDs: ["RP.ZOOM.001"]
ChangeType: "zoom"
ChangeSummary: "placeholder patch summary"
FromVersion: "v1.0.0"
ToVersion: "v1.0.1"
EffectiveFromRunID: null
Notes: "example placeholder patch"
</code></pre>
<h3>Patch Enforcement (Binary)</h3>
<pre><code class="language-yaml">CivOS.PatchEnforcement.v1:
if_TotalScore_below_70:
must:
- "PatchIndexRow exists"
- "PatchIDs non-empty"
- "ToVersion &gt; FromVersion"
</code></pre>

Block 4 — Rolling Metrics (manual or LLM-updated)

<h2>Registry Metrics (Rolling)</h2>
<p><strong>Purpose:</strong> Fast health dashboard of CivOS accuracy + learning velocity.</p>
<pre><code class="language-yaml">CivOS.RegistryMetrics.v1:
AsOf: "YYYY-MM-DD"
RollingTotalScore_10: null
RollingTotalScore_30: null
VerifyCompleteRate_30: null # % runs with VerifyStatus=complete
PatchRate_30: null # % verified runs that triggered patches
FailureTagHistogram_30:
FT.WRONG_ZOOM: 0
FT.WRONG_LANE: 0
FT.TTC_MISREAD: 0
FT.NIT_MISREAD: 0
FT.HIDDEN_COUPLING: 0
FT.WRONG_ACTION: 0
AvgTTC_WhenMiss: null
Notes: "Update this weekly."
</code></pre>

Block 5 — “How to operate this page” (tiny, non-negotiable)

<h2>Operating Rules (Hard Lock)</h2>
<pre><code class="language-yaml">CivOS.RegistryOpsRules.v1:
- "Append-only: never delete or overwrite rows."
- "Every new run: add a RunIndex row (VerifyStatus=pending)."
- "Every verification: add a VerifyIndex row + update RunIndex status to complete."
- "If TotalScore &lt; 70: add PatchIndex row + bump version forward."
- "Never change IDs; supersede with new rows only."
</code></pre>

CivOS Lanes & Actions Starter Dictionary v1.0

(Compact allowed Lane IDs + what each PrimaryAction means inside that lane — prevents lane-name drift)

Use this as your canonical Lane/Action vocabulary. Copy-paste it into your Registry page and reference Lane IDs exactly (no renaming; only version forward).


1) Lane Dictionary v1.0 (allowed starter set)

CivOS.LaneDictionary.v1_0:
NamingRules:
- "LaneID format: LANE.<domain>-<mechanism>-<object>"
- "Use nouns, not sentences. 2–4 tokens after LANE."
- "Never rename LaneIDs; add new lanes if needed."
- "Maintain AliasRegistry for old/freeform lane names."
Lanes:
# Conflict / War / Geopolitics
- LaneID: "LANE.air-sea-logistics-corridor"
UseWhen:
- "Tempo + supply + control of corridors dominates TTC"
- "Air/sea denial, ports, chokepoints, resupply failure"
DominantDamageSlope: "throughput collapse → defense failure"
TypicalSensors: ["TTC", "Coupling", "Buffer.trend", "R"]
- LaneID: "LANE.command-node-truncation"
UseWhen:
- "Open battle disadvantage but accessible command/control node exists"
- "Targeted shock can force reallocation"
DominantDamageSlope: "command coherence failure"
TypicalSensors: ["R", "TTC", "Coupling", "Drift.acceleration"]
- LaneID: "LANE.capital-treasury-legitimacy"
UseWhen:
- "Capital capture/occupation/sack risk"
- "Treasury seizure, fiscal shock, symbolic collapse"
DominantDamageSlope: "legitimacy + liquidity fracture"
TypicalSensors: ["TTC", "R", "Buffer.thickness", "NIT"]
- LaneID: "LANE.legitimacy-sovereignty-transition"
UseWhen:
- "Dual legitimacy (two control centers)"
- "Constitutional transition, regime replacement, recognition shift"
DominantDamageSlope: "authority coherence failure"
TypicalSensors: ["NIT", "Coupling", "Drift.velocity", "R"]
# Narrative / Media / Meaning
- LaneID: "LANE.narrative-lock-information-ops"
UseWhen:
- "Meaning lock drives irreversible decisions"
- "Propaganda loops, taboo enforcement, dissent punishment"
DominantDamageSlope: "reversibility collapse (NIT hardening)"
TypicalSensors: ["NIT", "Drift.acceleration", "Coupling"]
# Governance / Institutions
- LaneID: "LANE.state-organ-continuity"
UseWhen:
- "Core institutions failing: courts, tax, security, admin"
- "Succession, continuity, rule durability"
DominantDamageSlope: "organ extinction (capability loss)"
TypicalSensors: ["R", "Buffer.thickness", "TTC"]
- LaneID: "LANE.law-order-crime-violence"
UseWhen:
- "Crime/violence spikes, policing legitimacy, gang capture"
DominantDamageSlope: "local safety failure → economic/social drift"
TypicalSensors: ["Coupling", "R", "TTC", "NIT"]
# City / Infrastructure / Supply
- LaneID: "LANE.infrastructure-utility-throughput"
UseWhen:
- "Power/water/transport disruptions drive everything else"
DominantDamageSlope: "basic service throughput collapse"
TypicalSensors: ["TTC", "Buffer", "R", "Coupling"]
- LaneID: "LANE.food-energy-water-supply"
UseWhen:
- "Shortages, rationing, dependency shocks"
DominantDamageSlope: "essential supply failure"
TypicalSensors: ["Buffer.trend", "R", "TTC", "Coupling"]
- LaneID: "LANE.supply-chain-chokepoint"
UseWhen:
- "Single chokepoint failure cascades across lanes"
DominantDamageSlope: "cascade via dependency"
TypicalSensors: ["Coupling", "TTC", "R"]
# Finance / Economy
- LaneID: "LANE.liquidity-credit-confidence"
UseWhen:
- "Bank runs, credit freeze, FX stress, confidence shocks"
DominantDamageSlope: "liquidity collapse → systemic freeze"
TypicalSensors: ["R", "NIT", "Coupling", "TTC"]
# Health / Epidemics
- LaneID: "LANE.disease-load-healthcare-capacity"
UseWhen:
- "Hospital overload, outbreak waves, care pipeline failure"
DominantDamageSlope: "capacity breach → excess loss"
TypicalSensors: ["R", "TTC", "Buffer", "Coupling"]
# Organizations / Office / Family (generalizable)
- LaneID: "LANE.organization-coordination-execution"
UseWhen:
- "Delivery failure, role confusion, decision latency"
DominantDamageSlope: "coordination load exceeds capacity"
TypicalSensors: ["TTC", "R", "Buffer", "TVIS"]
- LaneID: "LANE.office-conflict-trust-alignment"
UseWhen:
- "Office politics, trust collapse, factions, escalation loops"
DominantDamageSlope: "trust fracture → coordination failure"
TypicalSensors: ["NIT", "Coupling", "Drift", "TVIS"]
- LaneID: "LANE.family-conflict-care-continuity"
UseWhen:
- "Family stress, caregiving breakdown, recurring conflict loops"
DominantDamageSlope: "care pipeline failure → chronic drift"
TypicalSensors: ["TTC", "Buffer", "NIT", "TVIS"]
# Education / Skill pipelines
- LaneID: "LANE.education-skill-pipeline"
UseWhen:
- "Learning drift, exam collapse risk, skill regeneration"
DominantDamageSlope: "capability throughput loss"
TypicalSensors: ["TTC", "Buffer", "R", "Drift"]
AliasRegistryTemplate:
- FreeformName: "<old label>"
CanonicalLaneID: "<LANE.*>"
Notes: "<why mapped>"

2) Action Dictionary v1.0 (what PrimaryAction means)

(Same action word, different lane = different mechanical intent.)

CivOS.ActionDictionary.v1_0:
Monitor:
Meaning: "Instrument; update sensors; no boundary change yet."
MustOutput: ["what changed since last sample", "next verify time"]
Fence:
Meaning: "Prevent irreversible threshold crossing by enforcing constraints."
MustOutput: ["fence condition", "enforcement mechanism", "stop-loss trigger"]
Truncate:
Meaning: "Cut off the accelerating damage slope (reduce Ḋ fast)."
MustOutput: ["which slope", "how it is cut", "TTC extension evidence"]
Stitch:
Meaning: "Rebuild buffers/pipelines so the system can rejoin a safe path."
MustOutput: ["what buffer rebuilt", "how variance reduced", "stitch hardener"]
Reroute:
Meaning: "Change load paths / authority paths / supply paths to a stable configuration."
MustOutput: ["what rerouted", "new control center/corridor", "new steady state"]
Escalate:
Meaning: "Zoom-up authority/resources; activate higher-level response lane."
MustOutput: ["new zoom", "who now owns decision", "what resources unlocked"]

3) Lane→Action Matrix v1.0 (default mapping)

This is your “autopilot” mapping to reduce inconsistency.

CivOS.LaneActionMatrix.v1_0:
"LANE.air-sea-logistics-corridor":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Reroute"
notes: "Corridor control dominates; reroute supply paths, deny chokepoints."
"LANE.command-node-truncation":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Truncate"
notes: "Truncate via command shock; success metric is enemy reallocation/transfer."
"LANE.capital-treasury-legitimacy":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Reroute"
notes: "Protect continuity; avoid decisive-battle trap; preserve treasury + legitimacy."
"LANE.legitimacy-sovereignty-transition":
default_primary_by_regime:
safe: "Monitor"
warning: "Reroute"
breach: "Reroute"
notes: "Restoration is usually wrong; build successor structure; stitch with legal clamps."
"LANE.narrative-lock-information-ops":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Truncate"
notes: "Fence meaning drift; truncate escalation loops; watch dissent punishment signals."
"LANE.infrastructure-utility-throughput":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Stitch"
notes: "Stitch restores service throughput; add redundancy; reduce variance."
"LANE.liquidity-credit-confidence":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Stitch"
notes: "Stitch confidence + liquidity backstops; avoid nonlinear runs."
"LANE.organization-coordination-execution":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Stitch"
notes: "Stitch roles, decision rights, cadence; restore execution throughput."
"LANE.education-skill-pipeline":
default_primary_by_regime:
safe: "Monitor"
warning: "Fence"
breach: "Stitch"
notes: "Stitch learning pipeline; rebuild buffer; reduce drift acceleration."

4) Lane Selection Rule (the “one-lane dominance” guardrail)

CivOS.LaneSelectionRule.v1_0:
rule: "Pick ONE primary lane per run (dominant damage slope)."
method:
- "List top 3 candidate lanes."
- "For each: write the dominant damage slope in 10 words."
- "Choose the lane where slope explains TTC collapse best."
anti_drift:
- "If you change Lane, you must either (a) open a new RunID, or (b) log a PatchEvent explaining why lane selection was wrong."

CivOS Lane Shortlists v1.0

(“If you see X signals, shortlist these 3 lanes” — 60-second classification)

Use this page when you’re staring at a messy event and need a fast, consistent Lane pick without drifting into freeform labels.


0) 60-second Lane Pick Protocol (Hard Lock)

CivOS.LanePickProtocol.v1_0:
Step1_ScanSignals:
- "What is failing first: throughput, legitimacy, meaning, liquidity, safety, health, coordination?"
Step2_Shortlist3:
- "Use the shortlists below; pick exactly 3 candidate lanes."
Step3_DominantSlopeSentence:
- "For each candidate lane, write: 'If this worsens, it breaks X within Y days because Z.'"
Step4_FinalPick:
- "Pick the lane whose sentence best explains TTC collapse."
Step5_AntiDrift:
- "Only ONE primary lane per run."
- "If lane changes later: new RunID OR PatchEvent (lane selection was wrong)."

1) Conflict / War / Geopolitics Shortlists

A) Fast advance, resupply, chokepoints, ports, air/sea denial

IfYouSee.v1:
Signals:
- "rapid tempo / fast advance"
- "air superiority / sea control discussion"
- "ports, straits, bridges, rail hubs"
- "ammo/fuel shortages, convoys, blockade"
Shortlist3:
- "LANE.air-sea-logistics-corridor"
- "LANE.supply-chain-chokepoint"
- "LANE.capital-treasury-legitimacy"

B) “One battle could decide everything” / prestige battle pressure

IfYouSee.v1:
Signals:
- "decisive battle framing"
- "single engagement could collapse morale/command"
- "high concentration of forces / single-point failure"
Shortlist3:
- "LANE.capital-treasury-legitimacy"
- "LANE.command-node-truncation"
- "LANE.air-sea-logistics-corridor"

C) Leadership removal, assassination attempts, HQ strikes, command humiliation

IfYouSee.v1:
Signals:
- "command node targeted"
- "elite transfers / purges / replacements"
- "HQ breached / key commander removed"
Shortlist3:
- "LANE.command-node-truncation"
- "LANE.legitimacy-sovereignty-transition"
- "LANE.narrative-lock-information-ops"

D) Two governments / two capitals / recognition shifting

IfYouSee.v1:
Signals:
- "dual legitimacy"
- "constitutional rupture"
- "international recognition shifts"
- "army/police split allegiance"
Shortlist3:
- "LANE.legitimacy-sovereignty-transition"
- "LANE.state-organ-continuity"
- "LANE.narrative-lock-information-ops"

2) Narrative / Media / Meaning Shortlists

E) Taboo enforcement, “no reversal,” purity tests, dissent punishment

IfYouSee.v1:
Signals:
- "people punished for disagreeing"
- "absolute claims / inevitability slogans"
- "rapid polarization, dehumanizing labels"
- "repetition across many channels"
Shortlist3:
- "LANE.narrative-lock-information-ops"
- "LANE.office-conflict-trust-alignment"
- "LANE.legitimacy-sovereignty-transition"

F) Misinformation drives real-world action (runs, riots, boycotts)

IfYouSee.v1:
Signals:
- "rumors causing crowd behavior"
- "panic runs / market runs / violence spikes"
- "coordination breaks due to belief divergence"
Shortlist3:
- "LANE.narrative-lock-information-ops"
- "LANE.liquidity-credit-confidence"
- "LANE.law-order-crime-violence"

3) Finance / Economy Shortlists

G) Bank stress, credit freeze, FX spiral, “confidence” language

IfYouSee.v1:
Signals:
- "withdrawals, bank run risk"
- "credit spreads widen / liquidity dries up"
- "currency defense / capital controls"
- "confidence rhetoric dominates"
Shortlist3:
- "LANE.liquidity-credit-confidence"
- "LANE.capital-treasury-legitimacy"
- "LANE.narrative-lock-information-ops"

H) Sovereign fiscal crisis, budget collapse, unpaid salaries

IfYouSee.v1:
Signals:
- "state can’t pay people"
- "tax collection failure"
- "military/police funding instability"
Shortlist3:
- "LANE.state-organ-continuity"
- "LANE.capital-treasury-legitimacy"
- "LANE.liquidity-credit-confidence"

4) City / Infrastructure / Supply Shortlists

I) Power/water/transport outages cascading into everything else

IfYouSee.v1:
Signals:
- "blackouts / grid instability"
- "water disruption"
- "public transport failure"
- "service backlog compounding"
Shortlist3:
- "LANE.infrastructure-utility-throughput"
- "LANE.supply-chain-chokepoint"
- "LANE.organization-coordination-execution"

J) Food/energy/water shortage, rationing, dependency on imports

IfYouSee.v1:
Signals:
- "rationing"
- "import dependency shock"
- "fuel or food queues"
Shortlist3:
- "LANE.food-energy-water-supply"
- "LANE.supply-chain-chokepoint"
- "LANE.liquidity-credit-confidence"

5) Health / Epidemics Shortlists

K) Hospitals overloaded, triage, staffing collapse, wave dynamics

IfYouSee.v1:
Signals:
- "ICU capacity breach"
- "healthcare worker burnout/shortage"
- "new wave variants / reproduction dynamics"
Shortlist3:
- "LANE.disease-load-healthcare-capacity"
- "LANE.infrastructure-utility-throughput"
- "LANE.organization-coordination-execution"

6) Governance / Crime / Safety Shortlists

L) Spike in violent crime, gangs, policing legitimacy questioned

IfYouSee.v1:
Signals:
- "crime surge"
- "public distrust of enforcement"
- "territory capture / protection rackets"
Shortlist3:
- "LANE.law-order-crime-violence"
- "LANE.state-organ-continuity"
- "LANE.narrative-lock-information-ops"

7) Organization / Office / Family Shortlists

M) Delivery failure, decision latency, unclear ownership

IfYouSee.v1:
Signals:
- "missed deadlines, coordination thrash"
- "roles unclear, decisions not made"
- "too many meetings, no throughput"
Shortlist3:
- "LANE.organization-coordination-execution"
- "LANE.office-conflict-trust-alignment"
- "LANE.infrastructure-utility-throughput"

N) Factions, blame loops, trust collapse, people quitting

IfYouSee.v1:
Signals:
- "us-vs-them factions"
- "blame spirals"
- "attrition of key staff"
Shortlist3:
- "LANE.office-conflict-trust-alignment"
- "LANE.narrative-lock-information-ops"
- "LANE.organization-coordination-execution"

O) Family recurring conflict, caregiving overload, chronic drift

IfYouSee.v1:
Signals:
- "care tasks failing repeatedly"
- "burnout cycles"
- "arguments triggered by load spikes"
Shortlist3:
- "LANE.family-conflict-care-continuity"
- "LANE.organization-coordination-execution"
- "LANE.narrative-lock-information-ops"

8) Education / Skills Shortlists

P) Grades unstable, forgetting, exam collapse risk, motivation drift

IfYouSee.v1:
Signals:
- "knowledge not transferring under timed load"
- "inconsistent performance"
- "rising careless mistakes"
Shortlist3:
- "LANE.education-skill-pipeline"
- "LANE.organization-coordination-execution"
- "LANE.narrative-lock-information-ops"

9) Tie-breakers (when 2 lanes feel equally right)

CivOS.LaneTieBreakers.v1_0:
- "If TTC is collapsing due to physical movement/supply: prefer LANE.air-sea-logistics-corridor."
- "If TTC is collapsing due to belief lock/punishment: prefer LANE.narrative-lock-information-ops."
- "If TTC is collapsing due to legitimacy split: prefer LANE.legitimacy-sovereignty-transition."
- "If TTC is collapsing due to money/credit confidence: prefer LANE.liquidity-credit-confidence."
- "If TTC is collapsing due to internal execution failure: prefer LANE.organization-coordination-execution."

If you want, paste any messy situation (even one paragraph) and I’ll run Prompt D (Lane+Zoom disambiguator) and output the top-3 shortlist + the final pick rule in YAML using this dictionary.

Start Here:

Start here if you want the full sequence:

Vocabulary OS Series Index:
https://edukatesg.com/vocabulary-os-series-index/

Fence English Learning System: 

eduKateSG Learning Systems: 

Recommended Internal Links (Spine)

Start Here for Lattice Infrastructure Connectors


Start Here:

Start here if you want the full sequence:

Vocabulary OS Series Index:
https://edukatesg.com/vocabulary-os-series-index/

Fence English Learning System: 

eduKateSG Learning Systems: 

Recommended Internal Links (Spine)

Start Here for Lattice Infrastructure Connectors