Skip to content

M0 correction 3: economic coherence — High A (forecast) FIXED, High B (dominator) NOT resolved (Fail/Rewrite) — do not merge - #5

Open
HSpector1 wants to merge 3 commits into
fix/m0-price-forecast-integrityfrom
fix/m0-economic-coherence
Open

M0 correction 3: economic coherence — High A (forecast) FIXED, High B (dominator) NOT resolved (Fail/Rewrite) — do not merge#5
HSpector1 wants to merge 3 commits into
fix/m0-price-forecast-integrityfrom
fix/m0-economic-coherence

Conversation

@HSpector1

Copy link
Copy Markdown
Owner

Third bounded M0 correction (PR #4, on top of PR #3). Do not merge. Honest outcome up front.

Result

  • High A (forecast pricing direction) — FIXED. New per-cover affordability primitive + a forecast order model that reuses the sim's own primitives (Wtp/ResistBp/CoherenceWeightBp/AffordBp). Audited value-lunch 1.0×→1.5× now agrees (forecast down, sim down); seats 46→66 still down; ≥85% price-direction matrix. Checksum-free.
  • High B (cross-market dominator) — NOT RESOLVED. The dead per-cover budget primitive is now wired in (PriceModel.AffordBp, smooth, name-agnostic, no cap/cliff), which defeats premium-only dominators and makes value diners genuinely budget-bound. But a strengthened search (multi-start hill-climb, per-dish prices, review-champion seeded) surfaced a residual mixed "value-chassis + premium-anchor" dominator: a cheap Burger feeds the value majority while premium Ribeye/Scallops skim the high-budget minority present in every market. On held-out seeds it is within ~1–2% of the best per-regime plan in all three markets (lunch ~$2178 where pure-value gets ~$735; social ~$4879; enthusiast ~$4793).

Why High B can't be closed in M0

The premium skim of the always-present high-budget minority is additive profit in every market. Affordability kills premium-only menus but not a mixed menu whose cheap chassis serves value diners. Market composition (tested to 80% value) doesn't close it; lowering premium margins/prices destroys premium play; a value-market penalty is a forbidden hack. This is the single-service / fixed menu-independent arrival mix / no-repeat-visit boundary — an M1 redesign (menu/positioning-dependent arrival mix and/or repeat-visit reputation).

Gate recommendation (per §18)

Verdict: Fail
Action:  Rewrite

Keep the affordability + forecast corrections (correct; resolve High A). But strategy integrity cannot be honestly established in M0 scope. Full detail + required reviewer recheck: reports/m0/M0-CORRECTION-3-REPORT.md. The residual is locked honestly as a regression fixture (EconomicCoherenceTests.KNOWN_RESIDUAL_a_mixed_generalist_still_dominates_every_market) and the harness now reports "DOMINATOR FOUND."

Verification

125 tests pass (Core 54, Determinism 31, Scenario 40), determinism byte-identical, accounting reconciles, scope clean, Debug=Release. Labor investigated → no change. Goldens deliberately re-baselined (D-027). Docs corrected: D-028 supersedes the over-optimistic D-025.

No PR merged. Human gate not run. M1 not begun.

🤖 Generated with Claude Code

claude added 3 commits July 29, 2026 09:54
…coherence)

Root cause of both PR#3 review Highs: the per-cover budget (Party.BudgetPerCover)
was computed but never read, so the sim had no affordability ceiling and a premium
menu skimmed the high-budget minority in every market (95% of its value-lunch win),
while the forecast assumed 100% of arriving covers order the full inflated check.

Sim: new PriceModel.AffordBp (smooth, segment-scaled affordability vs remaining
per-cover budget); OrderDishes tracks each cover's remaining budget across courses
and PickBest folds affordability into the order weight. Value diners can no longer
buy a premium meal; enthusiasts still can. This re-separates the regimes (value wins
the value lunch, premium wins enthusiast) with no name/recipe branch, no hard cap,
no cliff. MinOrderUtility promoted to Tuning (now shared with the forecast).

