NYSE:RIO Rio Tinto Group

ISIN: US7672041008
MaterialsDiversified Metals & MiningIron ore · Copper · Aluminium · Lithium
NYSE ADR (USD) · LSE: RIO (GBp) · ASX: RIO (AUD) · HQ London · GICS Materials · ISIN US7672041008 Analysis Status: On-Going
All prices, scenarios and levels in this report are US dollars on the NYSE ADR line, which is the line I price and the line Rio Tinto reports in. The London listing quotes in pence and the Sydney listing in Australian dollars; those are different numbers for the same economic interest and are never mixed with these. Every multiple here divides a USD price by USD earnings.
$95.68
−1.2% vs last report
17 Aug 2026 · Signal v6

Changes since 31 July 2026

Price −1.2% ($96.84 → $95.68), so almost nothing happened to the shares. Three things happened to the analysis, and two of them are downgrades.

First, I changed the valuation anchor. The last report anchored Rio on a clean trailing P/E against a guardrail-capped 15×, which read 0.90 and "fair". The framework's mining rule is P/NAV first, with an earnings multiple demoted to a cross-check (SKILL L570). Re-struck on P/NAV the ratio is 1.307 — the Full band. That is a methodology correction, not a re-rating: the shares fell 1.2% while the measured band moved from Fair to Full because I am now measuring the right thing. §4 sets out the whole construction, what it depends on, and what breaks it.

Second, I recomputed the driver from its components rather than carrying it forward, and it is worse than I had it. The last report described a live iron-ore downtrend qualitatively. This run has it quantified from settled futures closes: iron ore is below both its 50- and 200-day averages with a falling 50-day line and all three momentum windows negative. Aluminium — 20% of first-half earnings, and a sleeve the last report called "firm" — has also rolled over. Copper, 36% of earnings, is the cleanest uptrend in the complex. Weighted by actual earnings contribution the driver is −3 to 61 on the medium horizon.

Third, and this is the one that moved the signals: the independent audit caught an error in my timing score. I had scored the catalyst layer 60 on a "one clear catalyst in 30 days" reading. That contradicted this report's own §8 table, which flags four relevant high-impact events, and it sits outside the band the framework's clustering table assigns to two catalysts inside a fortnight (20–49). Corrected to 45, and a second audit round then applied the −15 overhead-resistance penalty the framework requires, taking Timing to 52 — Neutral. A High-quality, Fair-valued name with Neutral timing is a HOLD on every horizon.

Signals: Short HOLD → WAIT (the §8 event override ahead of the 19 August FOMC Minutes). Medium BUY → HOLD. Long STRONG BUY → HOLD — over-determined: the base is HOLD and HOLD never amplifies, and the Full band would have barred amplification anyway. Entry conviction Half-Size → Wait: on a NAV of $73.23 the Fundamental entry path no longer fires, and neither Technical nor Catalyst is met. Scores: Valuation −17 to 46 (the anchor change), Timing −6 to 52, Driver −3 to 61, Economic Alignment +4 to 72 (XLB medium upgraded O → SO and the Copper/Industrial-Metals asset line upgraded to O/O/SO), Quality flat at 79.

DISCLAIMER: This is a quantitative framework for educational purposes only. It is not financial advice. Always do your own research and consult a licensed financial advisor before making investment decisions.

Rio Tinto Group

Rio Tinto is one of the world's largest diversified mining groups. It digs up and processes the raw materials that build and electrify the modern economy: iron ore from its tier-one Pilbara operations in Western Australia and the new Simandou mine in Guinea, copper from Oyu Tolgoi in Mongolia and Kennecott in Utah, aluminium from Canada and Australia, and a growing lithium business in Argentina and Quebec. What distinguishes it from peers is the cost position of its orebodies — bottom-of-the-cost-curve assets that keep generating cash deep into a commodity downcycle — and the fact that copper, aluminium and lithium together now contribute more than half of group earnings, where a decade ago iron ore was almost the whole story. The group is dual-listed: Rio Tinto plc trades in London, Rio Tinto Limited in Sydney, and this report prices the New York ADR line. Its fortunes rise and fall with the prices of four commodities it does not control.

HorizonSignalComposite ScoreConfidenceKey Driver
Short-term (1–3 mo)WAIT5663%§8 WAIT-FOR-EVENT override — FOMC Minutes 19 Aug, high-impact and inside three trading days for a High-macro-sensitivity sector. The base signal underneath it is a flat HOLD on Neutral timing, and both the Technical and Catalyst entry paths are unmet.
Medium-term (6–12 mo)HOLD5963%Downgraded from BUY. High quality (79) and Fair valuation (46) meet Neutral timing (52) — the Decision Matrix row "High (≥65) | Fair (40–64) | Neutral/Weak | HOLD (watch for valuation entry)", on its Neutral leg. Good business, wrong entry.
Long-term (3–5 yr)HOLD6563%Downgraded from STRONG BUY, over-determined. The base signal is HOLD on Neutral timing, and HOLD never amplifies; even on a BUY base the Full band (1.307× NAV) would bar it.
Next update: 2026-08-20 — FOMC Minutes 2026-08-19 +1 trading day. Materials is a High-macro-sensitivity sector, which is the one case where a recurring macro release counts as a scheduling event (SKILL L1577); the next company catalyst is the Q3 operations review in mid-October.
Table of Contents
1Five-Pillar Scorecard2Hard Gates & Do-Not-Buy Status3Pillar Detail: Business Quality4Pillar Detail: Valuation Attractiveness5Pillar Detail: Underlying Drivers6Pillar Detail: Economic Alignment7Pillar Detail: Entry/Exit Timing8Economic Event Risk9Multi-Timeframe Technical Analysis10Price Chart (6-Month Daily)11Scenario Summary12Entry / Exit Rules13Position Sizing Context14Calibration Snapshot15Data Sources & Methodology
1

Five-Pillar Scorecard

Five independent scores — each 0–100 with its own confidence. The three fundamental pillars (Quality / Valuation / Timing) set the base BUY/HOLD/SELL via the Decision Matrix; the two context pillars (Underlying Drivers, Economic Alignment) then amplify a BUY to STRONG BUY or a SELL to STRONG SELL when both corroborate.

Business Quality

79
strong — 17% underlying ROCE, 0.47× net debt/EBITDA, bottom-of-cost-curve orebodies
conf 78%

Valuation Attractiveness

46
FULL band — 1.307× a NAV discounted at the framework's 9.13% required return
conf 63%

Entry/Exit Timing

52
NEUTRAL — below a falling 50-DMA, resistance just overhead, two catalysts inside a fortnight
conf 65%

Underlying Drivers

61
Neutral (medium 61) — short 56, long 66; iron ore and aluminium down, copper up
conf 55%

Economic Alignment

72
Trend-Following · Tailwind — XLB reads O/SO/SO
conf 70%
2

Hard Gates & Do-Not-Buy Status

Binary safety checks — any TRIGGERED gate is a hard cap regardless of the scores above; CAUTION gates are sizing notes.
Financial Distress
Net debt US$14.061bn at 30 June 2026. Against annualised H1 underlying EBITDA of US$29.65bn that is 0.47×; against the FY2026 consensus EBITDA of US$26.93bn used in §4 it is 0.52× — both far below a gate at 5×. Two bases appear in this report and I cross-reference them here rather than leaving the reader to reconcile them: the annualised half is the run-rate, the consensus figure is the forward year. Interest cover 17.8×; current ratio 1.42. Note the SKILL's standing warning that FMP totalDebt is lease-inclusive: I have not used it. The 14.061 figure is Rio's own, from the 29 July release.
Earnings Event Risk
Half-year results were published 29 July 2026. Rio reports twice a year, so the next results are FY-2026 on 24 February 2027 — six months away. The Q3 operations review (production only, no earnings) lands mid-October. No blackout.
Valuation Ceiling
P/NAV 1.307× is below the 1.40× Expensive threshold and below the Materials guardrail line of 1.5× P/NAV (SKILL L478). Price $95.68 is below the highest analyst target ($120 FMP / $125 Yahoo). Gate does not fire. It is not comfortable, though: a 15-year mine life instead of 20 would put the ratio at 1.477 and fire this gate. See §4.
Accounting / Dilution
Non-operating items were US$612m6.6% of pre-tax income (US$9,311m) and 9.2% of net income (US$6,663m). Step 7b's line is ~15% of net income, so both bases clear it comfortably; I give both because the calibration field is keyed to net income. So the reported and clean multiples are the same number here, and I say so rather than inventing a difference. Share count 1,625.8m basic, up 0.1% year on year. No dilution.
Regulatory / Binary
No pending binary event. Mongolia has publicly pressed for a larger share of Oyu Tolgoi and Resolution Copper is still waiting on court decisions over the Arizona land exchange — both are live disputes, neither is a dated binary that moves the stock more than 20%.
Severe Driver Collapse
Driver 61 on the medium horizon, 56 short, 66 long — all far above the ≤15 collapse floor. Iron ore at $95.17/t sits roughly four times Rio's Pilbara unit cash cost; the problem is direction, not viability.
⚠️
Commodity-tape caution
63% of first-half earnings sit on commodities whose price is below a falling 50-day average. Iron ore (43% of segment EBITDA) is below both its 50- and 200-day lines with all three momentum windows negative; aluminium (20%) is below a falling 50-day line and down 9.8% over eight weeks. Copper (36%) is the offset and it is a clean uptrend. This is a sizing and amplification caution, not a cap on the base signal.
⚠️
Event blackout (§8)
Materials carries High macro sensitivity and the FOMC Minutes land on 19 August, two trading days out, with roughly 44% market-implied odds of a September hike. That fires the §8 WAIT-FOR-EVENT override on the short horizon regardless of composite score. Medium and long are untouched.

No hard gate triggered, no Do-Not-Buy — and the four systemic tails, ruled on by name

The framework requires me to rule on each armed macro tail rather than wave at "the tails". There are four in the 12 August macro report and two of them are live.

1. S&P concentration / AI earnings-quality unwind — armed, trigger receding. Rio does not inherit it. Cohort membership requires earnings or a multiple levered to the AI trade, or reported earnings inflated by non-operating gains. Rio is a 13×-trailing miner whose non-operating income is 9.2% of net income (6.6% of pre-tax) and no AI exposure. "It is in the index" is not sufficient, and breadth is broadening anyway (RSP +3.6% vs SPY +2.8% over a month).

2. Private-credit crack — building, not armed. Inheritance requires an armed tail, so this one does not qualify on the rule alone. It would be close to irrelevant here regardless: net debt/EBITDA 0.47× and 17.8× interest cover mean Rio is not a refinancing story.

3. Hormuz closure escalation — LIVE, not triggering. Brent is $88.52 on the batch's settled commodity pull — the 12 August macro report of record carries $88.58, and I quote the pull rather than the report because the pull is the dated series — against a trigger of $100 sustained. It matters to Rio twice: diesel and shipping are direct input costs across the Pilbara and the seaborne trade, and an oil spike into a weak consumer is the classic route to an industrial-metals demand shock. It sits in the bear case in §11, not in the base.

4. September Fed hike — LIVE, ~44% implied, three hawkish July dissents. This is the one that actually binds this report. A hawkish read of the 19 August minutes raises the real rate that sits inside my 9.13% discount rate, which cuts the NAV directly, and it tends to lift the dollar, which is a headwind for every dollar-priced commodity Rio sells. It is the §8 override and it is why the short horizon is WAIT rather than HOLD.

3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
Low-cost, long-life diversified major. 17% underlying ROCE, 0.47x net debt/EBITDA, and copper, aluminium and lithium now more than half of group earnings.
79
conf 78%

Lifecycle & sector: mature cash-cow diversified miner, GICS Materials. The metric lens is therefore P/NAV, FCF yield, EV/EBITDA at normalised prices, unit costs against the cost curve, ROCE and dividend sustainability — not revenue growth and not a P/E on a cyclical peak.

The half-year print on 29 July was the strongest Rio has delivered in years, and the strength came from the part of the business that is not iron ore. Underlying EBITDA US$14,826m, +28%. Free cash flow US$3,834m, +75%. Underlying ROCE 17%, up three points. Net debt US$14,061m, down 2% despite US$5,037m of capital investment in the half. The interim dividend was raised 43% to 211.0 US cents at an unchanged 50% payout — the payout ratio did not move, the earnings did. Rio's own framing is that copper, aluminium and lithium now contribute more than half of underlying EBITDA, and the segment table bears that out.

Where the earnings actually come from — first half 2026

SegmentUnderlying EBITDAvs H1 2025Share of segment total
Iron OreUS$6.8bn−1%43%
CopperUS$5.7bn+84%36%
Aluminium & LithiumUS$3.3bn+38%21%
Reportable segments totalUS$15.8bn+28%100%

These weights — three segment rows covering four commodities — are the arithmetic the whole driver section runs on. Iron ore is still the largest single sleeve, but it is a minority of the group — and it was the only one that shrank, even though it shrank by just 1% while the price was falling, which is the cost curve doing its job.

Sub-signalValueSector referenceScoreRead
Revenue trajectoryH1 revenue US$31,028m, +15% YoYMid-single-digit is normal for a major82Price plus copper and aluminium volume; well above miner norm
ProfitabilityUnderlying EBITDA margin ~48%; operating margin 27.3%; net margin 19.6%>30% EBITDA margin is good80Top tier and expanding on the copper mix shift
Cash generationFCF US$3,834m H1 (+75%); FCF/EV 4.52% on the rebuilt EV of US$169.7bn (see §4)5%+ attractive60Genuinely strong in the half, but capex of ~US$11bn a year holds the trailing yield down
Balance sheetNet debt US$14,061m; 0.47× EBITDA; interest cover 17.8×; current ratio 1.42<2.0× healthy88De-levered further while spending heavily. Very healthy
Returns on capitalUnderlying ROCE 17% (was 14%); ROE 19.3% on Yahoo's return_on_equity, or 18.4% computed on FMP's period-end equity of $40.47/share — both bases named because they differ>10% healthy for a major80Top quartile among diversified majors, and rising with the Oyu Tolgoi ramp
ProductivityUS$870m of productivity gains in H1; US$1.8bn year-end run-rate target78Self-help that is showing up in the numbers rather than the slides

Industry benchmark — cost-curve position (the mining equivalent of AISC margin)

Rio does not disclose a group AISC, so the honest version of this benchmark is cost-curve position by sleeve. Pilbara iron ore is a first-quartile operator at unit cash costs in the low-to-mid US$20s per tonne against a US$95.17/t benchmark price — a margin far above the 40%-of-spot threshold that scores 90+. Oyu Tolgoi is a first-quartile copper mine ramping toward an average ~500kt a year over 2028–2036 with rising head grades. The aluminium book is mid-curve and the weakest link, which is why the Tomago power agreement matters (below). Benchmark score 84/100. The evidence that this is real rather than asserted: iron ore EBITDA fell only 1% while the ore price fell through the half.

Competitive moat scorecard

32
Pricing power
Pure price-taker on four benchmarked commodities
50
Network effects
Not applicable — scored neutral
50
Switching costs
Fungible product; long-term offtakes only
84
Cost advantage
Tier-one Pilbara and Oyu Tolgoi; first-quartile in the two biggest sleeves
72
Intangibles
Irreplaceable orebodies, licences, 60 years of Pilbara infrastructure

Average 57.6, rounded to 58. The moat is asset-based — durability and cost position — not pricing power. That is the correct shape for a miner and it is also the reason the driver pillar carries so much weight in this report: Rio cannot set the price of anything it sells.

Competitive Environment

Rio competes as one of four diversified majors. The threat is not share loss in the usual sense — nobody switches supplier for a benchmarked commodity — it is supply, and this year Rio is on both sides of that. Simandou, which Rio operates and part-owns, is itself one of the largest new sources of seaborne iron ore supply in a generation, into an end market that is shrinking. Rio gains the volume and helps depress the price it earns on the other ~300Mt a year it ships from the Pilbara.

RivalThreat typeShare trajectoryMoat-erosion vector
BHPDirect peer in iron ore and copper, larger groupStable — both tier-one PilbaraNone acute. But BHP's shares returned −2.4% over three months against Rio's −10.8%, and +21.6% vs +2.7% over six — Rio is the laggard of the pair
Vale, FortescueSeaborne iron-ore supplyStable volumes; Rio at record Pilbara shipmentsPrice competition, not share loss. Vale's shares are −15.5% over three months — the whole iron-ore complex is being marked down
Simandou consortium (incl. Baowu, Winning)New supply Rio helped createRio gains volume, loses priceThe self-inflicted vector. 60Mtpa capacity, 27Mtpa Rio share, into a contracting Chinese steel market
Freeport, Glencore, AntofagastaCopperRio gaining via the Oyu Tolgoi rampRio is adding low-cost copper volume while Antofagasta cut its 2026 production guidance on 13 August. Advantage Rio
Alcoa, Norsk Hydro, Chinese smeltersAluminiumStable; Rio mid-curvePower cost is the whole game. The Tomago agreement announced 12 August 2026 removes a closure risk that was live: Tomago Aluminium commits A$1.1bn through 2038 (including A$100m for decarbonisation) under a 10-year power agreement that commences 1 January 2029, immediately after the existing electricity contract expires on 31 December 2028, with 100% renewable supply from 2033
Albemarle, SQMLithiumRio entering via Rincon, Arcadium, NemaskaNew entrant into an oversupplied market. Lithium is 1% of EBITDA, so this is optionality, not defence

Net effect on the moat: Cost Advantage held at 84 — the cost-curve position is intact and the Oyu Tolgoi ramp is improving it. Switching Costs neutral at 50, unchanged, because there is nothing to switch. Pricing Power trimmed to 32 from the mid-30s: Simandou is a case of the company adding to the supply that sets its own realised price, which is the opposite of pricing power. Share trajectory: stable (gaining in copper, losing price in iron ore). Threat level: moderate.

Capital allocation

