Commit graph

25 commits

Author SHA1 Message Date
768eee7d27 CB-WP-0013-T04: evidence — and a rule about quoting your own cost
Some checks failed
ci / check (push) Failing after 4s
CB-EV-0011. Three instruments were wrong; the pass found the third
defect itself and committed the fourth.

The rule this pass should leave behind: an evidence file quotes the
PREVIOUS pass's final cost, not its own. Three for three, all low by a
strikingly consistent ~2/3:

  CB-WP-0009   $6.73 reported ->  $11.31 final
  CB-WP-0011   $4.23 reported ->   $7.02 final
  CB-WP-0012   $8.82 reported ->  $14.52 final

And this time it changed a conclusion. CB-EV-0010 reported the first
priced tier comparison as "0.123 at L against 0.099 at S — 24% more".
The final figures are 0.150 against 0.099 — 51% more. Tier L costs twice
what that comparison claimed. It still deleted a port that would have
been rewritten and found errors of 25x and 85x, so it still looks worth
it, but the price doubled and the file that made the argument could not
have known.

Also closed rather than deferred again: cb-play's "third mode" never
arrived. --serve is a play flag selecting which Policy fills a human
seat; the binary still has two modes, and CB-EV-0010 §6 was wrong.
Carried for two passes, resolved, stopped.

Recorded as a near-miss: an instrument reading that looked impossible
(53 tool calls in 53 responses) turned out to be correct. One
independent re-derivation before writing anything stopped a false
accusation — in the pass whose whole subject is instruments reporting
things that are not so.

gate-review: 0 due, 0 silent, 0 drifted. Every gate in the registry has
a caught entry for the first time.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:32:07 +02:00
e482ab9f8f Sync hub IDs and work-record index for CB-WP-0012
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 04:30:45 +02:00
c38ecd9da3 CB-WP-0012-T05: evidence — tier L deleted its own deliverable
Some checks failed
ci / check (push) Failing after 4s
CB-EV-0010. The pass's own verdict on the tier it ran at.

Full-weight review withdrew the capability port the declaration was made
to build. A tier-S pass has no step 2 and would have shipped it, and
stage 2 would have found it unimplementable — which is what CommitWindow
is already on record in this repo for doing.

Two corrections of the survey's own numbers, compounding:
  AM-4a headroom       3,750 claimed -> 92,798 measured   (25x)
  cheapest windowed  480,501 claimed -> 140,079 measured  (3.4x)
  headline ratio         128x        -> 1.5x              (85x)

The prediction from CB-EV-0009 §4 held: meta budget reads 0%, published
in advance and unfalsified.

A correction that is now a pattern: CB-EV-0009 reported CB-WP-0011 at
45 responses / $4.23 / 0.094; final is 71 / $7.02 / 0.099. Still the
cheapest pass, so the conclusion stands. But that is the second
consecutive evidence file to report its own pass's cost low — a pass
cannot measure its own cost, and one quoting its own is quoting a floor.

First priced tier comparison on a single subject: 0.123 $/response at L
against 0.099 at S — 24% more, for a pass that found the two errors
above. On one data point, step 2 is cheap.

Not shipped, and said plainly: the emitted JavaScript has never been
executed. The socket loop is tested end to end with synthetic HTTP and
the page is asserted against as a parsed document, but no browser engine
has run it. INTENT stage 1 therefore stays open even though all four of
its named deliverables now exist.

SH-3 reads 0.0% for a sixth consecutive pass and remains the oldest
unargued number in the project.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 04:30:10 +02:00
6fb0aeacf0 Sync hub IDs and work-record index for CB-WP-0011 2026-08-02 02:49:19 +02:00
d2ca1046c0 CB-WP-0011-T01: the inspector shows everything, and a gate says so
The renderer moves out of the play loop into inspect.rs and grows from
24 to 42 of the 43 leaf paths a populated GroundView carries. What it
had been dropping was the whole DARVO state machine, the whole GROUND
practice, the scoring mode, Focus tokens, the discard pile, per-seat
protection, and every part of the outcome except the headline.

