clay-borg/facts.toml
tegwick 6487d33f27
Some checks failed
ci / check (push) Failing after 4s
CB-WP-0023: SOLVE is legal only where it can do something
Implements ground-game's ruling of 2026-08-03. make all exits 0, 26
scenarios, rule coverage 59/59, and no scenario encoded the bug.

The rule ended up somewhere other than where I put it, and a gate moved
it. It went into legal_commands first; the AM-1 coverage gate then
demanded a scenario for the new GR-P05, and scenarios drive validate, not
the offer layer. A rule enforced only by the offer is enforced only for
clients that ask what is legal -- the browser would be filtered and a
scenario file would walk straight past it. Once GR-P05 moved into
validate, every condition in legal_commands was dead code, and the
layering test said so in those words.

And the reported case was not the one I reported. CB-WP-0018 and the
message to ground-game described SOLVE offered on a FACE-DOWN Problem.
Measured: validate already rejected face-down, so it never was offered.
Problem 1 is the Surface Problem, face-up from the deal -- the
maintainer's three inert SOLVEs were the HAND case, holding no Clarify
for a Clarify Problem. The ruling covers both so nothing is invalidated,
but the record was wrong.

Four conditions asserted separately, because one 'SOLVE is filtered' test
would pass with three of four implemented.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 00:18:40 +02:00

130 lines
2.2 KiB
TOML

# GENERATED — do not edit. `make facts-gen` rewrites this file.
#
# The single source of fact for numbers that appear in more than
# one artifact (InnerLoop v1.2). Every value here is produced by
# the instrument named in its `by` field, on the current tree.
# `make facts-check` fails if this file disagrees with the
# instruments, or if a tagged artifact disagrees with this file.
generated = "2026-08-04"
pin = "fc76445"
[am4a_loc]
value = 157202
text = "157,202"
fmt = "{:,}"
by = "tools/dep-weight.py"
[am4a_target]
value = 161000
text = "161,000"
fmt = "{:,}"
by = "tools/dep-weight.py TARGETS"
[am4b_loc]
value = 725258
text = "725,258"
fmt = "{:,}"
by = "tools/dep-weight.py"
[am4b_target]
value = 745000
text = "745,000"
fmt = "{:,}"
by = "tools/dep-weight.py TARGETS"
[am_rows]
value = 14
text = "14"
fmt = "{:,}"
by = "tools/mutation-check.py"
[am_unmutatable]
value = 4
text = "4"
fmt = "{:,}"
by = "tools/mutation-check.py"
[gr_covered]
value = 59
text = "59"
fmt = "{:,}"
by = "tools/rule-coverage.py"
[gr_linked]
value = 50
text = "50"
fmt = "{:,}"
by = "tools/rule-coverage.py"
[gr_rules]
value = 59
text = "59"
fmt = "{:,}"
by = "tools/rule-coverage.py"
[gr_scenarios]
value = 26
text = "26"
fmt = "{:,}"
by = "tools/rule-coverage.py"
[k_linked]
value = 18
text = "18"
fmt = "{:,}"
by = "tools/rule-coverage.py"
[k_rules]
value = 18
text = "18"
fmt = "{:,}"
by = "tools/rule-coverage.py"
[k_unlinked]
value = '(none)'
text = "(none)"
fmt = "{}"
by = "tools/rule-coverage.py"
[pinned_main]
value = 92.03371920000004
text = "$92.03"
fmt = "${:,.2f}"
by = "tools/cb-cost.py --pin fc76445"
[pinned_mechanical_cost]
value = 33.3506319
text = "$33.35"
fmt = "${:,.2f}"
by = "tools/cb-cost.py --pin fc76445"
[pinned_mechanical_share]
value = 36
text = "36%"
fmt = "{:d}%"
by = "tools/cb-cost.py --pin fc76445"
[pinned_mechanical_turns]
value = 167
text = "167"
fmt = "{:,}"
by = "tools/cb-cost.py --pin fc76445"
[pinned_responses]
value = 346
text = "346"
fmt = "{:,}"
by = "tools/cb-cost.py --pin fc76445"
[pinned_subagent]
value = 1.1137235
text = "$1.11"
fmt = "${:,.2f}"
by = "tools/cb-cost.py --pin fc76445"
[pinned_total]
value = 93.14744270000004
text = "$93.15"
fmt = "${:,.2f}"
by = "tools/cb-cost.py --pin fc76445"