The record
Written as the work shipped
35 records, July 2026 to October 2026, each written as that piece of work shipped rather than recalled afterwards. A finding is a claim with a method, a count and a limitation. A record is what happened. Only the first kind becomes a paper.
These are the published copies. Commit references and internal identifiers have been removed, and the operator whose systems they describe is not named — the engineering, the counts and the stated limits are unchanged.
35 of 35 shown
October 2026
- 2026-10-02
Auditing a machine when USB boot is blocked: a network-boot fallback and the line it must not cross
A design-only record (nothing built) for delivering the same audit environment over the LAN via iPXE when firmware refuses USB boot, admissible on exactly one row of the boot-policy matrix where network boot is already enabled, together with the circumvention routes it refuses and an explicit split between what is established and what is only reasoned.
- 2026-10-01
A boot splash that fills any screen, and patching a live squashfs layer to ship it
The fixed-size plymouth two-step engine could not scale a splash to an unknown panel, so the theme was moved to the script engine, the engine object was vendored into the initramfs as a bare file to avoid destroying the merged-/usr symlinks, and the shutdown splash was delivered by swapping one theme inside an existing squashfs layer under byte-identity preconditions rather than rebuilding it.
- 2026-10-01finding
Measuring legibility on a bench console: 35 of 95 text elements below 4.5:1, and the controls at 1.12:1
A rendered-page contrast audit, taking each visible element's colour against the background actually behind it, found 35 of 95 text elements under WCAG 4.5:1 and every button, input and card edge at 1.12-1.18:1 (effectively invisible), plus one real bug where an undefined CSS variable turned a header name white-on-white; a measured palette took the failures to 0 of 95 with no change to size, spacing or layout.
- 2026-10-01finding
Walking 29 pages and 142 links against a disposable replica stack
Rather than click around an app whose development server reaches a live API, a full throwaway replica (containerised Postgres on a spare port, the real API with every database setting overridden by environment, the sync service pointed at a dead port) was seeded through the API and then driven with a headless browser: 29 pages at 1366 px and again at 375 px, all 142 internal links fetched, and 16 end-to-end actions each with a checked outcome - no page errored and no link was broken, but eleven defects surfaced, including a nav that rendered empty for about 0.9 s on every full page load, unlocalised currency and dates, a collapsed list that made a populated page read as empty, and a specification grid that pushed a phone page 747 px sideways.
- 2026-10-01finding
The black screen after the splash, and the seconds hiding behind it
The ~22-second black screen after the boot splash was a dead two-second settle wait plus a synchronous package install sitting on the browser's start-up path; removing both took app-ready from 43.1s to 37.4s, and new timeline marks were added to find what is left.
September 2026
- 2026-09-30
Telling a firmware-locked RAID drive apart from an unreachable one
A drive hidden behind a RAID/Intel RST controller is raised to "Inaccessible - locked" only when a BIOS password is established as set, because an unestablished lock keeps the ordinary set-AHCI guidance and guessing LOCKED from an unread state would be a false absence with extra steps.
- 2026-09-30finding
Auditing a BIOS-locked machine inside the normal flow
A firmware-locked machine is treated as a data outcome rather than a separate workflow: the verdict INACCESSIBLE - LOCKED is claimed only where a component is visibly present-but-down on the PCI or USB bus, so a part disabled in firmware is no longer scrapped as dead.
- 2026-09-27finding
Writing up an evidence-producing system when the evidence is not there
The only data available locally was a seed fixture of 5 devices and 1 audit with zero pallets, lots, products or activity, so the paper states outright that this supports no analysis, labels every synthetic chart at source, and lists each analysis deliberately not performed with what performing it would require.
- 2026-09-27finding
A check that cannot see a class of defect reports the same clean as a check that looked
A document converter is a probe that reports on content it does not control: the renderer mapped RIGHTWARDS ARROW to the "fi" ligature in 21 places, including the paper's own hierarchy description and its knowability-tier table, and the first verifier called the file clean because its normaliser stripped the arrow from both sides before comparing — fixed by registering real TrueType families, by comparing raw rather than normalised page text, and by printing every transliteration instead of applying it silently.
- 2026-09-25
Proving what a second-hand computer is: writing up the whole system
A single-defect paper was rebuilt as a nineteen-section, layer-by-layer treatment of the whole system around one thesis — that every output is a claim about a machine the system does not control, and its value is how honestly it separates what it has established from what it has assumed — with every figure measured from the repository rather than recalled, no production telemetry invented because none was collected, and the unchecked citations named as a blocker rather than glossed.
- 2026-09-23finding
Shipping a package by file copy instead of a squashfs rebuild
A build-time safety gate that checks baked packages against the host's package database passes vacuously inside a container — it reports "none of ours is an upgrade" not because it is true but because it cannot see — so the dependency was delivered as three .deb files on the stick instead, and running the real binary for the first time exposed a pipeline whose failure had been reported as an empty result.
- 2026-09-22finding
Who owns a keypress: three layers of interception in a kiosk browser
A key pressed on a laptop running a kiosk browser can be consumed by the page, the display server or the machine itself, and only the first can be vetoed — which is why a keyboard test that asks the technician to press every key produced a black screen, a browser sidebar over a live capture, and 71 of 85 keys recorded as never seen.
- 2026-09-22finding
The Autopilot evidence already under our feet: reading registration artefacts from a read-only volume
A lock check was reading two registry keys on a volume it had already mounted read-only, while four other artefacts on the same volume - three JSON profiles and the ModernDeployment event log - named the tenant outright; the event log also turns a single cached negative into a count of every refusal.
- 2026-09-22finding
What is knowable about Autopilot registration
Autopilot registration is a row in Microsoft's cloud keyed to the hardware hash, so a wiped disk cannot give a certain answer; four tiers are assessed and the one that would work by reimplementing the ZTD query is recommended against because its failure mode is a confident wrong answer.
- 2026-09-21finding
Windows management checks from a read-only registry: what Entra, domain and MDM enrolment can actually prove offline
Because the audit station boots Linux, dsregcmd, PowerShell and WMI are impossible and only the registry those tools would have read is available; the record sets out what is knowable from which hive, three mechanical traps in reading them, and why "Windows is activated" can never honestly be claimed.
- 2026-09-20finding
Reading the installed operating system offline, and the rule that encrypted outranks everything
libblkid types an encrypted volume as "BitLocker" rather than "ntfs", so an ntfs-only volume filter walked past the one disk that mattered and reported "No operating system installed" for a machine whose data was wholly intact and merely unreadable; the fix generalised into a precedence rule, alongside an honest account of which Windows licence facts are provable from a dead disk.
- 2026-09-19finding
Making a live audit station boot faster, measured
Cutting a live Ubuntu station's power-on-to-usable time from a measured 82 seconds by carrying less and reading it faster - Firefox ESR in the layer instead of 1.4 GB of seeded snaps, lz4 only where the stick's kernel is proven to read it - and fixing three wrong boot instruments before trusting their numbers.
- 2026-09-19finding
Drive health as a percentage, never "Unknown"
Turning vendor-specific SMART counters across SATA, NVMe, eMMC and SAS into one drive-health percentage in named bands that is never "Unknown" - one formula in one place - and four corrections that stopped a warm afternoon, a bad cable, an unread SAS counter or a missing eMMC estimate being graded as failure.
- 2026-09-08
Account safety, golden images, and splitting the grade
A dated record of account-safety work - disable a user rather than delete them, because every audit, wipe record and certificate names the person who performed it - alongside golden-image restore, splitting one grade into cosmetic and screen, and three safety corrections; its transferable content is concentrated in the first section.
- 2026-09-02finding
A casper overlay layer, and a kiosk session that ships switched off
Booting an Ubuntu live audit stick straight into a kiosk by extending casper's own squashfs layer chain, and the three overlay faults - a 0700 layer root, a real /lib shadowing the symlink into /usr, and a destructive undo - that each cost boots.
- 2026-09-02finding
Device locks, and the port to an Ubuntu Secure Boot base
Detectors for the ways a second-hand business PC stays locked to its previous owner, the move to an Ubuntu Secure Boot base that detecting a BIOS administrator password forced, and four detectors found to be wrong by attacking them.
August 2026
- 2026-08-23finding
Thirty-one pages into one visual system, and the ten defects that re-reading them exposed
Bringing thirty-one feature-first pages into a single visual system over four days exposed ten substantive faults — among them a page whose every write returned a 500 and had presumably been unusable since it shipped, a register showing no sold devices at all, and an activity log truncating in silence — supporting the stronger claim that a page nobody has re-read since it was written is a page with undiscovered faults in it.
- 2026-08-20
One SQL roll-up, and a WCAG 2.2 AA baseline that has to survive photocopying
Moving a dashboard roll-up into a single SQL statement so its figures cannot contradict each other, a defect in which the headline "In stock" figure counted five statuses while its own link asked for one, and an accessibility pass whose lasting rule is that status is never conveyed by colour alone.
- 2026-08-20finding
A merge moves lines, it never copies them — and the discipline of deleting features that work
The invariant that makes merging two part-built pallets safe is that a merge moves lines rather than copying them, because a copying merge would silently inflate every total in the system by exactly the merged quantity; alongside it, the two-commit house rule for removals — drop the code first, drop the table second.
- 2026-08-09finding
A queue that survives a power cut, and why durable storage is not the same as a safe read
An offline audit queue held in memory lost six audits on a single bench power-down with no indication anything had been lost, so the queue moved onto the USB stick itself — and a month later the same component's read path proved destructive, rewriting as empty a queue file it had merely failed to parse.
July 2026
- 2026-07-29
Unit IDs, printed labels, and normalising what the hardware reports
Deriving a device identifier the warehouse can say out loud from the stock hierarchy, rounding captured RAM and screen size to the capacities actually fitted, and the sysfs zero-size trap that left screen size blank on every audit, silently, since the feature shipped.
- 2026-07-26finding
Teaching a live-boot audit station to explain itself
One "not connected" message covered six faults with six different fixes, so the check was made to walk the layers and name the first that fails — and the sharpest case was a dead CMOS battery putting the clock years out, which breaks HTTPS because the certificate reads as not-yet-valid and the connection is refused before any data flows, surfacing as the same bare negative with no error text.
- 2026-07-25finding
Making a browser fill a screen: seven attempts on a live-boot appliance
Seven approaches to full-screening a kiosk browser on hardware that is whatever came through the door, six of which failed because they needed a package the live-boot image did not carry, and the one that shipped — libX11 through python ctypes — together with the status-bar readout naming which of five launch paths actually ran, without which every failure looked identical.
- 2026-07-25
A reporting dashboard in eleven slices, and the true table that communicated badly
Eleven report slices from KPIs to supplier performance, where the last two — cross-report dimension filters and filter-aware export — are what make the other nine usable, because an export that silently returns the unfiltered set is a report that lies.
- 2026-07-25
Deleting a working module: replacing an order book with a status transition
A sales module built thirteen days earlier was removed because it modelled an order lifecycle the business does not have, replaced by Sold as a terminal locking status with admin-only return that reactivates the container it came from, and a remembered-but-uncounted former pallet so history survives without the stock claim.
- 2026-07-23
Hierarchy, batch ownership, and the activity log
A Lot to Asset to Hardware drill-down with Total/Audited/Pending counts on each lot card, plus ownership scoping enforced in six passes — the fifth being the one that mattered, because scoping the API is not enough when clients sync a local database directly and the sync rules have to be scoped too.
- 2026-07-13finding
A bootable hardware audit, and the rule that the station's own hardware is not the machine's
A bootable USB tool that reads a second-hand machine's hardware directly into an extensible profile instead of a fixed set of columns — and the defect that had it record its own boot stick's model and size as the machine's storage, which became a rule applied again in OS detection, the wipe engine and the storage scan.
- 2026-07-11finding
Scanning in a warehouse: native barcode detection, full-resolution OCR, and three rounds of correction
Choosing the browser's native BarcodeDetector and full-resolution still-photo OCR over a per-device commercial SDK licence, and what three rounds of correction taught — extract a vendor's service tag rather than the most confident string, do not crop away the pixels OCR needs, and show the operator which engine is actually running.
- 2026-07-10
Purchase lots, a product catalogue, and the supplier manifest
Modelling stock that is bought before it is counted — a product catalogue, declared sub-lot specifications, pre-arrival expected quantities, and a browser-side importer for the inconsistent spreadsheets suppliers actually send — plus the TypeORM migration-ordering hazard that had already caused an outage.
- 2026-07-09finding
Offline-first capture on a warehouse floor: four sync faults, three of them silent
An offline-first inventory client (NestJS/Postgres API, Next.js web app, PowerSync) shipped against an unreliable warehouse network, and the four sync-queue faults that followed — of which three failed silently, looking identical to a clean state.