Ben Baker's installed-software collection, software delivery (run_script and
update_app), agentless adoption tool and command-queue hardening, with his
authorship preserved.
Reviewed before promotion. Fixed: the endpoints plugin tests were never collected
by pytest, the SBOM snapshot table's key would exhaust on MySQL, ingest did not
truncate two columns strict MySQL would reject, and update_app's version branch
pinned a digest for a file that route never serves. Agent packaging moved off
require_role('admin') onto a new endpoints.agentpackage permission.
Contract 0.27.0. Full suite 2231, frontend 314.
docs/ is generated and published to the wiki, not tracked in the product repo, and the docs publish/version tests skip when docs/ is absent. A single tracked file under docs/ made the directory exist in the CI checkout, so those tests ran against a near-empty folder and failed test_there_are_docs_to_check (needs >20 files) and test_the_map_itself_is_current (needs PROJECT-MAP.md). Untrack the guide and ignore it so it stays local-only and docs/ is absent in a fresh checkout, restoring the intended skip.
Rework the seed catalog from the cleaned live DB: dedupe Dell vendor/model rows, strip vendor names out of model numbers, add missing models, assign model types across printer and equipment lines, add a Controller type, and split a mashup HP LaserJet row into six real models. Now 44 vendors, 172 models, 173 modelsupplies. Also document that assets.csv needs its subtype file to appear in typed list views, and ignore devnotes/ scratch.
Clone-to-first-change onboarding, plus .vscode launch/tasks/extensions
so F5 debugs the backend and a task runs both dev servers. Fix the
README manual path to run the backend on 5001 (the frontend proxies
there; the default 5000 loaded nothing).
At sites running the external HR directory the self-hosted table is
empty, so every kiosk badge fell to the deny policy. The resolver now
branches on employee_directory_mode: selfhosted reads the directory
table by SSO; external queries the HR directory, resolving PayNo
badges by their real PayNo column.
Flask + Vue rewrite of the classic-ASP shopdb, built as a plugin
framework so sister GE Aerospace sites can adopt it. Product version
0.7.0-pre-0.8.0, plugin contract 0.11.0, 966 backend tests.
Key entry points:
- docs/INSTALL-WINDOWS-IIS.md - tested Windows + IIS install runbook
(own-site and subpath deployment methods)
- docs/PILOT-DEPLOY.md - production pilot: stand up + import + verify
- docs/IMPORT-API.md - schema-agnostic legacy data import contract
- scripts/site_imports/wjf/ - West Jefferson reference import loader
- docs/adr/ - twelve accepted architecture decision records