What this is. The home for the order satellite: the small helper a pharmacy's Business Manager downloads
and runs on their own PC so the app can hand a wholesaler's portal an order, and bring a wholesaler's price file
back. It gathers what is built, what is being tested, and what comes next — because this is the area with the
most still to do, not the least.
The safety footing, in one line. The satellite rides the browser the manager is already signed into. It
does only what the app's own signal tells it to — set the file into the portal's own upload control, or fill
its quantity grid, or click the download control the signal names — and it stops before any submission. It
never holds a wholesaler password, and the app itself never contacts a wholesaler.
| Piece | State |
|---|---|
| The in-app satellite view — the Business Manager's setup screen, the on/off switch, the download, the instruction sheet and the self-check | Live and verified (2026-09-29; 96 live checks plus 9 host-side) |
The package — built from the repository's own satellite/, shipped with both the Windows and Linux launchers (VERSION 0.2.0, 14 members) |
Live |
| Stage 1 — the portal record and the signal | Live (2026-09-28); the signal contract is at version 3 |
| Stage 2 — the satellite skeleton | Live on the Linux rig (2026-09-29) |
| Stages 3–4 — the satellite drives the portal | Live and verified (2026-10-01): the exported order file is placed in the portal's own upload control, and the portal's quantity grid can be filled — nothing submitted, and the portal's form still unposted when read back |
| I1–I3 — the inbound half | Live and verified (2026-10-01): the satellite activates the portal's download control, catches exactly one new file, and places it in our own upload box — it imports nothing itself |
| The synthetic test rig — four wholesaler portals of our own, over TLS | Built, verified and hosted (2026-09-30) on portal1–portal4; on demand, deliberately outside bring-up.sh, so a reboot leaving them down is expected |
| The file contract — the headerless two-column export, and the operator-declared headerless import | Live (2026-09-29) |
Two honest limits, stated here rather than discovered later. A real (non-DEMO) portal configuration is
refused by design (the satellite exits rather than driving a live wholesaler), and the first real wholesaler has
not been tried — that needs a real account and Matthew's say-so.
| Page | What it is |
|---|---|
| The Test Environment | The four synthetic portals: what you see, how to sign in, what each is for, how to check them |
| The Satellite on a Linux PC — the Launcher | Why the package's .bat will not run under Wine, and the Linux equivalent |
| Exercise 1 — Portal 1's Price File Into the App | The first real end-to-end exercise on a PC, and what was left |
| Supplier Portals — the Next Stage (Scoping Note) | The outbound half: the satellite driving a portal, staged, with the security footing |
| Supplier Price Downloads — the Automated Route (Scoping Note) | The inbound half: bringing a wholesaler's price file in automatically, with the manual upload kept beside it |
The build specs stay in build-records — that folder is the spec archive, and every phase and spec lives there
(see the project index). These are the satellite's: