← Kingy Local AIINCOMPLETE PAIRED DOCUMENT PILOT · V1.4
Kingy and native LM Studio: one completed paired repetition
Measured 2026-10-14T00:40:47.967298+00:00 · document-comparison-v14-20261014.1
40 unique questions × 1 completed paired repetition. Three repetitions were planned.Ten independently authored synthetic English PDFs,30 pages;20 direct factual,10 cross-document and10 unanswerable questions. Corpus and method frozen before first question access; no post-test source tuning.
30 answerable and 10 unanswerable questions per completed workflow. The three-repetition native comparison was not completed. No missing native repetition is fabricated or scored as a quality failure.
Why the planned comparison is incomplete
The computer-control service crashed during B2 and later returned inconsistent accessibility and screenshot states. Seven B2 responses are retained. A replacement run stopped after neutral warmup, before any document question. B3 was not executed. Causation and LM Studio product reliability remain unknown. Native stop and publication scope were recorded before answer-key access.
The stop decision was recorded before answer-key access. Before-grading native stop and scope decision. The Original frozen three-pair comparison plan preserves the original three-repetition plan; this pilot does not fulfill that plan.
Seven interrupted native attempts, reported separately
All seven completed original outputs and supplemental grades are downloadable.33planned questions were not executed. These seven are not pooled into A1/B1, and the unrun questions are not scored as native quality failures.
Native B2 retained 7 attempts before instrumentation interruption. They are excluded from paired quality metrics and are not counted as quality failures. No B2/B3 score is inferred. All seven interrupted native responses and grades, excluded from paired comparison
What this pilot supports
The two consumed v1.3 failure cases passed all six targeted development attempts after the repair.
Scope: These are repair regressions, not fresh held-out accuracy evidence. Two different cross-document failures remain in the new corpus.
Six targeted repair passes and retained development audit · Kingy A1/A2/A3 complete raw responses and common grades
The source-based review found 28/30 fully supported Kingy answers and 25–26/30 native answers in this completed pair.
Scope: A descriptive result on this fixed corpus with a supplementary, unblinded review. The automatic16 vs 28gap materially overstates the difference. This does not prove general or repeatable accuracy superiority.
Supplementary source-based audit, all 17 case judgments and matcher false negatives · A1 complete Kingy responses and frozen grades · B1 complete native responses and frozen grades
Kingy returned complete answers sooner on all 40questions in the completed A1/B1 pair: median 4.50 seconds versus 13.70 seconds.
Scope: Descriptive post-submission workflow time on this shared Mac and exact configurations. Includes incorrect/unresolved answers. Native time includes its preprocessing/embedding; no model-throughput, novice speed or repeatability advantage is established.
All40 paired answer-time observations and boundaries · Recorded machine, session setup and environment conditions
Kingy returned explicit document/page/quote citations. Native citations were credited by mapping their source quotes to PDFs.
Scope: The frozen common rubric recorded 37 supported explicit-page citations for Kingy and 35 supported quote-mapped native citations, plus one unresolved native citation. This establishes the recorded output format, not general citation superiority.
A1 complete Kingy responses and frozen grades · B1 complete native responses and frozen grades · All retained run summaries
The fresh ZIP passed four installation smoke tests and denied tested outbound IPv4, IPv6 and wrong-loopback-port connections; local health and authentication behaved as declared.
Scope: Owned Mac, declared prerequisites already installed, existing model reused after byte verification. No novice-user or comparative privacy claim.
Fresh ZIP installation, four self-tests and offline checks · Workflow1.4, public corpus, references and installation smoke tests
Supplementary source review
This review was not blinded and was conducted after seeing the outputs. It is a separate, post-output source review; the frozen automatic scores below remain unchanged. Descriptive counts and ranges are supplied by the reviewer, not calculated by this report, and do not automatically establish a winner.
Reason: The frozen literal canonical matcher undercredited seven semantically correct concise native answers and two unresolved native supported answers. The frozen scores remain unchanged below. The supplementary review resolves an explanatory native absence correctly, and identifies Kingy's fact-unresolved exposure-dose answer as a definite wrong date. One native scope-amendment citation remains ambiguous.
Method: Separate evidence review of all 17 A1/B1 non-pass or unresolved cases against source PDFs and required facts. Conducted after outputs, not blinded to system, by a review agent in the same project. It is not independent hardware reproduction or a replacement frozen scorer.
Supplementary review; separate from the frozen automatic scores| Workflow | Supported answers | Factual answers | Abstention | Citations |
|---|
| Kingy A1 | 28/30 | 28/30 | 10/10 | 37/38 |
|---|
| Native LM Studio B1 | 25–26/30 (one source-support ambiguity) | 26/30 | 10/10 | 36–37/40 (one source-support ambiguity) |
|---|
Supplementary source-based audit, all 17 case judgments and matcher false negatives
Frozen automatic scores, including matcher limitations
These measurements describe the recorded workflows and settings. Frozen automatic matching can miss valid answers or source support; the linked method and any supplementary source review describe those limitations. This incomplete pilot does not automatically name a winner, qualify a new buying recommendation, or establish superiority in privacy, ease of use or hardware performance.
Completed A1 / B1 only; the incomplete native repetitions are excluded| Workflow / repetition | Fact correctness | Support correctness | Citation correctness | Correct abstention | Attempt accounting |
|---|
| Kingy workflow 1.4A1 | Conservative 28/30 (93.3%)1 unresolved · Unresolved bounds 93.3%–96.7%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 28/30 (93.3%)0 unresolved · Unresolved bounds 93.3%–93.3%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 37/38 (97.4%)0 unresolved · Unresolved bounds 97.4%–97.4%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 10/10 (100.0%)0 unresolved · Unresolved bounds 100.0%–100.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | 40/40 recorded0 missing · 0 errors · 0 timeouts |
|---|
| Native LM Studio PDF chatB1 | Conservative 16/30 (53.3%)6 unresolved · Unresolved bounds 53.3%–73.3%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 16/30 (53.3%)2 unresolved · Unresolved bounds 53.3%–60.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 35/40 (87.5%)1 unresolved · Unresolved bounds 87.5%–90.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 9/10 (90.0%)1 unresolved · Unresolved bounds 90.0%–100.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | 40/40 recorded0 missing · 0 errors · 0 timeouts |
|---|
Errors and timeouts within a completed repetition may overlap; they are not added to each other. A zero denominator is unavailable. Instrumentation interruption is disclosed above rather than converted into a score.
What the metrics mean
Conservative rates count confirmed passes only. Unresolved cases remain unresolved; they are not relabeled as failures. Unresolved bounds run from confirmed passes divided by the denominator to confirmed passes plus unresolved cases divided by the same denominator. They are not 95% confidence intervals; any supplied confidence interval is displayed separately.
- Fact correctness
- Canonical required-value checks across30 answerable questions, separately from citations. The frozen matcher can undercredit semantically correct concise native answers; supplementary source review must be consulted. Unresolved cases remain in denominator with explicit bounds.
- Support correctness
- Complete required facts plus actually emitted citations across30 answerable questions. Every requested field must be covered. Errors, missing essential fields, unsupported assertions and timeouts within complete runs fail; unresolved cases retain their denominator. Literal-wording limitations are disclosed.
- Citation correctness
- Grounded emitted citation instances that support the associated required claim divided by all emitted citations, including unsupported or unresolved claims. Displayed native source cards count only when claimed in answer text. A uniquely quote-mapped native citation can earn full credit; an explicit page label is separately reported.
- Correct abstention
- Correctly declining each of10 unanswerable questions, with no invented facts. Valid native prose is allowed; exact labelledUNKNOWN is not the only possible decline. Supplementary source review addresses explanatory prose and unresolved assertions.
Original frozen three-pair comparison plan · Frozen common scoring rules
Uncertainty and the comparison unit
Method: Frozen 10,000-draw whole-question paired case-resampling sensitivity with arithmetic unresolved lower/upper bounds.
Unit: 40 matched unique questions;3 repetitions planned, one native pair complete. A2/A3 are Kingy repeatability checks only.
- Case-resampling envelopes are sensitivity analyses on this fixed corpus, not population confidence intervals or p-values.
- Repeated attempts on one Mac are not independent hardware reproduction or120independent cases.
- The frozen primary automatic metric has concise-answer false negatives. It cannot alone establish an accuracy winner; supplementary source review is separate and not blinded.
- All raw responses, failures, uncertain judgments, interruptions and timing boundaries remain public.
Supplied paired-effect estimates
{
"complete_question_success": {
"unique_questions": 40,
"effect_bounds_A_minus_B": [
0.25,
0.325
],
"cluster_bootstrap_95pct_sensitivity_envelope": [
0.125,
0.475
],
"bootstrap_draws": 10000,
"usable_bootstrap_draws": 10000,
"interpretation": "Paired whole-question case-resampling sensitivity on this fixed corpus; not a p-value, population confidence claim or independent-repeat sample."
},
"supported_answer_success": {
"unique_questions": 30,
"effect_bounds_A_minus_B": [
0.3333333333333333,
0.4
],
"cluster_bootstrap_95pct_sensitivity_envelope": [
0.16666666666666666,
0.5666666666666667
],
"bootstrap_draws": 10000,
"usable_bootstrap_draws": 10000,
"interpretation": "Paired whole-question case-resampling sensitivity on this fixed corpus; not a p-value, population confidence claim or independent-repeat sample."
},
"canonical_fact_correctness": {
"unique_questions": 30,
"effect_bounds_A_minus_B": [
0.2,
0.43333333333333335
],
"cluster_bootstrap_95pct_sensitivity_envelope": [
0,
0.6
],
"bootstrap_draws": 10000,
"usable_bootstrap_draws": 10000,
"interpretation": "Paired whole-question case-resampling sensitivity on this fixed corpus; not a p-value, population confidence claim or independent-repeat sample."
},
"correct_abstention": {
"unique_questions": 10,
"effect_bounds_A_minus_B": [
0,
0.1
],
"cluster_bootstrap_95pct_sensitivity_envelope": [
0,
0.3
],
"bootstrap_draws": 10000,
"usable_bootstrap_draws": 10000,
"interpretation": "Paired whole-question case-resampling sensitivity on this fixed corpus; not a p-value, population confidence claim or independent-repeat sample."
},
"emitted_citation_precision": {
"unique_questions": 40,
"effect_bounds_A_minus_B": [
0.0736842105263158,
0.09868421052631582
],
"cluster_bootstrap_95pct_sensitivity_envelope": [
0,
0.18928841991341988
],
"bootstrap_draws": 10000,
"usable_bootstrap_draws": 10000,
"interpretation": "Paired whole-question case-resampling sensitivity on this fixed corpus; not a p-value, population confidence claim or independent-repeat sample."
}
}
Separate Kingy recipe qualification runs
These are three Kingy repetitions, presented separately from the one completed native pair. A1 is the same run shown in the paired pilot, not additional independent evidence. A2 and A3 have no completed native counterparts and do not extend the paired comparison. Repeated attempts are repeatability observations, not 120 independent questions or an independent reproduction.
Kingy-only qualification accounting; excluded from paired metrics| Workflow / repetition | Fact correctness | Support correctness | Citation correctness | Correct abstention | Attempt accounting |
|---|
| Kingy workflow 1.4A1 | Conservative 28/30 (93.3%)1 unresolved · Unresolved bounds 93.3%–96.7%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 28/30 (93.3%)0 unresolved · Unresolved bounds 93.3%–93.3%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 37/38 (97.4%)0 unresolved · Unresolved bounds 97.4%–97.4%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 10/10 (100.0%)0 unresolved · Unresolved bounds 100.0%–100.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | 40/40 recorded0 missing · 0 errors · 0 timeouts |
|---|
| Kingy workflow 1.4A2 | Conservative 28/30 (93.3%)1 unresolved · Unresolved bounds 93.3%–96.7%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 28/30 (93.3%)0 unresolved · Unresolved bounds 93.3%–93.3%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 37/38 (97.4%)0 unresolved · Unresolved bounds 97.4%–97.4%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 10/10 (100.0%)0 unresolved · Unresolved bounds 100.0%–100.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | 40/40 recorded0 missing · 0 errors · 0 timeouts |
|---|
| Kingy workflow 1.4A3 | Conservative 28/30 (93.3%)1 unresolved · Unresolved bounds 93.3%–96.7%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 28/30 (93.3%)0 unresolved · Unresolved bounds 93.3%–93.3%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 37/38 (97.4%)0 unresolved · Unresolved bounds 97.4%–97.4%; possible upper bound includes all unresolved cases.Confidence interval not supplied | Conservative 10/10 (100.0%)0 unresolved · Unresolved bounds 100.0%–100.0%; possible upper bound includes all unresolved cases.Confidence interval not supplied | 40/40 recorded0 missing · 0 errors · 0 timeouts |
|---|
Frozen common scoring rules · Kingy A1/A2/A3 complete raw responses and common grades · All retained run summaries. This report does not calculate qualification or change the buying recommendation.
Exact settings and retained failures
Kingy workflow 1.4
Recorded machine, session setup and environment conditions · A1 complete Kingy responses and frozen grades
Model, runtime, retrieval and generation settings
{
"machine": {
"chip": "M4 Pro",
"cpuCores": 14,
"gpuCores": 20,
"memoryGiB": 24,
"os": "macOS 26.3 build 25D125",
"power": "AC, automatic power mode",
"environment": "Shared machine; conditions and swap retained. Other active jobs were not stopped."
},
"model": {
"id": "Qwen3-4B",
"quantization": "Q4_K_M",
"bytes": 2497280256,
"sha256": "7485fe6f11af29433bc51cab58009521f205840f5b4ae3a32fa7f92e8534fdf5"
},
"context": 8192,
"maxOutputTokens": 512,
"temperature": 0,
"generationSeed": 271828,
"completeQueryDeadlineSeconds": 90,
"thinking": false,
"PDFs": "same ten byte-identical PDFs,30 pages",
"firstMessageOnly": true,
"workflow": "1.4.0",
"runtime": "llama.cpp0.6.0b11429 d81235049",
"retrieval": "BM25 pages plus generic field/clause scoring; source-ID selection then source-sufficiency inference; no embedding service",
"requestsPerQuestion": 2,
"runnerSha256": "00d0f68dfa240c7ce937be94ade50172c5051cb243ad50b2740e1b292ea5f65c",
"load": "CPU threads 10, fullMetal, flashattention, F16 KV, parallel 1",
"timer": {
"n": 40,
"p50": 4.496676228998695,
"p95": 6.2484013339853846,
"max": 8.307981291989563,
"boundary": "Kingy ask entry through complete returned answer including retrieval, selection and sufficiency check; excludes prior PDF import/index, cold start and warmup."
},
"warmup": "Neutral READY, no documents/questions before measurement",
"coldStartAndPDFIndex": "Recorded separately, excluded from answer timer"
}
- v14-heldout-cross-02: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — A1 complete Kingy responses and frozen grades
- v14-heldout-cross-10: Frozen primary status fail; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — A1 complete Kingy responses and frozen grades
Native LM Studio PDF chat
Actual native effective load, prediction and retrieval settings · B1 complete native responses and frozen grades
Model, runtime, retrieval and generation settings
{
"machine": {
"chip": "M4 Pro",
"cpuCores": 14,
"gpuCores": 20,
"memoryGiB": 24,
"os": "macOS 26.3 build 25D125",
"power": "AC, automatic power mode",
"environment": "Shared machine; conditions and swap retained. Other active jobs were not stopped."
},
"model": {
"id": "Qwen3-4B",
"quantization": "Q4_K_M",
"bytes": 2497280256,
"sha256": "7485fe6f11af29433bc51cab58009521f205840f5b4ae3a32fa7f92e8534fdf5"
},
"context": 8192,
"maxOutputTokens": 512,
"temperature": 0,
"generationSeed": 271828,
"completeQueryDeadlineSeconds": 90,
"thinking": false,
"PDFs": "same ten byte-identical PDFs,30 pages",
"firstMessageOnly": true,
"app": "LM Studio 0.4.26+4 official notarized installer",
"engine": "llama.cpp-mac-arm64-apple-metal-advsimd2.56.0;0.6.0-dev1commit8bb3cf0",
"retrieval": "native PDF attachments and unmodified installed rag-v1 revision 8",
"retrievalLimit": 8,
"affinityThreshold": 0.5,
"embedding": "bundled Nomic Embed Textv1.5Q4_K_M,84,106,624bytes",
"requestsPerAnswer": 1,
"actualEffectiveSettings": {
"load_config": {
"fields": [
{
"key": "llm.load.llama.autoFit",
"value": false
},
{
"key": "llm.load.mlx.autoFit",
"value": false
},
{
"key": "llm.load.llama.cpuThreadPoolSize",
"value": 10
},
{
"key": "llm.load.contextLength",
"value": 8192
},
{
"key": "llm.load.llama.flashAttention",
"value": true
},
{
"key": "llm.load.promptTemplate",
"value": {
"type": "jinja",
"jinjaPromptTemplate": {
"template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].role == 'system' %}\n {{- messages[0].content + '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0].content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for index in range(ns.last_query_index, -1, -1) %}\n {%- set message = messages[index] %}\n {%- if ns.multi_step_tool and message.role == \"user\" and not('<tool_response>' in message.content and '</tool_response>' in message.content) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n{%- endfor %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set content = message.content %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is defined and message.reasoning_content is not none %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '</think>' in message.content %}\n {%- set content = message.content.split('</think>')[-1].lstrip('\\n') %}\n {%- set reasoning_content = message.content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- if loop.index0 > ns.last_query_index %}\n {%- if loop.last or (not loop.last and reasoning_content) %}\n {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content.strip('\\n') + '\\n</think>\\n\\n' + content.lstrip('\\n') }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and content) or (not loop.first) %}\n {{- '\\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '<think>\\n\\n</think>\\n\\n' }}\n {%- endif %}\n{%- endif %}"
}
}
},
{
"key": "llm.load.llama.tryDirectIO",
"value": false
},
{
"key": "llm.load.llama.acceleration.offloadRatio",
"value": 1
},
{
"key": "llm.load.yuzu.autoFit",
"value": false
},
{
"key": "llm.load.vllm.autoFit",
"value": false
},
{
"key": "llm.load.numParallelSessions",
"value": 1
},
{
"key": "llm.load.seed",
"value": {
"checked": true,
"value": 271828
}
}
]
},
"prediction_config": {
"fields": [
{
"key": "llm.prediction.promptTemplate",
"value": {
"type": "jinja",
"jinjaPromptTemplate": {
"template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].role == 'system' %}\n {{- messages[0].content + '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0].content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for index in range(ns.last_query_index, -1, -1) %}\n {%- set message = messages[index] %}\n {%- if ns.multi_step_tool and message.role == \"user\" and not('<tool_response>' in message.content and '</tool_response>' in message.content) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n{%- endfor %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set content = message.content %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is defined and message.reasoning_content is not none %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '</think>' in message.content %}\n {%- set content = message.content.split('</think>')[-1].lstrip('\\n') %}\n {%- set reasoning_content = message.content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- if loop.index0 > ns.last_query_index %}\n {%- if loop.last or (not loop.last and reasoning_content) %}\n {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content.strip('\\n') + '\\n</think>\\n\\n' + content.lstrip('\\n') }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and content) or (not loop.first) %}\n {{- '\\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '<think>\\n\\n</think>\\n\\n' }}\n {%- endif %}\n{%- endif %}"
},
"stopStrings": []
}
},
{
"key": "llm.prediction.llama.cpuThreads",
"value": 10
},
{
"key": "llm.prediction.repeatPenalty",
"value": {
"checked": true,
"value": 1
}
},
{
"key": "llm.prediction.topPSampling",
"value": {
"checked": true,
"value": 1
}
},
{
"key": "llm.prediction.minPSampling",
"value": {
"checked": true,
"value": 0
}
},
{
"key": "llm.prediction.temperature",
"value": 0
},
{
"key": "llm.prediction.maxPredictedTokens",
"value": {
"checked": true,
"value": 512
}
},
{
"key": "llm.prediction.reasoning.enableThinking",
"value": false
},
{
"key": "llm.prediction.contextOverflowPolicy",
"value": "stopAtLimit"
},
{
"key": "llm.prediction.tools",
"value": {
"type": "none"
}
}
]
},
"plugin_configs": {
"lmstudio/rag-v1": {
"preset": "",
"config": {
"fields": [
{
"key": "retrievalLimit",
"value": 8
}
]
}
}
},
"plugins": [
"lmstudio/rag-v1"
],
"system_prompt": ""
},
"load": "CPU threads 10, fullMetal, flashattention, F16 KV, parallel 1, seeded GUIreload",
"timer": {
"n": 40,
"p50": 13.6965,
"p95": 20.771,
"max": 26.497,
"boundary": "Native app submission to documented logger final-answer event; includes native preprocessing/retrieval/embedding/inference; excludes later title generation and automation/export."
},
"warmup": "Neutral READY through official SDK before document questions",
"extraTitleOutputs": "Retained separately; no best-response selection",
"runtimeEgressEnforcement": "unverified; no comparative privacy claim"
}
- v14-heldout-unknown-09: Frozen primary status unresolved; factual status None; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-cross-09: Frozen primary status unresolved; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-16: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-cross-02: Frozen primary status fail; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-cross-06: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-cross-05: Frozen primary status fail; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-04: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-cross-04: Frozen primary status fail; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-01: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-20: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-cross-10: Frozen primary status fail; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-08: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-11: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-17: Frozen primary status fail; factual status fail; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
- v14-heldout-doc-06: Frozen primary status unresolved; factual status unresolved; source-based review may expose concise-answer false negatives. See full answer, field and citation checks. — B1 complete native responses and frozen grades
Limits of this study
- One complete paired repetition out of three planned; full native repeatability remains unmeasured.
- Forty synthetic English document questions,30 pages, one physical shared Mac, at most two factual fields; no real private-document/user study.
- Same model bytes and generation limits, different native runtimes and complete retrieval pipelines. LM Studio retrieval limit 8 was selected before the fresh bank using consumed controls; default 3 was not used as an artificially weak baseline.
- Concise native answers can be penalized by literal canonical matching even when the source supports their meaning. Do not equate frozen automatic counts with an unbiased semantic accuracy ranking.
- No measured comparative ease of installation, general privacy, monetary cost, hardware-upgrade benefit, cloud quality or model throughput.
- No direct page labels in the captured native citation output is an observed format property of this version/configuration, not a claim that LM Studio never exposes source navigation.
- Immutable v1.3 results and all earlier failed candidates are preserved. New tuning would require a new unseen corpus.
Immutable v1.3 evidence remains available with its recorded qualification and disclosed failures. Active buying qualification is independently controlled by the versioned recipe receipt. A v1.4 comparison is separate evidence; qualification is not granted by this report or by a relative score.
Reproduce and inspect
Download the report data · File hashes and sizes
- A1 complete Kingy responses and frozen gradesSHA-256
761e172bb61a30c75c44a4af709d335cbe9190fa57ecb39892deccb7d17f50bf · 453152 bytes - B1 complete native responses and frozen gradesSHA-256
151a723458075d295158b8bc6d16bc65b3915b4b91f503ccd751132bf0283ec1 · 7530196 bytes - All seven interrupted native responses and grades, excluded from paired comparisonSHA-256
5e0562d5617c851ca93291e515636849ff91f9a3211efb3e83bbf1a561464bcf · 1321657 bytes - Original frozen three-pair comparison planSHA-256
da6e147a013780c1b901d97b209443f5881a98291d0bce96133a2ed2056b4534 · 8832 bytes - Frozen common scoring rulesSHA-256
0b65c8e0bb5dec8e5cce33aff926d7ed7585e42ee230ccad7d30401b422b58af · 12662 bytes - Before-bank study freezeSHA-256
02c45667fa4c99f91cde61788350f0669a66d2c78cac3986f9bf0d0e0bc3e1e3 · 14521 bytes - Before-grading native stop and scope decisionSHA-256
7f705bbda0fb605a93231dd3b88670f9fc81e7047a2f15406e07d926dc12991d · 1426 bytes - Frozen A1/B1 analysis and unresolved boundsSHA-256
28c0eb1df26333457da7eee621aa2797d5d7a2f355ae11d3a797dd91868c7cc6 · 36098 bytes - All retained run summariesSHA-256
f25014f8cf0382e9ce1add347a4dc2377947595b7e3534352b834c0b00d60d03 · 5648 bytes - All40 paired answer-time observations and boundariesSHA-256
f16be6c10f2b8791df5bff32dc6b1c4176bfad9c64b0dabe159bae5c85937709 · 8037 bytes - Fresh ZIP installation, four self-tests and offline checksSHA-256
dbf89af7ebf1e0413a11f42542b4992906e2f8d1ebe7aaa3cb9f05b79ff023e3 · 2182 bytes - Six targeted repair passes and retained development auditSHA-256
4cb3c8c107636f313b030abe1881f5b5f52c966b7fe62d5620b1f6c19d6b1c12 · 20105 bytes - Actual native effective load, prediction and retrieval settingsSHA-256
a714dcdcbce3575c87810d33d29cd340d065a9a180358a43d282612a02527782 · 11338 bytes - Installed native engine and binary hashesSHA-256
d2f3a8e469022f4a1dd2b78a7ac685d21baa53afa8b6c334e9b190455a354d76 · 3121 bytes - Installed stock RAG and embedding hashesSHA-256
c46211b91224f40b122b8140db0d2dd1b12f164ffbbe6047050d4da9f850a0dc · 1268 bytes - Frozen inputs and first-reference grading receiptSHA-256
5749bd5a9afca3b98fcc7594fdd8f792b11e3efe272d5b4da682755696e48a99 · 584 bytes - Kingy A1/A2/A3 complete raw responses and common gradesSHA-256
8115eca4806a1e65a7a0d36101abe053e7821369d94afaef9418aeb782b767e8 · 1359504 bytes - Byte-verified frozen scoring, capture, executor, UI helpers and controlsSHA-256
7c7f8c9ecdf6c69a42fec851e90ef762eb2e2e95827e076489525764f6384b58 · 52080 bytes - Workflow1.4, public corpus, references and installation smoke testsSHA-256
9882cc00670d07ee6aa6fd03645d20a1e8697c68a5ceafa2f7040d4724068edb · 8405507 bytes - Recorded machine, session setup and environment conditionsSHA-256
34694ab485d7ca140c12d05632bb570660dfd9b50d0e736749db5a93817b1847 · 50879 bytes - Supplementary source-based audit, all 17 case judgments and matcher false negativesSHA-256
bc7b192b517a381fe3f6291f448784a0dc35dcd3c92bb31fd0d9ed2d59a82283 · 128905 bytes