Forecast (checksum-free): a segment-mix-weighted order model reusing the SAME
primitives PickBest uses (Wtp/ResistBp/CoherenceWeightBp/AffordBp) — realized check
is utility-weighted (raising prices shifts orders to cheaper dishes) and an
affordability-driven order yield drops only when the best main is unaffordable. Fixes
the value-lunch pricing-direction reversal; realization floor raised to de-bias the
completed-cover under-count the reviewer flagged.

Goldens deliberately re-baselined (intentional sim behavior change). Named winners:
Focused Value wins the value lunch; Premium Craft wins social + enthusiast (2/3
distinct; premium loses the value lunch). Regression + balance tests made property-
based, not name-hardcoded. 117 tests pass. See reports/m0/LOCKED-CORRECTION-PLAN.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…mes, no generalist, forecast price direction, overstaffing)

8 property tests tie directly to the PR#3 review Highs: per-cover affordability
behavior, the review's premium 'champion' no longer winning the value lunch,
value/enthusiast rewarding opposite regimes, no fixed plan near-optimal in every
market, the audited forecast lunch price direction, an >=85% forecast/sim
price-direction matrix, and an overstaffing penalty. 125 tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… coherence tests; HONEST High B finding

Forecast: segment-mix order model (Wtp/ResistBp/CoherenceWeightBp/AffordBp) fixes
the value-lunch pricing-direction reversal (High A) — audited 1.0x->1.5x now agrees,
seats 46->66 still down, >=85% price-direction matrix. Checksum-free.

Harness: dominance search strengthened to a multi-start hill-climb over per-dish
prices/seats/staff, seeded with the review champion, reporting %-regret. This
stronger search SURFACED a residual cross-market dominator that the PR#3-era search
missed: a mixed "value-chassis + premium-anchor" plan (cheap Burger for the value
majority + premium Ribeye/Scallops skimming the always-present high-budget minority)
is within ~1-2% of the best per-regime plan in ALL three markets on held-out seeds.

Affordability defeats premium-ONLY dominators but not this mixed one; market
composition (tested to 80% value) does not close it either. High B is structurally
un-closable in single-service M0 (fixed menu-independent arrival mix, no repeat-visit
teeth) — an M1 redesign. Locked honestly as
EconomicCoherenceTests.KNOWN_RESIDUAL_a_mixed_generalist_still_dominates_every_market.

Docs corrected: DECISION-LOG D-028 supersedes the over-optimistic D-025 "no dominator"
result; CURRENT-STATE flags it; M0-CORRECTION-3-REPORT recommends Verdict: Fail /
Action: Rewrite on strategy integrity (keep the affordability + forecast fixes; the
strategy-integrity question needs M1). 125 tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@HSpector1

Copy link
Copy Markdown
Owner Author