The load-bearing half is every_view_field_is_classified, which walks
the serialized view for leaf paths and requires each to be listed as
rendered (with a token the output must contain) or omitted (with a
reason). Paths rather than keys: 'problem' occurs under a DARVO target,
a GROUND choice and a Selection, and a key-set walk would let one of
the three vouch for the other two.

Four M-D1-MUT controls, each red for its stated reason. The
unclassified-field control fired for real on the first run --
players.*.hand, a field the gate's own author had missed.
2026-08-02 02:38:38 +02:00
d07caca22b CB-WP-0010-T01: close CB-WP-0007
Both remaining tasks were overtaken and are cancelled with pointers. T05's
control loop was answered by CB-EV-0008 §1 and §4, which measured the
windowed metric and the budget firing on real passes. T06 asked whether
there is a fourth way a number can fail to bind; there is, and CB-EV-0007
§3 recorded it — the meta budget, aggregated over a window that could not
move it, two tasks after the same defect was fixed for session shape. The
tier-taxonomy gap T06 also carried was closed by ADR-0006 D5.

A workplan left in_progress makes `make status` name a stale next task,
which it had been doing for two passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 02:15:08 +02:00
4b7bdaca16 CB-WP-0010: close the open ends before stage 1
Some checks failed
ci / check (push) Failing after 3s
Tier S (structural S; chaos d4=1, no override; declaration 5 of 12).
Three items carried out of the last two passes: CB-WP-0007 left at 2/6
with both remaining tasks overtaken, GR-E03 with no scenario at all, and
CommitWindow's second failed second-use. CB-EV-0008 §4 also says the next
pass should be product, and this is how the meta share comes back down.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 02:14:23 +02:00
f4dccb6f99 Sync hub IDs for CB-WP-0009; drop the duplicate frontmatter key
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 15:35:10 +02:00
be2d7a3e5a Sync hub IDs for CB-WP-0008
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 14:14:22 +02:00
98e09c4394 Sync hub IDs for CB-WP-0007
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:49:47 +02:00
4b899fbfe5 chore: regenerate WORK-RECORDS.md (fix-consistency)
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:41:39 +02:00
ba7c2f88ae chore: regenerate WORK-RECORDS.md (fix-consistency)
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 18:25:49 +02:00
3f3d437417 Fix a fabricated UUID suffix in CB-WP-0005 T06
Some checks failed
ci / check (push) Failing after 3s
When condensing Phase C I rewrote the task block from an earlier
truncated console line (774b1c8a...) and invented the remaining 28 hex
digits rather than looking them up. fix-consistency C-03 caught it:
'state_hub_task_id 774b1c8a... not found in DB'.

Real id fetched from the hub and substituted. Worth recording as its own
commit: this is a hand-typed identifier in a repo whose central finding
is that hand-typed values are worthless, and the only reason it did not
persist is that a gate compares the file against the database.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 18:07:30 +02:00
56c0c34d2c Sync hub IDs for CB-WP-0006; T04-T06 cancel not deferred
Some checks failed
ci / check (push) Failing after 3s
The hub's task status vocabulary is wait|todo|progress|done|cancel, so
'deferred' was rejected by fix-consistency. 'cancel' is the accurate one:
these task records are superseded and equivalents live in CB-WP-0006
T05-T07. The work is deferred, not abandoned, and the workplan says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 17:56:55 +02:00
bd4423a8e4 Sync hub IDs for CB-WP-0005 and work-record index
Some checks failed
ci / check (push) Failing after 4s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 14:25:54 +02:00
59b73c3e3d chore: regenerate WORK-RECORDS.md (fix-consistency C-33)
Some checks failed
ci / check (push) Failing after 3s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 10:29:17 +02:00
578dcbea78 Sync hub IDs for CB-WP-0004; drop duplicate frontmatter key
Some checks failed
ci / check (push) Failing after 3s
fix-consistency appended state_hub_workstream_id rather than replacing
the empty one, leaving a duplicate YAML key.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 09:50:23 +02:00
50f06a4d69 chore(consistency): refresh WORK-RECORDS.md
Some checks failed
ci / check (push) Failing after 3s
2026-07-31 09:31:53 +02:00
ee1ee485b2 Sync hub IDs and work-record index for revised CB-WP-0003
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 09:11:26 +02:00
85b86e3805 chore(consistency): refresh WORK-RECORDS.md
Some checks failed
ci / check (push) Failing after 4s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 08:54:33 +02:00
fc76445aec Sync hub IDs for CB-WP-0003 and work-record index
Some checks failed
ci / check (push) Failing after 4s
Written back by fix-consistency: workstream and task UUIDs for the ten
CB-WP-0003 tasks, plus the regenerated WORK-RECORDS.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 04:17:59 +02:00
4be6e020ea AM-4: gate scenario YAML, retarget on audited source, re-measure
Some checks failed
ci / check (push) Failing after 3s
Adopts both remediations from CB-EV-0001 §4 (maintainer decision).

