← Today  ·  → WINVENTORY26 (run inventory)

Inventory · what exists

Discovery pass · 2026-05-26 · don't build new — find what's already here. · For the operational input form, see winventory.html (WINVENTORY26).

The previous inventory map · already written

the existing map · read this first
INVENTORY-GENEALOGY.md

Two-axis lineage of every inventory tool Shalaco has shipped — the IDEA axis (E1 picklist → E2 batch-analyzer → E3 purchasing brain → E4 control tower spec → E5 live-pull) crossed with the PHYSICAL axis (every file, every version, every mtime). Captured 2026-05-19. This is the map.

where Automaton Architecture/Wildfuturesadvancementgroup.com/BACKBONE/Automaton Architecture Annex/audit/INVENTORY-GENEALOGY.md

The headline tool · the latest that worked

process-inventory.py live · E5

what Pulls the current Inventory Google Sheet tab via Google's anonymous gviz CSV endpoint, normalizes per-mix rows, writes BACKBONE/inventory.json. Idempotent. No API key. Python 3.8+.
where Automaton Architecture/Wildfuturesadvancementgroup.com/process-inventory.py
how Three steps:
cd ~/Desktop/Automaton\ Architecture/Wildfuturesadvancementgroup.com

# 1. Bump the sheet-name config to this week's tab name
echo "Copy of MM/DD-MM/DD #####-##### Kota" > .inventory-sheet-name

# 2. Run the tool
python3 process-inventory.py

# 3. Output lands at BACKBONE/inventory.json

The sheet renames weekly — Google's anonymous endpoint can only address by name, not by tab position, so the convention is bump .inventory-sheet-name when the sheet renames.

when Last successful run: 2026-05-20 22:42. Active config currently points at Copy of 04/28-05/11 13229-13381 Kota — that sheet is 4 weeks old, so the config almost certainly needs bumping today.

What runs on top of the inventory JSON

backbone-automaton · ossify build live

what Takes inventory.json + an orders CSV, produces a purchasing recommendation (mix-by-mix: in-stock, short, demand, forecast, reorder lbs). Output in .md, .html, .json, and a runnable .py.
where Automaton Architecture/Wildfuturesadvancementgroup.com/backbone-automaton/builds/2026-05-20-ossify/
how Build run on 2026-05-20 used: 4-week forecast window, 5 lbs/mix safety stock. Recommended reorder for that build: 101.772 lbs total, with NE at 46 lbs (highest).
when Last build: 2026-05-20 22:45. To re-run on fresh data: re-run process-inventory.py first (above), then re-trigger the ossify build with today's orders CSV.

Master Control Dashboard live

what The dashboard surface that consumes BACKBONE/inventory.json + sibling JSONs (monday-morning, kota-schedule, master-batches). Multiple iterations including the most recent 2026-05-20-cowork-computed/.
where Automaton Architecture/Wildfuturesadvancementgroup.com/05-18-Master-Control-Dashboard/ · also a sibling project at root master_control/ with newer data folder dated 2026-05-25.
how Open master-control.html in the MASTER-CONTROL folder, or use Launch Master Control.command at the same path.
when Active. Iteration 2026-05-20-cowork-computed is the most recent named compute.

The Control Tower spec · drafted but never wired

INVENTORY-CONTROL-TOWER.md + INVENTORY-FLOW-DESIGN.md spec only

what Spec for replacing the manual xlsx-per-batch workflow: ingest live Squarespace + ShipStation orders, compute demand vs on-hand, apply per-mix minimum-stock thresholds (5 lbs default, 2 lbs specialty), output a reorder list. Plus the "flow" view: Stock / Ordered cumulative / Committed cumulative as a visualization primitive.
where scripts 2026/05-02 SFIB SKU Matrix/INVENTORY-CONTROL-TOWER.md + INVENTORY-FLOW-DESIGN.md
how Two HTML drafts exist (inventory-dashboard.html + inventory-flow.html) in two locations (wildfag-local/ and the SKU Matrix outputs/). Never wired to E5's live data. Per the genealogy: this is the #1 shattered piece.
when Specced 2026-05-04. Not wired since.

Older lineage · still on disk, still readable

winventory-purchasing-2.0.py + 3.0.py E3 · archived

