# Company and Ledger

Primary atlas sources:

- [event-editors-companydetail-and-loadscreen.md](/home/jan/projects/rrt/docs/control-loop-atlas/event-editors-companydetail-and-loadscreen.md)

This view isolates the company-side shell panes, linked-transit company maintenance, city-connection
news, and annual finance-policy thresholds.

Current grounded owners:

- `shell_company_list_window_construct`
- `shell_company_detail_window_construct`
- `shell_company_detail_window_handle_message`
- `shell_load_screen_window_construct`
- `company_service_periodic_city_connection_finance_and_linked_transit_lanes`
- `company_evaluate_annual_finance_policy_and_publish_news`
- `company_balance_linked_transit_train_roster`
- `company_try_buy_unowned_industry_near_city_and_publish_news`
- `company_evaluate_and_publish_city_connection_bonus_news`
- `simulation_try_select_and_publish_company_start_or_city_connection_news`

Current bounded finance verbs:

- bankruptcy
- bond repayment
- bond issuance
- public-share repurchase
- public-share issuance
- dividend adjustment

Current bounded shell families:

- `CompanyDetail.win`
- `CompanyList`
- `LoadScreen.win`

What this note is for:

- CompanyDetail section ownership and finance dialogs
- Ledger and report-page ownership
- Linked-transit autoroute and train-roster maintenance
- City-connection announcement and bonus lanes
- Annual finance-policy thresholds and same-cycle reaction latches

Current bounded linked-transit cache outputs:

- peer row `+0x05`: route-step count from the tracker metric chooser
- peer row `+0x09`: normalized continuity share `(steps - mismatches) / max(steps, 1)`
- site cache `+0x12`: raw surviving linked-transit site-score total
- site cache `+0x0e`: continuity-and-step-weighted companion total
- site cache `+0x16`: promoted final autoroute site-ranking lane
- `company_compute_owned_linked_transit_site_score_total`: converts summed site `+0x12` totals
  into the train-roster target through year and site-count ladders, plus the special build-`1.03+`
  two-site distance branch

Current bounded compatibility impact:

- the pre-`1.03` versus `1.03+` tracker metric split mainly perturbs peer continuity and weighted
  site ranking
- that means it can change which site `0x00408280` prefers and which peer `0x00408380` seeds into
  a train route
- current evidence says it does not directly move the company train-pressure target in
  `0x00408f70`, because that target sums raw site cache `+0x12` rather than the weighted `+0x0e`
  or promoted `+0x16` lanes

Latest finance closure:

- The remaining semantic meaning of the annual finance policy branches is now narrower:
  stat-family `0x2329/0x1d` is now bounded as current `Book Value Per Share` in the stock-issue
  denominator path, `0x2329/0x0d` is now bounded there as the current cash gate before the
  bond-rate-versus-support ladder, the broader support-adjusted share-price or public-support lane
  is now bounded through `company_compute_public_support_adjusted_share_price_scalar` `0x00424fd0`,
  and its immediate feeder is now bounded as
  `company_compute_cached_recent_per_share_performance_subscore` `0x004248d0`, which uses an
  explicit recent-history ladder: the current partial year is weighted by `(5 * [world+0x0f]) - 5`,
  the prior four full years use `48/36/24/12` for `Earnings Per Share` and `Revenue Per Share`
  lanes `0x1f/0x1e`, and the adjacent `Dividend Per Share` non-decline trend comparisons on lane
  `0x20` use weights `9/8/7/6`, all before the tail folds those lanes against current `Book Value
  Per Share`, while `0x21` now routes through
  `company_compute_five_year_weighted_shareholder_return` `0x004246b0` and its paired hidden
  shareholder-payout lane `0x23`,
  raw slot `0x09` aligns with the Income Statement fuel-cost lane surfaced by tooltip `1309`, and
  derived slot `0x2b` now reads as the rolling net-profits lane. The exact stock-issue cutoff
  ordering is now closed, and the current grounded read is:
  bankruptcy = first the year, toggle, and cooldown gates, then the three-year scan, then the
  revenue-band-selected cash-and-debt ladder, then the support-adjusted share-price threshold,
  then the fuel-cost lane and net-profit accumulator; the later deep-distress fallback then
  re-checks cash below `-300000` plus the first three recent profit years at or below `-20000`.
  Stock issuance = first the bond/stock toggles, live-bond count, and founding-age gates, then
  tranche sizing from outstanding shares, then the `55000` proceeds-cap trim, then the pressured
  support-adjusted share-price recompute and price-to-book derivation, followed by the tested
  gates in fixed order: share-price floor `22`, proceeds floor `55000`, current cash
  `0x2329/0x0d` against highest-coupon principal plus `5000`, one later stock-issue cooldown gate
  driven by the current issue mixed-radix calendar tuple at `[company+0x16b/+0x16f]` versus the
  active world absolute calendar counter `[world+0x15]`, and only then the coupon-versus-price-to-book ladder
  `0.07/1.3 .. 0.14/0.35`. Dividend
  adjustment = first the toggle and age gates, then the weighted recent-profit-per-share target,
  then the small-unassigned-share cash supplement, then the board ceiling clamp. The debt-news tail
  is also now explicit:
  it compares total retired versus newly issued principal to pick `2882..2886`, and the
  stock-buyback tail separately publishes `2887` from the accumulated repurchased-share count.

Current finance closure detail:

- The stock-issue cooldown stamp is now structurally closed:
  `[company+0x16b/+0x16f]` holds the current issue calendar-point tuple,
  `[company+0x173/+0x177]` preserves the prior tuple,
  and the cooldown gate converts the current tuple through `0x0051d3c0` before comparing against
  the active world absolute calendar counter `[world+0x15]`. The tuple model is no longer just
  “calendar-like”: current local arithmetic now bounds it as the same mixed-radix
  `12 x 28 x 3 x 60` family unpacked by `0x0051d460`.
- The recent per-share performance feeder `0x004248d0` is now tighter than before:
  its four tail lanes are `EPS * 10`, `Revenue Per Share`, a dividend-strength lane derived from
  the weighted non-decline ratio on slot `0x20`, and current `Book Value Per Share` from slot
  `0x1d`; base lane weights are `40/10/20/30`, startup companies ramp those weights with the
  age table `0/0/0/100 -> 25/25/35/100 -> 50/50/65/100 -> 75/75/85/100 -> 100/100/100/100`,
  the strongest lane is boosted by `1.25` while the weakest is reduced by `0.8`, the bounded
  intermediate `[company+0x0d19]` uses `((difficulty + 1.0) / 2.0)` with a floor at `0.5`,
  and the final cached score uses the raw difficulty table
  `0.8/0.9/1.0/1.1/1.2/0.9/0.95/1.0` plus the post-bankruptcy smoothing factor.
- The broader support-adjusted share-price consumer `0x00424fd0` is tighter now too:
  it starts from that recent per-share feeder, can interpolate it against the older support field
  `[company+0x57]` on the young-company path using one capped progress term from
  `[world+0x15]`, `[company+0x0d07]`, and founding year `[company+0x157]`, clamps the caller's
  share-count pressure term to `[-0.2, 0.2]`, can refresh mutable support field `[company+0x4f]`
  from that staged pressure, derives one share-count growth term from `(shares / 20000)^0.33`,
  then runs the resulting support scalar through the later threshold ladder
  `0.6 / 0.45 / 0.3 / 1.7 / 2.5 / 4.0 / 6.0` before multiplying by scenario issue `0x37` and
  rounding into the cached share-price lane `[company+0x0d7b]`.
- The surrounding finance issue split is now much tighter:
  `0x00425320` is the bounded company `Credit Rating` score used by the shell debt summary and the
  bond-offer rejection path on localized id `974`, with raw issue slot `0x38` folded in at the
  tail; `0x00424580` is the explicit `Prime Rate` lane fed by raw issue slot `0x39`; and
  `0x00424fd0` then multiplies the equity-side share-price scalar by issue slot `0x37`.
  So the strongest current read is:
  `0x38 = debt-market / creditworthiness`,
  `0x39 = prime-rate / market-rate pressure`,
  `0x37 = broader equity-market / investor confidence in company or chairman performance`.
- The raw formula side is now mostly closed, and what remains is mostly whether RT3 exposed one exact
  UI caption for issue `0x37` beyond the already-grounded investor-performance strings. The
  negative results now sharpen that last edge too: the nearby `0x460a90` / `0x473620`
  registration blocks are camera-view and related shell-command families, not finance issue
  owners; and the editor-side `Stock Prices` label belongs to a separate float-tuning block
  `[state+0x0bde..0x0bf6]`, not the issue table behind `0x37`. The shell-resource side is now
  tighter too: extracting `CompanyDetail.win` from `rt3_2WIN.PK4` did not uncover any separate
  plain-English finance caption or investor label for this lane, and the recovered shell owner path
  already routes section-0 through the dynamic-text widget `0x947f` plus formatter
  `shell_format_company_governance_and_economy_status_panel` `0x004e5cf0`. So the strongest
  current UI-facing text for issue `0x37` remains the investor-attitude sentence family
  `1217` and `3048/3049`, not one standalone caption row like `Credit Rating:` or `Prime Rate:`.
