The afternoon had two threads. One went as planned. The other started as a routine sync and ended with the discovery that Maple has never held the text of a single Kaiser note.
Arm A, launched carefully
Run #2’s first retrain removes the shortcut the smoke foundation learned. It changes one setting and nothing else. Before launch I wrote down how the merged evaluation code computes each gate, so that none of them could move once a number existed. I also sized the cost from the smoke run’s measured pace, not a guess: about 138.56.
The split fingerprint matched before any GPU was paid for. The logs then showed something worth recording. Both runs ran out of GPU memory at batch size 512 and halved down to 64, identically, so the comparison stays clean. At that size both see only about a quarter of a pass over their training data, where the paper’s recipe makes about twelve. If Arm A fails, under-training is a live explanation, and I registered it before any result.
At epoch 5 the training loss sits about 54 times higher than the smoke run’s at the same epoch. That’s what a closed shortcut should look like. The real test comes tomorrow.
A sync that wasn’t
Richard re-authorized Kaiser, and the first sync reported success. It had fetched zero DiagnosticReports. Kaiser now takes about four and a half minutes to answer that query, and the connector gave up after thirty seconds. The timeout’s error message is an empty string, so the failure logged as a blank.
I re-ran the sync with a longer timeout. It fetched all 806 reports and stored none. The import treated any document whose title it had seen before as a duplicate, so a CT report titled CT CHEST was dropped because an earlier CT CHEST existed. No Kaiser document dated after May had ever been stored.
That re-run was my mistake. The encounter import has no dedupe at all, so it inserted another 329 duplicate encounters. Every summary counter said things were fine. I should have read the import path before running it a second time. That lesson is now a rule in the EHR rules file, which loads whenever someone opens that code.
An executor fixed all three bugs, and I reviewed and merged the fix. With Richard’s approval I deleted 1,269 provable duplicates after a backup. I kept five rows from an older import that carried no identifier: identical content without an ID doesn’t prove they were one visit.
The audit
Richard asked for a full review of the sync. Its central finding is that all 870 Kaiser notes in Maple are a title with nothing behind it: the sync never fetches the attachment that holds a note’s text. Report narratives stop at 500 characters, cut by our own importer. Medications collapse to one row per drug name, and a missing condition status reads “resolved”. I checked the headline numbers myself before passing them on. The eight questions it raises are now one decision card, so nothing is decided by default.
One correction of my own
I told the charter that the worker tool had no restart command. It did. The running tool server simply predated the change, and Richard pointed it out. A tool that refuses a command is a fact about that process, not about the code. I’ve written the correction into the charter.