what Drop a ShipStation CSV in, get the seed-oz purchase grid out in MBT-paste shape. The 2.0 version was the active weekly pipeline before process-inventory.py. 3.0 was a full rewrite (exact-match-only, CLI-mode) with test_winventory.py companion.
where scripts 2026/001 Active Scripts/Winventory 2026/winventory-purchasing-2.0.py · 3.0 in the v3/ subfolder.
how CSV-in workflow (find newest in ~/Downloads). The BOM data is in bom_constants.py + variant_key.csv — these exist in TWO homes (root vs v3/). Per the genealogy: shattered piece #2.
when Last touched 2026-04-15. Superseded by process-inventory.py on 2026-05-17 (which closed the CSV-drop loop).

winventory-batch-analyzer-1.0 → 1.4 E2 · archived

what Summarize a ShipStation CSV into MBT-paste shape — 23-family row order, exact column contract. 1.4 was Kota parity.
where scripts 2026/001 Active Scripts/Winventory 2026/winventory-batch-analyzer-1.4.py · 1.0–1.3 in archive/analyzer-v1/.
when 2026-04-14 to 2026-04-15.

winventory-0.0.0 → 0.0.4 · the seed E1 · archived

what "Picklist Generator v1.0" — take a ShipStation order export CSV, summarize SKU quantities, output a picklist. The seed of the whole lineage.
where scripts 2026/000 Script Vault/Scripts 2025/Winventory/winventory-0.0.0.py
when 2025-05-25.

Notion master-inventory exports · the historical surface

Notion · Master In House Inventory 03 26 historical

what CSV + HTML export of the Notion "Master In House Inventory" page (March 2026 cut). Sample columns: Name · In Stock @ Activspace · Multi-select · Total In Stock · product link · total in-stock. E.g. "3oz Messenger Shaker · 150 · Messenger".
where scripts 2026/COGS ANALYSIS 26/data/Export-c1e8b368-…/SFIB HQ/…/2026 SFIB Basecamps/Inventory Library/Master In House Inventory 03 26/ · CSV: Master inventory 333d0a3b…ca84a8c4554bd45cc8.csv
how This is a Notion export, not a live tool. Reference data only. The live operator surface is the Google Sheet that process-inventory.py already pulls.
when Exported as part of the COGS ANALYSIS 26 Notion dump. Static snapshot.

Notion · Inventory & Purchasing (SFinBloom HQ) historical

what The Notion dashboard for inventory + purchasing. Holds the Q1 2025 Fulfilment workflow exports and picklist-to-inventory-4.2.1.py / 5.0.0.py — the Notion-era ancestors of Winventory. The 5.0.0 version introduced the canonical PRODUCTS_MAPPING dict (per-seed-mix → seed oz + rice hull packs + shaker components) that becomes bom_constants.py in E3.
where scripts 2026/COGS ANALYSIS 26/data/Export-c1e8b368-…/SFIB HQ/…/SFinBloom HQ 📥 Dashboard Beta/Inventory & Purchasing 1cbd0a3b…d10e397.html

Binge Ephemeris · where the inventory work appears in the cosmos-wide index

Binge Ephemeris/index.html live

what The universal-view index across every Binge Report. Filterable by day / thread / text. Indexes inventory work under the backbone thread (backbone · ossify purchasing for 2026-05-20) and under the master-control thread (MC · OP DEMETER, tagged "purchasing").
where Binge Ephemeris/index.html (33KB)
how Open directly (works on file://) or via the root server. Filter by thread = "backbone" to see the most recent ossify-purchasing build.
when Last indexed iteration: 2026-05-20 (backbone ossify purchasing).

Bottom line · for "Shalaco runs inventory" today

Don't build anything. Use process-inventory.py. It already does the job — pulls the live Google Sheet, normalizes, writes inventory.json. The only thing needed is to bump .inventory-sheet-name to point at this week's tab (the current config still says Copy of 04/28-05/11 13229-13381 Kota from 4 weeks ago).

If purchasing recommendation is also wanted today: re-trigger the backbone-automaton ossify build with a fresh orders CSV after the inventory pull. That gets you the by-mix reorder list (the kind from 05-20 that recommended ~102 lbs total).

The Control Tower spec (E4) is still the unwired piece — wiring E5's live data into the E4 dashboard is the one piece of "build" work in the whole genealogy, and it's parked, not for today.

⌬ MO-000 · today-inventory-discovery · 2026-05-26 · discovery pass · all entries follow what/where/how/when per Captain's spec.