Commit Graph

26 Commits

Author SHA1 Message Date
8f0c110dda geenforce: harden allowlist + fix share-less kiosk client and display scope 2026-07-28 17:09:35 -04:00
4ed1296d5e geenforce: IP allowlist for client endpoints + admin Settings tab 2026-07-27 14:13:50 -04:00
c355eaae43 printers low-toner alerts; geenforce display readiness + token scope-binding; air-gap docker deploy kit 2026-07-23 14:37:00 -04:00
73b05e5b1c alerts: per-support-team webhook + printedparts routing 2026-07-22 13:32:01 -04:00
a70cd14bee alerts: Teams webhook fan-out + contract 0.14.0 2026-07-22 10:57:19 -04:00
4a5b78dad2 alerts: Teams webhook fan-out + contract 0.14.0 2026-07-22 10:56:04 -04:00
d49f0cbb09 printedparts: QR label tag+rev, record taken revision 2026-07-22 07:52:17 -04:00
38c0f0395c geenforce: HTTPS payload delivery (blob store + endpoint) 2026-07-21 10:10:59 -04:00
844a28111a displays: IP-driven display role (dashboard/lobby/kiosk) 2026-07-21 09:49:14 -04:00
03c6adc77e Add per-role badge colors 2026-07-20 10:08:14 -04:00
384b8f7668 ADR-014 Phase 2: flask plugin prune-schema for lean per-site DBs 2026-07-19 11:39:51 -04:00
99025d10f0 ADR-013 Phase 5: lean per-site builds (build-site.sh + guards + CI) 2026-07-19 00:11:41 -04:00
fd2ab0ab1c ADR-013 Phase 3 complete: asset-panels + asset-presentation + map-overlays renderers 2026-07-18 23:10:27 -04:00
69922a4e16 ADR-013 Phase 3: asset-presentation search routing 2026-07-18 22:59:19 -04:00
72e3484497 ADR-013 Phase 3: generic asset-panels renderer (Path A) 2026-07-18 22:44:06 -04:00
197b51f2b3 ADR-013 Phase 2: import guard round-4 fix (init-less dir .py sibling) 2026-07-18 22:28:40 -04:00
bbd5224bcd ADR-013 Phase 2: import guard hardening (round-3 review fixes) 2026-07-18 22:12:27 -04:00
83a5ce79d9 ADR-013 Phase 2: meta_path import guard (re-review fix) 2026-07-18 21:47:40 -04:00
77ca2e0d2d ADR-013 Phase 2: enforcement + signed shelf + adopt (adversarial-review hardened) 2026-07-18 21:06:38 -04:00
0ff5edc553 ADR-013 Phase 1: signed plugin artifacts (pack/validate/keygen) 2026-07-18 20:22:07 -04:00
41f5dbf5e0 ADR-013 Phase 0: plugin lifecycle groundwork (validate, apply-profile, dependency fixes) 2026-07-18 18:08:48 -04:00
365b0f2f69 printedparts: gage-lab asset tag + print-files redesign
The gage lab assigns real WJRP asset numbers: internal itemcode stays
auto-minted, a new optional unique gagelabtag carries the lab's number,
searchable and kiosk-resolved (scans and bare digits against either
identifier). Print files render as stacked revision cards instead of a
scrolling table.
2026-07-17 14:01:10 -04:00
fce7937b9b Shopfloor feed resolves employee names live when none is stored
Photos already resolved at read time; names only came from the stored
column, so imports without the employee source showed bare SSOs. New
mode-aware display-name resolver backs a live fallback; stored names
still win.
2026-07-17 13:29:35 -04:00
6de329a390 Users: deleting a user clears their API tokens and detaches audit rows
Deleting any user who owned an API token or appeared in the audit log
hit the users FK and returned 500. Tokens are revoked outright; audit
history is kept but detached so the trail survives the account.
2026-07-17 10:54:48 -04:00
11c8d79ba4 Add the printedparts plugin: 3D-printed parts storefront and kiosk
Catalog with photos and append-only print-file revisions, a stock
ledger attributing every take/restock/adjust to a badge-resolved
employee, a touch kiosk (scan bin, scan badge, keypad quantity) with a
deliberately open decrement-only take endpoint, 1x0.5in CODE128 bin
labels, low-stock email alerts to selected users, roles, or addresses,
and stock/consumption/by-person reports with a cache-vs-ledger
reconcile. Ships disabled; enable per site. Contract 0.13.0 adds the
mailer and the User/Role models to the plugin surface.
2026-07-17 09:29:01 -04:00
a9d0dfff4a Initial import: shopdb-flask multi-site asset platform
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
2026-07-14 07:58:51 -04:00