Independent Adjudication — M0 Fail / Rewrite Boundary (PR #5)

A. Review identity

B. Executive decision

Technical-correction verdict: Corrected (affordability + forecast fixes are sound; keep them)
Product-hypothesis verdict:   Fail (the locked M0 strategy-integrity question is not met)
Verdict: Fail
Action:  Rewrite   (a HEADLESS M0 demand-model experiment — NOT M1)
Human tests: Not authorized
M1:          Not authorized

The builder's Fail/Rewrite is upheld. Two of the builder's supporting claims are corrected, and the prescribed rewrite is narrowed: it does not require M1 (reputation/repeat-visits).

C. Claims table

Claim Status Note
Affordability correction (AffordBp) Confirmed smooth, segment-sensitive, no cap, no name branch; value diner keeps ~9% at $85 on a $22 budget; premium-only/old-hybrid dominator defeated (loses lunch)
Forecast pricing-direction fix (High A) Confirmed value-lunch 1.0×→1.5× down in both forecast and sim; reuses the sim's own primitives; name-agnostic
Seat-forecast (H3) preserved Confirmed 46→66 still predicted down
Residual mixed dominator exists Confirmed (Blocker) reproduced on multiple disjoint held-out seed sets; robust; 0% loss-prob in every market
"Worst-market regret ~1–2%" Refuted true regret ~12–14% vs a properly-searched frontier; still within the 15% dominator bar and wins the value lunch outright
"Premium anchor has NO present-service cost" Refined real cost (crowds ~28 value covers off the Grill, +failures) but ~4× dominated by the premium upside
Search strength Confirmed independent stronger searches also find the dominator; not a search artifact (caveat: harness climbs the generalist harder than the frontier, so its own "−1%" number is unreliable — the honest figure is ~12–14%)
Root cause = menu-independent arrival composition Confirmed MakeParty samples segment from raw SegmentMixBp; per-segment segConv is computed then discarded
"Fixing this requires M1" Refuted a pre-service headless consideration→arrival-composition rewrite is legitimate M0; ~90% of the machinery already exists
Determinism / accounting / scope / regression Confirmed 125 tests pass ×2, Debug=Release checksums, cent-exact reconciliation, no float/Random/wallclock in Core, scope clean

D. Residual-plan evidence

Fixed plan (unchanged across markets): Ribeye(6)@$81.56, Burger(4)@$21, Scallops(3)@$44.45, Fondant(11)@$33.06, 48 seats, full 8 staff.
Held-out medians (multiple disjoint prime seed sets): lunch ~$2157, social ~$4825, enthusiast ~$4791, 0% loss probability in every market. Against a properly-searched per-market frontier (lunch ~$2505, social ~$5202, enthusiast ~$4835 — themselves all mixed-anchor plans) the fixed plan's worst-market regret is ~12–14% (lunch), well inside the milestone's ≥85% dominator bar, and it wins the value lunch outright vs pure-value and pure-premium regimes. Robust under perturbation (burger/anchor price, seats, staff, segment share); some perturbations (fewer seats, one fewer FOH) improve it — a robust generalist, not a narrow optimum. Nuance: the two dinner markets slightly prefer dropping the burger (pure-premium edges the mixed plan there), so "context" amounts to "keep or drop one cheap main" — not a regime change.

E. Economic decomposition (why it stays strong)

Adding the premium anchor to a value chassis raises contribution in every market (+$1.2k lunch / +$3.7k social / +$4.6k enthusiast). The premium dishes are ordered only by the high-budget minority (affordability correctly stops value covers buying them); that minority is present in every market's fixed arrival mix (lunch 65/25/10, social 15/60/25, enth 5/30/65). Per-cover contribution: value ~$5, social ~$29, enthusiast ~$47 — so skimming the minority is 5–9× more valuable per cover than serving value diners. The anchor's present-service cost (Grill contention, ~28 lost value covers, +failures) is real but ~4× dominated. Multi-layer (fixed demand composition + premium recipe economics + affordability sorting); the primary lever is demand composition.

F. Arrival-model assessment — the load-bearing defect

Demand sequence: market fixture → ConversionBp (menu-sensitive scalar) → ArrivalCurve scales TOTAL volume → MakeParty picks segment from raw SegmentMixBp (FIXED) → order → cook → pay. Arrival VOLUME already responds to the menu (cheap lunch menu convBp ~6471 vs premium ~1989); arrival COMPOSITION does not (served mix tracks the fixture regardless of menu). Critically, ConversionBp already computes a per-segment segConv (appeal × price-resistance) and then throws it away by collapsing to one mix-weighted scalar. So the deterrence signal that should reshape who walks in is computed and discarded — the same class of dead-primitive gap as the earlier unused budget. This menu-independent arrival composition is load-bearing: it guarantees the premium anchor a minority to skim in every market.

The existing menu-coherence deterrent (2.0× median) does not engage on the residual plan (Ribeye $81.56 < 2× the $44.45 median = $88.90 → zero penalty), so it is toothless against this exploit.

G. Rewrite feasibility — headless M0, not M1

The rewrite is achievable inside a headless, single-service, deterministic M0 and does not need reputation or repeat-visits. It is two coupled pieces:

  1. Menu-responsive arrival composition (consideration). Reuse the already-computed per-segment segConv as pre-service consideration; sample MakeParty's segment from a consideration-reweighted mix (not the raw fixture), over a finite market pool so broad positioning has opportunity cost. This makes an expensive-reading menu suppress value arrivals and a value menu suppress enthusiast arrivals — so a premium anchor in a value market is paid for by lost value volume.
  2. A positioning deterrent that engages on realistic prices. Consideration alone is insufficient (a mixed menu reads attractive to both audiences — high consideration from value via the cheap burger and enthusiasts via the ribeye — so a naive model lets it attract everyone, reproducing the exploit). Add a positioning/coherence term (price tier + premium concentration + expected meal cost) so a contradictory "cheap + premium" offer loses consideration from both segments — modeling muddled positioning that fits no occasion's peak. This must not punish mixed menus merely for being mixed: the deterrent is a credible occasion-fit tradeoff (a focused menu wins its occasion's peak; a broad menu gets moderate draw from several but the peak of none), not a flat penalty.

