CB-WP-0025 T03: ADR-0013 -- one world after the game, and difficulty that
does not measure the bot Seven decisions. Two are not what T03 expected, because the review moved the ground under both. D1: strategy fusion DOES NOT APPLY, and that is why the affordable option is also the honest one. Fusion is a defect of aggregating over determinizations to choose a move -- the search picking different actions in states a player cannot distinguish. After the game there is ONE WORLD: the deal is known, so a search over it yields a line executable in the only world there is. The survey treated fusion as this pass's central obstacle; it is an obstacle to a playing engine, which we are not building. The tool answers "given the deal as it actually was, was there a line that reached the threshold" and is labelled that way on screen -- never "how you should have played". D4: difficulty is the WINNABLE FRACTION, not a bot's win rate. C4 killed the bot rate -- two trivial policies span 0-100% on the same deals, and improving the bot would make the game "easier" without a rule changing. A measure that moves when the measurer improves is not measuring the thing. The solver supplies the alternative: over N deals, in what proportion does a winning line exist. That is a property of the deal distribution and the threshold, which is what ground-game tunes and what GROUND-WP-0005 is blocked on. Ships as a table -- winnable fraction, named reference policy, skill gap -- never one number, with policy/N/seed-range/K in the number's name. Stated as a LOWER BOUND, since a K-round search cannot see a line that needed round 1. D2: search GroundState. The survey's view-only structural boundary is not implementable -- a view cannot fold events, and it said so in §6. The guarantee moves to something checkable: every move in a witness is marked visible or hidden, computed from project(). A witness reads "you could have won, but two of these six moves needed a card you had no way to know was coming" -- more useful than either extreme. D3: bounded exhaustive over the last K rounds, table as one co-operative agent, K=2 default. Affordable once C6 corrected the premise: joint branching over the last two rounds is ~5x10^2 / 1.6x10^5 / 5.7x10^5 at 2/3/4 seats. Wording is normative: "no winning line found in the last K rounds", never "unwinnable". PIMC and ISMCTS rejected -- they add strategy fusion to a problem that does not have it. D5: the harness becomes an instrument before any figure is quoted (C3) -- positive controls, --self-test in make self-tests, a make target, and a PLURAL policy panel, because the spread between policies is what C4 exposed and hiding it would restore the error. D6: no new crate and no port. The L declaration was an over-declaration and is recorded as one. D7: the node cost is disputed 5x between author and reviewer; T04 benchmarks it with criterion and neither existing figure may be cited, including by this ADR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
88e25ae7c4
commit
3a026b1e1f
2 changed files with 263 additions and 1 deletions
|
|
@ -235,7 +235,7 @@ this project have now caught a false headline that every gate passed.**
|
|||
|
||||
```task
|
||||
id: CB-WP-0025-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "055630a1-56e0-4ad4-8796-35f444313371"
|
||||
```
|
||||
|
|
@ -258,6 +258,38 @@ state_hub_task_id: "055630a1-56e0-4ad4-8796-35f444313371"
|
|||
if the ADR concludes it is a mode of an existing one, say so, and the
|
||||
over-declaration is a chaos-window data point worth recording.
|
||||
|
||||
**Done 2026-08-05.**
|
||||
[ADR-0013](../decisions/ADR-0013-could-we-have-won.md), seven decisions.
|
||||
**Two of them are not what T03 was written expecting**, because the review
|
||||
moved the ground under both.
|
||||
|
||||
- **D1 — strategy fusion does not apply, and that is why this is
|
||||
affordable.** Fusion is a defect of *aggregating over determinizations
|
||||
to choose a move*. **After the game there is one world**: the deal is
|
||||
known, so a search over it produces a line executable in the only world
|
||||
there is. The survey treated fusion as this pass's central obstacle; it
|
||||
is an obstacle to a *playing* engine, which we are not building.
|
||||
- **D4 — difficulty is the WINNABLE FRACTION, not any bot's win rate.**
|
||||
C4 killed the bot rate: two trivial policies span 0–100% on the same
|
||||
deals, and improving the bot would make the game "easier" without a rule
|
||||
changing. The solver supplies a policy-independent measure — *over N
|
||||
deals, in what proportion does a winning line exist* — which is a
|
||||
property of the deal distribution and the threshold, and is what
|
||||
GROUND-WP-0005 actually needs. **The bot rate never was.**
|
||||
|
||||
**D2** searches `GroundState` (the survey's view-only boundary is not
|
||||
implementable — a view cannot fold events) and moves the guarantee to a
|
||||
checkable per-move `visible`/`hidden` marking computed from `project()`.
|
||||
A witness reads *"you could have won, but two of these six moves needed a
|
||||
card you had no way to know was coming."* **D3** is bounded exhaustive
|
||||
over the last K rounds — measured affordable at 2–4 seats once C6
|
||||
corrected the premise — with normative wording: *"no winning line found in
|
||||
the last K rounds"*, never *"unwinnable"*. **D5** makes the harness an
|
||||
instrument before any figure is quoted (C3). **D6**: no new crate, no
|
||||
port — **the L declaration was an over-declaration and is recorded as
|
||||
one**. **D7**: the node cost is disputed 5× and T04 must benchmark it;
|
||||
neither figure may be cited, including by the ADR.
|
||||
|
||||
## Task: specify
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue