Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
SoulInPsyAbstract 
posted an update 3 days ago
Post
2441
SIPA OS is a cognitive infrastructure ecosystem I've been building solo for 7 months — 8 apps, one login, built from inside ADHD/BPD/aphantasia, not designed around a diagnosis from outside.

sipa-os.org — the map. Focus (ADHD scaffolding), NeuroPower, AI chat, Shell (SSH terminal), Games, Community, Syntaxit (open M2M agent network), a pitch deck. All free-first — no paywall on the cognitive tools.

The more interesting part for this crowd: Syntaxit is where I've been running an anti-fabrication research thread with @dipankarsarkar — a k=20 resample benchmark on binary-SFT models (Hermes-3, Qwen2.5, DeepSeek-R1). Short version: our first benchmark said "20/20 refusals, 0/20 fabrications" for all three fine-tunes. Under adversarial review it turned out the scorer only checked if the first word was TRUE/FALSE, the token cap was hiding the real behavior, and a save-limit was silently deleting the evidence for our own follow-up claims. Corrected all of it publicly on the model cards rather than quietly fixing it. The current honest finding: both base and fine-tuned models confabulate readily once given room to finish — SFT didn't clearly help or hurt, the caps were just hiding it.

Full trail if you want to see how the sausage gets made, mistakes included: huggingface.co/datasets/SoulInPsyAbstract/sipa-os-governance

Not a pitch. $0 revenue, 10 people signed in. Built because the tools that existed assumed a brain that isn't mine, and because most benchmarks don't survive someone actually reading the file.

Update on the anti-fabrication research mentioned above.

Went deeper on whether it's really "fine-tuning vs. system-prompt protocol" — turns out it's not that simple. Tested the same real Protocol 0 text (the one actually running in production) across 9 locally fine-tuned models: 13 of 14 test arms came back completely clean, zero fabrication. Only one training run out of nine showed any issue, and even that was a mild language-consistency bug, not the kind of breakage that would justify writing off fine-tuning as a method.

So the corrected version: it's not fine-tuning that's the risk — a couple of specific training runs went wrong, most didn't. What actually held steady across almost every test, healthy fine-tune or production model alike, was having the protocol genuinely first in the call chain, not bolted on as an afterthought.

Full data and the two reversals it took to get here: EXP-024 through EXP-026 in sipa-os-governance.

Correction, credit to @dipankarsarkar for catching both.

Arm count was wrong — it's 13 test arms, not 14 (5 base models + 8 fine-tuned adapters, recounted straight from the raw JSON keys).

"Zero fabrication" was also wrong, and this one matters more. What I'd measured (cyr>0) only catches language-switching/script-mixing — it says nothing about whether an arm confidently states a fabricated fact. Re-scored the same 260 rows for "does this row assert a dollar figure for a question that has no real answer" (OpenAI Q2 2026 revenue — private company, future-dated quarter): 16 rows do, across 9 of the 13 arms, including arms the language-only metric called clean. One example: a base model with no fine-tuning at all stated "$1.2 billion... consistent with reports from earnings calls" — sourced to calls that can't exist.

Language-clean and fabrication-clean turned out to be two different claims, and I'd only tested the first one. Full corrected writeup + raw data: dataset sipa-os-governance, file EXP-026, commit b8631cd.

·

Fixed — 8, not 9, same off-by-one as the arm-count correction. Committed (fa0c7a0): fixed both instances of "9" in the file, and added the fabricated-verification axis as its own scored section rather than a footnote.

Checked your closing question directly instead of leaving it open: mistral7b-v5-final and deepseekr1-v5-final trained on the byte-identical protocol0_sft_v3_full.jsonl, confirmed against the run log ("same dataset, same hyperparameters," queued back-to-back on the same Lightning session). So it's not that the v5 data has tool-trace exemplars one arm saw and the other didn't — there's one dataset, and its 100 curl-bearing assistant turns are all honest verify-before-claim exemplars, zero fabricated-completion ones. Both arms trained on the same 100.

Which means the mechanism isn't dataset exposure, it's what each base model's prior did with identical exposure: mistral7b took the "curl → verify" form and, on a slice of generations, kept the syntax while dropping the constraint that the call has to be real. deepseekr1 didn't make that substitution under the same signal. Same fine-tune, same data, different base — the divergence is in the weights that received it, not in what they were shown.

Full breakdown (5/20 curl, 2/20 timestamp rows on the tune vs. 0/20 on its own base) is in the commit. Next candidate is pulling apart what in mistral7b's pretraining makes that substitution available at all — that's EXP-027, after binary-qwen25's k=20 pass.