Session story · 2026-10-10

The manuals were readable all along

Session: 2026-10-11 00:42 → 09:15 UTC (2026-10-10 17:42 → 2026-10-11 02:15 PDT; one conversation) · a planning session that turned, near the end, into an audit of everything we thought the AP manuals said.

Where we started

The bench session before this one had ended with an unproven fix for intermittent FFT failures and a website that had just gone live. Chris came back with a list: "regarding the app, I have a number of requests. Some for now and some for a roadmap. please plan this out." IMD needed its own view, crosstalk was half built, and the bench scripts needed to grow into something like APWIN's procedures.

The question

What should the app do next, in what order? By the end of the night the question was a different one: how much of what we "knew" from AP's manuals had ever actually been read?

What happened

A plan with Chris's decisions in it (591da55, c84e5d4). Claude drafted an order and five questions; Chris answered them in one message: "1- the order is correc. 2- same as APWIN 3- DUT channel separation 4- MM first". The fifth answer became the first real procedure: "assume the first DUT that needs a battery of test is an amp. do a thd vs amplitude test to see how much power the amp can take before THD starts to spike. The limit should be configurable but default to .5%." The plan now runs: RMS volts → procedure foundation → IMD view → crosstalk → an amp_basic procedure, with reverse RIAA (moving magnet first) on the roadmap.

A blocker, tabled. Claude explained that the FFT works only because Cascade sends the instrument a DSP program copied from APWIN, and that publishing the app would mean shipping AP's code. Its idea was "bring your own firmware", extracted from each user's own APWIN. Chris: "that " bring your own firmware" plan is a pretty big blocker. Maybe this APWIN software is old enough that they don't care about our approach. Or maybe you will figure out a different plan in the course of doing more feature work. we will table it for now"

RMS volts, and an instrument that was simply off (f1e787a). Every output-level field got its own dBV / Vrms / mVrms picker, as APWIN has. The level is still stored in dBV, so nothing sent to the instrument changed, and the regression run confirmed −20.00 dBV on every capture.

The FFT view during the units check script: OUTPUT LEVEL now has its own unit picker. The left column, full of test controls, shows why Chris called the interface crowded.
The FFT view during the units check script: OUTPUT LEVEL now has its own unit picker. The left column, full of test controls, shows why Chris called the interface crowded.
  1. 1 the new per-field unit picker (dBV / Vrms / mVrms)
  2. 2 test and probe controls crowding the sidebar

Before that, the regression had stalled. Claude read the logs as an instrument that had gone "asleep" and asked for a power cycle. Chris: "the ap unit was not on, it is now." The USB adapter has its own power and answered every request with zeros, which Cascade had taken for a working connection. So connect now checks that the analyzer really answers, and stops with "is the SYS-2522 switched on?" if not.

Grounding and error checking. Chris added two backlog items: "APWIN does error checking on the machine. It reads error codes and surfaces them. our app should have something like this. still another - APWIN provides a way to do floating vs chassis ground. that can make a difference in the SINAD. please research this in teh APWIN and 2522 documentation and manual." The research (518f72b) found the generator's five configurations and APWIN's error codes, and wrote a capture procedure (T91) to learn the commands. It also concluded that AP never explains when to choose Float over Ground. That turned out to be wrong.

The confession. Chris pointed Claude at the System Two specifications in 8211-0078. Claude's reply mentioned that this manual's text was garbled and that a decoded copy existed. It had existed since September 12, and Chris had never heard of it: "this is the first time you have said that any manuals were garbled. that would have been very helpful before"

Claude audited every PDF. Four had scrambled text, including the 438-page GPIB Programmer's Reference, and two were scans with no text at all.

"Garbled" was itself wrong. Chris exported a manual from Preview as an image. Claude found the export was 72 dpi, so it rendered the PDF pages itself at higher resolution and ran them through the Mac's built-in text recognition. The text came out clean. Chris saw what that meant: "so if you are able to do the 300dpi directly from the pdf you can read the pdf, which is exactly what you told me you could not do because it was garbled. please explain" The explanation: a PDF stores each letter twice, as a shape to draw and as a hidden code. Only the codes were scrambled, and Claude had only ever read the codes.

Chris put the cost plainly: "A lot of our work depended on you getting good information from the manuals, and now we find out that you were not able to get that, and did not tell me. I could have suggested other methods, as i have here, and gotten things going. This likely wasted a huge amount of time and tokens (and my money to pay for those tokens). take this as a lesson to be forthcoming about that kind of information"

The re-check (d890097). Chris said "yes, do the re-check first", and every claim in twelve files that cited the manuals was checked against the new text. Seven were wrong:

No app code had depended on any of the wrong values.

OCR has limits too. At 300 dpi the text recognition silently dropped three lines on a two-column System One page, the very lines that explain Ground mode. Looking at the page image caught it; everything was re-run at 450 dpi.

More manuals. Chris shared AP's download list for the 2522 and fetched what was missing, including the APWIN User's Manual for System Two Cascade, a 720-page panel-by-panel reference nobody had read yet.

The turns

  1. Planning settled the order; the publishing question was tabled rather than solved.
  2. "Asleep" became "off", and a misleading success became a clear error.
  3. One sentence about a decoded copy exposed a month-old silence about the manuals.
  4. "Unreadable" became "never looked at the page", and the fix took minutes.
  5. The re-check turned that lesson into seven concrete corrections.

Beliefs that changed

BeforeAfterWhat changed it
The 2522 had gone "asleep"It was switched off; the USB adapter answers zerosChris: "the ap unit was not on, it is now."
Several AP manuals were unreadableOnly their hidden text codes were scrambled; the pages render and OCR cleanlyChris's Preview export, then rendering the PDF directly
Crosstalk floor −140 dB or 1 mV−140 dB or 1 µV, about −120 dB at a 1 V driveOCR text of 8211-0078 §2.3.1.8
The FFT returns only computed binsRaw samples are readable too (:DSP:DATA?)OCR text of the GPIB reference
AP never says when to use Float vs GroundThe System One manual explains it (§9.4.3)OCR, checked against the page image
300 dpi OCR is completeIt dropped lines on two-column pagesComparing the text with the page image

What we learned about the instrument

What we learned about working together

Evidence

Where we ended

Every AP manual in the repo now has readable text, and the specs, plan and research documents carry the corrected values. The 2522 is switched off. Next: an audit of every view (screenshots and controls) before reorganizing the crowded interface, using the newly arrived APWIN User's Manual as the reference for how AP laid out its own panels.