The records oracle idles 60 s before every timed das cell; ledger rows 138 and 140 carry their verdicts - #4016
Conversation
…ll against the August 30 records is core placement on the box and a best-of-two record, not a code regression - best reps equal between the recording commit and master's head, medians 2.5% apart inside the scatter - and the unquirk is a placement-aware instrument for the CPU rows Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…'s heat throttles the GPU to 990-1420 MHz through the oracle's 12 s settle, reproduced five of five with the board's sequence and cured by a 60 s settle; the unquirk is a thermal-state wait before a timed cell Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…med das cell on every leg: the previous cell's heat outlives the 12 s reclaim settle and a hot GPU or CPU reads a clean cv 20-30% low, spending a FAIL and a retry slot on a cold first read; ledger row 138 keeps the thermal-state wait as the unquirk that replaces the fixed number Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… - the exe, tier, overrides, box and the powermetrics sampler behind each figure - and the Vulkan and CPU-leg claims narrow to what was read; the oracle's cost lines in PROFILE.md and BRINGUP.md follow the 60 s cool slot; three checklists fix what applying them to this diff surfaced: the served-turn definition names the property, an oracle re-measure is not a board cell, the whole-turn figure rule drops its enumeration and mechanism sentence, the timing-rig trigger covers a rig that reads a child's clock, the ledger routing names who owns rig rows, the override clause keeps one boundary, the STYLE037/038 rule binds every suppression spelling, and the records/mtp rules are diff-scoped with the settle pair merged Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The new settle helper uses a //! doc comment in a non-attaching position and multiplies seconds * 1000 as int before casting, which can overflow for large values and should be corrected.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates dasLLAMA’s performance “records oracle” workflow so oracle runs idle longer before each timed das-cell (default 60s vs 12s) to reduce post-heavy-cell thermal throttling skew, and documents/records the updated measurement rationale in module docs and checklists.
Changes:
- Add
--oracle-settle(default 60) and apply it before each timed oracle das cell; keep reclaim settle behavior separate. - Fold multiple “sleep-if-positive” helpers into a single
settle(seconds)helper (also used for retry settle). - Update dasLLAMA measurement/review documentation and follow-up ledger rows to reflect the revised interpretation and the new settle behavior.
File summaries
| File | Description |
|---|---|
| modules/dasLLAMA/REVIEW.md | Clarifies checklist routing and override/suppression rules language. |
| modules/dasLLAMA/REVIEW_MEASUREMENT.md | Tightens definitions around served-turn legs, board cells, and provenance requirements. |
| modules/dasLLAMA/PROFILE.md | Documents the new oracle settle cost and the motivation/observations behind it. |
| modules/dasLLAMA/performance/REVIEW.md | Refines performance records checklist wording and diff-scoping for records artifacts. |
| modules/dasLLAMA/performance/gen_bench_records.das | Implements --oracle-settle and consolidates settle helpers used across oracle + retries. |
| modules/dasLLAMA/followup_general.md | Updates ledger rows (138/140) with revised findings and next-step “unquirk” direction. |
| modules/dasLLAMA/BRINGUP.md | Updates oracle-mode operational guidance to reflect the new settle behavior. |
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…as the ruler spells it, and its note is a plain comment - a doc comment above a def does not attach Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
🟢 Approval recommended
The changes are cohesive, low-risk, and the new --oracle-settle behavior is consistently applied at the intended oracle call sites with corresponding documentation updates.
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 0 new
- Review effort level: Lite
…rseding clean edit the clean publish lands and nothing stale lands after it - a broken-buffer publish that finished inside the gap is legitimate, and on a fast CI runner it did Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The updated LSP test’s publishDiagnostics filtering can match unrelated documents, risking false passes/failures unless it filters by params.uri.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (1)
tests/lsp/test_lsp_protocol.das:371
- The
stalecounter increments on any non-emptypublishDiagnosticswhile waiting for the definition response, but it does not check the diagnostics are for the test documenturi. Filtering byparams.uriavoids false failures if the server publishes diagnostics for some other open/managed file during this window.
let def_resp = read_until(r) $(js) {
if ((js?["method"] ?? "") == "textDocument/publishDiagnostics" && diagnostics_of(js) != 0) {
stale++
}
return (js?["id"] ?? -1) == 2
- Files reviewed: 8/8 changed files
- Comments generated: 1
- Review effort level: Lite
Behavior change: the records oracle idles 60 s before every timed das cell (was 12 s) - an oracle board takes longer per box.
Why. The oracle's first read after a big cell lands 20-33% under its stored mean and spends a FAIL and a retry slot. The previous cell's heat outlives the 12 s reclaim settle: on the M5 Max the GPU still runs 990-1420 MHz instead of 1620 when the next cell starts.
What changes.
--oracle-settle(default 60) idles before each timed oracle das cell on every leg; the reclaim settle stays 12 s.settle(seconds); the retry settle goes through it too.Observable behavior.
--oracle --legs metalon the M5 board -> about 17 min longer (21 cells x 48 s of idle)Where to look. The three
settle(cfg.oracle_settle)sites inperformance/gen_bench_records.dasand the two rewritten ledger rows.Validation, claims, ledger
Validation
benchmarks/REVIEW.mdapplied by hand to the driver: no instrument, clock, or kernel dispatch is added, so its rules do not fire.Claims - stated, not tested
--oracle-settlearm, its three sites, and the foldedsettleguard have no test: the tool drives model processes for hours and its three sibling knobs carry none either. The measurement stands in: five of five reproductions of the cold read with the board's sequence, 60 s and 120 s settles reading Nominal within 1%. A break would show as an oracle board whose first cell after a big one fails and passes its retry.Not done
NSProcessInfo.thermalState) as the unquirk that replaces the fixed number.REVIEW.dascell for therecords/mtp/engine-stamp rules, and thedefaults/version-pin compare incheck_defaults_profiles.