FULL THREE-PAIR DOCUMENT STUDY · WORKFLOW 1.5.1
Kingy and native LM Studio: three paired PDF repetitions
document-comparison-v16-20261014.1 · analysis completed 2026-10-14T16:47:52.685807+00:00
Kingy 1.5.1 did not qualify and was not launched; the active download remains workflow 1.4. Ten separately authored English selectable-text synthetic PDFs, 30 pages, 30 answerable and 10 unknown questions, at most two requested fields. Apple M4 Pro with 24 GiB, macOS 26.3 build 25D125. Identical Qwen3-4B Q4_K_M weights and seeded generation; Kingy 1.5.1 / llama.cpp b11429 versus native LM Studio 0.4.26+4, engine 2.56.0 and unmodified stock RAG revision 8 with eight retrieved chunks. Three fresh model sessions each in frozen A1, B1, B2, A2, A3, B3 order.
Each pair contains the same 30 answerable and 10 unknown questions. Repetitions measure repeatability on the declared system; these are 40 unique cases, not 120 independent questions or an independent physical reproduction.
Complete paired accounting
All A1/B1, A2/B2 and A3/B3 attempts are retained. Confirmed passes form the conservative rate. The upper bound additionally includes unresolved judgments. These bounds are not confidence intervals. Canonical facts and complete supported answers are reported separately. Displayed native retrieval cards count only when claimed in the answer; uniquely quote-mapped citations can receive credit, with page capability retained separately.
| Workflow / repetition | Canonical facts | Supported answers | Emitted citation precision | Correct abstention | Attempt accounting |
|---|---|---|---|---|---|
| Kingy workflow 1.5.1A1 | 26/30 (86.7%)3 unresolved · bounds 86.7%–96.7% | 26/30 (86.7%)0 unresolved · bounds 86.7%–86.7% | 38/42 (90.5%)0 unresolved · bounds 90.5%–90.5% | 10/10 (100.0%)0 unresolved · bounds 100.0%–100.0% | 40/40 retained0 errors · 0 timeouts |
| Native LM Studio PDF chatB1 | 10/30 (33.3%)13 unresolved · bounds 33.3%–76.7% | 9/30 (30.0%)11 unresolved · bounds 30.0%–66.7% | 38/48 (79.2%)4 unresolved · bounds 79.2%–87.5% | 6/10 (60.0%)4 unresolved · bounds 60.0%–100.0% | 40/40 retained0 errors · 0 timeouts |
| Kingy workflow 1.5.1A2 | 26/30 (86.7%)3 unresolved · bounds 86.7%–96.7% | 26/30 (86.7%)0 unresolved · bounds 86.7%–86.7% | 38/42 (90.5%)0 unresolved · bounds 90.5%–90.5% | 10/10 (100.0%)0 unresolved · bounds 100.0%–100.0% | 40/40 retained0 errors · 0 timeouts |
| Native LM Studio PDF chatB2 | 10/30 (33.3%)13 unresolved · bounds 33.3%–76.7% | 9/30 (30.0%)11 unresolved · bounds 30.0%–66.7% | 38/48 (79.2%)4 unresolved · bounds 79.2%–87.5% | 6/10 (60.0%)4 unresolved · bounds 60.0%–100.0% | 40/40 retained0 errors · 0 timeouts |
| Kingy workflow 1.5.1A3 | 26/30 (86.7%)3 unresolved · bounds 86.7%–96.7% | 26/30 (86.7%)0 unresolved · bounds 86.7%–86.7% | 38/42 (90.5%)0 unresolved · bounds 90.5%–90.5% | 10/10 (100.0%)0 unresolved · bounds 100.0%–100.0% | 40/40 retained0 errors · 0 timeouts |
| Native LM Studio PDF chatB3 | 10/30 (33.3%)13 unresolved · bounds 33.3%–76.7% | 9/30 (30.0%)11 unresolved · bounds 30.0%–66.7% | 38/48 (79.2%)4 unresolved · bounds 79.2%–87.5% | 6/10 (60.0%)4 unresolved · bounds 60.0%–100.0% | 40/40 retained0 errors · 0 timeouts |
Errors and timeouts can overlap and are not added together. Both remain failed attempts. Citation denominators include emitted partial or unresolved citations. Common scorer 1.2.0 and conservative scoring rules · Before-output frozen paired protocol
Qualification and unresolved judgments
The declared thresholds are at least 90% supported-answer success, 95% emitted-citation precision and 90% correct abstention in every repetition, using conservative lower bounds.
- Kingy: A1 does not meet all thresholds; A2 does not meet all thresholds; A3 does not meet all thresholds.
- Native LM Studio: B1 does not meet all thresholds; B2 does not meet all thresholds; B3 does not meet all thresholds.
Unresolved semantic or citation judgments remain. Their possible outcomes remain in the displayed bounds; an unreviewed ambiguity does not establish a comparative winner. Qualification is an absolute threshold for this workflow and test scope. A relative score does not automatically qualify a buying recommendation.
Paired effects and uncertainty
Effects below are Kingy minus native LM Studio. The 10,000-draw sensitivity analysis resamples whole unique-question clusters and keeps the three repetitions together. The envelope describes case-resampling sensitivity on this fixed corpus. It is not a population confidence interval, p-value or market-wide ranking.
| Outcome / clusters | Effect bounds | 95% case-resampling sensitivity envelope |
|---|---|---|
| complete question success40 unique clusters | 15.0 pp to 52.5 pp | -2.5 pp to 70.0 pp |
| supported answer success30 unique clusters | 20.0 pp to 56.7 pp | 0.0 pp to 76.7 pp |
| canonical fact correctness30 unique clusters | 10.0 pp to 63.3 pp | -10.0 pp to 80.0 pp |
| correct abstention10 unique clusters | 0.0 pp to 40.0 pp | 0.0 pp to 70.0 pp |
| emitted citation precision40 unique clusters | 3.0 pp to 11.3 pp | -13.2 pp to 29.2 pp |
No automatic winner is declared. Frozen paired calculations, unresolved bounds and cluster sensitivity
Complete-answer latency
Descriptive time includes each workflow's full answer pipeline. Native timing includes native preprocessing, embedding/retrieval and inference. Kingy timing includes retrieval, selection, source resolution and sufficiency checks. Import, cold start and neutral warmup are recorded separately. Median and nearest-rank p95 include retained measured failures; unavailable observations remain visible. These measurements do not establish model throughput, novice setup speed or a population speed advantage.
| Session | Measured / unavailable | Median | p95 | Maximum |
|---|---|---|---|---|
| A1 | 40 / 0 | 3.491 | 5.011 | 5.404 |
| A2 | 40 / 0 | 2.464 | 3.791 | 3.932 |
| A3 | 40 / 0 | 2.469 | 3.803 | 3.932 |
| B1 | 40 / 0 | 6.445 | 8.467 | 8.862 |
| B2 | 40 / 0 | 6.216 | 7.408 | 7.703 |
| B3 | 40 / 0 | 6.008 | 7.515 | 7.910 |
Actual timing boundaries
- A1: runner.ask entry through its complete returned answer, source resolution and sufficiency check; excludes prior PDF import/index, cold start, warmup and later grading.
- A2: runner.ask entry through its complete returned answer, source resolution and sufficiency check; excludes prior PDF import/index, cold start, warmup and later grading.
- A3: runner.ask entry through its complete returned answer, source resolution and sufficiency check; excludes prior PDF import/index, cold start, warmup and later grading.
- B1: Native app submission to documented logger final-answer event; includes native preprocessing/retrieval/embedding/inference; excludes later title generation and automation/export.
- B2: Native app submission to documented logger final-answer event; includes native preprocessing/retrieval/embedding/inference; excludes later title generation and automation/export.
- B3: Native app submission to documented logger final-answer event; includes native preprocessing/retrieval/embedding/inference; excludes later title generation and automation/export.
Control provenance and instrumentation amendment
Instrumentation changed after Kingy A1 and before native B1. The amendment occurred before the first native held-out question. The candidate, corpus, frozen prompts and common scorer remained unchanged. This change limits what can be attributed to native app reliability; it is retained as control provenance rather than hidden or treated as a model result.
Closed modal left CUA coordinate input unavailable while accessibility reads remained valid. Public System Events focuses the two screenshot-declared points and performs guarded Search/owned Rename paste after exact accessibility text selection; clipboard restoration waits for cleared and exact-value acknowledgement. Named-chat More options replaces right-click with the identical native menu. Native factual drafts use the public accessibility field setter, with empty owned chat/ten identical PDFs/exact saved prompt/model/unique selected-name guards retained before one Send. The task-owned privileged file worker runs only the pinned public System Events script; no model APIs or native-record edits. Pre-submission control errors and the rejected early worker restart remain private setup evidence and are not model or product reliability results.
Disclosed GUI transport amendment before the first native held-out question · Actual control amendment and original-attempt provenance · Audit bundle: exact tested candidate, frozen method, fresh corpus and all originals; not a qualified recipe
Exact configurations and failures
Kingy settings
{
"workflowVersion": "1.5.1",
"runnerSha256": "abc2334bfb7b4727eee31f61f11da50512ac30ee2585d9974232ae2231276ef8",
"configuration": {
"machine": {
"platform": "apple-silicon",
"chip": "M4 Pro",
"model": "Mac16,7",
"cpuCores": 14,
"gpuCores": 20,
"memoryGiB": 24,
"osFamily": "macOS",
"osVersion": "26.3",
"osBuild": "25D125"
},
"runtime": {
"name": "llama.cpp",
"version": "b11429",
"commit": "d81235049",
"binarySha256": "51afbf4ea6485b9ada19e99af97181f12baca42ef704b1e291c26a9ac0644eae"
},
"python": "3.12.14",
"pypdf": "6.10.0",
"model": {
"id": "Qwen3-4B",
"quantization": "Q4_K_M",
"repository": "Qwen/Qwen3-4B-GGUF",
"revision": "bc640142c66e1fdd12af0bd68f40445458f3869b",
"file": "Qwen3-4B-Q4_K_M.gguf",
"bytes": 2497280256,
"sha256": "7485fe6f11af29433bc51cab58009521f205840f5b4ae3a32fa7f92e8534fdf5",
"license": "Apache-2.0"
}
},
"generationSeed": 271828,
"context": 8192,
"temperature": 0,
"maxOutputTokens": 512,
"thinking": false,
"cpuThreads": 10,
"gpuOffload": "full Metal",
"parallel": 1,
"flashAttention": true,
"kv": "F16",
"retrieval": "Local BM25 pages and field/clause selection, source-ID selection, then local sufficiency inference",
"answerModelRequests": [
77,
77,
77
],
"warmupRequests": 3,
"cachePolicy": "cache_prompt false; no claim that OS file caches were flushed.",
"timingBoundary": "runner.ask entry through its complete returned answer, source resolution and sufficiency check; excludes prior PDF import/index, cold start, warmup and later grading.",
"nativeEgressComparison": "unverified; no comparative privacy claim"
}
Native LM Studio settings
{
"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.numParallelSessions",
"value": 1
},
{
"key": "llm.load.seed",
"value": {
"checked": true,
"value": 271828
}
},
{
"key": "llm.load.yuzu.autoFit",
"value": false
},
{
"key": "llm.load.vllm.autoFit",
"value": false
}
]
},
"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"
}
}
]
},
"plugins": [
"lmstudio/rag-v1"
],
"plugin_configs": {
"lmstudio/rag-v1": {
"preset": "",
"config": {
"fields": [
{
"key": "retrievalLimit",
"value": 8
}
]
}
}
},
"system_prompt": ""
}
Frozen effective native settings checked on every measured answer
Installed native engine and local embedding hashes, rechecked in this study · Unmodified installed stock RAG source hashes, rechecked in this study · Complete study freeze before inference · All six original-session integrity checks
The retained attempt records contain no runtime errors or timeouts. Quality failures and unresolved judgments remain in the score denominators and full raw evidence.
All 120 original Kingy responses and unchanged frozen grades · All 120 original native LM Studio responses and unchanged frozen grades
Limits and history
- Kingy 1.5.1 failed all three runs: 26/30 supported answers (86.7%) and 38/42 valid emitted citations (90.5%), below the frozen 90% and 95% targets. All 10/10 unknown questions passed in each run. Workflow 1.4 remains the active recipe; no new 1.5.1 installation or launch is claimed.
- The three old Kingy failures pass development regression, and the repaired cross-page mapper resolves all 132 consumed native cross-page citation instances. Those are repair controls, not fresh qualification results. Four new Kingy cases failed repeatedly; the new corpus and original grades were not edited after exposure.
- LM Studio has 13 unresolved factual judgments, 11 unresolved supported-answer judgments and four unresolved unknown judgments per run. Conservative automatic matching does not resolve valid prose, conditional meaning or every citation. No accuracy, source-quality or refusal advantage is asserted from those unresolved grades.
- Descriptive complete-answer time was lower for Kingy in all 120 pairs, including all 42 paired attempts where both systems had confirmed passing grades. All-attempt medians were 2.88 seconds for Kingy and 6.30 seconds for native LM Studio. All-attempt timing includes incorrect responses. This is observed latency on this fixed corpus and shared Mac, not model throughput, novice setup speed or a population claim.
- Kingy emits explicit PDF page citations. Native answers use citation IDs linked to retrieval cards; the scorer maps unique exact source quotes across pages for credit. This difference in page presentation was observed, not tested as a user-comprehension advantage.
- Separate-agent synthetic authorship is not human gold validation or independent hardware reproduction. Forty unique question clusters repeated three times are not 120 independent questions. The shared-machine conditions and swap are retained; OS caches were not flushed.
- Different native runtimes and retrieval pipelines were compared as complete workflows. Native timing includes preprocessing, embedding, retrieval and inference. PDF import, startup, neutral warmup and GUI preparation/export are excluded; native cold-start time was not reliably measured.
- No OCR, handwriting, long-corpus synthesis, arithmetic, concurrent serving, cloud quality/cost, GPU upgrade, energy, comparative privacy or novice-installation result. Native egress enforcement remains unverified.
- Original workflow 1.4 and failed 1.5.0 reports remain immutable historical evidence. This new study does not rewrite their scores, method limitations, failed candidates or released files.
The original immutable v1.4 paired pilot remains separate historical evidence, including its incomplete native repetitions and post-output source review. Its scores and files are preserved. The original failed 1.5.0 study and its scorer limitation also remain unchanged. This repaired 1.5.1 report uses its own frozen rubric and fresh study; it does not rewrite either earlier comparison. Original immutable workflow 1.4 comparison manifest · Original immutable failed 1.5.0 comparison manifest
Inspect and reproduce
Report data · File hashes and sizes · Completed analysis and exact output hashes
- Frozen paired calculations, unresolved bounds and cluster sensitivitySHA-256 80cf4bb52c1bcdd7313c398aba3d3e61cbf2fd85929f811f20801b742b3cf5ae · 99047 bytes
- Frozen summaries for all six original sessionsSHA-256 4a16828d13c1e97f01cf485e7edc64791dcc7bf3841f8069b67a4aeb3e684f92 · 54430 bytes
- Completed analysis and exact output hashesSHA-256 0351587588904ce5aa0bfd543de55b351dac4f7ee3504ebafd4580aa15563abc · 1131 bytes
- All six original-session integrity checksSHA-256 f46d8fdd28b3b55a94bd3e23e1920200536b13c57e58852123715055ef2c9a0a · 42717 bytes
- All 120 original Kingy responses and unchanged frozen gradesSHA-256 ce90e99ada1f925f40bbe7632a5ca738e86b9b9f243c259f588350dc15b3435e · 1261500 bytes
- All 120 original native LM Studio responses and unchanged frozen gradesSHA-256 6f01abb4a2861dff23ec9ba78ff86a966dc9195552bc7a64e94ed0d9a12a15e7 · 21270335 bytes
- Before-output frozen paired protocolSHA-256 b432d414bc6c8c912510db168229b80cce472d2cb14c93bb7a82071d72a3604b · 8153 bytes
- Common scorer 1.2.0 and conservative scoring rulesSHA-256 06fa5f5b4c0ff16ac615cd662d560fa7148a6e40525bac94a195df744173435f · 9466 bytes
- Complete study freeze before inferenceSHA-256 b0dde55a2f92f156f588d5df510832b2ea874e3da41e072ab096564269356d43 · 6212 bytes
- Candidate and method freeze before root access to the fresh bankSHA-256 2ac778674ffdde98983c3f818721bda4c1d1bd5c9eb1af7eb4c1e5d3b85c939a · 4890 bytes
- Negative release decision; workflow 1.4 stays activeSHA-256 c23c0fd87635aeb9d213cdb3ff38c2b08553ccb8a3d55c6aac2877d19ae06c2c · 2468 bytes
- All four repeated fresh Kingy failure cases, without retuningSHA-256 e6520628a3fe0304acf1f5583f976cc0dbbc1e4c9d0644a6c599d2515437f03a · 9286 bytes
- Descriptive timing of all paired attempts and the disclosed joint-pass subsetSHA-256 90c915ec697c7ee955403a474f3ddb179c93524a07b92b8dc8db6e6ee9ecd6dc · 2773 bytes
- Frozen effective native settings checked on every measured answerSHA-256 d28305b7df7214eb6e4797591b90991ab6add825980bbc38a91ae10958a7668d · 11338 bytes
- Installed native engine and local embedding hashes, rechecked in this studySHA-256 d2f3a8e469022f4a1dd2b78a7ac685d21baa53afa8b6c334e9b190455a354d76 · 3121 bytes
- Unmodified installed stock RAG source hashes, rechecked in this studySHA-256 c46211b91224f40b122b8140db0d2dd1b12f164ffbbe6047050d4da9f850a0dc · 1268 bytes
- After-measurement verification of 34 installed artifact hashesSHA-256 0408c0858fa34ae857513514ecfea35f9bc04f50294006468611abba39065d93 · 11646 bytes
- Original immutable workflow 1.4 comparison manifestSHA-256 fc28d7f64e75a37768586ded40807195f55aac7d1337d27ecf7a700fbd63a4e6 · 3822 bytes
- Original immutable failed 1.5.0 comparison manifestSHA-256 f62295ede008d7312b9dc967d7c7394fd552a3736558b04286f69b075827ed5e · 4793 bytes
- 226 earlier candidate, method and public evidence files preservedSHA-256 727be257eed6f581370a6d5f53c7c6b185bbf2898fb684cfb281e2ea9f75d6f6 · 35889 bytes
- All 240 originals sealed before root reference accessSHA-256 5a9c3f9ad355ecc4e2de559d8864b5c577100629b2ed799db598369d59bc744c · 17668 bytes
- Disclosed GUI transport amendment before the first native held-out questionSHA-256 c15be6c13604dfea6dc6e1112bbc5dc1ebe696f99acba7c9ef88fae08ad90cb0 · 2087 bytes
- Three consumed-case fixes and cross-page controls; not unseen qualificationSHA-256 4594882a6b11ce9d8c52f53581f80b40b3d2db0a62a689a2c85342478bb2d517 · 625 bytes
- Separate agent authorship and before-output corpus freezeSHA-256 ed05d20bad33d760ce7249563525b3b165b24fc24dfec055f4ce7711eb013efd · 2693 bytes
- Exact author-pack to execution-pack copy provenanceSHA-256 3be03c9a3f64e2c30e13bc9e2060d075263dbfade4a56ce3192c44feb0d0016a · 1651 bytes
- Actual Kingy settings and complete-answer timing boundarySHA-256 9f927e9832082795b070c037c60b918950c6fa19f6aa5b4cb4c713c718db2292 · 1767 bytes
- Actual control amendment and original-attempt provenanceSHA-256 236c7e9268b329d36f9c678bc95457657902c5d9fecf3b0d31213cefabc3ec36 · 1580 bytes
- Recorded shared-Mac conditions and neutral warmupsSHA-256 2695c9cf973ccc2b1d041dbe49db3460ac0792c33677373bb5925d43383b08f9 · 63390 bytes
- Audit bundle: exact tested candidate, frozen method, fresh corpus and all originals; not a qualified recipeSHA-256 96488e5a4445fcb9d2820bd09a7c72d535728c2b5b0e0516bce5f630eae29849 · 10041927 bytes