Option A — serde_yaml is now optional behind cb-game-runtime's
`scenarios` feature. The scenario module, the ScenarioGame impl and the
string parsers behind it are cfg-gated; cb-sim opts in explicitly. Both
configurations compile and lint clean under -D warnings.

A trap worth recording: `default-features = false` on a *member*
dependency is silently ignored when the workspace dependency does not
specify it. The first attempt gated nothing while looking correct — the
build succeeded and cargo tree still showed all six YAML crates. Fixed
by setting it on the workspace dependency. This is the positive-control
failure mode in miniature: success was not evidence the change applied.

Retarget — AM-4 now measures third-party source under audit, split by
build configuration, replacing a crate count that was unreachable
without undoing K5/K7 and that does not compare across ecosystems.

Re-measured via the new `make dep-weight`, whose own positive control
refuses to report when any crate's source cannot be located:

  shipped runtime   23 crates   246,250 lines   target <=250,000  met
  dev toolchain     29 crates   317,021 lines   target <=350,000  met
  own source                      3,408 lines

Scenario tooling costs 70,771 lines a shipped game never compiles —
the split the single number was hiding.

Targets are set at current measurement plus headroom, so they bind on
future growth rather than retroactively passing what had failed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 03:35:41 +02:00
8e11fc412e Amend CB-EV-0001; add CB-WP-0002 for cost accounting
Some checks failed
ci / check (push) Failing after 4s
AM-4: measured what each remediation option actually buys, rather than
leaving one recommendation unquantified. serde_yaml optional removes 6
crates, not 5 — ryu belongs to that group, since serde_json now uses
zmij for floats. Full ladder: -6 to 27, serde_json -4 more to 23,
inlining SHA-256 -8 to 19, inlining ChaCha12 -4 to 15. Only
reimplementing a primitive gets under 20, so the target is unreachable
without undoing K5/K7.

Also records that crate count compares badly across ecosystems, and
offers the alternative the count is a proxy for: 307,317 lines of
third-party source under audit against 3,398 of our own.

AM-12: corrected from "uncomputable" to measured. The refusal to
estimate was right; the claim that no instrument existed was wrong.
Session transcripts carry exact per-message usage including the cache
breakdown. This session cost $248.46 at Fable 5 rates, of which 53% is
cache reads — cost is driven by context size times turn count, not by
output volume. What is still missing is per-task attribution, since
nothing marks task boundaries in a transcript.

CB-WP-0002 makes cost measurable and attributable: survey the
instruments, decide the attribution model by ADR, spec metrics that
include cost composition rather than a bare total, build a collector
whose positive control refuses to emit unreconciled numbers, and prove
it by answering a question that could not be answered before.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 03:26:03 +02:00
1218ee024e chore(consistency): refresh WORK-RECORDS.md 2026-07-31 00:48:22 +02:00
70f02ec09c chore(consistency): record state-hub IDs for CB-WP-0001; add WORK-RECORDS.md 2026-07-31 00:13:55 +02:00