H. PR preservation recommendations

One honesty note (Low): two green test names (No_fixed_plan... history, Premium_is_not_always_best) read stronger than their assertions; the KNOWN_RESIDUAL fixture itself is honest (documents, does not hide, the dominator). Correct the builder's report prose from "~1–2%" to "~12–14% worst-market regret."

I. Final gate

Verdict: Fail
Action:  Rewrite

Rewrite here authorizes planning a new headless M0 demand-model experiment (menu-responsive arrival composition + positioning deterrent). It does not authorize M1, the human gate, or any merge to main.

Narrowest next experiment (rewrite boundary)

  • Product uncertainty: does menu/pricing/positioning create market-specific restaurant strategies, or only additive market coverage?
  • Expensive-to-reverse assumption being tested: that a headless single-service model with menu-dependent arrival composition (not repeat-visits) is enough to make context select a different best complete plan.
  • Cheapest valid prototype: the current headless engine + a pre-service consideration/arrival-composition stage + a realistic positioning deterrent; preserve affordability, forecast, pricing/WTP, determinism, accounting, the fixture set; replace only MakeParty's fixed-mix sampling and the collapsed ConversionBp; explicitly absent: reputation, repeat-visits, persistent memory, marketing, graphics, spatial.
  • New pass condition: on held-out seeds, no fixed complete plan is within ~10–15% of the best per-market plan in all three markets, AND at least value/premium/mixed each win a distinct market, AND mixed menus remain viable (not punished for being mixed).
  • New fail condition: a fixed plan (mixed or otherwise) stays near-optimal everywhere, or the positioning term makes mixed menus non-viable.
  • Timebox: small (the machinery mostly exists). Required evidence: the strengthened frontier search + the KNOWN_RESIDUAL fixture flipped to assert absence.

J. Required owner decision

Howard & Aaron must choose the next experiment: authorize the narrow headless M0 demand-model rewrite above (menu-responsive arrival composition + positioning deterrent — recommended, since the defect is a menu-independent arrival mix and the fix is single-service, not M1), or formally re-scope M0 to accept that one broad flagship menu can be broadly optimal (only defensible if you accept that "the menu is the strategy" does not require market-specific positioning — the evidence argues against this), or abandon the restaurant-strategy concept (not warranted — the concept is salvageable at the demand-model layer). Do not merge PR #1 to main until the rewrite establishes the strategy-integrity property; M1 remains unauthorized.

— Independent Reviewer (read-only; no branch modified, no PR merged, no human tests run, M1 not begun).

HSpector1 pushed a commit that referenced this pull request Jul 29, 2026
…ken by an M0 PR)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants