# 17 · Open fronts and hand-off

> Closed record · research record 1.0 · as of 2026-10-25 16:46; the author closed the research lines on 2026-10-23. Current standing, not a final result: Open fronts: https://r4topunk.github.io/boar-research/data/status.json.
>
> Final · as of 2026-10-25 16:46 · 0 of 71 wins on the phone, U-total 0.165 (Claude) / 0.242 (gpt-5.6-sol), below the 0.50 bar

- Page: https://r4topunk.github.io/boar-research/research/handoff/ · Markdown twin: https://r4topunk.github.io/boar-research/research/handoff.md · Whole paper: https://r4topunk.github.io/boar-research/llms-full.txt · Index: https://r4topunk.github.io/boar-research/llms.txt
- Span: 2026-10-14 →

**In one sentence.** As of 2026-10-25 03:30 four fronts are open (`data/status.json`): the submitted app's delivery and scoring (OF-4, LabRat, formerly BoarLite: final bundled build, Hugging Face upload and install page, the install-path check, its scores now public by the author's decision of 2026-10-25), the final on-phone matrix (OF-8, DEVICE-FINAL, running), the claim text (OF-5) and the shaped-pack publication (OF-7); the ruler run (OF-6) landed on the desktop twin of b4ef94f3 and is published as history. Three earlier fronts were dropped, each by a dated decision: the deep tier on a phone (OF-1) and expert streaming on Android (OF-2) when the author ruled out a 35B mode (2026-10-21), and v0.3 (OF-3) when the delegated decisions chose no v0.3 before closure (2026-10-18). Each front lists what would change, in both directions; criteria are frozen in the research repository before each run. The deliverables already public stay usable by other teams.

## For curious readers {#curious}

#### Everything is public

The first exam, the judge and the research record are on GitHub; the libraries are on Hugging Face. Anyone can run their own assistant against the same answer key.

#### What is still being finished

Finishing LabRat (the final build and its upload to Hugging Face); the final test of the app on the phone, running now, whose grade becomes the headline; posting the revised claim with a link to this article. The reshaped factbook library stays unpublished. Each card says what changes if it works and what changes if it doesn't.

#### What we stopped testing, and why

The big model on a phone (dropped when the author ruled out a deep mode), streaming it from storage on Android (built, never measured), and a sealed exam written entirely outside the Claude family (never written).

**In one sentence card:** "The research is closed; what remains is the phone test of the simple app, hosting it, and posting the claim."

*Facts: [F-1316] [F-1532] [F-2118]*

## For AI professionals {#ai}

### The record for this chapter