Capex guidance is unchanged at up to US$11bn in 2026 and 2027, easing to about US$10bn from 2028 in real 2025 terms, of which sustaining capital is around US$4bn a year (CFO, H1 2026 results call). Fitch, affirming Rio at A/Stable on 15 May 2026, put annual growth capex at US$2–3bn across 2026–2028. That leaves roughly US$4bn a year of replacement spend — Western Range, Brockman, Hope Downs 2 — which is what keeps Pilbara volumes flat rather than growing them. The split matters enormously to the valuation and I use it directly in §4.

The record itself is disciplined: 50% payout maintained through a 43% dividend increase, no share issuance, net debt down while spending US$5bn in a half. Management declined the US aluminium-smelting tariff offer last quarter and has put Jadar into care and maintenance rather than force it. Chief Executive Simon Trott took over in 2025. The one open question is whether US$2–3bn a year of growth capex into Simandou, Oyu Tolgoi and lithium earns its cost of capital — that is a 2028–2030 verdict, not a 2026 one.

4

Pillar Detail: Valuation Attractiveness

Sector-appropriate multiples, FCF yield, reverse-DCF implied growth, embedded optionality, and the analyst-consensus cross-check.
Valuation Attractiveness — Pillar Score
FULL band - 1.307x a NAV discounted at the framework's 9.13% required return over a 20-year mine life. The anchor basis changed from P/E to P/NAV this run.
46
conf 63%

THE ANCHOR — P/NAV, and why it is not a P/E

The framework's primary multiple for a producing miner is P/NAV, with FCF yield secondary and EV/EBITDA at normalised prices tertiary (SKILL L570). The Materials guardrail line is a P/NAV of 1.5×. The previous report anchored Rio on a clean trailing P/E capped at 15× and read 0.90 — that was the wrong lens for this sector, and correcting it is most of the change in this report. I have kept the earnings multiple below as a cross-check, which is what it is.

