# Parameter Registry ### TheRON — OTIVM / CIVICVS / TESSERA Stack ### Status: Living document — parameters added as established, never removed ### Date: 2026-04-28 --- ## 0. Purpose This document is the authoritative registry of all simulation parameters across all layers. It sits between the prose documents (scenarios, actor backgrounds, city substrates) and the SQL schema. It prevents the schema from prematurely flattening complex concepts into simple integers. Every parameter here declares four structural fields before any values are given: ``` token: canonical code identifier (snake_case, period-neutral) scope: actor | city | scenario | relation | derived layer: roman | mesolithic | universal maturity: canonical | provisional | research_needed ``` **scope** — where the parameter lives in the architecture: - `actor` — per-player, drifts with decisions, lives in per-player SQLite - `city` — shared across players, changes with events, lives in city substrate - `scenario` — exists within a scenario's active window only - `relation` — cross-layer dependency or derived interaction - `derived` — computed from other parameters, not stored independently **layer** — which cultural period the parameter belongs to: - `roman` — Roman-specific, approximately 1st c. BCE to 1st c. CE - `mesolithic` — Mesolithic-specific, approximately 10000–4000 BCE - `universal` — exists across all periods with different expressions **maturity** — confidence in the parameter's definition: - `canonical` — fully defined, passes all three admission tests, schema-ready - `provisional` — defined but awaiting research confirmation or design decision - `research_needed` — identified as necessary, definition incomplete **On uncertainty:** parameters marked with `observable: partial` or `observable: hidden` must not be stored as clean point values. They carry epistemic status — the actor does not know their precise value, only signals. The schema must preserve this. A hidden parameter has a true value (server-side) and a perceived value (actor-side). These are different records. --- ## 1. Actor Parameters Parameters that live in the per-player database and drift over time as the actor makes decisions. These are the twelve canonical parameters from CHARACTER-FRAMEWORK plus extensions identified through scenario development. --- ### AVCTORITAS ``` token: auctoritas scope: actor layer: roman maturity: canonical ``` **Definition:** Social capital with legal and commercial consequences. Not a reputation score — a social reality that other actors respond to. Accumulated through correct conduct, reliable commercial behaviour, appropriate OTIUM, and maintained CLIENTELA. Lost through failure, disgrace, or unmet obligations. **Type:** ordinal scale, not a precise number **Unit:** none — expressed as a band (low / medium / high / distinguished) **Observable:** partial — the actor infers their own AVCTORITAS from social signals, not from a ledger. The harbour master's speed, the factor's promptness, the willingness of witnesses to sign — these are the observables. **Drift mechanics:** - Increases with: completed ventures, correct OTIUM, CLIENTELA maintenance, successful FAENUS recovery, public witness of reliability - Decreases with: defaulted obligations, visible commercial failure, association with disgraced parties, FAENUS seen as predatory, prolonged absence from social obligations - Lag: changes are not immediate — AVCTORITAS shifts over weeks, not days **Uncertainty:** the actor's perceived AVCTORITAS may differ from their true AVCTORITAS. A recently failed magistrate may not yet know how damaged his standing is. A freedman may not know how much his practical reputation has grown. **Background starting values:** - Former Legionary: medium - Freedman Trader: low - Noble Younger Son: high - Failed Magistrate: medium (falling — true value lower than perceived) - Camp Logistician: low - Guild Scribe: low --- ### CLIENTELA ``` token: clientela scope: actor layer: roman maturity: canonical ``` **Definition:** The network of mutual obligation between the actor and their clients and patrons. Generates social access and information quality. Consumes OTIUM to maintain. A MERCATOR with strong CLIENTELA receives better information, better terms, and more reliable witnesses. One who neglects it finds doors closed. **Type:** network strength — breadth and depth **Unit:** none — expressed as low / medium / high / extensive **Observable:** partial — the actor knows who they know, but not always whether those relationships remain active and reciprocal **Drift mechanics:** - Increases with: OTIUM spent in social engagement, fulfilled obligations, reciprocal favours, successful introductions - Decreases with: neglect, failed obligations, social disgrace, prolonged travel away from home base - Lag: slow to build, faster to erode --- ### LIQVIDITAS ``` token: liquiditas scope: actor layer: roman maturity: canonical ``` **Definition:** Liquid capital available for immediate deployment — denarii in hand, not goods pledged or debts owed. Distinct from total wealth. A MERCATOR may be asset-rich and liquidity-poor. LIQVIDITAS is what actually governs whether a venture can be initiated. **Type:** quantity **Unit:** denarii (as integer) **Observable:** full — the actor knows exactly what liquid capital they hold **Drift mechanics:** - Decreases with: venture cost, ITER expenses, PORTORIUM, personnel wages, HORREUM fees, FAENUS principal deployed - Increases with: venture profit, FAENUS interest received, asset liquidation - Immediate — no lag --- ### FAMA ``` token: fama scope: actor layer: roman maturity: canonical ``` **Definition:** Public reputation — what is generally said about the actor. Distinct from AVCTORITAS (which is earned social capital) in that FAMA is more volatile, more vulnerable to rumour, and more sensitive to recent events. A single public failure can damage FAMA severely before AVCTORITAS is affected. **Type:** ordinal with valence **Unit:** none — expressed as low / neutral / mixed / good / distinguished **Observable:** partial — the actor hears what is said about them, but not all of it, and not always accurately **Drift mechanics:** - Volatile — responds quickly to visible events - Affected by: public success or failure, rumour, association with other actors, behaviour in visible social settings (BALNEA, forum) --- ### DISCIPLINA ``` token: disciplina scope: actor layer: roman maturity: canonical ``` **Definition:** Operational reliability — the actor's capacity to execute plans consistently, manage personnel, maintain schedules, and function under pressure. Not military discipline specifically — commercial discipline. The ability to show up, follow through, and not improvise when improvisation is costly. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** full — the actor knows their own operational habits **Drift mechanics:** - Stable — changes slowly through repeated behaviour patterns - Increases with: consistent venture execution, reliable scheduling - Decreases with: erratic behaviour, frequent plan changes, personnel failures --- ### MERCATVS_SCIENTIA ``` token: mercatus_scientia scope: actor layer: roman maturity: canonical ``` **Definition:** Commercial knowledge — understanding of prices, goods, markets, seasonal patterns, and the logic of supply and demand. Determines whether the actor recognises opportunity, correctly prices ventures, and anticipates market movements. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** full — the actor knows what they know, though not what they don't know **Drift mechanics:** - Increases with: completed ventures, market exposure, information from CLIENTELA - Background-specific: Freedman Trader and Camp Logistician start high; Noble Younger Son and Former Legionary start low --- ### ITINERIS_SCIENTIA ``` token: itineris_scientia scope: actor layer: roman maturity: canonical ``` **Definition:** Route knowledge — familiarity with roads, sea lanes, waypoints, hazards, seasonal constraints, and the practical logistics of movement. Affects ITER duration estimates, ability to avoid delays, and recognition of route disruption. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** full **Drift mechanics:** - Increases with: completed ITINERA, especially novel routes - Former Legionary and Camp Logistician start high --- ### IVS_ACCESSVS ``` token: ius_accessus scope: actor layer: roman maturity: canonical ``` **Definition:** Legal access — the actor's practical ability to use the Roman legal system: to enforce contracts, recover debts, obtain witnesses, and resist legal pressure from others. Not just knowledge of law but standing within it. A freedman may know the law perfectly and still lack access. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** partial — the actor knows their formal standing but not always how it will be applied in a specific dispute **Drift mechanics:** - Increases with: AVCTORITAS growth, CLIENTELA with legal contacts, successful contract enforcement - Noble Younger Son and Failed Magistrate start high --- ### PERICVLVM_TOLERANTIA ``` token: periculum_tolerantia scope: actor layer: roman maturity: canonical ``` **Definition:** Risk tolerance — the actor's willingness and capacity to accept exposure to loss, physical danger, and uncertainty. Affects venture selection, route choice during MARE CLAVSVM, and FAENUS terms accepted. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** full **Drift mechanics:** - Relatively stable — personality-level trait - May decrease after severe loss events --- ### NEGOTIATIO ``` token: negotiatio scope: actor layer: roman maturity: canonical ``` **Definition:** Negotiation skill — the ability to achieve favourable terms in commercial and social exchanges. Affects prices obtained, FAENUS terms, FACTOR agreements, and conflict resolution. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** full --- ### LITTERAE ``` token: litterae scope: actor layer: roman maturity: canonical ``` **Definition:** Literacy and accounting — the ability to read, write, and maintain accounts. Affects the actor's ability to detect fraud, draft contracts, and maintain a CODEX ACCEPTI ET EXPENSI. In 14 BCE Rome, not universal even among merchants. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** full --- ### OFFICIA_BVRDEN ``` token: officia_burden scope: actor layer: roman maturity: canonical ``` **Definition:** Obligation load — the accumulated weight of social, civic, and personal obligations competing with NEGOTIVM for the actor's time. High OFFICIA_BVRDEN reduces available time for ventures and forces OTIUM expenditure on obligations rather than restoration. **Type:** ordinal **Unit:** none — low / medium / high **Observable:** partial — the actor knows their formal obligations but may underestimate the informal ones **Drift mechanics:** - Increases with: AVCTORITAS growth (more people seek patronage), CLIENTELA expansion, Noble Younger Son background - Decreases with: fulfilled obligations, deliberate social withdrawal --- ### BACKGROUND_DRIFT ``` token: background_drift scope: actor layer: universal maturity: canonical ``` **Definition:** The degree to which the actor's starting background profile still governs their parameter values versus the profile created by their decisions. A Former Legionary who has conducted fifty FAENUS transactions has drifted toward Guild Scribe behaviour. Background effects decay; decision history accumulates. **Type:** 0.0 to 1.0 float per parameter (1.0 = fully background-governed, 0.0 = fully decision-governed) **Observable:** hidden — the actor experiences this as gradual change in how the world responds to them, not as a visible number --- ## 2. City Parameters Parameters shared across players, anchored to a specific city substrate. These change through events, not individual player decisions. They live in the city substrate layer, not the per-player database. --- ### RVMOR_VELOCITAS ``` token: rumor_velocity scope: city layer: roman maturity: canonical ``` **Definition:** The speed at which information (accurate and inaccurate) moves through a city's social network. High in port cities, baths, and dense market districts. Affects how quickly scenario events are known, how distorted they become in transmission, and how fast prices adjust. **Drift:** increases with transient population, decreases in winter --- ### DOCK_CONGESTION ``` token: dock_congestion_index scope: city layer: roman maturity: canonical ``` **Definition:** Pressure on port loading and unloading capacity. Affects ITER departure delay, BAIВLVS availability, and PORTORIUM queue time. **Drift:** seasonal — peaks in spring and autumn, low in MARE CLAVSVM --- ### STORAGE_FEE_INDEX ``` token: storage_fee_index scope: city layer: roman maturity: provisional ``` **Definition:** Market rate for HORREUM storage. Rises when warehouse capacity is constrained by high cargo volume or when distressed sellers need to hold goods while awaiting better prices. **Research needed:** specific rate data for Ostia, 1st c. BCE --- ### BATH_SOCIAL_DENSITY ``` token: bath_social_density scope: city layer: roman maturity: canonical ``` **Definition:** The social richness of the BALNEA as an information and relationship node. Determines the quality of rumour available and the probability of encountering useful contacts during OTIUM. **Drift:** time-of-day dependent (midday peak), seasonal --- ### LEGAL_ACCESS_INDEX ``` token: legal_access_index scope: city layer: roman maturity: provisional ``` **Definition:** The practical availability and reliability of legal enforcement in this city. Varies by magistrate quality, current political pressure, and backlog. Affects IVS_ACCESSVS modifiers for all actors. --- ### FIRE_RISK_INDEX ``` token: fire_risk_index scope: city layer: universal maturity: canonical ``` **Definition:** Background probability of industrial or residential fire in a city zone. Drives scenario trigger probability for SCENARIO-MERCHANT-0001 and similar events. **Drift:** increases with workshop density, dry season, high transient population --- ### RENT_PRESSURE_INDEX ``` token: rent_pressure_index scope: city layer: roman maturity: provisional ``` **Drift:** increases with transient population factor **Research needed:** Ostia lodging costs, 1st c. BCE --- ### FOOD_PRICE_INDEX ``` token: food_price_index scope: city layer: universal maturity: provisional ``` **Research needed:** Ostia grain and prepared food prices, 1st c. BCE --- ### PORTER_AVAILABILITY ``` token: porter_availability scope: city layer: universal maturity: provisional ``` **Drift:** seasonal, event-sensitive (disrupted by fires, floods, political events) **Research needed:** BAIВLVS wage rates, 1st c. BCE Ostia --- ### CART_AVAILABILITY ``` token: cart_availability scope: city layer: universal maturity: provisional ``` **Drift:** decreases during scenario events involving transport disruption **Research needed:** cart hire rates, Via Appia, 1st c. BCE --- ## 3. Scenario Parameters Parameters that exist only within a scenario's active window. They are created when a scenario triggers, evolve during it, and are archived when it closes. They must not persist into the city substrate as permanent values — they are transient pressures, not permanent conditions. --- ### WORKSHOP_OUTPUT_BRONZE ``` token: workshop_output_bronze scope: scenario layer: roman maturity: canonical ``` **Scenario:** SCENARIO-MERCHANT-0001 **Definition:** Current production capacity of bronze workshops in the affected district. Drops to near zero at scenario start, recovers over rebuild_delay_days. --- ### VRBAN_FIRE_DAMAGE ``` token: urban_fire_damage scope: scenario layer: universal maturity: canonical ``` **Definition:** Severity of fire damage to a specific district. Drives multiple secondary parameter effects. **Type:** ordinal — minor / significant / severe / catastrophic --- ### TIMBER_STOCK_DESTROYED ``` token: timber_stock_destroyed scope: scenario layer: universal maturity: canonical ``` **Scenario:** SCENARIO-MERCHANT-0002 **Definition:** Volume of seasoned timber stock lost in the Capuan yard fire. Governs the magnitude of downstream shortage effects. --- ### BORROWER_DISTRESS ``` token: borrower_distress scope: scenario layer: universal maturity: canonical ``` **Scenario:** SCENARIO-MERCHANT-0003 **Definition:** Financial and operational stress level of the counterparty seeking FAENUS. Governs offered return, default probability, and collateral availability. **Type:** ordinal — stable / stressed / distressed / insolvent **Observable:** hidden — the actor infers from signals, never knows precisely --- ### RVMOR_CREDIBILITY ``` token: rumor_credibility scope: scenario layer: universal maturity: canonical ``` **Definition:** How accurate the current circulating rumour about a scenario event is. High rumour credibility means the market has correctly interpreted the event. Low means prices have not yet adjusted correctly — creating opportunity or risk depending on the actor's knowledge. **Observable:** hidden to actor — server-side truth only --- ### VENTURE_WINDOW_DAYS ``` token: venture_window_days scope: scenario layer: universal maturity: canonical ``` **Definition:** The number of days before the scenario's primary market opportunity closes — either through price normalisation, competitor action, or external resolution of the event. **Observable:** partial — the actor estimates this from signals, cannot know it precisely --- ### HIDDEN_CAUSE_STATE ``` token: hidden_cause_state scope: scenario layer: universal maturity: canonical ``` **Definition:** The true cause of the inciting scenario event, selected from the hidden cause variant table at scenario seed time. Never revealed to the actor directly. Governs which secondary effects dominate and how quickly the scenario resolves. **Observable:** hidden — signals only --- ### SCENARIO_CHAIN_FLAG ``` token: scenario_chain_flag scope: scenario layer: universal maturity: canonical ``` **Definition:** Whether a prior scenario in the chain has occurred in this world seed. `recent_scenario_0001 == true` modifies recovery speed in 0002. `recent_scenario_0001 or 0002 == true` increases FAENUS opportunity in 0003. **Type:** boolean per scenario ID --- ## 4. Relation and Derived Parameters Parameters that exist at the intersection of layers — cross-layer dependencies, epistemic states, and derived values. These are first-class records, not comments in the schema. --- ### INFORMATION_QUALITY ``` token: information_quality scope: relation layer: universal maturity: canonical ``` **Definition:** The accuracy and completeness of the information available to a specific actor about a specific event or market state. Function of CLIENTELA strength, rumor_velocity, and actor's location relative to the event. **Type:** 0.0 to 1.0 float (0.0 = pure noise, 1.0 = complete truth) **Observable:** hidden — the actor does not know how good their information is --- ### CONFIDENCE_TAG ``` token: confidence_tag scope: relation layer: universal maturity: canonical ``` **Definition:** The epistemic confidence attached to any parameter value, derived from source quality and inference chain length. Mirrors the confidence tags used in research documents. **Type:** enum — measured | indicated | inferred | estimated | unknown **Use:** attached to any parameter record where the value is not directly observable or where source quality is limited. Must be a first-class field in the schema, not a comment. --- ### DELAYED_KNOWLEDGE ``` token: delayed_knowledge scope: relation layer: universal maturity: canonical ``` **Definition:** The lag between when a scenario event occurs and when a specific actor's information_quality reflects it accurately. A MERCATOR in Ostia learns about the Capuan timber fire after a delay determined by route distance, rumor_velocity, and CLIENTELA reach. **Type:** integer days **Use:** applied per actor per scenario event --- ### PERCEIVED_VS_TRUE ``` token: perceived_vs_true scope: relation layer: universal maturity: canonical ``` **Definition:** The structural distinction between a parameter's true value (server-side ground truth) and the actor's perceived value (what they believe or can infer). Applies to: AVCTORITAS, FAMA, borrower_distress, hidden_cause_state, rumor_credibility, information_quality, and any parameter marked `observable: partial` or `observable: hidden`. **Schema implication:** parameters with perceived_vs_true distinction require two records — `value_true` and `value_perceived` — not one. This is not optional. --- ### BACKGROUND_AFFINITY ``` token: background_affinity scope: relation layer: universal maturity: canonical ``` **Definition:** The degree of match between a specific actor's current parameter profile and each of the six canonical backgrounds. Used to detect background drift and to surface narrative signals to the actor about how others perceive them. **Type:** 0.0 to 1.0 float per background_id --- ## 5. Universal Parameters (Cross-Period) Parameters marked `layer: universal` are candidates for the cross-period schema shared between OTIVM and CIVICVS. They appear in both periods with different expressions but the same underlying structure. | Token | Roman expression | Mesolithic expression | |---|---|---| | `liquiditas` | denarii | calories, stored food, portable goods | | `information_quality` | rumour in BALNEA | territorial knowledge | | `rumor_velocity` | port city gossip | inter-clan communication speed | | `periculum_tolerantia` | maritime risk acceptance | predator territory tolerance | | `fire_risk_index` | urban workshop density | hearth and camp fire risk | | `venture_window_days` | market opportunity window | seasonal foraging window | | `confidence_tag` | source quality | archaeological confidence | | `delayed_knowledge` | route distance lag | territorial range lag | These mappings are provisional. The Mesolithic expressions will be confirmed through corpus development. --- ## 6. Stub Parameters — Research Needed Parameters identified as necessary but not yet fully defined. Listed here to prevent schema decisions that assume they do not exist. | Token | Scope | Layer | What is needed | |---|---|---|---| | `portorium_rate` | scenario | roman | Specific rate data per crossing point, 1st c. BCE | | `vectура_rate` | scenario | roman | Freight charge per cargo unit per leg, research brief target | | `naufragium_probability` | scenario | roman | Per-voyage shipwreck probability from archaeological record | | `mare_clausum_state` | city | roman | Binary seasonal flag with transition probability | | `collegium_presence` | city | roman | Whether a relevant COLLEGIUM operates in this city | | `factor_reliability` | actor | roman | FACTOR NPC trustworthiness — future release | | `occ_flag` | city | mesolithic | Occupation evidence from TESSERA stage 06 — pipeline dependency | | `terrain_restoration` | city | mesolithic | HYDE 3.3 / KK10 corrected terrain — pipeline dependency | --- ## 7. Admission Rules A parameter is admitted to this registry when it passes all three tests from `terminology.md`: 1. Period-authentic or explicitly universal 2. Semantically distinct from existing parameters 3. Scope-bounded — cannot be misapplied across layers without the misapplication being visible A parameter may be added at any maturity level. It may never be removed. Deprecated parameters are marked `maturity: deprecated` with a note on what superseded them. --- *Parameter Registry — living document, 2026-04-28* *Uncertainty is a first-class record, not a comment.* *TheRON — single contributor. AI assistants implement, document, flag — do not direct.*