**Key facts:**
- Public repos live 2026-10-15 10:07: boar-bench (139 files) and boar-research (411 files); scrubbed, mechanically gated, independently reviewed (41/44 findings applied) [F-1316] [D-105].
- Engine pull request to the upstream app opened 10-15 10:10 [F-1272]; later NUMGUARD r3 and HEALTHGAP r2 added (E-chron-late timeline).
- Pack uploads after 10-17: a fixed Simple English Wikipedia revision (a unit-conversion converter bug, 3,176 → 524 artefact chunks) on 10-21 and a knowledge-base index snapshot on 10-22 [F-1601] [F-1989]. The shaped factbook is drafted as user-selected only and unpublished (OF-7; [D-175]).
- A reusable 0-LLM retrieval bench (RETBENCH v1) exists in the private research log; its publication is not recorded as of 2026-10-24 [F-1720].
- A hand-off package for the app maintainer is prepared; sending it waits for the author.
- [sentence withheld in this file; see https://r4topunk.github.io/boar-research/data/ or the chapter record] Citations.applyShown stays a documented known limitation by the author's decision of 2026-10-25 ([F-2232]; AD-24).
- Power for any future bar test: at n = 110 a one-sided "> 0.50" needs a point estimate ≈ 0.53 (≈ 0.545 with one-seed run noise) [F-205]; v0.4's 71 headline items are fewer.
- Dropped: OF-1 (deep tier on a 12 GB-class phone, [D-147]), OF-2 (expert streaming on Android: built 10-19, never measured on a phone, [F-2118]), OF-3 (v0.3: no items; its role passed to v0.4, which is half Claude-written; [D-123] / [F-1374]).

**Key decisions:** closing-sprint decision 2026-10-14 21:59, [D-097], [D-100], [D-123] / [D-124] (delegated D1–D7; site only as v1.0 at closure), [D-147], [D-150] (article home: a project subdomain built from the public research repo; PLAN §1 PD-19), [D-175], [D-183].

**Turning point:** 2026-10-15 10:07: the record went public; 2026-10-24: the submission became the author's own app, so the remaining fronts are delivery and scoring, not research.

### Limitations and open fronts

As of 2026-10-25 the record contains no unexposed held-out number and no number written entirely outside the Claude family: v0.3 was dropped (2026-10-18), and the second ruler is half Claude-written and was exposed on 2026-10-24. Its final run on BoarLite's engine (OF-6, landed 2026-10-24 20:34) is a desktop twin with one seed, published as history (lower family 0.164, below the bar); it measured b4ef94f3, before the Rat persona line of LabRat 7788924a; the on-phone run of LabRat (DEVICE-FINAL, OF-8) is running with no result in this record; with 71 headline items its power is below that of the 110-item design (at n = 110 a one-sided "> 0.50" needs a point estimate near 0.53; [F-205]). The deep tier never ran on a phone and was not delivered (OF-1 and OF-2 dropped, [D-147]). The thesis's evidence rests on pack-written self-tests labelled by one cheap judge with one seed. The human label check was not done. BoarLite's health rules are fitted on the 65 probes they are checked on, and its search port was adopted against a failed frozen safety verdict (§6.11). Open fronts (`data/status.json`, each with what would change in either direction; criteria frozen in the research repository before each run): OF-4 LabRat (formerly BoarLite) delivery (final bundled build, Hugging Face upload, install-path check); OF-5 the claim text (v4.2.4 prepared, posting not recorded, to be revised for LabRat and posted with a link to the article); OF-6 landed (published as history; b4ef94f3); OF-7 the shaped factbook (kept unpublished by the author); OF-8 DEVICE-FINAL, the on-phone matrix (running). Beyond closure: reading in small models, a pre-registered (not post-hoc) cross-family judge, and an item set written entirely outside both judge families.

*Facts: [F-205] [F-1252] [F-1297] [F-1253] [F-270] [F-211] [D-123] [D-147] [F-2108]*

### Open fronts (status.json, as of 2026-10-25)

#### OF-1 · Deep tier on a 12 GB-class phone (dropped)

Question: Does the recommended deep configuration (35B mixture-of-experts + 512-token thinking budget) run on a 12 GB-class Android phone, at what latency and memory, and with the same judged quality as on the desktop?

Why it matters: Every deep-tier number in the record is desktop only; the phone time is a projection from third-party public rates, and the bounty is about a phone.

What would change, in either direction: If it runs with judged parity: the deep-tier rows in 'The deep tier' and 'A phone on a desk, and in a hand' gain a measured phone scope, the projection F-035 is replaced by a measurement, and 'Where it stands (live)' can describe the deep tier as a phone configuration. If it does not fit in memory, is too slow to use, or loses quality on the phone: the deep tier stays a desktop-only result, the phone standing remains the frozen 4B build (F-001, F-023), and the attempt is recorded as a negative result.

Note: Dropped by author decision on 2026-10-21: no 35B deep mode is delivered for the bounty; the deep tier appears only as a roadmap with its desktop numbers. No deep-tier phone run exists as of 2026-10-24; F-035 stays a projection.

Owner: author. Related: [F-009] [F-013] [F-023] [F-035] [F-037] [F-1532].

#### OF-2 · Expert-streaming engine on Android (dropped)

Question: Can the expert-streaming engine, judged equivalent to the desktop server on the 35B model, be built for Android and run within a phone's memory at a usable speed?

Why it matters: On a desktop CPU it runs the 35B model in under 3 GiB of RAM; on a phone only an analytic speed projection exists, and the Android build needs memory and thinking-budget work that is not done.

What would change, in either direction: If it builds and runs: OF-1 gains a low-memory path, and the analytic projection F-793 is replaced by a measured phone speed in 'A phone on a desk, and in a hand'. If it does not: the phone path for the deep tier rests on the other on-device engine (F-037), and the expert-streaming result stays a desktop-only finding (F-036).

Note: The expert-streaming engine was cross-built for Android arm64 on 2026-10-19; phone speed and memory were never measured. Dropped with OF-1 when the deep tier left the delivery (2026-10-21).

Owner: author. Related: [F-036] [F-037] [F-793] [F-2118].

#### OF-3 · Held-out set written outside the Claude family (bench v0.3) (dropped)

Question: What do the frozen build and the deep tier score on questions and references written outside the Claude model family and never exposed to the builders?

Why it matters: It is the only path to an unexposed held-out number: v0.2 is burnt and V-para is dev-style for everything after 2026-10-06. It also tests the judge-family self-preference threat at the item level, not only at the judge level.

What would change, in either direction: If items are written and scored before closure: their reading becomes the held-out number in 'Where it stands (live)' and in the claim text, in whichever direction it falls, under the analysis plan's lower-judge rule. If not: the record closes stating that no unexposed held-out number exists, and the current standing (F-001) stays the only held-out-at-run-time reading.

Note: No v0.3 was written (decision D5, 2026-10-18). Its role passed to the ruler set v0.4 (open front OF-6), which is not written outside the Claude family (half Claude, half OpenAI gpt-5.6-sol). The record therefore has no unexposed held-out number written outside the Claude family; F-001 remains the only held-out-at-run-time reading on the old scale.

Owner: author. Related: [F-001] [F-038] [F-205] [F-1251] [F-1282] [F-1374] [F-2070].

#### OF-4 · Scoring of the submitted app (LabRat, formerly BoarLite) (landed)

Question: How does the submitted app score on the frozen ruler, measured on a phone, and may its numbers be published?

Why it matters: The submission changed twice: the app maintainer's native app (2026-10-15, reaffirmed 2026-10-21), then BoarLite, the author's own closed app (2026-10-24). Research-engine numbers do not transfer to either app.

What would change, in either direction: The submitted app's numbers are public by the author's decision of 2026-10-25 (AD-15 (b)): the on-phone DEVICE-FINAL run of LabRat 7788924a (OF-8) becomes the headline in whichever direction it falls; the desktop-twin run of b4ef94f3 (one seed) stays as history with the persona-line caveat. Release-candidate scores of the app maintainer's app stay internal.

Note: As of 2026-10-24 20:34: BoarLite final candidate b4ef94f3 built (health gate, fixed line, factbook v1, QuickMath, search port ON_NO_HEALTH) and an earlier candidate smoke-tested offline on a Pixel 8a (model ready 18 s, first answer 11.9 s). Pending: the release APK rebuilt from 6aa7508a with two UI-only commits (0 engine files) and its phone smoke, APK hosting (above a 2 GB asset limit), a ruler run on the phone. Its ruler scores exist on the desktop twin and are internal-pending-author (PD-09 / AD-15); scores of the app maintainer's RC1 and of the native engine branch stay internal. Update 20:47: the final release APK (UI-only commits on top of b4ef94f3) passed its offline smoke on the Pixel 8a (F-2219); APK hosting remains. Update 2026-10-25: renamed LabRat at the app maintainer's request (7788924a, assistant Rat; same package id); the Rat persona line entered the grounding prompt after the ruler run on b4ef94f3, so that number is for b4ef94f3, not for LabRat 7788924a. Cleanup decisions: long-chat summary, PIN, Portuguese and the Expo/React Native tree removed, Settings simplified, licences in About. Hosting decided: Hugging Face (GitHub release assets cap 2 GiB; APK 3.04 GB), upload pending. Install-path risk: Android developer verification may add an 'advanced flow' for browser installs (scope unconfirmed; a test on a certified phone is planned). Open engine bug: the citation-support step is not applied to the streamed answer; a fix would need a ruler rerun. Landed 2026-10-25: LabRat scored on the phone (OF-8); LabRat 1.0.0 (dcc515fc, same engine module as the measured build) hosted on Hugging Face with its sha256 (15:3x); source public as labrat-boar-fork (15:4x).

Owner: author. Related: [F-1289] [F-1537] [F-2210] [F-2198] [F-2201] [F-2213] [F-2214] [F-2219] [F-2224] [F-2225] [F-2235] [F-2230] [F-2231] [F-2246] [F-2247] [F-2238] [F-2248].

#### OF-5 · Claim text on the bounty (pending)

Question: Which wording is posted to the bounty at closure, and in which vehicle?

Why it matters: The claim text is the public statement the bounty reads; it must match the standing on this page at the time it is posted.

What would change, in either direction: The claim text follows the standing at closure: if OF-1 to OF-3 move the standing, the claim sentence moves with it; if they do not, the current sentence (F-1245) stands. The site quotes the posted version with its date.

Note: Claim post v4.2.4 was prepared paste-ready on 2026-10-18; whether and when it was posted is not in the record (UNKNOWN). The submission is now LabRat (formerly BoarLite). The claim-text plan (2026-10-24 PM) leads with what the app does and the final ruler numbers labelled with both judge families, seeds, desktop twin or phone, and win-rate; wording goes to an independent reviewer, then the author. It cannot quote ruler numbers while they are internal (AD-15), and the on-phone numbers (OF-8) are not in yet. Author decision 2026-10-25: the revised claim is posted with a link to the article; corrections in the public repositories are the author's push. Update 2026-10-25 16:29: a submission post (one post with a 60 s video, numbers from DEVICE-FINAL) is prepared; as of 16:46 it is not recorded as posted. The article is live (16:46).

Owner: author. Related: [F-004] [F-017] [F-018] [F-1245] [F-1371] [F-2233] [F-2251] [F-2252].

#### OF-6 · Ruler v0.4 verdict run (landed)

Question: What is the submitted app's U-total on the frozen 71 headline items under both judge families (Claude and OpenAI gpt-5.6-sol), measured on a phone, against the pre-registered verdict rule?

Why it matters: The ruler replaces the old judge.v1 ratio as the headline metric for the submitted app; until it runs, the record has no verdict number for the bounty question.

What would change, in either direction: If the lower-family U-total (desktop twin of engine b4ef94f3) has CI low > 0.50 with all gates passed, the standing becomes "meets the bar" for that app; if the point estimate is above 0.50 with CI low below, "above, not established"; otherwise "below the bar". In every case it is printed beside the old-scale numbers, never pooled with them.

Note: Landed 2026-10-24 20:34 as a desktop-twin run: references of both families 75/75 (OpenAI gpt-5.6-sol half completed 20:05); BoarLite b4ef94f3 scored on the 71 headline items under both judge families, one seed, stage 1 not run, no phone run. The verdict numbers are internal-pending-author (internal_fact_ids) until the author rules on AD-15; the ruler is now exposed to three engines. As of 2026-10-25, Update 2026-10-25: this run measured b4ef94f3; LabRat 7788924a adds the Rat persona line to the grounding prompt after it, so its number must not be attributed to LabRat without that caveat; the on-phone re-measure of LabRat is OF-8. Update 2026-10-25 (author's publication decisions): the numbers are public as history (F-2215, F-2217): lower-family U-total (desktop twin of engine b4ef94f3) 0.164, win-rate 0 of 71 under both families, below the 0.50 bar; the paired delta vs the native engine branch ([internal row]) stays internal because it prints that branch's absolute.

Owner: author. Related: [F-2070] [F-2108] [F-1536] [F-1543] [F-2212] [F-2214] [F-2225] [F-2215] [F-2217].

#### OF-7 · Shaped factbook and pack publication (pending)

Question: Is the shaped factbook pack (v2) published, and does the pack-side lever hold beyond its 20 dev items?

Why it matters: Pack shaping is the one content-side lever that survived the closing tests; BoarLite ships factbook v1, not the shaped v2 (decision 2026-10-24 18:03).

What would change, in either direction: If confirmed on more items, the delivery chapter gains a measured pack-side lever; if not, it stays NOT-CONFIRMED by its frozen rule (one new warned confident error) and is described as such.

Note: NOT-CONFIRMED by its frozen rule (2 seeds, n 20, dev); dropped from BoarLite on 2026-10-24 18:03 (factbook v1 stays); the v2 card is drafted as user-selected only; publishing waits for the author. Author decision 2026-10-25: factbook v2 is not published; its verdict stays NOT-CONFIRMED (F-2104) and LabRat ships factbook v1 (D-196).

Owner: author. Related: [F-2104] [F-1718] [F-1695].

#### OF-8 · DEVICE-FINAL: final on-phone matrix (landed)

Question: What do LabRat 7788924a's claim numbers read when the app answers on the phone itself (ruler v0.4 under both judge families with seeds stated; speed, memory and offline behaviour), under the criterion frozen before the run?

Why it matters: Every ruler reading so far is a desktop twin of b4ef94f3; the bounty asks about a phone, and the shipped app differs from the ruler engine by the Rat persona line.

What would change, in either direction: When it lands, its claim numbers (M1 under both judge families, seeds and win-rate stated; M5 speed, memory and offline) become the publication's final standing for the submitted app, in whichever direction they fall, beside the desktop-twin reading and never pooled with it; M2-M4 enter as product numbers. Its numbers are public by the author's decision of 2026-10-25 (AD-15 (b)); M1 fills the status headline template. If the matrix does not complete, the standing stays the desktop twin of b4ef94f3 with the persona-line caveat, and the record says the on-phone run did not finish.

Note: Landed 2026-10-25 13:2x: on a Pixel 8a, 0 of 71 wins under both judge families; U-total Claude 0.165 (0.127–0.205), gpt-5.6-sol 0.242 (0.194–0.296), seeds 42 and 43 (44 dropped for time); below the 0.50 bar; the phone repeats the desktop twin (paired +0.003 / −0.007). Interrupted once at 11:31 and resumed.

Owner: author. Related: [F-2227] [F-2228] [F-2229] [F-2225] [F-2214] [F-2238] [F-2239] [F-2240] [F-2241] [F-2242] [F-2243] [F-2244].

### Change log

- 2026-10-18 · 0.1-preprint · First living-preprint version: content reframed as interim; status banner, standing and open fronts added.
- 2026-10-18 · 0.1-preprint · Author delegates seven open decisions (D1-D7); adopted: no bench v0.3 before closure, claim v4.2.4 prepared, site uploaded only as v1.0 at closure. Honest-prompt line closed (HONESTPROMPT).
- 2026-10-19 · 0.1-preprint · V-para diagnosis: the 4B gap is mostly wrong-from-memory and absent knowledge; independent direction review says stop opening arms. Public ruler designed (BENCH-RULER).
- 2026-10-20 · 0.1-preprint · Pivot: Qwen3-1.7B becomes the main 8 GB engine (4B optional tier) on phone latency and memory; bench v0.4 item set frozen (75 items) before any system answered; refuse-by-default product rule.
- 2026-10-21 · 0.1-preprint · RULER-SPEC v1 r3 and r4 frozen (judge.v1 + DECLINE2STAGE, A∪ verdict arm, two judge families, information-available split); author: no 35B deep mode delivered, submission = the app maintainer's native app; release-candidate scores kept internal.
- 2026-10-22 · 0.1-preprint · Direction: packs and delivery are the strategy; small focused packs; delivery counted at chunk level; search fixes SEFIX-124 adopted for delivery (+0.013, not a lever; F3 withdrawn as unsafe).
- 2026-10-23 · 0.1-preprint · Author closes the research lines (11:53); closing tests (UXMATRIX, PACKPROOF, U5, WARN-KEPT, NOWIKI, PACK-GAP, QREWRITE); thesis held only in a conditional form; CONTENT-FIRST pack work (shaped factbook); ENGINE-RC built and validated overnight.
- 2026-10-24 · 0.2-preprint · Validation judge keeps Succinct; author decides a closed, simple, Succinct-only chat app and declares BoarLite (his own app) the submission; first ruler v0.4 answers (desktop twins, Claude half only, internal); status reframed: research closed, delivery and ruler run open.
- 2026-10-24 · 0.3-preprint · Evening (17:39-20:34): BoarLite final candidate b4ef94f3 (health gate B+FU, fixed line, factbook v1, QuickMath, preload, onboarding); device smoke on a Pixel 8a (unpack 14 s, 0 B network, PSS 3.09 GB, first answer 11.9 s); SEARCHPORT failed its frozen safety gate and its grounded-dose re-gate, then merged as ON_NO_HEALTH by the author's prior condition although Addendum 2 failed S1 by the letter; GROUNDED-DOSE rule (arms B, C pass); Wikipedia-health limitation accepted; second-family references 75/75; final ruler run on BoarLite's engine landed (OF-6), numbers internal pending the author (AD-15).
- 2026-10-24 · 0.3-preprint · 20:47: final BoarLite release APK (6aa7508a, engine b4ef94f3) passes its offline smoke on a Pixel 8a.
- 2026-10-25 · 0.4-preprint · BoarLite renamed LabRat (assistant Rat) at the app maintainer's request; the Rat persona line entered the grounding prompt after the ruler run (ruler number = b4ef94f3); cleanup decisions (long-chat summary, PIN, Portuguese and the Expo/React Native tree removed; Settings simplified; licences in About); logo n8; APK hosting decided (Hugging Face); install-path risk noted; DEVICE-FINAL criterion frozen and the on-phone matrix started (OF-8, running; interrupted once by an APK install and restarted); open engine bug Citations.applyShown recorded.
- 2026-10-25 · 0.4-preprint · Author's publication decisions: LabRat (formerly BoarLite) numbers public, the app maintainer's app numbers stay internal; headline = the final ruler on the phone (DEVICE-FINAL, templated, running); the desktop ruler run of b4ef94f3 published as history (lower-family U-total 0.164, 0 of 71 wins, below the 0.50 bar); thesis restated (F-2236); Citations.applyShown documented as a known limitation (the ruler run predates the Rat persona line).
- 2026-10-25 · 1.0 · Final: DEVICE-FINAL landed (OF-8): on a Pixel 8a LabRat wins 0 of 71 under both judge families, U-total 0.165 (Claude) / 0.242 (gpt-5.6-sol), two seeds, below the 0.50 bar; phone = desktop twin; M2-M5 product numbers added (the ruler run predates the Rat persona line). LabRat 1.0.0 hosted on Hugging Face and its source public (OF-4 landed); pack counts stated once (13 shipped, 9 self-tested, 7 tested on the phone); article live; headline filled.

## Facts cited {#facts}

Resolve every [F-…] marker in https://r4topunk.github.io/boar-research/data/facts.json. Each line gives the claim, the number with its metric family, set and status, judge, n, seeds, CI, date and caveat.

<!-- lint:exempt:start -->
- [F-001] The frozen 4B claim build on the bounty-style set (V-para) delivers about a quarter of the frontier reference's value above "nothing", and loses every head-to-head. raw 0.413 (0.384–0.445); floor-adjusted 0.261 (0.224–0.300); win/tie/loss 0/0/51 in both seeds (judge.v1 ratio) · set V-para (held-out for this run (cut 3 on 2026-10-05, cut 6 on 2026-10-06); dev-style for everything measured after 2026-10-06) · judge Claude Opus (judge.v1, both orders) · n 51 · seeds 2 (42, 43) · CI 95 % item bootstrap · date 2026-10-06 · caveat: Cut 7 = cut 6 on this set (the FACTS table fires 0 times on it). Public BAR-TABLE prints CI high 0.300; one claim draft prints 0.299 (rounding).
- [F-004] Bar status: no configuration reaches 0.50 on the primary (floor-adjusted) reading; the formal raw rule is met only on development data by the deep tier with thinking. best floor-adjusted on V-para = 0.436 (CI high 0.472), short by 0.064; formal raw rule (CI low > 0.50) met by deep + thinking on dev data only (desktop; the v0.2 leg of the 512 budget is 1 seed); 0 wins on every Claude-judged row of V-para and v0.2 (judge.v1 ratio) · set V-para; v0.2 (dev / dev-style, development data) · judge Claude Opus (judge.v1, both orders) · n 51 / 110 · seeds see rows · CI see F-28 · date 2026-10-10 · caveat: Never present as "bar reached". Under the Claude judge on held-out data the bar was not reached.
- [F-009] Recommended deep configuration (35B mixture-of-experts + 512-token thinking budget) on the bounty-style set. raw 0.553 (0.524–0.581; with seed noise 0.513–0.592); floor-adjusted 0.436 (0.401–0.472; with seed noise 0.387–0.486); win 0/51; desktop p50 ≈ 79 s (judge.v1 ratio) · set V-para (dev-style, development data) · judge Claude Opus (judge.v1, both orders) · n 51 · seeds 2 · CI 95 % item bootstrap; common-mode CI adds seed noise · date 2026-10-09 · caveat: Chosen as the best of ≥ 8 deep configurations on this same set: expect a winner's-curse discount of about 0.01–0.02. QUEUE prints raw 0.552; the two-seed aggregate is 0.553. Desktop only.
- [F-013] Recommended deep configuration on v0.2: the first point above 0.50 floor-adjusted on any set, with a CI that straddles 0.50. raw 0.608 (0.575–0.641); floor-adjusted 0.508 (0.467–0.550); win/tie/loss 0/1/109; desktop p50 ≈ 82 s (judge.v1 ratio) · set v0.2 (dev (burnt), development data) · judge Claude Opus (judge.v1, both orders) · n 110 · seeds 1 (42) · CI 95 % item bootstrap · date 2026-10-09 · caveat: One seed, development data, desktop only.
- [F-017] A judge from a different model family scores everything higher on V-para, but keeps the ranking and the near-zero win-rate. 4B: raw 0.497 (0.449–0.547), floor-adjusted 0.361; deep + think 512: raw 0.667 (0.621–0.711), floor-adjusted 0.577 (0.519–0.632); deep − 4B +0.171 (+0.123…+0.219) vs +0.139 under Claude; per-item Spearman 0.88–0.92; win-rate 0.00–0.01 (judge.v1 ratio) · set V-para (dev-style, development data) · judge cross-family: OpenAI gpt-5.6-sol (via the Codex CLI) (post-hoc, not pre-registered) · n 51 (408 judge calls) · seeds 2 · CI 95 % item bootstrap (4B floor-adjusted CI not in the sources read) · date 2026-10-16 · caveat: Post-hoc and not pre-registered; it is the only point above 0.50 floor-adjusted on V-para and exists only under the cross-family judge; the lower-judge rule keeps the Claude number as headline.
- [F-018] The cross-family judge on v0.2. 4B: raw 0.617 (0.567–0.666), floor-adjusted 0.517 (2 seeds); deep + think 512: raw 0.714 (0.666–0.759), floor-adjusted 0.639 (0.579–0.695) (1 seed); deep − 4B +0.097 vs +0.096 under Claude; Spearman 0.90–0.97; win-rate 2.7 % / 6.4 % vs 0 % under Claude (judge.v1 ratio) · set v0.2 (dev (burnt), development data) · judge cross-family: OpenAI gpt-5.6-sol (via the Codex CLI) (post-hoc, not pre-registered) · n 110 (660 judge calls) · seeds 4B 2, deep 1 · CI 95 % item bootstrap · date 2026-10-17 · caveat: Post-hoc. The Claude judge is the stricter family by ≈ 0.10 on both sets; the offset is stable across sets and arms.
- [F-023] On a real 12 GB-class phone, in airplane mode, the frozen build gives the same judged quality as on the desktop. phone raw 0.529 (0.481–0.575) vs desktop 0.529; floor-adjusted 0.403 vs 0.402; paired −0.000 (−0.026…+0.028); 72/72 answered; fast-tier p50 30.7 s; app memory (PSS) peak 5.88 GB during model load, then ≤ 4.23 GB (judge.v1 ratio) · set v0.1 (public dev, development data) · judge Claude Haiku 5.5-low (L1 triage judge, N = 4, both orders) · n 57 · seeds 1 run · CI paired 95 % bootstrap · date 2026-10-14 · caveat: Haiku-judged level; not comparable with Opus-judged ratios. The device has 10.7 GiB usable RAM.
- [F-035] Projected phone time for the recommended deep configuration (never measured on a phone). ≈ 1.9–2.8 min per answer at thinking budget 512 on a 12 GB phone CPU (third-party public decode rates of 4–6 tok/s + BOAR arithmetic); the 2026-10-09 estimate of 3.5–5 min was for budget 1024 · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI projection · date 2026-10-12 · caveat: Third-party rates, not a BOAR measurement.
- [F-036] An expert-streaming engine runs the 35B model in under 3 GiB of RAM on a desktop CPU with judged-equivalent answers. judged 0.625 vs llama-server 0.634, paired −0.010 (−0.042…+0.018); RSS 2.75–2.81 GiB; 14–17 tok/s on the Mac mini CPU; 10/10 greedy-identical vs the fork base · set v0.1 (public dev, development data) · judge Claude Opus (judge.v1, both orders) · n 57 (R450 contexts) · seeds 1 · CI paired 95 % bootstrap · date 2026-10-16 · caveat: Desktop only, experts read from a fast SSD and page cache; phone flash speed is unmeasured (analytic bound ≈ 4–6 tok/s with compute).
- [F-037] The on-device MoE engine (bmoe) is not token-identical to the desktop server but is judged equivalent on identical contexts. 0.623 vs 0.634, Δ −0.012 (−0.045…+0.020); greedy token-identical 0/10 · set v0.1 (public dev, development data) · judge Claude Opus (judge.v1, both orders) · n 57 · seeds 1 · CI paired 95 % bootstrap · date 2026-10-07 · caveat: An equivalence, not a lever: lets desktop deep-tier numbers transfer to a bmoe device plan with this caveat.
- [F-038] Every touch of a held-out set was logged; both held-out sets are now development data. v0.2: 12 full generation runs, 10 full Opus passes → burnt, dev (ruling 2026-10-06); V-para: 19 full runs + 12 slices → held-out for the 4B claim runs only, dev-style after 2026-10-06 (ruling 2026-10-09) · set v0.2; V-para (burnt / dev-style, development data) · judge UNKNOWN · n 110 / 58 (51 judged + 7 venue) · seeds UNKNOWN · CI not computed · date 2026-10-09
- [F-205] Bar test power at n = 110: required point estimate ≈ 0.53 without run noise, ≈ 0.545 with one-seed run noise; a true 0.53 passes only ≈ 29-50 % of the time. 0.53 / 0.545 · set v0.3 plan (status UNKNOWN) · judge UNKNOWN · n 110 · seeds UNKNOWN · CI n 110 · date 2026-10-12 · caveat: t-based, not bootstrap
- [F-211] The planned 40-pair blind human label check (seed 7, stratified) has not been done. 0/40 · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-13
- [F-270] Cross-family rule in the plan: if a second-family judge differs by > 0.05 raw, the lower of the two is the headline; report κ between judges. 0.05 (judge.v1 ratio) · set v0.2/v0.3 (status UNKNOWN) · judge UNKNOWN · n 110 (inferred from set) · seeds UNKNOWN · CI not computed · date 2026-10-02
- [F-793] LES (expert streaming) on a phone is projected at ≈ 4 tok/s (UFS 3.1) to ≈ 6 tok/s (UFS 4.0) including compute; analytic, unmeasured. with compute ≈ 4 tok/s (UFS 3.1) and ≈ 6 tok/s (UFS 4.0); I/O-only upper bounds 4.8 / 8.0 tok/s · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI analytic · date 2026-10-16 · caveat: '6-8' mixes the compute-included estimate with the I/O-only bound; analytic, unmeasured
- [F-1245] Claim text sentence (draft v4.2.4, as of 2026-10-17) "BOAR is not shown to be half as good as frontier AI with web." · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-17 · caveat: draft, not published at time of reading
- [F-1251] v0.3 = author writes items by hand with one non-Claude web-UI model; references from the same non-Claude model; Claude never edits item text (why: removes judge-family authorship of items and references) · date 2026-10-07 · caveat: outcome: write kit delivered 10-16; no items as of 10-17 · later: No v0.3 was written (decision D5, 2026-10-18); the v0.4 ruler set (half Claude, half OpenAI gpt-5.6-sol, frozen 2026-10-20) took its place and is not written outside the Claude family.
- [F-1252] v0.3 target composition: 110 items in the same 10 strata, ≥ 40 % centred outside Europe/North America, ≤ 2 per country, each hinging on a checkable fact. 110 · set v0.3 (unwritten) (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-07
- [F-1253] v0.3 references from a non-Claude family move the denominator: v0.3 ratios are not 1:1 comparable with v0.1/v0.2. not comparable · set v0.3 (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-07
- [F-1272] PR #85 contents at opening. 13 cut 7 commits rebased + 1 test + 2 wiring commits; vitest 1,378/1,378; replay 60/60; generation 59/60 · set v0.1 public (status UNKNOWN) · judge none · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-15 10:10 · caveat: later + CodeRabbit fixes, NUMGUARD r3, HEALTHGAP r2 (tip 8ac9eb7a)
- [F-1282] v0.3 write kit handed to the author (items still unwritten) · date 2026-10-16 · later: No v0.3 was written (decision D5, 2026-10-18); the v0.4 ruler set (half Claude, half OpenAI gpt-5.6-sol, frozen 2026-10-20) took its place and is not written outside the Claude family.
- [F-1289] The native app does not run the research engine's health path or deterministic answers. · date 2026-10-17 · caveat: from maintainer's own portal report + guard texts missing
- [F-1297] v0.3 similarity gate: 0 pairs with word-Jaccard > 0.30 or embedding cosine ≥ 0.90 against public, safety and every held-out pool. thresholds · set v0.3 (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed
- [F-1316] Public repos at release. boar-bench 139 files / 2.26 MB; boar-research 411 files / 5.53 MB · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-15 01:18 / 10:07 · caveat: one commit each, author "BOAR R&D"
- [F-1371] D2: submit on the 10-20 date with claim v4.2.4 (app "scored internally, final build published when it ships") post prepared ; posting not recorded in slice · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-18 · caveat: who decided: delegated coordinator; why: meets date; numbers honest; alternatives: ask extension to a later date; submit research build; reversible: partly | Verification note: The parenthetical wording ('scored internally, final build published when it ships') is the claim text's, sourced at not .
- [F-1374] D5: no bench v0.3 (non-Claude held-out set) before closure. record declares no unexposed set; later partly superseded by v0.4 ruler (see §6) · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-18 · caveat: who decided: delegated coordinator; why: ~14-24 h of author item writing; would land after the deadline; bar needs ~0.53 at n 110 vs best ~0.43-0.51; serves honesty, not winning; alternatives: 60-item wave 1; 6-item pilot; reversible: yes | VERIFIER NOTE: Base OF-3 says 'the author decided'; precise form: the author delegated D1-D7 and the coordinator's recommendation (skip v0.3) was adopted ( l.4).
- [F-1532] 35B deep mode not delivered; deep tier appears only as roadmap with desktop numbers. stood · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-21 · caveat: who decided: author (GRILL); why: focus on 8 GB UX; no Android expert-streaming build; alternatives: 12 GB deep tier; reversible: yes
- [F-1536] Final score = submitted native APK on Pixel 8a, v0.4 frozen (75 items), Claude + OpenAI gpt-5.6-sol judges, frontier + web references. ruler r3/r4 built for it; run pending a new RC · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-21 · caveat: who decided: author (GRILL); why: the bounty judges the app; alternatives: engine-only score; reversible: partly (depends on RC)
- [F-1537] Submission = the maintainer's native Kotlin app, not the RN bench engine. re-based speed lines (bench levers page-only) and claim section 0 · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-21 · caveat: who decided: author; why: that is what will be submitted; alternatives: engine-only claim; reversible: no (fact of the submission)
- [F-1543] Freeze r4: add information-available split (FACT-AVAIL) + ORACLE/ORACLE-0 rows; U-total stays verdict. frozen sha 82772e33; labels quarantined (ruler U-total) · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-21 · caveat: who decided: author asked; coordinator + reviewer (H1-H8); why: separate "packs lack it" from "app fails to deliver it"; alternatives: no split; reversible: no (frozen) Metric: ruler v0.4 U-total (ratio of sums against the reference mass, 71 headline items, health weight 0.5); never compare with the judge.v1 ratio.
- [F-1601] Public pack uploads in slice. simplewiki r2 (convert fix) 10-21; kb-index-research snapshot 10-22 · set UNKNOWN (n/a) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 10-21/22 · caveat: standing pack-workflow OK
- [F-1695] Shaped factbook v2: card drafted as user-selected only; publish waits for author OK. Not published as of 10-24; in ENGINE-RC kit; BoarLite D3 puts it in the APK · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-23 · caveat: who: delegated coordinator; publish = author; why: Opus +0.121 but one new warned CE; correct-any 0.50 < 0.60 eligibility; reversible: yes · later: 2026-10-24 18:03: BoarLite keeps factbook v1; the shaped factbook v2 is not in the app.
- [F-1718] FACTBOOK-V2 Opus confirm. U 0.316→0.436 pooled, +0.121 · set factbook self-tests, dev (dev (pack-written self-tests), development data) · judge Claude Opus judge.v1 (ratio U, old family) · n 20 · seeds UNKNOWN · CI CI +0.030..+0.221; n 20; 2 seeds · date 2026-10-23 · caveat: NOT-CONFIRMED: 1 new warned confident error
- [F-1720] RETBENCH best (k4 + compress 0.4): MAIN 42→45. closed by probes (2 dose/number changed) · set dev (dev, development data) · judge 0-LLM · n 97 · seeds UNKNOWN · CI n 97 / 65 · date 2026-10-23 · caveat: RETBENCH v1 = reusable 0-LLM bench AI-reviewed, not clinically reviewed.
- [F-1989] CONVERT-FIX: Converter drops unit-conversion values. artefact chunks 3,176→524; simplewiki r2 published 15:01 · set pack rebuild (status UNKNOWN) · judge counts · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-21 · caveat: criterion frozen: n/a (bug + 11 tests); arm verdict: shipped (pack r2)
- [F-2070] Bench v0.4 frozen. 75 items (71 headline + 4 anchors); 329 checklist points supported on the open web (at least one family, none contradicting; the 32 balance-round points by both families); sha f9ad2f2f (ruler U-total) · set v0.4 (held-out ruler) (held-out ruler (v0.4; exposed to two engines 2026-10-24)) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-20 · caveat: written by Claude + OpenAI gpt-5.6-sol (the judge families)
- [F-2104] Shaped factbook. fact chunk kept 7→15/20; correct 5→10/20; Opus U 0.316→0.436 (+0.121, +0.030..+0.221) · set factbook self-tests (pack-written) (dev (pack-written self-tests), development data) · judge Claude Haiku; Claude Opus · n UNKNOWN · seeds UNKNOWN · CI 20 items, 2 seeds · date 2026-10-23 · caveat: NOT-CONFIRMED (1 new warned CE); does not transfer to the native engine
- [F-2108] Bench v0.4 exposure. first answers by two engines 10-24; any later engine change = developed after exposure (ruler U-total) · set v0.4 (held-out ruler, now exposed) (held-out ruler (v0.4; exposed to two engines 2026-10-24)) · judge Claude Opus · n UNKNOWN · seeds UNKNOWN · CI 75 items × 2 seeds × 2 engines · date 2026-10-24 · later: 2026-10-24 20:34: a third engine (BoarLite b4ef94f3) answered v0.4 in the final ruler run; its numbers are internal pending the author.
- [F-2118] Expert-streaming engine cross-built for Android. builds; phone numbers unmeasured · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-19 · caveat: no phone run in this slice
- [F-2198] Device smoke of BoarLite (APK 9d7fdc2e) on a Pixel 8a in airplane mode: first launch unpacks 18 files (3 GB) to the chat in 14 s; 0 bytes received or sent over the network; 0 crashes; PSS 3.09 GB after 5 answers; a child ibuprofen-dose question gets the fixed health text; the first answer took about 2 min (model load), later answers 5.9-7.4 s at 15.9-16.0 tok/s. unpack 14 s; network rx 0 B / tx 0 B; PSS 3.09 GB; 0 crashes · set device smoke (hand questions, Pixel 8a, airplane mode) (dev, development data) · judge none (hand check) · n 5 questions · seeds UNKNOWN · CI not computed · date 2026-10-24 18:45 · caveat: One device, 5 hand questions. Findings: a unit conversion listed unrelated sources (fixed later by QuickMath); no loading indicator for the first answer (fixed later by the model preload); retrieval noise on one answer. Health content: AI-reviewed, not clinically reviewed. Nothing here is medical advice.
- [F-2201] Device run of the candidate APK (5b457fc7: onboarding + an exposure rule) on the Pixel 8a: tour at 12 s after launch (unpack done), model ready at 18 s, first answer 11.9 s at 14.9 tok/s (the earlier ~2 min first answer is gone); "40 C in F" computed with the formula and no sources; 0 bytes over the network; 0 crashes. tour 12 s; model ready 18 s; first answer 11.9 s at 14.9 tok/s · set device smoke (hand questions, Pixel 8a, airplane mode) (dev, development data) · judge none (hand check) · n hand run (4 checks) · seeds UNKNOWN · CI not computed · date 2026-10-24 19:12 · caveat: One device, hand run. A cold-exposure question (stranded in a car at -20 °C) got the right Fahrenheit value with a wrongly stated formula and no cold-safety advice (medium finding); the last tour button wraps to two lines (low). Health content: AI-reviewed, not clinically reviewed. Nothing here is medical advice.
- [F-2210] BoarLite final candidate b4ef94f3 (search port ON_NO_HEALTH): 0-LLM gate on the 65 probes with history searched as the app does gives 41 fixed text, 1 exposure answer and 23 model answers, identical with the port off (the port changes no health path); the invented-dose and blood-pressure probes stay fixed; the health predicate is byte-identical (0 new false fires); release APK 3,044,169,517 B with no INTERNET permission. 41 fixed / 1 exposure / 23 model of 65; APK 3,044,169,517 B · set 65 F3-SAFETY probes (dev) (dev, development data) · judge none (0 LLM) · n 65 probes · seeds UNKNOWN · CI not computed · date 2026-10-24 19:40 · caveat: Engine tests, device-test compile and debug build pass. Health content: AI-reviewed, not clinically reviewed. Nothing here is medical advice.
- [F-2212] REFS-V2, OpenAI gpt-5.6-sol half complete: 75 of 75 v0.4 references written with live web search under the frozen protocol, 0 hard failures, 97 calls (two items completed on a resumed run); references of both judge families now exist. 75 / 75; 0 hard failures · set v0.4 (held-out ruler) (held-out ruler (exposed)) · judge UNKNOWN · n 75 items (88 turns) · seeds UNKNOWN · CI not computed · date 2026-10-24 20:05 · caveat: Protocol frozen 2026-10-21 before any call (prompt 5e41177d, generator eb2fd7e2). Reference text not read by the coordinator.
- [F-2213] After the engine used for the final ruler run (b4ef94f3), BoarLite's main branch gained two UI-only commits (brand colours always on; an animated six-card tour over the real chat UI): 10 files, 0 engine files, so the ruler run stays valid for the final engine; the release APK is rebuilt from 6aa7508a. 10 files changed, 0 under engine/ · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-24 20:32 · later: 2026-10-25: LabRat 7788924a changes the grounding prompt's identity line after the ruler run, so the shipped app is no longer engine-identical to b4ef94f3; the ruler number stays the number for b4ef94f3.
- [F-2214] Final ruler run (RULER-FINAL) on BoarLite's final engine b4ef94f3 exists as of 2026-10-24 20:34: desktop twin of the app path (QuickMath, search port ON_NO_HEALTH, health gate, history as the app sends it), 71 headline items + 4 anchors of bench v0.4, one seed, each judge family against its own references (Claude Opus vs the Claude references; OpenAI gpt-5.6-sol vs its references), 150 + 150 judge calls, addendum frozen before any generation; its numbers were held until the author's publication decision of 2026-10-25 (now public as F-2215 and F-2217; history, the headline is DEVICE-FINAL) · set v0.4 (held-out ruler; exposed) (held-out ruler (v0.4; now exposed to three engines)) · judge Claude Opus + OpenAI gpt-5.6-sol (each vs its own references) · date 2026-10-24 20:34 · caveat: Deviations from the spec: one seed (spec: two; the author's choice), one reference family per judge family, stage 1 (DECLINE2STAGE) not run, no errata, desktop twin not the APK on a phone (the spec labels desktop-twin numbers dev/parity evidence). v0.4 is the claim set: no tuning after this run.
- [F-2215] RULER-FINAL U-total of BoarLite b4ef94f3 on v0.4: Claude family 0.164 (0.123-0.208), OpenAI gpt-5.6-sol family 0.245 (0.194-0.300); minimum over families 0.164 (0.123-0.206); win-rate 0 of 71 (Claude) and 0 of 71 with 1 tie (gpt-5.6-sol); fixed-text refusals on 3 items. Claude 0.164; gpt-5.6-sol 0.245; min 0.164; win-rate 0 (ruler U-total) · set v0.4 (held-out ruler; exposed) (held-out ruler (v0.4; exposed)) · judge Claude Opus + OpenAI gpt-5.6-sol (each vs its own references) · n 71 headline items · seeds 1 (42) · CI Claude 0.123-0.208; gpt-5.6-sol 0.194-0.300; min 0.123-0.206 · date 2026-10-24 20:34 · caveat: Metric: ruler v0.4 U-total (71 headline items, health weight 0.5); never on one axis with the judge.v1 ratio or outcome labels. Desktop twin, one seed. Published by the author's decision of 2026-10-25 (AD-15 (b)): BoarLite/LabRat is the author's own submission. History, not the headline: desktop twin of engine b4ef94f3, one seed, before the Rat persona line and the cleanup (F-2223, F-2225); not a measurement of LabRat 7788924a. The headline is the on-phone run DEVICE-FINAL (OF-8).
- [F-2217] RULER-FINAL information-available split: Claude family U-total 0.164 where the installed packs hold the answer (n 19), 0.174 partly (n 25), 0.155 not at all (n 27); gpt-5.6-sol family 0.272 / 0.238 / 0.233: with the information present, the 1.7B does not deliver it. AVAILABLE 0.164 vs NONE 0.155 (Claude) (ruler U-total) · set v0.4 (held-out ruler; exposed) (held-out ruler (v0.4; exposed)) · judge Claude Opus + OpenAI gpt-5.6-sol · n 19 / 25 / 27 headline items · seeds 1 (42) · CI not computed · date 2026-10-24 20:34 · caveat: Metric: ruler v0.4 U-total (71 headline items, health weight 0.5); never on one axis with the judge.v1 ratio or outcome labels. Pre-registered stratifier (spec r4). Published by the author's decision of 2026-10-25 (AD-15 (b)): BoarLite/LabRat is the author's own submission. History, not the headline: desktop twin of engine b4ef94f3, one seed, before the Rat persona line and the cleanup (F-2223, F-2225); not a measurement of LabRat 7788924a. The headline is the on-phone run DEVICE-FINAL (OF-8).
- [F-2219] Final BoarLite release APK (build 6aa7508a = engine b4ef94f3 plus UI-only commits: brand colours, animated six-card tour) smoke-tested on a Pixel 8a in airplane mode: fresh install, tour renders, 0 bytes of network traffic, 0 crashes, peak PSS 3.23 GB; a cited answer in 14.9 s at 16.3 tok/s and another in 9.4 s; the child-dose question gets the fixed health text; temperature conversion computed by code. PASS; 0 B network; 0 crashes; PSS 3.23 GB; 14.9 s at 16.3 tok/s · set device smoke (dev) (dev, development data) · judge none (smoke checks) · n 6 smoke questions · seeds UNKNOWN · CI not computed · date 2026-10-24 20:47 · caveat: A smoke test, not a quality measurement. One answer (minor burn) came from a first-aid source without a citation marker plus 2 unrelated sources. Health content: AI-reviewed, not clinically reviewed. · later: 2026-10-25: later APKs (cleanup ff50c5ff, LabRat 7788924a, logo 0ad476ca) replaced the 6aa7508a release APK on the phone.
- [F-2224] BoarLite renamed LabRat at the app maintainer's request (commit 7788924a): the name changes in the UI, docs and assets; the assistant is called Rat (answer byline, notification, and the grounding prompt's identity line); a new rat mark in the app, launcher and splash. Unchanged: the package id, the code packages, the bundled knowledge catalogue and the About credit "Based on BOAR (MIT)". Phone smoke 6/6: titles, health gate and conversion match the baseline; "Who are you?" answers "I am Rat…" BoarLite → LabRat; assistant Rat; smoke 6/6 · set device smoke (dev) (dev, development data) · judge none (smoke checks) · n 6 smoke questions · seeds UNKNOWN · CI not computed · date 2026-10-25 02:20 · caveat: A rename plus one prompt line; a smoke test, not a quality measurement. The final ruler number (RULER-FINAL) measures engine b4ef94f3 on its desktop twin; LabRat 7788924a adds the Rat persona line to the grounding prompt after that run, so the ruler number is not a measurement of LabRat 7788924a.
- [F-2225] Engine change after the ruler run: in LabRat 7788924a the grounding prompt's identity line changed from "You are BOAR, an offline AI research app running on this phone…" to "You are Rat, the assistant in LabRat, an offline AI research app running on this phone…". The final ruler run (RULER-FINAL, 2026-10-24 20:34) was on b4ef94f3, before this change: its number is for b4ef94f3 (desktop twin), and DEVICE-FINAL measures LabRat 7788924a on the phone. persona line changed after RULER-FINAL · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 02:20 · caveat: The final ruler number (RULER-FINAL) measures engine b4ef94f3 on its desktop twin; LabRat 7788924a adds the Rat persona line to the grounding prompt after that run, so the ruler number is not a measurement of LabRat 7788924a.
- [F-2227] DEVICE-FINAL criterion frozen (sha256 recorded) on 2026-10-25 03:3x, before any matrix generation: LabRat 7788924a answers on a Pixel 8a 8 GB in airplane mode on AC power. Matrix: M1 ruler v0.4 (75 items, 88 turns) on seeds 42, 43 and 44, judged as in RULER-FINAL (Claude Opus vs Claude references on all three seeds; OpenAI gpt-5.6-sol vs its references on seed 42, further seeds optional), reporting per family the U-total, CI, win-rate, refusals, the minimum over families, the three-seed mean and a phone-vs-desktop parity read against the b4ef94f3 desktop twin (not a verdict); M2 the 65 safety probes (0 LLM); M3 the 140 on-K13 pack self-tests and M4 the 60 UXMATRIX items (Claude Haiku labels); M5 latency, time to first token, decode speed, memory, battery temperature, three cold starts and the app's network counters over the night. Claim numbers = M1 (both families named, seeds stated, win-rate first) and M5 (speed, memory, offline); M2-M4 are product numbers. No tuning, no engine change. matrix M1-M5; claim numbers = M1 + M5 (ruler U-total) · set bench v0.4 (exposed); 65 safety probes; 140 on-K13 self-tests; UXMATRIX 60 (dev, development data) · judge Claude Opus + OpenAI gpt-5.6-sol (M1); Claude Haiku 5.5-low labels (M3, M4); none (M2, M5) · n 75 items × 3 seeds + 265 product items · seeds 42, 43, 44 (M1); 42 (M2-M4) · CI not computed · date 2026-10-25 03:3x · caveat: No DEVICE-FINAL result is in this record; the matrix was running as of this update.
- [F-2228] DEVICE-FINAL started overnight on 2026-10-25 at the author's request (final benchmarks with the app running the engine on the phone, for publication): the device eval runner was patched on an eval branch to answer follow-up turns with the chat's history and to record the streamed text the chat shows; engine logic untouched; the unbundled release was installed over the bundled data with the same signing identity; a pre-run smoke and a follow-up-turn check passed. running · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 03:3x · caveat: No DEVICE-FINAL result is in this record; the matrix was running as of this update.
- [F-2229] An APK install on the Pixel 8a interrupted the DEVICE-FINAL run on 2026-10-25 11:28; the run was restarted, and the phone is kept free of installs until the matrix log ends. · date 2026-10-25 11:28 · caveat: No DEVICE-FINAL result is in this record; the matrix was running as of this update. Process fact only. · later: 2026-10-25 final: the run was resumed (69 complete items kept, 6 re-run), not restarted from scratch.
- [F-2230] APK hosting decided: the 3.04 GB LabRat APK goes to Hugging Face (author's OK on 2026-10-25) because GitHub release assets must be under 2 GiB; a public install page is planned with the download link, sha256, about 6 GB free space, Android 8+, "install unknown apps", the Play Protect prompt and a first launch of about 12 s. The code repository stays private unless the author decides otherwise. Hugging Face; upload pending · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 · caveat: As of this update the upload is not recorded as done. · later: 2026-10-25 15:3x: the APK is hosted on Hugging Face (huggingface.co/r4topunk/labrat); the code repository is public (labrat-boar-fork).
- [F-2231] Install-path limits found before release: Android developer verification is live since 2026-09-30 in Brazil, Indonesia, Singapore and Thailand; adb installs are exempt, but browser installs of apps from unregistered developers may hit an "advanced flow" (a warning and a one-day wait), scope unconfirmed. The test phone runs GrapheneOS, which is not Google-certified, so it cannot prove the judges' install path; a browser-install test on a stock certified phone is planned, and registering the app with the developer verification is the mitigation (needs the author's Google account) risk open · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 · caveat: Policy scope as checked by the build session on 2026-10-25, not confirmed on a certified phone.
- [F-2232] Open engine bug, as of 2026-10-25: the citation-support step (Citations.applyShown) is not applied to the streamed answer the chat shows (found by the final ruler run). Fixing it changes the engine and would need a ruler rerun; the decision is the author's. RULER-FINAL scored, and DEVICE-FINAL records, what the chat shows. open; fix needs a ruler rerun · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 · caveat: No fix is in the record as of this update.
- [F-2233] Claim-text plan (2026-10-24 PM hand-off): lead with what the app does and the final ruler numbers labelled with both judge families, the seed count, "desktop twin" and the win-rate, plus measured product numbers each labelled with the engine they come from; wording goes to an independent reviewer, then the author. Also pending: a decisions-and-evidence page for the judges, a short demo post and the app's About text. plan; not posted · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-24 20:5x · caveat: The ruler numbers stay internal until the author rules on AD-15; this row states the plan, not the numbers.
- [F-2234] Post-submission backlog (not before the submission): medical Wikipedia titles as health sources; a dose guard (cut ungrounded or toxic-threshold doses) so the search port can run on health turns; X2B-BUDGET 900 and RETBENCH k4+comp40 (both passed the grounded-dose re-gate) into the native search port; factbook v2 with the new search. · date 2026-10-24 20:5x · caveat: Health content: AI-reviewed, not clinically reviewed. Nothing here is medical advice.
- [F-2235] Latest LabRat APK (0ad476ca, bundled, same signing identity, no INTERNET permission) installed on the Pixel 8a after the rename and logo: smoke 6/6 matching the baseline (retrieved titles, health gate and conversion); the earlier cleanup build ff50c5ff is 3.04 GB. The APK built from b4ef94f3, the ruler engine, is kept. smoke 6/6 · set device smoke (dev) (dev, development data) · judge none (smoke checks) · n 6 smoke questions · seeds UNKNOWN · CI not computed · date 2026-10-25 11:24 · caveat: A smoke test, not a quality measurement. The final ruler number (RULER-FINAL) measures engine b4ef94f3 on its desktop twin; LabRat 7788924a adds the Rat persona line to the grounding prompt after that run, so the ruler number is not a measurement of LabRat 7788924a.
- [F-2238] DEVICE-FINAL M1, the final ruler measured on the phone: LabRat on a Pixel 8a (8 GB, airplane mode) answered bench v0.4 (71 headline items + 4 anchors) on seeds 42 and 43. It won 0 of 71 head-to-heads under both judge families (one tie under OpenAI gpt-5.6-sol on seed 42). U-total, both seeds pooled: Claude Opus 0.165 (0.127–0.205), OpenAI gpt-5.6-sol 0.242 (0.194–0.296). Per seed: Claude 0.167 (0.129–0.209) and 0.162 (0.125–0.201); gpt-5.6-sol 0.244 (0.193–0.298) and 0.241 (0.190–0.297). The lower family, Claude at 0.165 (0.127–0.205), is below the 0.50 bar. 5 headline items were refusals; answer coverage 0.90. 0 of 71 wins under both families; U-total 0.165 (Claude) / 0.242 (gpt-5.6-sol); below the 0.50 bar (ruler U-total) · set bench v0.4 (exposed) (held-out ruler (v0.4; exposed)) · judge Claude Opus + OpenAI gpt-5.6-sol via the Codex CLI (each vs its own references) · n 71 headline items + 4 anchors · seeds 42, 43 · CI Claude 0.127-0.205; gpt-5.6-sol 0.194-0.296 (pooled seeds 42+43) · date 2026-10-25 13:2x · caveat: Metric: ruler v0.4 U-total (71 headline items, health weight 0.5); never on one axis with the judge.v1 ratio or outcome labels. v0.4 has been answered by our engines since 2026-10-24, so it is no longer unseen (F-2214). One reference family per judge family; stage 1 not run; no errata. Two seeds (42, 43): the criterion listed 42, 43 and 44; seed 44 was dropped for time (two seeds = the ruler spec). Measured build: LabRat 0ad476ca (engine = 7788924a, b4ef94f3 plus the Rat persona line; 0ad476ca changes brand files only). The released LabRat 1.0.0 (dcc515fc) has the same engine module (empty git diff); its later changes are UI, credits, docs and build scripts.
- [F-2239] DEVICE-FINAL phone vs desktop twin (seed 42, paired over the 71 headline items): Claude 0.167 on the phone vs 0.164 for the desktop twin of b4ef94f3, +0.003 (−0.022…+0.026), 21 items better and 16 worse; gpt-5.6-sol 0.244 vs 0.245, −0.007 (−0.039…+0.023), 22 better and 22 worse. The phone repeats the desktop number; a parity read, not a verdict. paired +0.003 (Claude) / −0.007 (gpt-5.6-sol) (ruler U-total) · set bench v0.4 (exposed) (held-out ruler (v0.4; exposed)) · judge Claude Opus + OpenAI gpt-5.6-sol via the Codex CLI (each vs its own references) · n 71 headline items · seeds 42 · CI Claude −0.022…+0.026; gpt-5.6-sol −0.039…+0.023 · date 2026-10-25 13:2x · caveat: Metric: ruler v0.4 U-total (71 headline items, health weight 0.5); never on one axis with the judge.v1 ratio or outcome labels. v0.4 has been answered by our engines since 2026-10-24, so it is no longer unseen (F-2214). One reference family per judge family; stage 1 not run; no errata. The two engines differ by the Rat persona line and platform sampling. Measured build: LabRat 0ad476ca (engine = 7788924a, b4ef94f3 plus the Rat persona line; 0ad476ca changes brand files only). The released LabRat 1.0.0 (dcc515fc) has the same engine module (empty git diff); its later changes are UI, credits, docs and build scripts.
- [F-2240] DEVICE-FINAL M5, speed, memory and offline on the Pixel 8a (model-written turns of v0.4 seed 42, n 82): total answer time p50 13.9 s (p90 19.6 s), first word p50 9.8 s (p90 14.5 s), decode 11.8 tokens/s, search 1.6 s, peak memory (RSS) 3.87 GB, battery at most 36.4 °C. After 45 minutes of continuous use (seed 43): 17.0 s p50 and 8.9 tokens/s. Cold starts: model load 1.6–1.7 s, first word 10.4–19.4 s. A fresh install on a cool phone decoded 16.7 tokens/s. Network: the app has no traffic record in the phone's network statistics before or after the matrix, and no internet permission. p50 13.9 s; first word 9.8 s; 11.8 tok/s; 3.87 GB; 0 network traffic (ruler U-total) · set bench v0.4 turns on the phone (dev, development data) · judge none (device metrics) · n 82 model-written turns per seed · seeds 42 (43 for the warm read) · CI not computed · date 2026-10-25 13:2x · caveat: One phone (Pixel 8a, GrapheneOS, AC power, screen on). Heat roughly halves decode speed under sustained use: quote the range. Measured build: LabRat 0ad476ca (engine = 7788924a, b4ef94f3 plus the Rat persona line; 0ad476ca changes brand files only). The released LabRat 1.0.0 (dcc515fc) has the same engine module (empty git diff); its later changes are UI, credits, docs and build scripts.
- [F-2241] DEVICE-FINAL M2, the 65 written health and safety probes on the phone (0 LLM scoring): 53 got the fixed safe health text and 12 went to the model (the desktop twin of b4ef94f3: 41 fixed, 1 exposure answer, 23 model); 2 model answers added a dose figure the question did not ask for. One of them (a carbon-monoxide reading of 200 ppm at home) calls the level unsafe but understates an emergency; the author kept it as a known limitation. 53 of 65 fixed text; 2 new dose figures · set 65 written safety probes (dev; the gate's rules were tuned on them) (dev, development data) · judge none (0 LLM scorer) · n 65 probes · seeds 42 · CI not computed · date 2026-10-25 13:2x · caveat: Health content: AI-reviewed, not clinically reviewed. Nothing here is medical advice. Measured build: LabRat 0ad476ca (engine = 7788924a, b4ef94f3 plus the Rat persona line; 0ad476ca changes brand files only). The released LabRat 1.0.0 (dcc515fc) has the same engine module (empty git diff); its later changes are UI, credits, docs and build scripts.
- [F-2242] DEVICE-FINAL M3, 140 pack-written self-tests of the 7 tested packs that LabRat ships (20 each) on the phone: correct-any 0.400 (0.314–0.479); 0.476 when the question's own article was kept (n 82) vs 0.293 when it was not (n 58); wrong-any 0.436. correct 0.40 of 140 (outcome-label share) · set pack-written self-tests (dev) (dev (pack-written self-tests), development data) · judge Claude Haiku 5.5-low labels (UXMATRIX protocol) · n 140 · seeds 42 · CI 0.314-0.479 · date 2026-10-25 13:2x · caveat: Outcome-label shares, not the ruler scale. Self-tests favour the packs. Correct-with-source is a lower bound (phone rows hold source titles only). Health content: AI-reviewed, not clinically reviewed. Nothing here is medical advice.
- [F-2243] DEVICE-FINAL M4, the 60 UXMATRIX items on the phone: correct-any 0.350 (0.233–0.467), wrong-any 0.617. correct 0.35 of 60 (outcome-label share) · set UXMATRIX 60 (dev) (dev, development data) · judge Claude Haiku 5.5-low labels (UXMATRIX protocol) · n 60 · seeds 42 · CI 0.233-0.467 · date 2026-10-25 13:2x · caveat: Outcome-label shares, not the ruler scale. Correct-with-source is a lower bound (phone rows hold source titles only).
- [F-2244] DEVICE-FINAL ran as one interrupted and resumed run: seed 42 stopped at 77 of 88 turns at 11:31 when an APK install of LabRat 0ad476ca (brand files only) reached the phone; the 69 complete items were kept and the 6 unfinished ones were re-run on 0ad476ca; seeds 43 and the M2-M5 matrix ran entirely on 0ad476ca; seed 44 was dropped for time. interrupted once, resumed; seed 44 dropped · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 11:31 · caveat: Process fact.
- [F-2246] LabRat 1.0.0 released: APK dcc515fc, 3,041,570,902 bytes, sha256 d2e00ba4a9adff6f903eab7d34759fd4f4db9cd721303dc7c38ae280b465dae8, hosted on Hugging Face at huggingface.co/r4topunk/labrat and installed on the Pixel 8a. The bundle was rebuilt from public pinned URLs only (16 of 16 inputs fetched and checked by sha256) 1.0.0 hosted; sha256 d2e00ba4… · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 15:3x · caveat: Measured build: LabRat 0ad476ca (engine = 7788924a, b4ef94f3 plus the Rat persona line; 0ad476ca changes brand files only). The released LabRat 1.0.0 (dcc515fc) has the same engine module (empty git diff); its later changes are UI, credits, docs and build scripts.
- [F-2247] The LabRat source is public at github.com/r4topunk/labrat-boar-fork (MIT, a fork of BOAR), with README, results, pack provenance and licence; made public with the author's OK. public repository · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 15:4x
- [F-2248] Knowledge-pack counts, one meaning each: LabRat ships 13 packs (the K13 kit), and every one of the 13 exact files is downloadable from the boar-packs dataset on Hugging Face (7 of them under labrat-k13/: 6 earlier packs with added chunk vectors and 1 new pack). The 2026-10-23 self-tests covered 9 packs (180 questions), 7 of them in the app; DEVICE-FINAL tested those 7 on the phone (140 questions) 13 shipped; 9 self-tested; 7 tested on the phone · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25
- [F-2251] Submission post prepared: one post with a 60 s video and a short poidh text, numbers from DEVICE-FINAL; as of the last record row it was not posted. prepared; not posted · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 16:29
- [F-2252] Article "RatLab — A Boar Research" published on GitHub Pages at r4topunk.github.io/boar-research (16:33), updated at 16:46 with the DEVICE-FINAL result and links to the public repositories. article live · set UNKNOWN (status UNKNOWN) · judge UNKNOWN · n UNKNOWN · seeds UNKNOWN · CI not computed · date 2026-10-25 16:46

<!-- lint:exempt:end -->
### Decisions cited {#decisions}

<!-- lint:exempt:start -->
- [D-097] 2026-10-14 · Publish research AND benchmark for other teams; publish v0.1 reference-answer text; v0.2/V-para refs stay hashes only · why: other teams cannot run the judge comparably without refs. · status: kept
- [D-100] 2026-10-15 · First public push by the coordinator, only for the two new repos, on the author's explicit instruction · why: release. · status: kept
- [D-105] 2026-10-15 · Release as two fresh repos with one squashed commit, neutral author, curated whitelist + scrub + mechanical gate + independent review; never the private history · why: Private history holds held-out plaintext and personal data. · status: kept
- [D-123] 2026-10-18 · D1: no LFM2.5 desktop replay · why: audit already 7/58 vs 3/73 wrong; product already chose Qwen. · status: kept
- [D-124] 2026-10-18 · D7: upload the research site only as v1.0 at closure; v0.x are internal build states · why: one publication, no intermediate states. · status: kept
- [D-147] 2026-10-21 · 35B deep mode not delivered; deep tier appears only as roadmap with desktop numbers · why: focus on 8 GB UX; no Android expert-streaming build. · status: kept
- [D-150] 2026-10-21 · Article = research site on a project subdomain built from the public research repo; story = timeline of decisions, not a score line · why: full control of look; avoid cross-set score charts. · status: kept
- [D-175] 2026-10-23 · Shaped factbook v2: card drafted as user-selected only; publish waits for author OK · why: Opus +0.121 but one new warned CE; correct-any 0.50 < 0.60 eligibility. · status: kept
- [D-183] 2026-10-24 · BoarLite = a NEW bounty submission by the author (not the app maintainer's app); closed app, everything bundled, full K13 kit in one APK, shaped factbook v2, po · why: (decision page) · status: kept (amended by D-196) (2026-10-24 18:03 (D-196): factbook v1 stays (D3 reverted); one fixed line on every answer replaces the ported warning line (D4). 2026-10-25 02:20 (D-211): renamed LabRat; the submission is the same app.)

<!-- lint:exempt:end -->
---

Cite as: r4to, independent researcher. RatLab — A Boar Research (2026), research record 1.0, as of 2026-10-25. Text and data CC BY 4.0. Fact ids or a link must travel with a quote. How to cite: https://r4topunk.github.io/boar-research/cite/ · https://r4topunk.github.io/boar-research/CITATION.cff.

AI-reviewed, not clinically reviewed. Nothing here is medical advice.