The construction, in full, so you can break it:

  1. Discount rate. r = 4.63% risk-free (FRED DGS10, 13 August — the batch input; the 14 August print was 4.68% and the 12 August macro report carries 4.70%) + 4.5% equity risk premium + 0.0% risk add-on because Business Quality is 79, comfortably above 65. r = 9.13%. A higher risk-free raises r, cuts the NAV and therefore raises P/NAV: at 4.68% the ratio is 1.311 and at 4.70% it is 1.313. The direction matters more than the size, and the size is immaterial — the band does not move. So the risk-free choice is immaterial here.
  2. Cash-flow base. Consensus attributable net income, averaged across FY2026–FY2030: 13.71, 13.85, 13.92, 13.60 and 11.32 — mean US$13.279bn. I use the five-year mean rather than the FY2026 point because consensus itself sees earnings flat to 2029 and then falling 17% into 2030, and taking the first year would capitalise a copper price at cycle highs.
  3. Why net income and not a cash-flow build. Depreciation and amortisation annualise to US$8.1bn from the half-year charge of US$4,052m. Sustaining capital is ~US$4bn a year and replacement capital roughly another US$4bn — so D&A of US$8.1bn is almost exactly the capital required to hold volumes flat. Net income therefore already charges the right amount of capital spending, and I avoid having to guess a sustaining-versus-growth split. The remaining US$2–3bn a year of genuine growth capex is excluded from the NAV and treated as optionality below, so nothing is double-counted.
  4. Mine life. 20 years, flat in nominal terms. See the sensitivity table — this is the single largest swing factor and I would rather you interrogate it than trust it.
  5. Arithmetic. 20-year annuity factor at 9.13% = 9.0446. US$13.279bn × 9.0446 = US$120.1bn equity NAV. Because the base is net income — already after interest — net debt is inside it and is not deducted again. US$120.1bn ÷ 1.640bn diluted shares (Rio's own H1-2026 weighted-average diluted count) = NAV US$73.23 a share. I use the diluted count rather than the 1.627bn implied by market cap because the market-cap figure is struck at the unsettled 17 August price, and because a diluted count is the right partner for an earnings numerator. On the 1.627bn basis the NAV is $73.82 and the ratio 1.296; on the count implied by consensus EPS (1.644bn) it is $73.08 and 1.309. All three sit in the same band, so the choice moves the second decimal, not the conclusion.
  6. Ratio. $95.68 ÷ $73.23 = 1.307× → the FULL band (1.20–1.40), valuation score 40–49.

Declare the deviation, because it is the choice that sets the band. The framework's general anchor is a two-stage formula that ends in a perpetuity. Run it literally on my own recorded inputs — r 9.13%, g_near 0, g_term 0 — and the factor is 10.9529, not 9.0446, giving a NAV of $88.68 and a ratio of 1.079 — the Fair band, where amplification would be permitted. I do not use it, and the reason is not convenience: a perpetuity is the wrong shape for a depleting asset. An orebody is consumed by mining it, which is why the framework separately specifies P/NAV over a mine plan for miners, and why sell-side mining NAVs are struck on a finite life. But the truncation from perpetuity to twenty years is my instantiation, not the framework's arithmetic, and this report is the only place you can see that. The independent auditor raised it; the fix is to say so plainly rather than to describe the result as the framework's own output.

The guardrail, applied by hand: the deterministic linter carries the Materials line as an EV/EBITDA of 8× and cannot evaluate a P/NAV basis, so it skips that arm. I have applied it myself: the SKILL's P/NAV line is 1.5× and the actual is 1.307×. No guardrail breach. On the EV/EBITDA arm, 6.30× against the same 8× line is also clear.

What breaks this — the sensitivity that matters

Weighted mine lifeAnnuity factorNAV per shareP/NAVBand
15 years7.9992$64.761.477Expensive — Gate 3 would fire
20 years (used)9.0446$73.231.307Full — amplification barred
25 years9.7200$78.701.216Full
30 years10.1564$82.231.164Fair — amplification would be permitted
Perpetuity, two-stage at g_near=0 and g_term=0my choice of terminal growth10.9529$88.681.079Fair — disclosure only; wrong shape for a depleting asset
Perpetuity, two-stage at g_near=0 and g_term=3% — the framework's own stated reference14.732$119.280.802Attractive/Fair edge — disclosure only; two bands from where this report lands

Why 20 years — the argument that actually discriminates. The asset lives I could source this run cluster in the twenties: Oyu Tolgoi's underground plateau runs 2028–2036 with reserves beyond it, Simandou is a multi-decade orebody at 60Mtpa, Rincon carries a stated 40-year life, and the Pilbara has been kept running for 60 years by exactly the replacement capital this model already charges — against Kennecott, scheduled only to 2032–33. That evidence spans roughly 20 to 25 years, and both ends read Full (1.307 and 1.216). The band only breaks outside a range the sourced evidence does not support. That is the honest defence of 20, and it is a better one than an earlier draft gave — that flat nominal earnings are a real-terms decline. They are, but that conservatism applies just as much at 25 years, so it never discriminated between the two in the first place.

I am not going to pretend this is settled. The band is robust across 20–25 years, across any plausible risk-free rate, across all three share counts, and to a 9% cut in the earnings base. It breaks at a 15-year life (Expensive, which would gate every horizon to HOLD) and at 30 years or a perpetuity (Fair). If you think Rio's weighted economic life is nearer 30 years, the honest reading is that this report has the valuation one band too dear. I could not source a group reserve-life figure this run — web search was unavailable — and the Valuation confidence carries a 15-point haircut for exactly that.

LensRioReferenceRead
P/NAV (primary)1.307×Guardrail 1.5×; Full band 1.20–1.40Full — the anchor
FCF yield (secondary)4.52% reported5%+ attractive; 3–5% fairFair. This is after ~US$11bn of capex including growth
EV/EBITDA (tertiary)6.30× on the FY2026E consensus EBITDA of US$26.93bn; 7.27× on a trailing statutory EBITDA of US$23.35bn (H1-2026 US$12.75bn + H2-2025 US$10.60bn, summed from the two reported half-years). The two are not like-for-like: the 6.30× is struck on an underlying-basis consensus figure — the same basis as the US$14.83bn Rio reported for H1 and as Gate 1's US$29.65bn annualisation — while the 7.27× is statutory. Both sit under the 8× line either wayMiner rich line 8×Not expensive — and this is the honest tension in the section
Sector median (Reference 1)NOT SCOREDNormally 20% of this pillarNo sourced peer-multiple table was obtainable this run. Rather than estimate one and present it as data, I have dropped the lens and renormalised its 20% across the anchor (40→50%), own-history decile, PEG and analyst consensus. Flagged by the independent auditor
Clean trailing P/E (cross-check only)12.98×Cheap on the surface. Reported and clean are the same number: non-operating income is 9.2% of net income (6.6% of pre-tax), under the ~15%-of-net-income restatement line on either basis
Forward P/E (FY2027 consensus $8.30)11.5×Cheap — but consensus EPS then falls to $6.91 by 2030
P/B2.36× on attributable equity of $40.47/shareHigh for a minerSupported by an ROE of 18.4–19.3% depending on basis (§3), but the upper half of Rio's own range
PEG (Reference 3, weight increased by the renormalisation)0.75 on the trailing basis<1.0 usually cheapShown, but I do not lean on it. 0.75 pairs the 12.98× clean P/E with a trailing growth rate. This report's own consensus EPS path is $8.34 → $8.30 → $8.13 → $8.30 → $6.91 by 2030 — flat, then down 17%. A PEG built on trailing growth flatters a name whose forward earnings consensus declines, so it is carried at low weight and named as flattering rather than quietly counted
Own-history decile (Reference 2, weight increased by the renormalisation)~6th of 10Decile 4–6 = fairMid-to-upper of Rio's own range, consistent with a P/B at 2.36× against a 5-year band that has run roughly 1.5–2.8×. Weakly sourced and flagged as such: no sourced 5-year multiple series was obtainable this run (web search unavailable), so this is an estimate from the data I could reach, not a computed decile. It is part of why Valuation confidence is 63
Dividend yield4.86% on US$4.65 trailingAttractive, and the interim was genuinely raised 43%

The tension, stated plainly

Two respectable lenses disagree about this stock and I am not going to average them into mush. On EV/EBITDA and P/E, Rio screens cheap. On P/NAV struck at the framework's own required return, it is in the Full band. The difference is entirely about what you capitalise and for how long. The earnings multiples divide today's price by earnings that contain a copper price at cycle highs and an iron-ore price that consensus expects to fall to US$85–90 by 2027; the NAV discounts a flat version of those earnings over a finite mine life at 9.13%. An independent third party reached the same split on 11 August: Simply Wall St's write-up on the London line noted a DCF pointing to a premium while earnings-based multiples screen relatively cheap. The framework says P/NAV is the anchor for a miner, so that is what sets the band, and the cheap-looking multiples explain why the score sits mid-band at 46 rather than at the bottom of it.

The implied read. At $95.68 you are paying for mid-cycle attributable earnings of about US$17.35bn, against the consensus five-year mean of US$13.28bn. That is +30.7%. The market is pricing a copper-led step up in earnings that the sell-side has not yet put in its own numbers. That may well be right — Oyu Tolgoi going from today's output to an average 500kt a year is exactly such a step — but you are paying for it now.

Embedded optionality — what you get for nothing

Because the NAV charges only the capital needed to hold volumes flat, everything the US$2–3bn a year of growth capex is buying sits outside it:

Applied tilt: +2 points, inside the Full band's 40–49 range — reduced from +4 after the independent audit made a fair point. The NAV excludes the US$2–3bn a year of growth capex and the volumes it buys, which is internally consistent; but crediting the shareholder with the pipeline's upside while that spending never appears as an outflow anywhere in the model is the generous side of the ledger. A smaller tilt is the honest size. And note the counterweight — if you believe the growth pipeline is worth a great deal, you should also accept that Simandou's own volume is part of what is pushing the iron-ore price down.

Analyst consensus cross-check

FMP consensus $105.50 (median $113.00, high $120.00, low $83.50) — +10.3% from $95.68, which is the "within 10–20% below consensus" band and scores 70–84 on its own. Yahoo's independent panel gives mean $105.85, median $107.50, high $125.00, low $88.00 across eight analysts, so the two agree and the endpoint is not degenerate. Grades are more cautious: 12 Buy / 13 Hold / 6 Sell, no Strong Buy — 38.7% bullish and a "Hold" consensus, which scores 45–64. There have been no grade actions at all in the last 30 days; the most recent were downgrades, JP Morgan to Neutral on 9 March and Barclays to Equal Weight on 24 February. FMP's own health rating is A− (4/5), with DCF, ROE and ROA all scoring 5 and only P/E and P/B scoring 2 — which is, in miniature, the same split this section is about.

5

Pillar Detail: Underlying Drivers

The dominant external force the stock is tethered to, scored 0–100. A context pillar: it does not change the base signal — it feeds amplification (tailwind ≥65 can lift BUY→STRONG BUY; headwind ≤35 can push SELL→STRONG SELL).
Primary Driver
A basket of four commodity prices - iron ore 43%, copper 36%, aluminium and lithium 21% of first-half earnings
61
Neutral (medium 61, below the 65 bar) - short 56 Neutral, long 66 Tailwind

Primary driver: a basket of four commodity prices Rio does not control — and the whole point of this section is that the basket is no longer moving together. I recomputed this driver from its components this run rather than carrying the previous score forward, because the last report's 64 was struck on 31 July, before the settled data below existed.

The tape, from settled futures closes on 14 August 2026

Raw closes, auto_adjust=False. Iron ore and copper come from the batch's central commodity pull and I independently reproduced both to the cent from yfinance before using them. Aluminium is my own pull and is not from the central series — flagged because it carries a caveat.

CommodityLast50-DMAvs 50200-DMAvs 20050-slope4wk6wk8wk
Iron ore TIO=F$95.17/t98.66BELOW103.94BELOWFALLING−3.75%−3.13%−6.03%
Copper HG=F$6.60/lb6.35ABOVE5.87ABOVERISING+6.10%+7.93%+1.82%
Aluminium ALI=F$3,355.50/t3,554.55BELOW3,276.47ABOVEFALLING−4.92%−1.76%−9.77%

Aluminium caveat, stated up front so a challenge to it cannot unwind the conclusion: ALI=F is the COMEX contract, which is premium-inclusive and distorted by US Section 232 tariffs; Rio realises LME plus regional premia. I use it as a directional proxy only, and I set it against the company evidence pulling the other way — Aluminium & Lithium EBITDA was +38% in the half. So the aluminium sleeve is a business that has been earning well into a price that has now turned down. That is a fair description whichever benchmark you prefer.

Iron ore: the level is fine, the direction is not, and the direction is the point

At $95.17/t iron ore sits roughly four times Rio's Pilbara unit cash cost. Nobody is going out of business. But the framework's Step 2b exists precisely to stop a high level being reported as a clean tailwind while the price falls, and iron ore now fails every trend test at once: below its 50-day line, below its 200-day line, 50-day line falling, and negative across four, six and eight weeks. It gapped from $98.00 on 31 July to $93.66 on 3 August and has not recovered the level.

And the forward is worse than the spot. Investment-bank consensus for 2026 is US$94–96/t — so today's price is already at consensus, not below it — falling to US$85–90 for 2027. Two structural forces drive that: Chinese crude steel output is contracting again in 2026, and Simandou is ramping toward a project peak of about 120Mtpa of new high-grade supply — Rio operates the 60Mtpa Simfer half of that, of which its own share is 27Mtpa — into that shrinking market. Chinese iron-ore imports were still up 5.9% over the first seven months, but July pulled back as steel margins squeezed.

So the Step-2b short cap fires: a live downtrend in the largest single sleeve removes short-horizon amplification. It also promotes the iron-ore bear from a distant tail to a live near-term risk, which is where it sits in §11 and in the thesis-invalidation rule in §12. This is the dial flashing now, not later.

Scoring, weighted by what each sleeve actually earns

The weights are the first-half EBITDA shares from §3 — iron ore 43%, copper 36%, aluminium and lithium 21% — not a guess at which commodity is more interesting to write about.

SleeveWeightShortMediumLongBasis
Iron ore43%454849Level scores ~82 against the cost curve; the live downtrend caps the short, the US$94–96 → US$85–90 consensus path caps the medium, and contracting Chinese steel plus Simandou supply cap the long
Copper36%788287Above both averages on a rising 50-day line with all three windows positive; structural deficit; Oyu Tolgoi to ~500kt/yr over 2028–2036 at rising grades
Aluminium & lithium21%425263Below a falling 50-day line and −9.8% over eight weeks, though still above the 200-day; Tomago secured to 2038; lithium (1% of EBITDA) still in surplus
Weighted driver5661660.43×45 + 0.36×78 + 0.21×42 = 56.3 · 0.43×48 + 0.36×82 + 0.21×52 = 61.1 · 0.43×49 + 0.36×87 + 0.21×63 = 65.6

What the recomputation actually changed

Short 56 — Neutral. No amplification. The Step-2b cap on iron ore does the work, and aluminium now reinforces it rather than offsetting it.

Medium 61 — Neutral, below the 65 bar. No amplification, and this is a second, independent reason from the valuation band. A 43% sleeve on a falling price plus a 21% sleeve on a falling price is more than a 36% sleeve on a rising one can carry.

Long 66 — Tailwind, and it does still clear the 65 bar — but it no longer matters. Copper at 87 over three to five years, on a structural deficit and a mine going to 500kt a year, is enough to drag the weighted number over the line even with iron ore at 49. The driver is not what removed the long horizon's STRONG BUY. Two other things did, independently: the base signal is now HOLD on Neutral timing, and HOLD never amplifies in either direction; and even on a BUY base the Full valuation band would bar amplification. So the driver clearing its bar is, this run, a fact with no consequence — and an earlier draft of this report described the valuation band as the single cause, which was true of that draft but is not true of this one.

Against the last report: 64 → 61 on the medium horizon, and roughly 70 → 66 on the long. The headline move is small. The change in composition is not: iron ore's downtrend went from a qualitative caveat to a measured fact, and aluminium moved from the supportive column to the deteriorating one.

Thesis-invalidation floor: iron ore holding below US$85/t — the bottom of the 2027 consensus band — at the same time as copper losing its 200-day average at US$5.87/lb. That combination flips the weighted driver to a net headwind on every horizon and breaks the case. Iron ore is currently 12.0% above that line and copper 12.4% above its.

Driver confidence 55: base 70, less 15 because commodity prices are inherently volatile and forecast reliability is low. The aluminium benchmark caveat is a further reason to treat the 21% sleeve's score as the softest of the three.

6

Pillar Detail: Economic Alignment

How the current economic climate sits relative to this stock, read from the latest Macro-Economic report. Classifies the macro pressure (Tailwind / Neutral / Headwind) — the second amplification input — and frames a long entry as Trend-Following or Contrarian with a 0–100 conviction.
Stance · Pressure
Trend-Following · Tailwind
72
conviction

Rio does not appear in the macro report's Economic Watchlist Forecast, so I map its GICS sector. XLB (Materials) reads O / SO / SO in the 12 August report — Outperform short, Strong Outperform medium and long, the strongest sector row in the matrix. The Copper / Industrial Metals asset line reads O / O / SO, upgraded from N / N / O in the 30 July report, which is a direct improvement for 36% of Rio's earnings. The regime is described as energy-shock stagflation with Fed cuts priced out and the live debate hike-versus-hold; real assets are favoured in that regime, so a long position here is riding the economic trend rather than fighting it. Stance Trend-Following, pressure Tailwind on all three horizons, conviction 72, up from 68 on the sector and asset-line upgrades. Did it amplify anything? No, and it could not have. Amplification requires a base BUY or SELL — HOLD never amplifies — plus a Tailwind pressure, a driver at or above 65, and a valuation ratio below 1.20×. This run fails two of those independently: the base signal is HOLD on all three horizons, and the ratio is 1.307×. So the sector tailwind, real as it is, left the signal exactly where the fundamental pillars put it. The honest caveat: the same macro report has US demand cracking — July retail sales −0.6%, Michigan sentiment 51 — and China's steel sector, which is what actually sets iron-ore demand, is not in XLB's favour at all.

Source: sector-map · Macro report 2026-08-12

7

Pillar Detail: Entry/Exit Timing

The risk-reward framework, relative strength vs SPY and the sector ETF, the macro overlay, news-derived sentiment, and the catalyst cluster.
Entry/Exit Timing — Pillar Score
Neutral. Below a falling 50-DMA, a real 3.4% ex-dividend decline over 12-14 August, overhead resistance 0.7% above, and two high-impact catalysts inside fourteen days.
52
conf 65%

Composition. Materials is a High macro-sensitivity sector, so the timing score is MTF trend 30% + risk-reward 20% + macro 20% + sentiment 15% + catalysts 15%.

Read this before the numbers: what the dividend explains, and what it does not

Rio went ex the $2.11 interim dividend on the ADR line on 14 August. That single session fell $2.52, from $98.20 to $95.68, so $2.11 of it is the distribution and $0.41 is price — the 14 August bar is very nearly flat once you adjust for it.

That is the whole of what the dividend explains, and an earlier draft of this report overstated it. The session before was real damage with no distribution in it: 12 August $101.22 → 13 August $98.20, a fall of $3.02 or 3.0%. Over the two sessions together the stock went $101.22 → $95.68, down $5.54, of which $2.11 is dividend — leaving $3.43, or 3.4%, of genuine decline. From the 10 August close of $101.91 it is 4.1% ex-dividend. The indicators corroborate that rather than the benign reading: RSI fell 62.0 → 53.2 → 47.1 across those three sessions and the MACD histogram collapsed from +1.00 to +0.24. So the tape did weaken last week. I have scored the daily timeframe accordingly below.

What the dividend does still explain is the moving-average test. The framework requires raw, unadjusted closes for any price-versus-average comparison, so price reads 0.7% under the 50-day line partly because the stock paid out 2.2% in cash on the measurement date. I run the test on raw price because that is the rule and because an adjusted series would shift the averages too — but I do not score the same $2.11 twice.

Sub-signalWeightReadScore
Multi-timeframe trend30%Monthly uptrend, price far above every monthly average (80); weekly uptrend but under the 20-week average with a negative MACD histogram (70); daily "weakening" — below a falling 50-DMA, above a rising 200-DMA, RSI down 15 points in three sessions (44). The hourly and 15-minute frames are excluded — see the note below64
Risk-reward20%The stop at $89.50 is 2.65 ATR away, in the framework's unfavourable band (>2.5 ATR) — base 35. Then the −15 proximity penalty: the weekly level at $96.37 sits 0.72% above the price, inside the 3% window. The analysis tool lists it as weekly support, but price has closed below it, so for an entry test it is overhead resistance — and the framework's rule is two-sided (+15 within 3% of support, −15 within 3% of resistance). Zero was not an available answer and an earlier draft took it. Position-risk 35−15 = 20, blended with relative strength at 5035
Macro overlay20%Sector regime favourable — XLB reads O/SO/SO, the strongest row in the macro report. Fed direction unfavourable — hiking risk live at ~44%. Demand data deteriorating — July retail sales −0.6% against +0.1% expected, Michigan 51.0 against 54.555
Sentiment15%No grade actions at all in 30 days; the last two were downgrades in Feb–Mar. Hold consensus, 38.7% bullish. News flow quiet and mildly positive — the Tomago power agreement of 12 August is the only company item of substance52
Catalysts15%Corrected from an earlier draft. Four high-impact print days fall inside ten: Building Permits and Housing Starts (18 August), the FOMC Minutes (19 August), CB Consumer Confidence (25 August) and Core PCE (26 August). Per the §8 table only two of those are stock-relevant for a diversified miner — the Minutes and Core PCE; the housing and confidence prints are flagged Medium there. So the count that drives the band is two, and the framework's clustering table puts "2–3 catalysts within 14 days" in the noisy band at 20–49, with a 30–50% size reduction. Read the wider way — four inside ten — the band would be 0–19 and timing would fall to ~48: still Neutral, still HOLD, so the reading is generous but immaterial. An earlier draft scored this 60 on a "one clear catalyst" reading that contradicted this report's own §8 table45

64×0.30 + 35×0.20 + 55×0.20 + 52×0.15 + 45×0.15 = 51.75, rounded to 52.

Why the intraday frames are excluded, and what they would have said

The hourly and 15-minute series returned by the analysis tool are timestamped 17 August — they consist entirely of the session this report deliberately does not price off, because it had not settled when I pulled the data. Using them in §9 while pricing everything else at the 14 August close would be incoherent, so I reallocate to Monthly 35% / Weekly 30% / Daily 35% — my judgement, not the framework's instruction, since that reallocation rule is written for intraday data being unavailable and here all five frames returned. §9 sets out the test and why it is immaterial. Both frames also returned a volume ratio of zero, which is a second reason not to lean on them.

The disclosure that goes with that, because it cuts against this report: on the unsettled 17 August print of $97.21 the stock is above its 50-day average of roughly $96.20. Had I priced at that session instead, the Technical entry group's trend condition would flip from unmet to met on the price leg, and the timing read would be better than the one below. I price at the last settled close because that is the rule and because it keeps this ticker coherent with the batch's commodity data, which is also dated 14 August — but you should know the very next print went the other way.

Timing 52 is Neutral, and that is what moves this report

52 sits below the Improving threshold of 55, so timing is Neutral (40–54). The Decision Matrix row, quoted as it is actually written, is "High (≥65) | Fair (40–64) | Neutral/Weak | HOLD (watch for valuation entry)" — a single row covering both a Neutral and a Weak timing score, and this name sits on its Neutral leg. That is why the report reads HOLD on medium and long rather than BUY, on all three horizons. The row immediately above it — "High (≥65) | Fair (40–64) | Improving (≥55) | BUY" — is the one three points of timing would reach.

It is close, and you should treat it as close — and one of these numbers IS a judgement of mine, which an earlier draft of this paragraph denied. The catalyst cluster at 45 comes straight off the framework's table. Risk-reward at 35 does not, quite: the >2.5-ATR stop-distance band is mechanical, but applying the −15 rather than the +15 rests on my reading that the weekly level at $96.37 — which the analysis tool itself lists as support, and which §9's table still shows as support — is functionally overhead resistance now that price has closed below it. I think that is right: you do not get an entry-zone bonus for sitting just under a level you have just lost. But it is a call, not a lookup, and it is the most consequential one in this report.

So here is where each branch lands, because you should not have to reverse-engineer it:

Reading of the $96.37 weekly levelPosition-riskRisk-rewardTimingSignal on medium & long
Overhead resistance, −15 (published)203551.75 → 52HOLD — Neutral row
Neither bonus nor penalty3542.553.25 → 53HOLD — still Neutral
Support, +15 (the tool's own label)505054.75 → 55BUY — reaches the Improving row

The middle branch changes nothing. The third one does: take the tool's label at face value and timing computes 54.75, which rounds to the 55 threshold and puts medium and long back to BUY. It sits on a rounding convention at the exact boundary, and on a 50/50 blend of position-risk and relative strength that the framework never specifies — so I would not call it the better answer. I would call it the reason this report is a close-run HOLD rather than a confident one, and the reason the two-point gap in the paragraph above is worth as much of your attention as the headline signal.

Both came out of the audit, and both moved against an earlier draft of this report. That draft scored the catalyst layer 60 and published BUY on medium and long off a timing score of 56 — 60 is outside the band the framework's own clustering table assigns, and the first independent auditor caught it. A second auditor then found that the proximity rule is two-sided and that taking neither the bonus nor the penalty was not an available answer; applying the penalty took timing from 53 to 52. Neither error was self-caught. The scores below are the corrected ones and the signals moved with them.

Indicator (14 Aug, raw closes)ValueRead
Price vs 50-DMA$95.68 vs $96.360.7% below, and the 50-DMA is falling (97.65 on 3 Aug → 96.36 on 14 Aug)
Price vs 200-DMA$95.68 vs $90.905.3% above, and the 200-DMA is rising
RSI(14)47.1Neutral. Was 62.0 on 12 Aug
MACD(12,26,9)1.286, signal 1.042, histogram +0.244Still positive, but the histogram has shrunk from +1.29 on 10 Aug
ATR(14)$2.33 — 2.43% of priceNormal for a large-cap miner
52-week range position67.6% ($60.37 – $112.58)Upper-middle. 15.0% below the 13 May high
Beta0.66Defensive against the index — relevant given the concentration tail

Relative strength — total-return basis

Measured on dividend-adjusted (total-return) series, which is the correct basis for a performance comparison even though the moving-average tests above use raw price.

WindowRIOSPYXLBBHPRead
1 month+7.84%+3.41%+3.24%+7.52%Beating both benchmarks and level with BHP
3 months−10.78%+4.03%+2.06%−2.42%Behind both benchmarks and well behind BHP
6 months+2.66%+14.56%+0.27%+21.62%Ahead of the sector, far behind the index and its closest peer

A month of leadership sitting inside a quarter of lagging. That is what a name recovering from a sharp de-rate looks like, and it is why this sub-signal scores 50 rather than either extreme. The comparison against BHP is the more informative one: same two commodities, same Pilbara, and Rio has been the weaker share over three and six months. Vale, the purest iron-ore read of the three, is −15.5% over three months — the market is marking down iron-ore exposure specifically, not mining generally.

8

Economic Event Risk

High-impact macro releases in the next 14 days that could swing this stock, plus the last 7 days of surprises.

Upcoming events (next 30 days)

DateEventImpactForecastPreviousRelevant?Why
2026-08-18Building Permits / Housing Starts (Jul)High1.37m / 1.35m1.374m / 1.427m⚠ MediumUS construction demand — a steel and aluminium end-market read
2026-08-19FOMC MinutesHigh✅ YesThe binding event. ~44% implied odds of a September hike after three hawkish July dissents. A hawkish read lifts the real rate inside the 9.13% discount rate and the dollar with it. Fires the §8 WAIT override
2026-08-25CB Consumer Confidence (Aug)High90.8⚠ MediumFollow-through on the 14 August Michigan collapse
2026-08-26Core PCE Price Index MoM (Jul)High0.3%0.1%✅ YesThe Fed's preferred gauge. A 0.3% print hardens the hike case
2026-09-01ISM Manufacturing PMI (Aug)High55.055.6✅ YesThe most direct global-industrial-demand read for a diversified miner
2026-09-16Fed Interest Rate Decision + ProjectionsHigh3.75%✅ YesThe resolution of tail 4. Beyond this report's next update

Recent surprises (last 7 days)

DateEventActualForecastSurpriseImpact
2026-08-12CPI YoY (Jul)3.4%3.4%In lineNeutral — inflation is sticky but not accelerating
2026-08-12Core CPI YoY (Jul)2.5%2.5%In lineMildly helpful — core disinflating from 2.6%
2026-08-13Producer Price Index MoM (Jul)0.0%0.2%BelowHelpful — pipeline cost pressure easing
2026-08-14Retail Sales MoM (Jul)−0.6%+0.1%Well belowNegative. A demand-side crack; industrial metals feel a consumer contraction with a lag
2026-08-14Michigan Consumer Sentiment (Aug)51.054.5Well belowNegative. Corroborates the retail-sales miss rather than offsetting it
2026-08-11Existing Home Sales (Jul)4.06m4.05mIn lineNeutral

Materials carries High macro sensitivity, which makes this section binding rather than informational. The FOMC Minutes on 19 August are high-impact and inside three trading days, and that combination fires the §8 WAIT-FOR-EVENT override on the short horizon regardless of composite score. It is also why the next update is scheduled for 20 August rather than the default fortnight.

The last week's data cut both ways and I am not going to pretend otherwise. Inflation came in on consensus and PPI came in soft, which is the helpful half. The unhelpful half is larger: retail sales fell 0.6% against an expected rise, and Michigan sentiment dropped to 51.0 against a 54.5 forecast, from a prior reading of 55.2 (get_economic_calendar previous field). For a company selling iron ore, copper and aluminium into global industrial demand, two consecutive consumer misses are a genuine headwind, and they landed on the same day the stock went ex-dividend. Confidence on the Timing pillar takes the standard 10-point penalty for a high-impact release inside seven days in a high-sensitivity sector.

9

Multi-Timeframe Technical Analysis

Trend, RSI and breakout status across monthly / weekly / daily / hourly / 15-minute, with a confluence verdict.
TimeframeTrendDirectionRSIMACDKey S/RBreakoutVol
MonthlyUptrend ↑Bullish63.5+9.27, risingS 80.5 / R 101.5, 112.6Resistance breakout0.37×
WeeklyUptrend ↑Bullish53.5+2.00, histogram −1.06S 96.4, 86.7 / R 101.5Resistance breakout0.18×
DailyWeakening →Neutral47.1+1.29, histogram +0.24 and fadingS 93.3, 92.5, 90.0 / R 101.8, 102.8 · 50-DMA 96.360.86×
Hourly (excluded)Strong downtrend ↓Bearish46.9−0.13, histogram turning upS 95.2, 95.6 / R 97.2, 98.40.00×
15-min (excluded)Recovering →Neutral47.6+0.13, flatS 95.6, 95.7 / R 96.9, 97.20.00×
Confluence: Mixed — higher timeframes up, daily weakening · MTF Score 64 on three frames (the tool returns "bullish" on five — see note)

Computed MTF score 64 = monthly 80×0.35 + weekly 70×0.30 + daily 44×0.35, on the three-frame weighting the framework specifies when the intraday frames are not used. Declare the deviation: that rule is written for intraday data being unavailable, and here all five frames returned — I am excluding two of them on contamination grounds instead, which is my judgement and not the framework's instruction. It also happens to raise the score, so it needs a test rather than an assertion, and it needs to be immaterial. It is: on the original five-frame weighting MTF is 58.58 → 59, timing is 50.12 → 50, and every signal in this report is unchanged — 52 and 50 are both Neutral (40–54), the same Decision Matrix row. Be straight about the size of it: the exclusion is worth five MTF points (64 against 59) and two timing points (52 against 50), not the three and one an earlier draft implied. That draft printed a five-frame MTF of 61, which is not reachable from the sub-scores disclosed above — it silently carried the withdrawn daily score of 50 instead of the 44 this report actually uses. Recomputed on the real inputs (monthly 80, weekly 70, daily 44, hourly 12, 15-min 58 at 30/25/25/12/8): 24.00 + 17.50 + 11.00 + 1.44 + 4.64 = 58.58. The deviation is bigger than I said, and it still does not change a signal. The hourly and 15-minute rows are shown above but excluded from the score: both are timestamped 17 August — entirely the unsettled session this report does not price off — and both returned a volume ratio of 0.00. I have left them visible rather than deleting them, because an excluded row you can see is more honest than one you cannot.

Why the monthly and weekly frames are kept, since the tool also stamped those with the 17 August print — and this raises the score, so it deserves a test rather than an assertion. The test is whether the trend classification changes between the two prices. It does not, on either frame. Monthly: the highest monthly average is the 20-period EMA at $83.44, and both $95.68 and $97.21 sit far above it, so the frame reads uptrend either way. Weekly: the 20-week SMA is $98.77, and both prices sit below it while both sit above the 50-week SMA at $87.15 — again the same reading either way. The hourly and 15-minute frames fail that test for a different reason: they do not merely carry the unsettled print as a final value, they consist of nothing but that session, so there is no version of them that describes the period this report actually prices.

The daily frame is scored 44, mid-band for "weakening", not the 50 an earlier draft carried. The independent audit was right that the 13 August session — $101.22 → $98.20, 3.0%, with no dividend in it — was real damage, and RSI falling 62.0 → 47.1 with the MACD histogram collapsing from +1.00 to +0.24 across three sessions corroborates it.

The textbook read is a higher-timeframe uptrend with a short-term pullback — monthly and weekly both in uptrends with resistance breakouts, the daily consolidating just under a 50-day line it lost partly to a dividend. What stops that being a clean buy-the-dip is the 50-day line itself: it is now falling, from $97.65 on 3 August to $96.36 on 14 August, having rolled over after the May high at $112.58. A pullback into a rising average is a dip; a pullback into a falling one is a lower high until proven otherwise.

Levels that matter. The reclaim trigger is a daily close above $96.36 on volume above 1.5× the 20-day average — only 0.7% away, which is why the Technical entry path is close rather than remote. The buy-the-dip zone is $92.50–93.30 (the daily support cluster). Below that, $90.90 is the rising 200-day average and the last line that keeps the structure intact.

10

Price Chart (6-Month Daily)

A 6-month daily close line with SMA50 and key support/resistance — the visual companion to the MTF table.

NYSE:RIO daily closes, 2 February – 14 August 2026 (135 sessions), raw unadjusted prices, with the 50-day simple moving average in orange. The May peak at $112.58, the July trough at $83.15, the recovery through early August to $101.91, and the 12–14 August fall from $101.22 to $95.68 — $5.54, of which $2.11 was the interim dividend going ex on 14 August and $3.43 was price. Final close $95.68 against a 50-DMA of $96.36.

11

Scenario Summary

Bull / Base / Bear 12-month price paths with triggers and probability weights.

Bull — $125 (25%)

12-month path, +30.6% from $95.68. Copper extends on the structural deficit while Oyu Tolgoi's ramp is visibly ahead of the 2028–2036 plateau schedule; iron ore stabilises in the $95–100 band as China stimulates rather than contracts; Simandou reaches the top of its 5–10Mt 2026 sales guidance and the market starts paying for the 60Mtpa capacity behind it; the Fed holds in September and the discount rate falls rather than rises. On those inputs mid-cycle earnings move toward the US$17.35bn the price already implies, the NAV rises with them, and the shares re-rate to the top of the analyst range — $120 at FMP, $125 at Yahoo. Falsified by: copper losing $6.35 (its 50-day line) or Simandou sales guidance being cut.

Base — $103 (50%)

12-month path, +7.7% from $95.68. The most likely outcome is that the split in the commodity basket persists rather than resolving. Copper stays firm, iron ore drifts down the consensus path toward US$90 as Simandou volume lands, aluminium normalises off its tariff-inflated peak, and group EBITDA holds roughly flat around the US$27bn consensus. The return is then mostly the 4.86% dividend plus modest volume growth, and the shares drift up toward but not through the $105.50 consensus. This is a hold-and-be-paid outcome, not a re-rating — which is consistent with both a Full-band valuation and a HOLD signal: the base case is positive and the report still says HOLD, because a 7.7% drift plus a dividend is not what the framework calls an entry. Falsified by: either tail below arriving.

Bear — $76 (25%)

12-month path, −20.6% from $95.68 — and this is a live risk, not a distant tail. Three routes, and they are correlated. (1) Iron ore breaks $85 as Simandou volume meets a Chinese steel market contracting faster than expected — the price is already at the 2026 consensus, only 12.0% above the 2027 consensus floor, and below both moving averages. (2) Copper mean-reverts on a global growth scare — July retail sales at −0.6% and Michigan at 51 are exactly the demand-side crack that does it, and copper is 12.4% above its own 200-day line, so there is room to fall before anything structural breaks. (3) The Fed hikes in September (~44% implied): a higher real rate cuts the NAV directly and a stronger dollar hits all four commodities at once. A fourth, lower-probability route is Hormuz escalating past $100 Brent, which raises Rio's diesel, shipping and smelter energy costs while crushing the demand for what it sells. On any two of these, group EBITDA compresses toward US$22bn and the shares trade back to roughly the NAV plus a small premium — about $76. The bear is 25% weighted, not 20%, and that is a deliberate increase from the last report.

Probability-weighted 12-month value: 0.25 × $125 + 0.50 × $103 + 0.25 × $76 = $101.75, or +6.3% from $95.68 before the 4.86% dividend. That is a total return in the low double digits for a name whose NAV, discounted at 9.13% over a 20-year mine life, sits at $73.23. Both statements are true at once, and the gap between them is the difference between what the market will pay and what the cash flows are worth at that required return. It is also why the framework reads HOLD rather than BUY: a positive base case is not the same thing as an entry.

12

Entry / Exit Rules

Three independent entry paths (Fundamental · Technical · Catalyst) and three exit triggers (Stop-Loss · Thesis · Profit-Target). Any one entry path is a valid entry — the more that agree, the larger the position the conviction ladder suggests. Exits are graded by severity, not count.

How to read this — the Conviction Ladder

The three entry groups are alternative paths to a buy, not a checklist. A group counts only when all its sub-conditions hold. How many groups are satisfied sets the suggested size — it does not gate whether you may enter: 1 group = Half-Size (a valid starter/scale-in), 2 = Full-Size, 3 = Over-Size (highest conviction); 0 = Wait (no path open yet). A strong overall signal can still read Wait here when the stock is well above its entry zones — that flags "good business, no entry edge right now," not a contradiction. Exits are graded by severity of what is live, not by a count: a hard stop is an Exit on its own.
Entry conviction: Wait0 of 3 groups met — no entry path open

Fundamental — not MET

UNMET, and this is a change from the last report, which had it met. The condition is price below the fair-value estimate. With the anchor re-struck on P/NAV, fair value is the NAV of $73.23, and $95.68 is 30.7% above it. On the previous report's P/E anchor this group fired; on the framework's own mining lens it does not. I would rather show you the group failing than quietly keep the old fair value.
⛔ Price $95.68 < fair value $73.23 (the NAV, discounted at the framework's 9.13% required return over a 20-year mine life)
✅ No earnings within 7 calendar days — next results 24 February 2027
✅ Underlying-Driver score ≥ 50 — 61 on the medium horizon

Technical — not MET

UNMET, but close. Price is 0.7% below the 50-day average and the momentum conditions are already satisfied — it is the trend condition alone that fails, and it fails into a falling 50-day line, which is the part that matters.
⛔ Daily close above the 50-DMA ($96.36) on volume > 1.5× the 20-day average — price is $95.68, and 14 August volume was 0.86×
⛔ OR a tested bounce off $92.50–93.30 support with a higher low — not tested this cycle
✅ RSI 14 between 35 and 65 — 47.1
✅ MACD histogram positive for 2+ sessions — positive since 3 August, though fading

Catalyst — not MET

UNMET. The half-year print was a good result that produced a modest reaction, and the window has passed. Note a correction to the last report, which described the move as ~+4% on ~1.2× volume; recomputed from the price series it was +2.20% on 1.57×.
⛔ Post-earnings 24-hour move > +5% — 29 July was +2.20% ($91.64 → $93.66)
⛔ Volume > 2× the 20-day average — 29 July was 1.57×
✅ Guidance raised or maintained — all 2026 guidance maintained, dividend +43%

Forecast: Rule Forecast — when each condition is likely to be met.

Technical group — days to two weeks, Moderate confidence. Price needs $96.36 and sits at $95.68, a gap of 0.7%. Against a 14-day ATR of $2.33 that is well inside a single session's range, and the 50-day line is falling toward the price at roughly $0.14 a day, so the two converge from both directions. The volume condition is the harder half — 14 August traded 0.86× the 20-day average and Rio has not printed 1.5× since the 29 July results — which makes this catalyst-dependent: the FOMC Minutes on 19 August are the nearest event capable of producing the volume. Confidence is Moderate rather than High because a hawkish read moves the price the wrong way, and because reclaiming a falling average is a weaker signal than reclaiming a rising one. One disclosure that cuts against this report: on the unsettled 17 August print of $97.21 the stock is already above its 50-day average, so on that session the price leg of this condition would be met. I price at the last settled close, but you should know the next print went the other way.

The pullback branch — $92.50–93.30, Moderate. That is 2.5–3.3% below, just over one ATR. On the current tape it is at least as reachable as the breakout, and it is the better entry of the two: a tested higher low off that cluster with the 200-day at $90.90 underneath would satisfy the Technical group on the branch the framework prefers.

Fundamental group — Unlikely without a material fall or a materially better NAV. Price would need to reach $73.23, which is 23.5% below and below every scenario in §11 except a deep bear overshoot. The realistic route is the other one: the NAV rising to meet the price. It would take consensus mid-cycle earnings moving from US$13.28bn toward US$17.35bn — which is what an Oyu Tolgoi ramp ahead of schedule would do — or a weighted mine life nearer 30 years. Neither is a next-quarter event. Watch the Q3 operations review in mid-October for the first evidence either way.

Catalyst group — Unlikely before 24 February 2027. There is no earnings event to produce a >5% move until FY-2026 results. The mid-October Q3 operations review reports volumes only and rarely moves a diversified major 5% in a day.

The honest summary: zero of three paths are open, so the ladder reads Wait. The nearest path is Technical and it is close — but it is gated behind the same FOMC Minutes that put the short horizon on WAIT, so the sequencing is: see the minutes, then see whether the 50-day line is reclaimed on real volume.

Exit action: Holdno exit trigger is live — hold the position

Stop-Loss — not LIVE

⛔ Two consecutive daily closes below $89.50 — below the rising 200-DMA ($90.90) and the $90.01 swing low. Raised from $88.00 last report because the 200-day average has risen from $89.30 to $90.90; the stop follows the structure, it does not follow the price

Thesis Invalidation — not LIVE

⛔ Iron ore sustained below US$85/t (the floor of the 2027 consensus band) — currently $95.17, 12.0% above
⛔ AND copper sustained below its 200-day average at US$5.87/lb — currently $6.60, 12.4% above. Either alone is a warning; both together flip the weighted driver to a net headwind on every horizon
⛔ Full-year guidance cut, or a Simandou or Oyu Tolgoi ramp setback — all 2026 guidance maintained at the half year
⛔ Competitive/supply trigger: Simandou ramping materially faster than the ~120Mtpa project-peak consensus into a Chinese steel market contracting faster than forecast — Rio adding to the supply that sets its own realised price
⛔ [fires alone] Any hard gate triggers — none live; the two amber flags are cautions

Profit-Target — not LIVE

⛔ Price reaches the median analyst target of $113.00 — 18.1% above
⛔ AND RSI(14) above 70 — currently 47.1
· AND Quality has not improved enough to justify the higher valuation

Forecast: Strongest live trigger: none → recommended action Hold.

Stop-loss — Unlikely in four to six weeks. $89.50 is 6.5% below, 2.65 ATR, and below the rising 200-day average. Getting there needs a genuine break, not drift.

Thesis invalidation — the one to watch, and it is the nearer of the two. The iron-ore leg is only 12.0% above its line and is already below both its moving averages with all three momentum windows negative. Consensus itself has iron ore at US$85–90 for 2027, which means the forecast path touches the invalidation level inside eighteen months. The reason this is not already an exit is the conjunction: copper is 12.4% above its own line and in a clean uptrend, and the rule requires both. If copper turns, this moves quickly.

Profit target — Unlikely. $113 needs +18.1% with RSI above 70; RSI is 47.1 and the 50-day average is falling.

Imagine you act at the current price of $95.68 · as of 17 Aug 2026

What if you bought now?

You are risking $6.18 a share, 6.5%, to the $89.50 stop — and $19.68, 20.6%, if the bear case runs to gain $7.32, 7.7%, to the base case plus a 4.86% dividend.

What you are risking. Zero of three entry paths are open, so you would be buying without a mechanical reason to. Specifically: you would be paying 1.307× a NAV discounted at the framework's own required return; buying 0.7% under a falling 50-day average rather than a rising one; and buying two trading days before the FOMC Minutes, with ~44% implied odds of a September hike — which is the single event most capable of cutting both the NAV and the commodity prices at once. Underneath that sits the structural risk: 43% of first-half earnings come from a commodity below both its moving averages whose consensus 2027 price is 10% below spot, and a further 20% from one that has fallen 9.8% in eight weeks. The bear case is $76, and I have weighted it at 25%.

What you are gaining. You start collecting a 4.86% dividend immediately, from a payout that was just raised 43% at an unchanged 50% ratio — the earnings did the work, not the policy. You own 36% exposure to the cleanest uptrend in the metals complex, in a business whose copper EBITDA rose 84% in the half and whose flagship copper mine is heading to roughly 500kt a year. You own the optionality outside the NAV entirely for free: Simandou's ramp beyond 5–10Mt, Rhodes Ridge, Resolution, the lithium book. And the balance sheet means you are not exposed to the refinancing risk that would normally accompany this much capex — 0.47× net debt to EBITDA, 17.8× interest cover. Risk-reward to the base case is about 1.2:1; to the probability-weighted value of $101.75 it is roughly 1:1.

The read: waiting materially improves this deal, and the wait is short. Two trading days gets you past the minutes; a further 0.7% gets you a 50-DMA reclaim on volume, which opens the Technical path; a 2.5–3.3% dip into $92.50–93.30 opens it on the better branch. There is no urgency here that justifies acting ahead of a dated, high-impact event in a High-sensitivity sector, with two more inside a fortnight behind it. This is the same conclusion the signal reaches by a different route: HOLD on all three horizons is the framework saying good business, wrong entry. That is an assessment of the entry, not a verdict on the business.

What if you sold now?

You would be giving up 7.7% to the base case, a 4.86% dividend, and free optionality on Oyu Tolgoi, Simandou and Rhodes Ridge to protect the 20.6% drawdown the bear case implies.

What you are giving up. The base case is $103 and the probability-weighted value is $101.75, both above today's price, and the dividend adds 4.86% on top while you wait. You would be selling a business with a 17% underlying ROCE, first-quartile cost positions in its two largest sleeves, and a copper division that grew EBITDA 84% in a half. You would also be selling below every published analyst target except the $83.50 low. And you would be selling the optionality — the Oyu Tolgoi plateau, Simandou's capacity beyond the current ramp, Rhodes Ridge — none of which is in the NAV you would be crystallising.

What you are protecting. No exit rule is live. Not one. The stop is 6.5% below, thesis invalidation needs iron ore under $85 and copper under $5.87, and the profit target needs +18.1% with RSI above 70. What you would be protecting is a judgement, not a trigger: that 63% of earnings sit on falling commodity prices, that the valuation is in the Full band on the framework's own mining lens, and that a September hike would compress the multiple and the commodity deck together.

The read: there is no mechanical reason to sell. This is a hold, and this run the signal says so on every horizon. The framework distinguishes between "not a good entry today" and "a reason to exit", and this name is firmly the first — a HOLD here means sit, not sell. If you already own it, the dividend is doing the work while the commodity split resolves one way or the other.

13

Position Sizing Context

Illustrative portfolio math (not advice) translating conviction into an allocation given risk-per-share and volatility.

Position sizing is not computed as a portfolio percentage — no allocation or portfolio role was specified for this name, and the framework's instruction is to omit sizing rather than invent a default. What I can give you is the constraint set.

The §12 Conviction Ladder reads Wait — zero of three entry paths open, which is consistent with a HOLD on every horizon — which carries a ladder factor of 0×. In the sizing formula that is not "a small position", it is "no entry edge today; watch the levels instead". The levels are a daily close above $96.36 on volume above 1.5×, or a tested higher low in $92.50–93.30.

Volatility context for anyone already holding. ATR(14) is $2.33, or 2.43% of price — an ordinary daily range for a large-cap miner. Beta is 0.66, so Rio moves about two-thirds as much as the index; a 5% position behaves roughly like a 3.3% position in market-risk terms, which is unusual for a cyclical and is a genuine argument for holding it through macro noise. The 52-week range is $60.37 to $112.58 — an 86% spread, and the drawdown from the May high to the July low was 26%. That is what you are signing up for. Catalyst clustering scores 45, which is the framework's noisy band and carries an explicit 30–50% size reduction for anyone entering here — two high-impact events inside a fortnight is compounded path risk even when the directional view is right. An earlier draft of this section said the score was 60 and that no reduction applied; 60 was the withdrawn number, and carrying it here inverted a framework requirement in the one section whose job is sizing. The 19 August minutes are also a reason to tighten stops rather than add.

14

Calibration Snapshot

Machine-readable snapshot of every score, level and signal, saved alongside the HTML so the next run can compute deltas.
{
  "ticker": "RIO",
  "company": "Rio Tinto Group",
  "brand": "Rio Tinto",
  "currency": "USD",
  "reporting_currency": "USD",
  "exchange": "NYSE",
  "exchange_ticker": "NYSE:RIO",
  "isin": "US7672041008",
  "api_ticker": "RIO",
  "finder_ticker": "RIO",
  "finder_exchange": "\ud83c\uddfa\ud83c\uddf8 NYSE",
  "analysis_status": "on-going",
  "gics_sector": "Materials",
  "sector": "Materials",
  "section": "Diversified Metals & Mining",
  "country": "United States (ADR; UK-domiciled group)",
  "lifecycle_stage": "mature_cashcow_diversified_miner",
  "date": "2026-08-17",
  "version": "v6",
  "user_horizon": null,
  "user_allocation_pct": null,
  "portfolio_role": null,
  "price_at_rating": 95.68,
  "price_asof": "2026-08-14 settled close on the NYSE ADR line. The 17 August session was still in progress at pull time (last $97.21, day range $95.88-$97.29 on 2.02m shares against a 2.68m average), and no claim in this report uses it. This also keeps the ticker coherent with the batch's settled commodity pull, which is dated 2026-08-14.",
  "eps_trailing": 7.37,
  "eps_trailing_basis": "Diluted, trailing twelve months = H1-2026 $4.06 + H2-2025 $3.31. Rio reports half-yearly, so FMP's 'Q2' period is the six months to 30 June. Basic TTM is $7.43. Yahoo's 7.50 is not used; nor is its trailing_pe of 12.96, which is computed off the unsettled 17 Aug price.",
  "trailing_pe": 12.98,
  "shares_out_bn": 1.627,
  "shares_basis": "Combined dual-listed company count (Rio Tinto plc + Rio Tinto Limited). Reconciles: market cap $158.151bn / $97.21 = 1,626.9m, against FMP weighted-average basic 1,625.8m. The NYSE ADR is 1:1 with a Rio Tinto plc ordinary share, so no ADR-ratio adjustment applies.",
  "signal_short": "WAIT",
  "signal_medium": "HOLD",
  "signal_long": "HOLD",
  "primary_signal": "HOLD",
  "composite_short": 56,
  "composite_medium": 59,
  "composite_long": 65,
  "quality_score": 79,
  "valuation_score": 46,
  "timing_score": 52,
  "driver_score": 61,
  "driver_score_short": 56,
  "driver_score_medium": 61,
  "driver_score_long": 66,
  "driver_label": "Neutral (medium 61) - short 56 Neutral, long 66 Tailwind",
  "moat_score": 58,
  "quality_detail": {
    "industry_benchmark_name": "Cost-curve position (mining)",
    "industry_benchmark_value": "First quartile in iron ore and copper; mid-curve in aluminium",
    "industry_benchmark_score": 84,
    "moat_score": 58,
    "moat_pricing_power": 32,
    "moat_network": 50,
    "moat_switching": 50,
    "moat_cost_advantage": 84,
    "moat_intangibles": 72,
    "roic_percentile_vs_peers": 78,
    "capital_allocation": 80,
    "management_skin_in_game": 55,
    "underlying_ebitda_h1_2026_usd_m": 14826,
    "underlying_ebitda_change_pct": 28,
    "segment_ebitda_iron_ore_usd_bn": 6.8,
    "segment_ebitda_copper_usd_bn": 5.7,
    "segment_ebitda_alu_lithium_usd_bn": 3.3,
    "segment_ebitda_total_usd_bn": 15.8,
    "segment_weight_iron_ore_pct": 43,
    "segment_weight_copper_pct": 36,
    "segment_weight_alu_lithium_pct": 21,
    "segment_weights_source": "Rio Tinto 2026 half year results, 29 Jul 2026 - underlying EBITDA by product group",
    "fcf_h1_2026_usd_m": 3834,
    "net_debt_usd_m": 14061,
    "net_debt_source": "Rio Tinto H1 2026 release, 29 Jul 2026 (NOT FMP totalDebt, which is lease-inclusive)",
    "underlying_roce_pct": 17,
    "capital_investment_h1_2026_usd_m": 5037,
    "capex_guidance": "Up to $11bn in 2026 and 2027, ~$10bn from 2028 in real 2025 terms; sustaining ~$4bn/yr (CFO, H1 2026 call); growth $2-3bn/yr (Fitch, 15 May 2026)",
    "productivity_gains_h1_usd_m": 870,
    "dividend_interim_2026_us_cents": 211.0,
    "shares_out_basic_m": 1625.8
  },
  "valuation_detail": {
    "nav_basis": "P/NAV - the Materials/Miners primary multiple per SKILL L570. NAV = present value of consensus attributable net income, held flat in nominal terms over a 20-year weighted mine life, discounted at the framework's own required return of 9.13%. Net income is the base rather than a cash-flow build because D&A of $8.1bn annualised is almost exactly the sustaining ($4bn) plus replacement (~$4bn) capital needed to hold volumes flat - so net income already charges the right capital and the sustaining-vs-growth split does not have to be guessed. The remaining $2-3bn/yr of growth capex is excluded and treated as embedded optionality, so nothing is double-counted. Because the base is net income (already after interest), net debt sits inside it and is not deducted again.",
    "nav_earnings_base_usd_bn": 13.279,
    "nav_earnings_base_source": "Mean of consensus attributable net income FY2026-FY2030 from get_analyst_estimates: 13.7095, 13.8480, 13.9186, 13.6008, 11.3191. The five-year mean is used rather than the FY2026 point because consensus itself sees earnings flat to 2029 then falling 17% into 2030, and capitalising FY2026 alone would capitalise a copper price at cycle highs.",
    "nav_mine_life_years": 20,
    "nav_mine_life_basis": "ASSUMPTION, not a sourced group reserve life - flagged as the report's largest single swing factor. Anchored on the asset lives I could source this run: Oyu Tolgoi ~500kt/yr over 2028-2036 with reserves beyond, Rincon a stated 40-year life, Simandou a multi-decade orebody at 60Mtpa, Kennecott to 2032-33, and a Pilbara kept alive for 60 years by exactly the replacement capital this model already charges. Paired deliberately with FLAT NOMINAL earnings, which is a ~2%/yr real decline - the offset to a 43% sleeve facing a shrinking end market. Web search was unavailable this run; a group reserve-life figure could not be obtained.",
    "nav_annuity_factor": 9.0446,
    "nav_total_usd_bn": 120.1,
    "nav_shares_diluted_bn": 1.640167,
    "nav_shares_basis": "Rio's own H1-2026 weighted-average DILUTED count (1,640.167m), not the 1.627bn implied by market cap - the market-cap figure is struck at the unsettled 17 Aug price, and a diluted count is the right partner for an earnings numerator. Changed after independent audit. Alternatives: 1.627bn -> NAV $73.82, ratio 1.296; consensus-EPS-implied 1.6435bn -> NAV $73.08, ratio 1.309. All three land in the FULL band.",
    "nav_per_share_usd": 73.23,
    "nav_sensitivity": "At 1.640167bn diluted shares. Mine life 15yr -> NAV $64.76, P/NAV 1.477 = EXPENSIVE (Gate 3 would fire). 20yr -> $73.23, 1.307 = FULL (used). 25yr -> $78.70, 1.216 = FULL. 30yr -> $82.23, 1.164 = FAIR. PERPETUITY, i.e. the SKILL's literal two-stage formula at g_near=g_term=0 -> factor 10.9529, NAV $88.68, 1.079 = FAIR. The sourced asset lives span roughly 20-25 years and BOTH ends read Full, which is the defence of 20; the band only breaks outside a range the evidence does not support. Earnings-base sensitivity at 20yr: a 9% cut still reads Full. Risk-free sensitivity immaterial (4.63/4.68/4.70% all give 1.31).",
    "nav_formula_deviation": "DECLARED, after independent audit. The SKILL's general anchor is a two-stage formula ending in a perpetuity (L451-453). On this report's own recorded inputs (r 9.13%, g_near 0, g_term 0) that formula gives a factor of 10.9529, NAV $88.68 and a ratio of 1.079 = the FAIR band, where amplification would be permitted. This report uses a 20-year TRUNCATION instead, factor 9.0446. The reason is that a perpetuity is the wrong shape for a depleting asset - an orebody is consumed by mining it, which is why L490 separately specifies P/NAV over a mine plan for miners. But the truncation is an INSTANTIATION CHOICE, not the framework's arithmetic, and it is the single choice that sets the band. An earlier draft described the result as 'a NAV struck at the framework's own required return', which overstated it: r is the framework's, the 20-year horizon is mine.",
    "nav_guardrail_applied_manually": "The SKILL's Materials guardrail is P/NAV >= 1.5x (EV/EBITDA >= 8x). Actual P/NAV 1.307x and EV/EBITDA 6.30x on FY2026E - NEITHER breaches. Recorded explicitly because scripts/lint_report.py carries the Materials line as an EV/EBITDA of 8.0 and cannot evaluate a P/NAV basis, so it emits FW-GUARDRAIL-SKIP rather than running the arm. The arm was run by hand and is clear.",
    "implied_midcycle_earnings_usd_bn": 17.35,
    "implied_note": "At $95.68 the price implies mid-cycle attributable earnings of ~$17.35bn against the consensus five-year mean of $13.279bn - a premium of 30.7%. The market is pricing a copper-led step-up (Oyu Tolgoi to ~500kt/yr) that the sell-side has not yet put in its numbers.",
    "ev_ebitda_fy2026e": 6.3,
    "ev_ebitda_ttm": 7.27,
    "ev_ebitda_provider": 7.08,
    "ev_usd_bn": 169.732,
    "ev_basis": "REBUILT after independent audit. Market cap at the price of record (1.627bn shares outstanding x $95.68 = $155.671bn) PLUS Rio's own reported net debt of $14.061bn = $169.732bn. An earlier draft carried the provider EV of $177.628bn, which (a) is struck at the unsettled 17 Aug price of $97.21 - falsifying this report's own claim that nothing uses that price - and (b) does not reconcile to the report's inputs, almost certainly because it carries lease-inclusive debt and/or non-controlling interests, i.e. the very input section 15 says was deliberately not used. This basis excludes leases and NCI and says so. Both corrections make the stock look CHEAPER, and neither lens is the anchor, so no signal moves.",
    "fcf_yield": 4.52,
    "fcf_yield_basis": "H1 2026 FCF $3,834m annualised to $7.668bn over EV $169.732bn. After all capex including growth.",
    "forward_pe_fy2027": 11.5,
    "pb": 2.36,
    "pb_basis": "Price $95.68 over attributable shareholders' equity of $40.47/share. FMP's 2.385x uses book including non-controlling interests ($44.33/share); Yahoo's 2.414x is computed off the unsettled 17 Aug price.",
    "dividend_yield_pct": 4.86,
    "historical_valuation_decile": 6,
    "consensus_eps_path": "FY2026 $8.34 -> FY2027 $8.30 -> FY2028 $8.13 -> FY2029 $8.30 -> FY2030 $6.91",
    "optionality_tilt_applied": 2,
    "optionality_note": "+2 within the Full band's 40-49 range, reduced from +4 after independent audit: the NAV excludes the growth capex AND the volumes it buys, so crediting the pipeline's upside while the spending never appears as an outflow is the generous side of the ledger. Simandou beyond the 5-10Mt 2026 sales guidance against 60Mtpa built capacity; Oyu Tolgoi to the ~500kt/yr 2028-2036 plateau; Rhodes Ridge (first ore ~2030); lithium (Rincon 60ktpa/40yr, Nemaska, Sal de Vida); Resolution and Winu. All sit outside the NAV because the NAV charges only the capital needed to hold volumes flat. Counterweight stated in-report: Simandou's own volume is part of what is depressing the iron-ore price.",
    "prior_basis_withdrawn": "The 31 July report anchored on clean trailing P/E 13.5x against a guardrail-capped warranted 15.0x, ratio 0.90, band 'fair'. That basis is WITHDRAWN, not merely updated: SKILL L570 gives P/NAV as the primary multiple for a producing miner and demotes an earnings multiple to a cross-check. On today's numbers the withdrawn basis would read 12.98/15.0 = 0.87, still 'fair' - so the band change from fair to full is a METHODOLOGY correction, not a market re-rating. The shares moved -1.2%."
  },
  "timing_detail": {
    "mtf_confluence": 64,
    "mtf_tool_headline": "bullish (tool); scored 64 on the framework L687 three-frame reallocation (Monthly 35 / Weekly 30 / Daily 35 = 80x.35 + 70x.30 + 44x.35). The hourly and 15-min frames are EXCLUDED: both are timestamped 17 Aug, the unsettled session this report does not price off, and both returned volume_ratio 0.00.",
    "risk_reward_score": 35,
    "position_risk_score": 20,
    "position_risk_basis": "Stop $89.50 is 2.65 ATR away = the >2.5-ATR unfavourable band (base 35), THEN the -15 proximity penalty: the weekly level $96.37 sits 0.72% ABOVE the price, inside the 3% window. The MTF tool lists it as weekly SUPPORT, but price closed below it, so for an entry test it is overhead RESISTANCE and SKILL L818-820 is two-sided (+15 near support / -15 near resistance). Zero was not an available answer; an earlier draft took zero and round-2 audit caught it. 35-15 = 20, blended with relative strength 50 -> risk_reward 35.",
    "relative_strength_score": 50,
    "sentiment_score": 52,
    "macro_overlay_score": 55,
    "catalyst_clustering_score": 45,
    "dynamic_macro_weight": 0.2,
    "rsi14": 47.14,
    "macd": 1.286,
    "macd_signal": 1.042,
    "macd_hist": 0.244,
    "sma50": 96.36,
    "sma50_slope": "FALLING - 97.65 on 3 Aug to 96.36 on 14 Aug",
    "sma200": 90.9,
    "sma200_slope": "RISING - 89.53 on 3 Aug to 90.90 on 14 Aug",
    "atr14": 2.327,
    "atr_pct": 2.43,
    "beta": 0.66,
    "range_52w_position_pct": 67.6,
    "high_52w": 112.58,
    "low_52w": 60.37,
    "ex_dividend_note": "CORRECTED after independent audit - an earlier draft overstated what the dividend explained. The stock went ex the $2.11 interim dividend on the ADR line on 14 Aug 2026, and that explains the 14 Aug SESSION only: $98.20 -> $95.68 is -$2.52, of which $2.11 is distribution and $0.41 is price. It does NOT explain the session before, which carried no dividend: 12 Aug $101.22 -> 13 Aug $98.20 = -$3.02 / -3.0%. Over 12-14 Aug the stock fell $101.22 -> $95.68 = -$5.54, of which $2.11 is dividend, leaving -$3.43 / -3.4% of GENUINE decline; from the 10 Aug close of $101.91 it is -4.1% ex-dividend. Corroborated by the indicators over the same three sessions: RSI 62.0 -> 53.2 -> 47.1 and MACD histogram +1.00 -> +0.66 -> +0.24. The earlier draft's claim that 'the tape did not break down last week' was not supportable and has been withdrawn; the daily MTF sub-score was re-scored 50 -> 44 as a result. What the dividend DOES still explain is the moving-average test, which uses RAW closes per the price-data hygiene rule - so price reads 0.7% below the 50-DMA partly because 2.2% was paid out on the measurement date. The same $2.11 is not scored twice.",
    "threshold_fragility": "Timing 52 sits BELOW the Improving threshold (55), so timing is Neutral (40-54) and the Decision Matrix row - quoted as written - is 'High (>=65) | Fair (40-64) | Neutral/Weak | HOLD (watch for valuation entry)' (SKILL L1274), on its NEUTRAL leg, on all three horizons. Three points would return medium and long to BUY, so this is genuinely close and is disclosed as close in section 7. Of the two sub-scores doing the work, catalysts 45 comes straight off the framework's clustering table, but risk-reward 35 does NOT reduce to a lookup: the >2.5-ATR stop-distance band is mechanical, while applying the -15 rather than the +15 rests on reading the $96.37 weekly level - which the MTF tool itself labels SUPPORT - as overhead RESISTANCE now that price has closed below it. That is a judgement, and the single most consequential one in the report; an earlier draft of this field and of section 7 claimed neither number was chosen, which was wrong. Section 7 now carries the three-branch sensitivity: -15 as published -> timing 52 -> HOLD; no adjustment -> 53 -> HOLD; +15 on the tool's own label -> 54.75 -> 55, which REACHES the Improving row and would put medium and long back to BUY. SIX audit rounds have now moved this pillar or this field, and no error was self-caught: round 1 found catalysts scored 60, outside the band its own section-8 table implies, which had published BUY on medium and long off a timing of 56; round 2 found the proximity rule is two-sided and that taking neither bonus nor penalty was not available, taking timing 53 -> 52; round 4 found this field still asserting the withdrawn 'rather than judgement' claim and the withdrawn risk-reward of 42; round 5 found the five-frame immateriality figure carried the WITHDRAWN daily sub-score of 50, correcting a published timing number from 51 to 50 at three sites, and found the branch table showing 53.15 where 42.5 x 0.20 gives 53.25. round 6 then found THIS SENTENCE still saying FOUR - the third time this field has been graded for being one round behind, which is why the audit-trail fields are now swept as a CLASS at the close of every round rather than per-finding. And round 6 is itself in this count: correcting the sentence for round 5 made it stale for round 6 the moment it was written, which is the recursion the class sweep exists to close. It terminates when a round finds nothing."
  },
  "val_band": "full",
  "actual_multiple": 1.307,
  "warranted_multiple": 1.0,
  "warranted_ratio": 1.307,
  "val_multiple_basis": "P/NAV - the Materials/Miners primary multiple per SKILL L570 - with NAV discounted at the framework's 9.13% required return over a 20-year mine life. The DISCOUNT RATE is the framework's; the 20-year truncation is this analyst's mining instantiation and is declared as a deviation in nav_formula_deviation. Warranted P/NAV is 1.0 by construction: a NAV discounted at the required return IS the warranted equity value, so the warranted multiple of it is one. No P/E is used as the anchor; clean trailing P/E 12.98x appears only as a tertiary cross-check.",
  "discount_rate_r": 9.13,
  "risk_free_10y": 4.63,
  "risk_free_source": "FRED DGS10 at 2026-08-13 = 4.63%, the batch's stated risk-free input. The 14 Aug print was 4.68% and the 12 Aug macro report carries 4.70%; both run as sensitivities in section 4 and raise it to 1.311 and 1.313 respectively - a higher risk-free cuts the NAV and RAISES P/NAV. The 4.63% figure is NOT attributed to the macro report.",
  "g_near": 0.0,
  "g_term": 0.0,
  "anchor_growth_basis": "Both zero, deliberately. A mining NAV discounts a finite mine plan at a flat deck; there is no two-stage growth to model, and inserting one would be the exact 'feed the hype growth' move the framework bans. The flat NOMINAL stream is itself a ~2%/yr real decline, which is the conservatism that pairs with the 20-year life. Growth from Simandou, Oyu Tolgoi and lithium sits outside the NAV as embedded optionality.",
  "clean_pe": 12.98,
  "clean_peg": 0.75,
  "clean_pe_note": "Reported and clean are the SAME number here and I say so rather than manufacturing a difference: non-operating income was $612m = 9.2% of NET income ($6,663m), or 6.6% of pre-tax ($9,311m); step 7b's line is ~15% of NET income, which both bases clear. Stated on the net-income basis here because that is what the threshold and the calibration key use. Below the line at which step 7b forces a restatement. PEG 0.75 on the FMP trailing basis flatters the name - consensus EPS is flat to 2029 and then falls 17% into 2030, so there is no durable growth in the earnings stream the multiple capitalises.",
  "nonop_pct_of_net_income": 9,
  "nonop_basis_note": "9.2% = $612m of non-operating items over $6,663m of NET income, which is the basis the field name states. An earlier draft stored 7, which was the PRE-TAX percentage (612/9,311 = 6.6%) - a value on a different basis from the one the key declares. Both clear the ~15% line at which step 7b forces a clean-earnings restatement, so nothing downstream moves; section 2 quotes the pre-tax figure and now labels both.",
  "fcf_yield": 4.52,
  "dividend_yield_pct": 4.86,
  "dividend_ttm_usd": 4.65,
  "dividend_action": "RAISE, verified. Interim 2026 of $2.11 declared 29 Jul 2026 (ex 14 Aug, pay 24 Sep) is +42.6% on the $1.48 interim declared 1 Aug 2025 - a genuine increase, not a same-amount re-declaration. TTM = $2.54 (FY2025 final, declared 19 Feb 2026) + $2.11 = $4.65. TRAP CAUGHT: FMP dividendPerShareTTM of $3.583 does not reconcile - it sums the two interims and omits the final. Rio pays semi-annually, so the trailing TWO payments are the trailing twelve months, not the trailing four.",
  "roe_pct": 19.3,
  "net_debt_ebitda": 0.47,
  "interest_coverage": 17.8,
  "current_ratio": 1.42,
  "competitive_share_trajectory": "stable",
  "competitive_threat_level": "moderate",
  "competitive_note": "Gaining in copper via the Oyu Tolgoi ramp while Antofagasta cut 2026 guidance (13 Aug); losing price, not share, in iron ore. The distinctive vector is self-inflicted: Simandou, which Rio operates and part-owns, is one of the largest new sources of seaborne supply in a generation entering a contracting Chinese steel market. Pricing Power trimmed to 32 for that reason. Against its closest peer Rio is the laggard: BHP -2.4% vs RIO -10.8% over three months, +21.6% vs +2.7% over six, on total-return series.",
  "economic_alignment_stance": "Trend-Following",
  "economic_alignment_conviction": 72,
  "economic_alignment_pressure": "Tailwind",
  "economic_alignment_source": "sector-map",
  "economic_alignment_short": "Tailwind",
  "economic_alignment_medium": "Tailwind",
  "economic_alignment_long": "Tailwind",
  "economic_alignment_amplified": false,
  "economic_alignment_note": "MacroDriver-state-20260812: XLB O/SO/SO (the strongest sector row) and the Copper / Industrial Metals asset line O/O/SO, upgraded from N/N/O on 30 July - a direct improvement for 36% of Rio's earnings, and the reason conviction rose 68 -> 72. RIO is not in the Economic Watchlist Forecast, so the GICS sector map was used. Pressure is Tailwind on all three horizons and it amplified NOTHING: amplification also requires a warranted ratio below 1.20x, and 1.307x fails it on every horizon.",
  "macro_report_date": "2026-08-12",
  "driver_commodity_trend": "RECOMPUTED FROM COMPONENTS THIS RUN, not carried forward. Weights are the H1-2026 segment EBITDA shares (iron ore 43%, copper 36%, aluminium & lithium 21%), not a narrative judgement. Raw settled closes at 2026-08-14, auto_adjust=False. IRON ORE TIO=F 95.17/t: BELOW its 50-DMA (98.66) AND its 200-DMA (103.94), 50-DMA FALLING, 4/6/8wk -3.75/-3.13/-6.03% - fails every trend test; the Step-2b short cap FIRES. Level is fine (~4x Pilbara unit cash cost); direction and forward are not - bank consensus $94-96/t for 2026 (spot is AT consensus, not below it) falling to $85-90 for 2027, on contracting Chinese steel output plus Simandou ramping toward a ~120Mtpa project peak (Rio operates the 60Mtpa Simfer half, 27Mtpa Rio share). COPPER HG=F 6.60/lb: ABOVE both averages, 50-DMA RISING, 4/6/8wk +6.10/+7.93/+1.82% - the cleanest uptrend in the complex; Oyu Tolgoi to ~500kt/yr over 2028-2036. ALUMINIUM ALI=F 3,355.50/t: BELOW a FALLING 50-DMA (3,554.55), above the 200-DMA (3,276.47), 4/6/8wk -4.92/-1.76/-9.77% - NEWLY on the deteriorating side and a change from the last report, which called this sleeve firm; caveat that COMEX aluminium is premium-inclusive and tariff-distorted while Rio realises LME plus premia, so it is a directional proxy only, set against Aluminium & Lithium EBITDA +38% in the half. NET: 63% of H1 earnings sit on commodities below a falling 50-DMA against 36% on a rising one. Per-horizon: short 0.43x45 + 0.36x78 + 0.21x42 = 56 (Neutral, no amplification); medium 0.43x48 + 0.36x82 + 0.21x52 = 61 (below the 65 bar, no amplification - a SECOND and independent reason from the valuation band); long 0.43x49 + 0.36x87 + 0.21x63 = 66 (Tailwind, and it DOES still clear 65). IMPORTANT, AND CORRECTED AFTER AUDIT: the driver is NOT what removed the long horizon's STRONG_BUY, and an earlier draft of this calibration said it was. Two other things did, independently: the base signal is now HOLD on Neutral timing (52) and a HOLD never amplifies in either direction; and even on a BUY base the FULL valuation band (1.307x) would bar amplification. So the long driver clearing its 65 bar is this run a fact with no consequence. Prior: 64 medium, ~70 long - the headline move is small, the change in composition is not.",
  "driver_thesis_invalidation_floor": "Iron ore sustained below US$85/t (the 2027 consensus floor; currently $95.17, 12.0% above) AND copper sustained below its 200-DMA at US$5.87/lb (currently $6.60, 12.4% above). The conjunction flips the weighted driver to a net headwind on every horizon.",
  "overall_confidence": 63,
  "confidence_quality": 78,
  "confidence_valuation": 63,
  "confidence_timing": 65,
  "confidence_driver": 55,
  "confidence_econ": 70,
  "analyst_consensus_target": 105.5,
  "analyst_target_high": 120.0,
  "analyst_target_low": 83.5,
  "analyst_target_median": 113.0,
  "analyst_target_upside_pct": 10.3,
  "analyst_target_crosscheck": "Yahoo panel (n=8): mean $105.85, median $107.50, high $125.00, low $88.00. Not degenerate; both endpoints pulled and both agree.",
  "analyst_grades_consensus": "Hold",
  "analyst_bullish_pct": 39,
  "analyst_coverage_count": 31,
  "recent_upgrades_30d": 0,
  "recent_downgrades_30d": 0,
  "fmp_rating": "A-",
  "fmp_overall_score": 4,
  "relative_strength_vs_spy": -14.81,
  "relative_strength_vs_sector": -12.84,
  "relative_strength_note": "3-month total return (auto_adjust=True, the correct basis for a performance comparison; the moving-average tests elsewhere use RAW price): RIO -10.78%, SPY +4.03%, XLB +2.06%, BHP -2.42%, VALE -15.45%. So -14.81pp vs SPY and -12.84pp vs XLB over three months. Over one month RIO LEADS both: +7.84% vs +3.41% and +3.24%. A month of leadership inside a quarter of lagging - sub-score 50.",
  "fair_value_est": 73.23,
  "fair_value_note": "This is the NAV, discounted at the framework's 9.13% required return over a 20-year mine life, and it is 23.5% BELOW the current price. That is not a contradiction with a $105.50 analyst consensus - the two answer different questions. The Street discounts at a lower rate on a spot commodity deck; this framework discounts a flat consensus deck at risk-free + 4.5% ERP over a finite mine life. Both numbers are in the report. The consequence inside the framework is mechanical: the Fundamental entry group requires price below fair value, so it does not fire, and the conviction ladder reads Wait. Struck on 1.640167bn diluted shares; see nav_shares_basis.",
  "stop_loss": 89.5,
  "stop_loss_note": "Raised from $88.00 in the 31 July report because the 200-DMA has risen from $89.30 to $90.90. The stop tracks the structure, not the price.",
  "target_price": 103,
  "scenario_base_target": 103,
  "scenario_bull_target": 125,
  "scenario_bear_target": 76,
  "scenario_probabilities": {
    "bull": 25,
    "base": 50,
    "bear": 25
  },
  "scenario_weighted_target": 101.75,
  "scenario_note": "Bear weight raised from 20% to 25% versus the 31 July report, on the quantified iron-ore downtrend plus a newly deteriorating aluminium sleeve. PROVENANCE: the 20% comes from the 31 July REPORT's section-11 bear card ('Bear $82 (20%)'), not from that run's calibration JSON, which carries the three targets but no scenario_probabilities field. Flagged by round-2 audit as otherwise unverifiable from the named artefact.",
  "hard_gate_state": "caution",
  "gates_triggered": [],
  "gates_caution": [
    "Commodity tape: 63% of H1-2026 segment EBITDA (iron ore 43% + aluminium 20%) sits on commodities trading below a FALLING 50-DMA; only copper (36%) is a clean uptrend. Caps amplification and argues for smaller size; does not cap the base signal.",
    "Section-8 event blackout: FOMC Minutes 2026-08-19 is high-impact and inside three trading days for a High-macro-sensitivity sector (Materials), which fires the WAIT-FOR-EVENT override on the SHORT horizon regardless of composite score. ~44% market-implied odds of a September hike."
  ],
  "do_not_buy_triggers": [],
  "systemic_tails_ruled": "All four enumerated by name and ruled on individually. (1) S&P concentration / AI earnings-quality unwind - ARMED but trigger receding; RIO does NOT inherit it: no AI leverage, 12.98x trailing, non-operating income 9.2% of net income (6.6% of pre-tax), and 'it is in the index' is explicitly not sufficient for cohort membership. (2) Private credit - BUILDING, not armed, so it fails the inheritance test on the rule alone; also near-irrelevant at 0.47x net debt/EBITDA and 17.8x cover. (3) Hormuz - LIVE, not triggering (Brent $88.52 on the batch settled pull; the 12 Aug macro report carries $88.58 - immaterial to a vs a $100 sustained trigger); carried in the bear case as a cost-input and demand-shock route. (4) September Fed hike - LIVE, ~44% implied, three hawkish July dissents; this is the binding one - it raises the real rate inside the 9.13% discount rate and the dollar with it, and it is the Section-8 override behind signal_short = WAIT.",
  "entry_groups_met": 0,
  "entry_conviction": "Wait",
  "short_entry_confirmed": false,
  "short_hold_reason": "gate",
  "short_hold_reason_underlying": "full_hold",
  "short_cap_reason": "REVISED after independent audit, because the base signal itself changed. (1) THE BASE IS NOW HOLD, NOT A CAPPED BUY. Quality 79 (High) + Valuation 46 (Fair) + Timing 52 (NEUTRAL, 40-54) puts this on the Decision Matrix row AS WRITTEN - 'High (>=65) | Fair (40-64) | Neutral/Weak | HOLD (watch for valuation entry)' (SKILL L1274), on its NEUTRAL leg. The row covers Neutral AND Weak and L1423 requires it be quoted that way. On all three horizons. An earlier draft scored Timing 56 on a catalyst sub-score of 60 that was outside the band the framework's clustering table assigns, which made the base a BUY; corrected to 45 and risk-reward to 35, timing is 52 and the base is HOLD. So the short technical-confirmation cap is now moot - it only caps a BUY - though both the Technical and Catalyst entry groups are in fact UNMET (price 0.7% below a FALLING 50-DMA on 0.86x volume; the 29 July post-results move was +2.20% on 1.57x against a +5%/2x bar). (2) SECTION-8 WAIT-FOR-EVENT OVERRIDE, which is where the published WAIT label comes from - Materials is a High-macro-sensitivity sector and the FOMC Minutes (19 Aug, high-impact, interest_rates) fall two trading days out, overriding the short horizon regardless of composite score. THE HALF-SIZE QUALITY-STARTER OVERRIDE WAS RE-TESTED against the new base and still does NOT apply: it requires signal_medium AND signal_long to both be BUY-or-better, and both are now HOLD. So a full flat HOLD is correct beneath the section-8 WAIT. short_hold_reason stays 'gate' because the published label is the section-8 override; the underlying base reason is 'full_hold'.",
  "exit_groups_live": 0,
  "exit_action": "Hold",
  "next_update_date": "2026-08-20",
  "next_check_date": "2026-08-20",
  "next_update_basis": "FOMC Minutes 2026-08-19 +1 trading day. Materials is a High-macro-sensitivity sector, which is the single case in which a recurring macro release counts as an impactful scheduling event (SKILL L1577); it also resolves the Section-8 override that put the short horizon on WAIT. The default +14d would have been 2026-08-31. The next company catalyst is the Q3 operations review in mid-October; FY-2026 results are 2027-02-24.",
  "data_as_of": {
    "price": "2026-08-14",
    "commodity_trend": "2026-08-14",
    "technicals": "2026-08-14",
    "risk_free": "2026-08-13",
    "macro_report": "2026-08-12",
    "company_results": "2026-07-29",
    "dividend_declaration": "2026-07-29",
    "capex_guidance": "2026-07-29",
    "analyst_targets": "2026-08-17"
  },
  "prior_report": "calibration-RIO-20260731-1200.json",
  "prior_primary": "BUY",
  "delta_vs_prior": "Price $96.84 -> $95.68 (-1.2%) in seventeen days. Signals: short HOLD -> WAIT (section-8 event override ahead of the 19 Aug FOMC Minutes), medium BUY -> HOLD, long STRONG_BUY -> HOLD. Scores: quality 79 -> 79, valuation 63 -> 46, timing 58 -> 52, driver 64 -> 61, econ 68 -> 72. Band fair -> full. entry_groups_met 1 -> 0: the Fundamental group was the single path open on 31 July and it stopped firing when fair value became the $73.23 NAV rather than the P/E-derived figure the prior report carried; Technical and Catalyst were unmet then and are unmet now. Entry conviction Half-Size -> Wait. Hard gate state clear -> caution (two cautions added: the commodity tape and the section-8 blackout). Stop $88.00 -> $89.50 on a risen 200-DMA. Scenarios: bull 122 -> 125, base 107 -> 103, bear 82 -> 76, bear weight 20% -> 25%. PORTFOLIO-WATCHLIST CONSEQUENCE: the short signal is no longer a BUY, so RIO loses grid candidacy this run. THREE DISTINCT CAUSES, which must not be conflated. (1) The VALUATION band moved because the ANCHOR BASIS changed from a guardrail-capped clean P/E to P/NAV (SKILL L570) - a methodology correction on a share price that barely moved. (2) The DRIVER moved because it was recomputed from EBITDA-weighted components on settled commodity closes rather than carried forward. (3) The SIGNALS on medium and long moved because the INDEPENDENT AUDITOR found the catalyst sub-score of 60 was outside the band the framework's clustering table assigns (two high-impact catalysts inside 14 days -> 20-49); corrected to 45, timing fell 58 -> 53, which is Neutral, and High quality + Fair valuation + Neutral timing is HOLD on every horizon. A SECOND independent audit round then took timing 53 -> 52 on the two-sided proximity rule (composite_medium 60 -> 59); the signals were already HOLD and did not move again. Cause 3 is the one that changed the published verdict, and neither timing error was self-caught.",
  "self_audit_layer1": {
    "1_data_provenance": "Every mandatory pull is itemised with its result in section 15 (22 entries). The one FAILED source is WebSearch - session budget exhausted at 200/200 before this ticker ran - and it is recorded as a failure, not silently omitted. Fallbacks actually used: WebFetch against riotinto.com (H1 release and key-project-updates, both returned content) and the Tavily news tool. Consequence carried into the scores: the group reserve life could not be sourced, so the NAV mine life is an assumption and Valuation confidence takes a 15-point haircut.",
    "2_live_status": "Corporate status: get_company_profile isActivelyTrading=true, no halt, no M&A, no delisting; news scanned to 17 Aug 2026. Geopolitics: Hormuz treated as LIVE per the macro report of record and Brent quoted at 88.52 against the $100 trigger - NOT described as resolved, holding or normalised anywhere. Dated events re-verified this run: FOMC Minutes 19 Aug 2026 (get_economic_calendar, high impact, interest_rates); next earnings 24 Feb 2027 (get_earnings_calendar). Dividend RAISE verified from get_stock_dividends declaration dates, not from a search summary. Newest company item independently found this run: Tomago power agreement - Reuters wire 12 Aug 2026, Rio ASX release 13 Aug; a timezone artefact, stated as such in section 15.",
    "3_internal_consistency": "Every directional claim reconciled against the pulled numbers. Three arithmetic defects were found and fixed BY THE AUTHOR before the independent audit (a further eight were found BY the auditor - see post_audit_fixes): iron ore's distance above the US$85 invalidation line was stated on a (spot-line)/spot basis (10.7%) while copper's used (spot-line)/line (12.4%) - iron ore is now stated as 12.0% on the same basis as copper, in all four places it appears; the 50-DMA decay rate was $0.13/day against a computed $0.143; and Simandou's 120Mtpa was the whole-project peak being used interchangeably with Rio's operated 60Mtpa Simfer half (27Mtpa Rio share), now distinguished everywhere. The narrative-over-tape guard is honoured explicitly: the iron-ore LEVEL is favourable and the report says so, but the TREND governs the score.",
    "4_completeness": "All 15 numbered sections present with subtitles; builder self-assertion passed (sections=15, body-padding shell, no .container, single GA tag, Rule Forecast + Conviction Ladder + Competitive Environment present). Rendered size comfortably above the 55KB floor - the figure is deliberately not restated, because two earlier drafts quoted a size that drifted stale as the report grew. Thinnest section is 13 (position sizing), which is thin by instruction - no allocation or portfolio role was specified, so sizing is deliberately not computed.",
    "5_carried_forward_diff": "Nothing material was carried forward. Quality is UNCHANGED at 79 and was nonetheless re-derived from six sub-signals on the H1-2026 print rather than copied. The DRIVER was explicitly recomputed from EBITDA-weighted components (the run's instruction) rather than carried; so was the valuation anchor, whose basis was withdrawn and replaced. Economic Alignment was re-read from MacroDriver-state-20260812 and moved 68 -> 72 on a genuine sector-row change. The moat sub-scores were re-derived from the step-7c competitive read, which is why Pricing Power moved 35 -> 32.",
    "6_signal_caps": "RE-TESTED after the post-audit rebuild, because the base signal changed. (a) signal_short is WAIT, a non-BUY, so the short_entry_confirmed=false condition is satisfied trivially; entry_conviction is Wait. The half-size quality-starter override was re-tested against the NEW base and still does not apply, but for a different reason than before: the base IS now a HOLD produced by Neutral timing (52) off the L1274 row and Quality 79 >= 65 and Valuation 46 >= 40 all hold - but the override also requires signal_medium AND signal_long to be BUY-or-better, and both are now HOLD. So a full flat HOLD is correct. (b) warranted_ratio 1.307 is below 1.40, so Gate 3 does not fire; amplification is barred twice over - a HOLD base never amplifies, and the ratio exceeds the 1.20 Full-band threshold. (c) non-operating income is 9.2% of net income (6.6% of pre-tax), under the ~15%-of-net-income line on either basis, so reported and clean multiples are legitimately identical and the report says so rather than manufacturing a difference. (d) short_hold_reason 'gate' is the published label (section-8 override) with short_hold_reason_underlying 'full_hold' recorded alongside, since the enum has no value for a section-8 WAIT sitting on top of a base HOLD.",
    "7_calibration_contract": "scripts/normalize_calibration.py --write then --check both exit 0. scripts/lint_report.py exits 0 across 59 checks. The two surviving warnings are FW-BASIS-MIXED and FW-GUARDRAIL-SKIP, both structural to a P/NAV basis: the linter carries the Materials guardrail as an EV/EBITDA of 8.0 and cannot evaluate P/NAV. NOT treated as a silent pass - the guardrail arm was run BY HAND (P/NAV 1.307 vs the 1.5x line, EV/EBITDA 6.30 vs the 8x line, neither breaching) and the result is recorded in valuation_detail.nav_guardrail_applied_manually and stated in section 4.",
    "8_known_fragilities_disclosed_in_report": "Two, both stated in the report body rather than only here. (i) Timing 52 sits three points below the Improving threshold; at 55 medium and long return to BUY. Of the two sub-scores doing the work, catalysts 45 IS a straight lookup off the clustering table, but risk-reward 35 is NOT: applying the -15 rather than the +15 rests on reading the $96.37 weekly level - which the MTF tool labels SUPPORT - as overhead RESISTANCE now that price has closed below it. That is a judgement, and the single most consequential one in the report; section 7 carries the three-branch sensitivity and threshold_fragility says the same. An earlier draft of THIS field said both were taken from framework tables rather than judgement - the claim round 4 withdrew from section 7 - and round 5 found it still standing here, one field away, in the block a reader is told to trust. (ii) The NAV's 20-year mine life is an assumption; at 15 years the name is Expensive and would be gated to HOLD on valuation alone, at 30 years or on the framework's literal perpetuity it is Fair. Both are disclosed with their consequences rather than buried in a rounded number.",
    "9_process_hazard": "The shared scratchpad is written by concurrent batch agents. An intermediate chart file written by this run was OVERWRITTEN by another ticker's series between write and read, and the first render carried a 125-point series ending at 117.76 against a stamped price of 95.68. Caught by lint_report STALE-CHART, not by eye. Fixed by inlining a ticker-scoped series with a hard assertion on length and final value."
  },
  "post_audit_fixes_round2": "SECOND independent auditor - a FRESH general-purpose agent, not the round-1 one and never a fork - returned FAIL with 5 MAJOR and 11 MINOR. It independently reproduced the entire chain (timing arithmetic, all five annuity factors, NAV $73.23, ratio 1.307, band-to-score mapping, composites, the L1274 matrix row, the L1894 section-8 override, the quality-starter exclusion, every scenario percentage, the whole dividend chain including the FMP $3.583 trap, the segment weights and the iron-ore tape) and confirmed NO defect flips a signal: Short WAIT / Medium HOLD / Long HOLD is the correct framework output on these inputs. All 16 applied - but see post_audit_fixes_round3: TWO of them were silently lost by a patch helper and had to be re-applied. [MAJOR] Section 13 still carried the WITHDRAWN catalyst score of 60 and told the reader 'no additional size reduction applies' - inverting a framework requirement in the one section whose job is sizing. The 20-49 band mandates a 30-50% reduction. The most consequential defect of the round because it was user-facing and actionable. [MAJOR] The proximity rule is TWO-SIDED (+15 within 3% of support, -15 within 3% of resistance) and the report took NEITHER. The weekly level $96.37 sits 0.72% above the price; the tool lists it as support but price closed below it, so it is overhead resistance and the -15 applies. position_risk 35 -> 20, risk_reward 42 -> 35, timing 53 -> 52, composite_medium 60 -> 59. Still Neutral; no signal moved. [MAJOR] The MTF intraday exclusion was applied asymmetrically - the monthly and weekly frames also carried the 17 Aug print - and was described as 'the framework's stated handling' when that rule is scoped to intraday data being UNAVAILABLE, which it was not. Now DECLARED as the author's judgement, with the retention test for monthly/weekly shown explicitly (classification identical at $95.68 and $97.21) and the immateriality stated (five-frame MTF 58.58 -> 59, timing 50.12 -> 50, same Neutral band, same signals). [MAJOR] The perpetuity disclosure row was labelled 'the framework's literal two-stage formula at g=0' - but g_term=0 is ALSO the author's choice; the framework's stated reference is 3%. At g_term=3% the factor is 14.732, NAV $119.28, ratio 0.802 = Attractive/Fair edge, TWO bands from Full. Both rows now shown, and the report no longer over-concedes either: L490 directs P/NAV over a mine plan, so the finite life is framework-directed; only the 20-year number and g_term=0 are mine. [MAJOR] Section 15 said the intraday MTF scores were 'kept in the arithmetic' while sections 7, 9 and the calibration said excluded. Corrected. [MINOR x11] Tomago PPA COMMENCES 1 Jan 2029 (31 Dec 2028 is the OLD contract's expiry - an error introduced BY the round-1 fix); Tomago source attribution inverted (Reuters 12 Aug, Rio's page 13 Aug); section-4 risk-free sensitivity was wrong in BOTH value and SIGN (a higher risk-free RAISES P/NAV: 1.311 / 1.313, not 1.302) and contradicted section 15; section 15 contradicted itself on whether the sector-median lens was estimated or unscored; section 3 still carried FCF/EV 4.3%; implied mid-cycle earnings appeared as 17.2 / 17.21 / 17.35 and is now 17.35 throughout; the trailing EV/EBITDA denominator ($23.35bn = H1-2026 $12.75bn + H2-2025 $10.60bn) was unstated; the ROE basis was unstated (19.3% Yahoo vs 18.4% on FMP period-end equity - both now named); the 12->13 Aug fall is -2.98%, not 3.1%; Brent $88.52 is the batch pull, not the macro report's $88.58, and is now attributed correctly; and the bear-weight 20% -> 25% delta is sourced from the 31 July REPORT's section-11 card, since that run's calibration carries no scenario_probabilities field. LESSON RECORDED: round 1's own Tomago fix introduced two fresh errors that round 2 caught. A fix round is unverified work, and the sections furthest from the edit site (13 and 15) are where the stale text survived.",
  "post_audit_fixes_round3": "THIRD independent auditor (fresh general-purpose agent, never a fork) returned FAIL with 6 MAJOR and 2 MINOR. Its most important finding was a PROCESS failure, not an analytical one: TWO fixes that post_audit_fixes_round2 claimed as applied had never reached the artifact. Cause: the patch helper asserted on each target and raised on a miss, and because the file write came AFTER the loop, one bad assertion DISCARDED EVERY PATCH IN THAT BATCH. Silently lost: (a) the section-13 sizing fix, so the report still carried the WITHDRAWN catalyst score of 60 and told the reader 'no additional size reduction applies' - inverting a framework requirement in the one section whose job is sizing; and (b) the section-4 perpetuity g_term=3% row, which existed only INSIDE post_audit_fixes_round2 - a claim about a fix rather than the fix. The helper was rewritten to apply each patch independently and report LANDED/MISSED per patch. Other round-3 MAJORs: section 7 still called the MTF intraday exclusion 'the framework's stated handling' while sections 9 and 15 called it the author's judgement; the Tomago PPA still read 'beginning 31 December 2028' (that is the OLD contract's expiry - it commences 1 Jan 2029); stale '53' and 'two points' at four sites across both surfaces, including inside driver_commodity_trend, the very field corrected for its causal claim; a third unlabelled EBITDA basis in section 4; and the PEG and own-history-decile lenses absent from the body although the sector-median renormalisation had INCREASED their weight, with the PEG-flatters caveat living only in the calibration. All applied and verified on BOTH surfaces.",
  "post_audit_fixes_round4": "FOURTH independent auditor returned FAIL with 6 MAJOR and 4 MINOR; again NO defect flipped a signal, and it independently reproduced the composite chain, every annuity factor, the timing sub-scores against their framework tables, the live price tape and the two deterministic gates. It also verified that the section-14 embedded JSON is key-for-key identical to the calibration file, which removes a whole class of two-surface drift. Applied: (1) the five-frame immateriality figure of 'timing 52.25' was computed on the WITHDRAWN risk-reward of 42; round 5 then found the replacement ALSO wrong, because the five-frame MTF of 61 carried the WITHDRAWN daily score of 50 - correct is MTF 58.58 -> 59 and timing 50.12 -> 50, fixed at four sites; (2) the withdrawn risk-reward 42 was still live in self_audit_layer1's own fragility disclosure; (3) the section-15 Tomago source attribution was inverted (Reuters is the 12 Aug wire, Rio's own release is 13 Aug) - a REGRESSION, lost in the same discarded batch as the round-3 pair; (4) the audit trail was two rounds behind the artifact, with no round-3 record and threshold_fragility still reading 'TWO audit rounds'; (5) section 7 claimed 'Neither is a number I chose' about risk-reward while, two paragraphs above, reclassifying a level the tool labels weekly SUPPORT as overhead RESISTANCE - which is precisely a judgement, and the single most consequential one in the report. That claim is withdrawn and a three-branch sensitivity table now shows where each reading lands: -15 as published -> timing 52 -> HOLD; no adjustment -> 53 -> HOLD; +15 on the tool's own label -> 54.75 -> 55, which REACHES the Improving row and would put medium and long back to BUY. That branch turns on a rounding convention at the exact threshold and on a 50/50 position-risk/relative-strength blend the framework never specifies, so it is not adopted - but it is now disclosed rather than left for a reader to reverse-engineer. MINORs: the catalyst sentence ('four high-impact print days inside ten') is reconciled to the band it applies by noting only two are stock-relevant, with the stricter 0-19 reading shown to be immaterial (timing ~48, still Neutral); a stale 151KB size claim; 'these four weights' under a three-row table; and an unsourced Michigan prior of 55.2, now cited to the get_economic_calendar 'previous' field. NOT FIXED - OUT OF BOUNDS: the auditor's MAJOR on the stale members/watchlist.html row (it still shows Q78 V60 T48 D66 E66, HOLD/BUY/STRONG BUY, Half-Size, linking to the 16 July file). This run is explicitly barred from touching watchlist.html, index.html and the grid; the row was ALREADY stale before this run (it pointed at the 16 July report while the 31 July one existed). It is escalated to the orchestrator rather than edited, and it matters: as it stands the live watchlist advertises STRONG BUY on the long horizon against a report that says HOLD.",
  "post_audit_fixes_round5": "FIFTH round returned FAIL with 3 MAJOR and 3 MINOR, no BLOCKER, nothing touching a signal, gate, DNB or any number a reader acts on. Its diagnosis is the sharpest of the batch and names a blind spot in MY OWN sweeping method: round 4 edited the self-audit's fragility sentence FOR THE NUMBER (risk-reward 42 -> 35) and left the withdrawn CLAIM standing beside it. Every surviving defect was a claim about BASIS or PROVENANCE, never a value - so a value-keyed sweep was structurally blind to all three. The fix to the method: sweep for CLAIMS (is this still true?) as a separate axis from values, and diff sibling fields that must agree. [MAJOR] self_audit_layer1.8 re-asserted 'both taken from framework tables rather than judgement' - the exact claim round 4 withdrew from section 7 - while timing_detail.threshold_fragility one field away said risk-reward 35 does NOT reduce to a lookup. Two fields of one file contradicting each other, in the block a reader is told to trust. Fifth consecutive round with a one-surface miss. [MAJOR] The five-frame immateriality MTF of 61 is NOT REACHABLE from this report's own disclosed sub-scores; it silently carried the WITHDRAWN daily score of 50 (24+17.5+12.5+1.68+5.52=61.20) instead of the 44 in use. Recomputed on the real inputs - monthly 80 / weekly 70 / daily 44 / hourly 12 / 15-min 58 at 30/25/25/12/8 - five-frame MTF = 58.58 -> 59 and timing = 50.12 -> 50. Still Neutral, same matrix row, NO signal move. But this is the load-bearing number defending a DECLARED framework deviation whose whole justification is 'it raises the score, so the test must be immaterial'. As published it UNDERSTATED the deviation: 5 MTF points and 2 timing points, not 3 and 1. Restated honestly at three sites. [MAJOR] Section 7's catalyst cell named 'Personal Income, Personal Spending and Durable Goods on 26 August' as the non-relevant events - none appears in section 8 or anywhere in the report - and the count failed on its face (2 relevant + 3 non-relevant = 5, not 4). A round-4 MINOR was spliced in WITHOUT reading its neighbours. Now names section 8's actual four inside ten days: Building Permits and Housing Starts (18 Aug), FOMC Minutes (19), CB Consumer Confidence (25), Core PCE (26), of which the Minutes and Core PCE are the stock-relevant pair. Sub-score 45 unaffected. [MINOR x3] The three-branch table's row 2 showed 53.15 where risk-reward 42.5 gives 53.25 - 53.15 is 42.0 x 0.20, the withdrawn 42 a third time. The self-audit's claims about ITSELF had drifted three ways: '58 checks' when lint prints 59, '~190KB' when the file is 202KB (itself round 4's fix for a stale 151KB, drifted again - so the size figure is now removed rather than restated), and '23 entries' in section 15 where there are 22 (23 counted a CSS rule). And nonop_pct_of_net_income stored 7, a PRE-TAX percentage under a key that declares net income; corrected to 9 (9.2%) with both bases now given in section 2. WHAT ROUND 5 VERIFIED AND DID NOT FAULT: it re-derived Timing 52 from scratch against every framework band; it tested the three-branch table and confirmed the +15 branch reaches 54.75 -> 55 -> Improving -> BUY on medium and long; and it confirmed AGAINST THE LIVE TOOL that the weekly support_levels genuinely contain 96.37 with no weekly/monthly resistance within 3%. So the strictly-mechanical reading gives BUY, and the published HOLD rests on an analyst override of the tool's label - which round 5 judged FULLY DISCLOSED, defensible on the framework's own rationale, and NOT a defect. It also confirmed the driver is genuinely re-derived from H1-2026 segment EBITDA, reproduced the tape to the basis point, and reproduced NAV $73.23, P/NAV 1.307, all five annuity factors, the g_term=3% counterfactual at 0.802, composites 56/59/65, section 11, the dividend chain (+42.6%, a genuine raise) and the Yahoo target panel exactly.",
  "post_audit_fixes_round6": "SIXTH round returned FAIL with 1 MAJOR and 2 MINOR - all three ONE residual, and all three in the AUDIT-TRAIL fields rather than the analysis. It confirmed all six round-5 fixes landed on both surfaces, re-derived the corrected five-frame chain (24.00+17.50+11.00+1.44+4.64 = 58.58 -> 59, timing 50.124 -> 50) and confirmed the intraday band choices sit INSIDE their cited bands (hourly 12 in 0-14, 15-min 58 in 55-69). [MAJOR] timing_detail.threshold_fragility still read 'FOUR audit rounds' and its enumeration stopped at round 4 - the THIRD time this same field has been graded for being one round behind (round 4 caught it at 'TWO'). Round 5 moved this pillar under the same convention that admits rounds 3 and 4: it corrected a published timing figure 51 -> 50 at three sites and the branch table 53.15 -> 53.25. Corrected to FIVE with round 5 appended, on both surfaces. [MINOR] audit_route_note recorded rounds 1 and 2 only; rounds 3, 4, 5 and 6 now carry their route and the reason, per report-audit.md L49. [MINOR] The round-5 nonop-basis fix reached section 2 and the stored value but not three siblings - the section-4 clean-P/E row, clean_pe_note and self_audit_layer1.6 (c) - each still comparing the PRE-TAX 6.6% against a NET-INCOME 15% line, the exact mismatch section 2 was corrected to remove. Swept 6.6% as a SUBJECT and aligned all three to the both-bases wording. No consequence: 9.2% clears ~15% too. STANDING RULE ADOPTED, and it is the most transferable thing this batch produced: THE AUDIT-TRAIL FIELDS ARE A FIXED SET - post_audit_fixes_*, audit_route_note, threshold_fragility, delta_vs_prior, next_update_basis - THAT MUST BE SWEPT AS A CLASS AT THE CLOSE OF EVERY ROUND, BEFORE THE ROUND IS DECLARED CLOSED, because they are ABOUT the round and are therefore stale BY CONSTRUCTION at the moment it ends. A per-finding sweep can never reach them: the finding that makes them stale IS the round itself. That single fact explains five consecutive rounds of the same shape. The claims axis and sibling-field diff added in round 5 are sound and demonstrably work - they caught this report's own section-7 splice on re-read - but they were being applied to a LIST OF FIELDS rather than to a CLASS OF CLAIMS.",
  "post_audit_fixes_round1": "Independent auditor (fresh general-purpose agent, NOT a fork) returned FAIL with 1 BLOCKER, 3 MAJOR and 4 MINOR. All eight applied, plus two the author found separately. [BLOCKER] Catalyst sub-score was 60 on a 'one clear catalyst in 30 days' reading that contradicted this report's OWN section-8 table (four events flagged relevant) and sat outside the SKILL clustering band for 2-3 catalysts inside 14 days (FOMC Minutes 19 Aug + Core PCE 26 Aug) = 20-49. Corrected to 45. Timing 56 -> 53 = NEUTRAL, which flips the matrix row to HOLD: signal_medium BUY -> HOLD, signal_long BUY -> HOLD, composites 58/61/66 -> 56/60/65. THIS CHANGED THE PUBLISHED VERDICT. [MAJOR] The ex-dividend framing covered the wrong window - it explained the 14 Aug session but silently excluded 12->13 Aug, a -3.0% fall with no dividend in it. The genuine 12-14 Aug decline is -$5.54, of which $2.11 is dividend, leaving -3.4% real. The claim 'the tape did not break down last week' is withdrawn and the daily MTF sub-score re-scored 50 -> 44. Fixed in section 7, the section-10 caption and ex_dividend_note. [MAJOR] The NAV was described as 'struck at the framework's own required return' when the SKILL's literal two-stage formula on the same recorded inputs (r 9.13%, g=0) gives a factor of 10.9529, NAV $88.68 and ratio 1.079 = FAIR. The 20-year truncation is an instantiation choice, now DECLARED as a deviation with the perpetuity result shown as a sensitivity row. [MAJOR] ev_usd_bn was the provider figure $177.628bn, struck at the unsettled 17 Aug price - falsifying this report's own claim that nothing used that price - and not reconcilable to the report's inputs (lease-inclusive debt and/or NCI, the very input section 15 says was refused). Rebuilt as market cap $155.671bn + net debt $14.061bn = $169.732bn; EV/EBITDA 6.60 -> 6.30 (FY26E) and 7.61 -> 7.27 (TTM), FCF yield 4.32% -> 4.52%. Both corrections make the stock look CHEAPER. Also cross-referenced the two EBITDA bases (annualised H1 $29.65bn in Gate 1 vs FY2026E consensus $26.93bn in section 4). [MINOR] Sector-median lens (Reference 1, normally 20% of the pillar) was never scored, not merely 'estimated'; now declared UNSCORED with its weight renormalised across the anchor, decile, PEG and consensus. [MINOR] Tomago was announced 12 Aug 2026, not 13 Aug; the A$1.1bn is Tomago Aluminium's investment, not Rio's; the power agreement begins 31 Dec 2028 with 100% renewable supply only from 2033. All three corrected in sections 3, 7 and 15. [MINOR] Share count: the NAV denominator now uses Rio's own H1-2026 weighted-average DILUTED count of 1.640167bn rather than the 1.627bn implied by a market cap struck at the unsettled price. NAV $73.82 -> $73.23, ratio 1.296 -> 1.307. All three candidate counts land in the FULL band. [MINOR] Risk-reward derivation was not written down; now explicit - the >2.5-ATR stop-distance band applies, and NO proximity bonus applies because no weekly or monthly support sits within 3% (the nearest weekly level, $96.37, is above the price and is resistance). Score 48 -> 42. [AUTHOR-FOUND, same round] The hourly and 15-min MTF frames are timestamped 17 Aug - entirely the unsettled session this report excludes - so they are dropped and the framework's L687 reallocation applied (Monthly 35 / Weekly 30 / Daily 35); five-frame MTF 58.58 -> 64. The rows are left visible but marked excluded, and the report now discloses that on the 17 Aug print the stock is ABOVE its 50-DMA, which would flip the Technical entry group's price leg - a disclosure that cuts against this report's own verdict. [AUTHOR-FOUND, same round] Optionality tilt reduced +4 -> +2: the NAV excludes the growth capex AND the volumes it buys, so crediting the pipeline's upside while that spending never appears as an outflow is the generous side of the ledger.",
  "audit_route_note": "Round 1 used a FRESH general-purpose agent (never a fork), per the standing brief. Round 2 also uses a FRESH agent rather than SendMessage to the same auditor, because the artifact was SUBSTANTIALLY REBUILT rather than patched - two of three horizon signals changed, the timing pillar was re-derived from new sub-scores, the NAV denominator and EV were restruck, and a framework deviation was newly declared. The brief specifies a fresh read in exactly that case: a returning auditor would be re-reading a different document while carrying commitments formed against the old one. ROUND 3: FRESH agent - the artifact had again been substantially rebuilt (timing pillar re-derived, two horizon signals moved to HOLD, NAV denominator and EV restruck, a framework deviation newly declared), which is the L49 case for a first-principles read. ROUND 4: FRESH agent, same reason - seven fixes had landed since, two of them recovering silently-lost patches. ROUND 5: FRESH agent, spawned by the orchestrator. ROUND 6: re-verification by MESSAGE to the round-5 auditor rather than a fresh agent, per report-audit.md L49 - the changes were three text edits with no number a reader acts on, and that auditor already held every derivation, so continuity of findings was worth more than a fresh read. Recorded here because L49 requires the route be stated so the brief and the practice cannot drift apart."
}

Recorded so the next run can compute the deltas mechanically rather than re-arguing them. Against the 31 July calibration: price $96.84 → $95.68 (−1.2%); Quality 79 → 79; Valuation 63 → 46; Timing 58 → 52; Driver 64 → 61; Economic Alignment 68 → 72. Signals: Short HOLD → WAIT, Medium BUY → HOLD, Long STRONG_BUY → HOLD. Entry conviction Half-Size → Wait. Valuation band fair → full, and the basis changed from a guardrail-capped clean P/E to P/NAV — val_multiple_basis records which, because a band change with an unchanged basis and a band change caused by the basis are very different facts and the next run needs to be able to tell them apart. The same discipline applies to the signal change: delta_vs_prior separates the three causes, and says which one actually moved the verdict. It was the timing correction, and it came from the independent audit rather than from me.

15

Data Sources & Methodology

Audit trail of every data source: fully available (✓), fallback (⚠), or failed (✗), plus provenance-based confidence haircuts.
Data Source Status
get_yahoo_quote (RIO) Currency USD, 52-week range $60.37–$112.58, beta 0.66, dividend rate $4.65. The quote's current_price of $97.21, its trailing_pe of 12.96, its market cap of $158.15bn and its enterprise value of $177.63bn are all struck at the unsettled 17 August session and are NOT used. An earlier draft of this report did use that enterprise value — and therefore, indirectly, the 17 August price — for its FCF yield and EV/EBITDA. The independent auditor caught it. EV is now rebuilt from this report's own inputs: 1.627bn shares × $95.68 = $155.671bn market cap, plus Rio's own $14.061bn net debt = $169.732bn, which excludes leases and non-controlling interests and says so.
get_yahoo_prices (RIO, raw) 135 daily bars, 2 Feb – 14 Aug 2026, auto_adjust=False. Last settled close $95.68 on 14 August — the price of record for this report.
get_technical_indicators (RIO) 261 bars. RSI 47.14, MACD 1.286/1.042/+0.244, SMA50 96.36, SMA200 90.90, ATR 2.327, all at 14 Aug.
get_multi_timeframe_analysis (RIO) All five timeframes returned. The hourly and 15-minute frames are EXCLUDED from the MTF arithmetic (not merely discounted): both are timestamped 17 Aug — entirely the unsettled session this report does not price off — and both reported a volume ratio of 0.00. The three-frame weighting Monthly 35 / Weekly 30 / Daily 35 is used instead. The monthly and weekly frames also carried the 17 Aug print of $97.21 as their latest close, so they were retained only after testing that their trend classification is identical at $95.68 and $97.21 — the test is shown in §9. Excluding the intraday frames is my judgement, not a framework instruction, and is declared as such in §9; on the original five-frame weighting MTF is 58.58 -> 59 and timing 50.12 -> 50 (24.00 + 17.50 + 11.00 + 1.44 + 4.64, on monthly 80 / weekly 70 / daily 44 / hourly 12 / 15-min 58 at 30/25/25/12/8) - still Neutral, no signal changes. The exclusion is therefore worth 5 MTF points and 2 timing points, not the 3 and 1 an earlier draft implied; that draft printed 61, which silently carried the WITHDRAWN daily score of 50.
get_income_statement (RIO, 8 periods) Rio reports half-yearly, so "Q2" is the six months to 30 June. H1 2026: revenue $31,028m, operating income $8,699m, pre-tax $9,311m, net income $6,663m, diluted EPS $4.06, D&A $4,052m, diluted shares 1,640m. Trailing twelve months = H1 2026 + H2 2025 → diluted EPS $7.37.
get_financial_ratios (RIO) ROE 19.3%, net margin 19.6%, operating margin 27.3%, current ratio 1.42, interest cover 17.8×, EV/EBITDA 7.08×, attributable equity $40.47/share. FMP totalDebt was deliberately NOT used — it is lease-inclusive; net debt comes from Rio's own release.
get_analyst_estimates (RIO, annual) The NAV base. Attributable net income consensus: FY2026 $13.71bn, FY2027 $13.85bn, FY2028 $13.92bn, FY2029 $13.60bn, FY2030 $11.32bn — five-year mean $13.279bn. EPS path $8.34 → $8.30 → $8.13 → $8.30 → $6.91.
get_price_target_consensus / get_yahoo_analyst_targets FMP: high $120.00, low $83.50, consensus $105.50, median $113.00. Yahoo cross-check: mean $105.85, median $107.50, high $125.00, low $88.00, n=8. Not degenerate, so no fallback was needed — but both were pulled and both agree.
get_grades_consensus / get_stock_grades 12 Buy / 13 Hold / 6 Sell / 0 Strong Buy = 38.7% bullish, "Hold" consensus. Zero grade actions in the last 30 days; most recent were JP Morgan → Neutral (9 Mar) and Barclays → Equal Weight (24 Feb).
get_ratings_snapshot (RIO) A− (4/5). DCF 5, ROE 5, ROA 5, debt/equity 2, P/E 2, P/B 2.
get_stock_dividends (RIO) A trap caught here. FMP's dividendPerShareTTM of $3.583 does NOT reconcile — it sums the 2025 and 2026 interims and omits the $2.54 FY2025 final. Rio pays semi-annually, so the trailing TWO payments are the trailing twelve months: $2.54 (declared 19 Feb 2026) + $2.11 (declared 29 Jul 2026, ex 14 Aug) = $4.65, a 4.86% yield. The interim was a genuine raise, +42.6% on the $1.48 paid a year earlier, not a re-declaration.
get_earnings_calendar (RIO) Next earnings 24 February 2027 (FY-2026 results), consensus EPS $3.91. Six months out — no earnings gate, and no company catalyst inside any plausible next-update window.
get_economic_calendar (US, high impact) FOMC Minutes 19 Aug 2026 confirmed high-impact, category interest_rates. Also confirmed: retail sales −0.6% vs +0.1% and Michigan 51.0 vs 54.5, both 14 August.
get_economic_series (DGS10) 4.63% on 13 Aug (the batch's stated risk-free input, used), 4.68% on 14 Aug, 4.70% in the 12 Aug macro report. All three run as a sensitivity in §4; the P/NAV ratio moves 1.307 → 1.313 across the range, which is immaterial.
Commodity futures — TIO=F, HG=F (central batch pull, independently verified) I reproduced the central pull myself before using it, raw closes with auto_adjust=False to the last settled bar of 14 Aug: iron ore 95.17 / 50-DMA 98.66 / 200-DMA 103.94 / 4-6-8wk −3.75, −3.13, −6.03; copper 6.60 / 6.35 / 5.87 / +6.10, +7.93, +1.82. Both matched the central series to the cent.
Commodity futures — ALI=F (own pull, NOT from the central series) 3,355.50 / 50-DMA 3,554.55 / 200-DMA 3,276.47 / 4-6-8wk −4.92, −1.76, −9.77 at 14 Aug. Flagged partial for two reasons: it is not in the batch's settled central pull, and COMEX aluminium is premium-inclusive and distorted by US Section 232 tariffs while Rio realises LME plus premia. Used as a directional proxy only. The 17 Aug bar returned close: null — the in-progress-bar trap — and was discarded.
MacroDriver-state-20260812.json XLB O/SO/SO; Copper & Industrial Metals O/O/SO; regime energy-shock stagflation; China Economic Health dominance 3 of 5. RIO is not in the Economic Watchlist Forecast, so the sector map was used.
Rio Tinto H1 2026 results release, 29 July 2026 (primary source) Fetched from riotinto.com this run. Underlying EBITDA $14,826m (+28%), FCF $3,834m (+75%), net debt $14,061m (−2%), underlying ROCE 17%, capital investment $5,037m, interim dividend 211.0 US cents (+43%), CuEq production +3%, "Copper, Aluminium and Lithium contributing more than 50 per cent of underlying EBITDA".
H1 2026 segment EBITDA + capex guidance (results announcement and earnings call) Copper $5.7bn (+84%), Iron Ore $6.8bn (−1%), Aluminium & Lithium $3.3bn (+38%), segments total $15.8bn. Mix: iron ore 43%, copper 36%, aluminium 20%, lithium 1%. CFO on the call: capex "up to $11 billion in 2026 and 2027, before a reduction from 2028 to $10 billion in real 2025 terms. Sustaining capital is stable at around $4 billion a year." Fitch (A/Stable, 15 May 2026) puts growth capex at $2–3bn a year across 2026–2028.
Rio Tinto key project updates (riotinto.com, fetched this run) Sourced asset lives: Oyu Tolgoi ~500kt/yr average 2028–2036; Rincon 60ktpa with a stated 40-year mine life, first production 2028; Simandou 60Mtpa (27Mtpa Rio share), first shipment December 2025; Kennecott open pit 2026–2032 and North Rim Skarn to 2033; Brockman 34Mtpa and Hope Downs 2 31Mtpa both first production 2027. Flagged partial: I could NOT source a group weighted reserve life. The 20-year figure in the §4 NAV is my assumption, anchored on these asset lives, and the Valuation confidence carries a 15-point haircut for it.
WebSearch Session budget exhausted (200/200) before this ticker ran. This is the material data gap in the report. It is why the group reserve life is assumed rather than sourced, and why the sector-median lens could not be scored at all — see the impact note below, where it is dropped and its weight renormalised rather than estimated. Partially mitigated by WebFetch against riotinto.com and by the Tavily news tool, both of which worked.
search_financial_news / get_stock_news / get_polygon_news Iron-ore consensus US$94–96/t for 2026 falling to US$85–90 for 2027 (investment-bank consensus, Bloomberg survey median $100 Q1-2026 → $90 Q2-2027); Chinese imports 736.84Mt over seven months, +5.9%, with a July pullback on weaker steel margins; Simandou ramping toward a ~120Mtpa project peak (Rio operates the 60Mtpa Simfer half; 27Mtpa Rio share) into a structurally declining Chinese steel sector. Company items since the last report: Tomago smelter power agreement — the Reuters wire is dated 12 August 2026 and Rio Tinto's own release 13 August (a timezone artefact, AEST against ET; an earlier draft had this attribution backwards) — Tomago Aluminium commits A$1.1bn through 2038, including A$100m for decarbonisation, under a 10-year power agreement commencing 1 January 2029 — 31 December 2028 is the OLD contract's expiry, not the PPA's start — with 100% renewable supply from 2033. The A$1.1bn is Tomago's, not Rio's. Antofagasta cut 2026 copper production guidance on 13 August. No M&A, no halt, no delisting; isActivelyTrading true.
Impact on scores:

Overall confidence 63% = the minimum of Quality 78, Valuation 63 and Timing 65, per the framework's weakest-link rule. The Driver pillar's own confidence is 55 and does not enter the minimum.

Valuation carries the binding haircut, and it is honest rather than decorative. Base 80, plus 5 for hard analyst targets, plus 5 for the grades distribution, plus 3 for the ratings snapshot = 93. Then minus 15 because the NAV's weighted mine life could not be sourced — WebSearch was exhausted and Rio's group reserve life is not on the pages I could fetch — and minus 15 for the sector-median lens. That gives 63. On the second of those, the independent auditor made a fair correction to how I described it: Reference 1 (Sector/Industry Median) is normally 20% of this pillar, and I did not estimate it — I did not score it at all, because no sourced peer-multiple table was obtainable. Rather than invent one and present it as data, the lens is dropped and its 20% renormalised across the anchor (40→50%), the own-history decile, PEG and the analyst-consensus cross-check. That is now stated in the §4 table as well, so the missing lens is visible rather than silently absorbed.

The sensitivity table in §4 is the other half of the disclosure: at a 15-year life the name is Expensive and would be gated to HOLD on valuation alone; at 30 years or on the framework's literal perpetuity it is Fair. Twenty years is my assumption, the sourced asset lives support 20–25, and both of those read Full.

Timing 65: base 75, minus 10 for a high-impact macro release inside seven days in a High-sensitivity sector. No earnings penalty — results are six months away. The pillar SCORE (52, not the confidence) was corrected downward after the independent audit found the catalyst sub-score outside its framework band; that correction moved medium and long from BUY to HOLD and is documented in §7 and in post_audit_fixes.

Quality 78: base 80, minus 2 because peer-median comparisons were assembled from the peer prices and filings I could reach rather than a sourced sector table.

Driver 55: base 70, minus 15 for inherent commodity volatility. Within it, the iron-ore and copper reads are the strongest evidence in this report — settled futures closes, independently reproduced — and the aluminium read is the weakest, resting on a tariff-distorted US benchmark. That asymmetry is stated in §5 rather than hidden in an average.

DISCLAIMER: This is a quantitative framework for educational purposes only. It is not financial advice. Always do your own research and consult a licensed financial advisor before making investment decisions.