Commit Graph

  • 23dc9fa379 ADR-013 Phase 4: relocate 4 self-contained plugin frontends cproudlock 2026-07-18 23:51:23 -04:00
  • af9a3b190b ADR-013 Phase 4: frontend staging machinery + relocate printedparts; fix router crash cproudlock 2026-07-18 23:42:43 -04:00
  • 37c764ba8d ADR-013 Phase 4: move hardcoded plugin top-level routes into plugin route files cproudlock 2026-07-18 23:26:17 -04:00
  • 296b6e024b ADR-013 Phase 3: generic map-overlays renderer (Path A) cproudlock 2026-07-18 23:10:09 -04:00
  • 8a2f984393 ADR-013 Phase 3: search routes via get_asset_presentation, not a hardcoded map cproudlock 2026-07-18 22:56:05 -04:00
  • b669561421 ADR-013 Phase 3: migrate all detail pages to PluginAssetPanels; drop WarrantyPanel cproudlock 2026-07-18 22:50:27 -04:00
  • e3c4b90afe ADR-013 Phase 3: generic asset-panels renderer (Path A) cproudlock 2026-07-18 22:43:54 -04:00
  • beea6c0c9f ADR-013 Phase 2: guard hash-gates a .py sibling of an init-less dir cproudlock 2026-07-18 22:28:33 -04:00
  • c59d2dab56 ADR-013 Phase 2: import guard fails closed on non-.py + owns package root cproudlock 2026-07-18 22:12:20 -04:00
  • dd30ca0c3f ADR-013 Phase 2: verify every plugins.* import via a meta_path guard cproudlock 2026-07-18 21:47:32 -04:00
  • 55a6f1b8d3 ADR-013 Phase 2: fix four bypasses found by adversarial review cproudlock 2026-07-18 21:06:27 -04:00
  • 5b19f3b554 ADR-013 Phase 2: enforcement + signed shelf + adopt cproudlock 2026-07-18 20:44:54 -04:00
  • 86f5f1be68 ADR-013 Phase 1: signed plugin artifacts (pack/validate/keygen) cproudlock 2026-07-18 20:21:57 -04:00
  • d178726687 ADR-013 Phase 0: plugin lifecycle groundwork cproudlock 2026-07-18 18:08:34 -04:00
  • 3ac5ed2580 Add ADR-013: plugin catalog, curated shelf, lean per-site builds cproudlock 2026-07-18 17:40:29 -04:00
  • 603872ff76 Add Copilot custom instructions cproudlock 2026-07-17 20:56:41 -04:00
  • 6ab1046ef4 Add flask seed demo sample-data command cproudlock 2026-07-17 20:32:01 -04:00
  • 83141bacb7 Widen settings.description to TEXT; run seeders in CI cproudlock 2026-07-17 20:31:48 -04:00
  • 804c066de4 Add cryptography dependency for MySQL 8 auth cproudlock 2026-07-17 19:41:42 -04:00
  • 9deb194580 Standardize on Python 3.13 (matches prod 3.13.7) cproudlock 2026-07-17 19:30:19 -04:00
  • 314f339ba9 Dev setup: winget install commands for the Windows toolchain cproudlock 2026-07-17 18:58:06 -04:00
  • 1361dc6004 Lab intro: tag range through lab-stage-17 (last audit finding) cproudlock 2026-07-17 18:15:59 -04:00
  • efb879d44a Docs audit fixes: kiosk code drift, PowerShell chains, broken links, leaks cproudlock 2026-07-17 18:05:47 -04:00
  • aba588cc07 Neutralize internal-host references for publication cproudlock 2026-07-17 15:13:34 -04:00
  • f77f0a8d90 Add GitHub Actions CI + Windows notes on the developer docs cproudlock 2026-07-17 15:12:36 -04:00
  • 0e194c3237 Dev setup: note GitHub has no CI yet, so local checks are the gate there cproudlock 2026-07-17 15:09:16 -04:00
  • 9a60100cb2 Dev setup: correct the hook claim, ship an opt-in committed hook cproudlock 2026-07-17 15:08:50 -04:00
  • 0c37ef9057 Dev setup: Windows-first (most devs are on VS Code / Windows) cproudlock 2026-07-17 15:01:49 -04:00
  • f764c5d3e9 Add development setup guide + shared VS Code config cproudlock 2026-07-17 14:40:55 -04:00
  • 3a3dff285e printedparts stage 17: gage-lab asset tag + print-files redesign lab-stage-17 cproudlock 2026-07-17 14:01:09 -04:00
  • 6160a5142a Dark mode: dropdown arrow no longer tiles across selects cproudlock 2026-07-17 13:37:24 -04:00
  • d75e80ce79 Plugin lab rewritten as the literal type-along walkthrough cproudlock 2026-07-17 13:35:02 -04:00
  • ee80d684d4 Shopfloor feed resolves employee names live when none is stored cproudlock 2026-07-17 13:29:34 -04:00
  • bc9159742c printedparts lab: post-stage polish addendum and closing lesson cproudlock 2026-07-17 13:24:11 -04:00
  • e9235de8ec Floor-map previews honor the mount path cproudlock 2026-07-17 11:43:06 -04:00
  • 4f3ea2848a GE monogram avatar fallback + per-page document titles cproudlock 2026-07-17 11:31:38 -04:00
  • 5625608bd0 Employees: external photo base URL is a setting cproudlock 2026-07-17 11:16:04 -04:00
  • 0cc205d25e Users: deleting a user clears their API tokens and detaches audit rows cproudlock 2026-07-17 10:54:47 -04:00
  • bb5308bae0 printedparts: badge resolution honors the employee directory mode cproudlock 2026-07-17 10:39:11 -04:00
  • d297c5b75d IIS runbook: app pool needs Modify on instance/ cproudlock 2026-07-17 10:34:52 -04:00
  • deb6dd2162 Ignore the publication clone's _transfer bundle folder cproudlock 2026-07-17 10:01:34 -04:00
  • 02ed88c7c5 Merge printedparts: 3D-printed parts storefront, kiosk, labels, alerts cproudlock 2026-07-17 09:20:43 -04:00
  • d1357defc4 printedparts: catalog access is printedparts.view-gated cproudlock 2026-07-17 09:19:30 -04:00
  • 96e48e0f50 printedparts kiosk: keypad and entry-panel visual polish cproudlock 2026-07-17 09:13:27 -04:00
  • 4dfdb167d5 printedparts stage 16: kiosk touch fixes from first hands-on use lab-stage-16 cproudlock 2026-07-17 09:04:52 -04:00
  • aa4bfcd41c printedparts stage 15: print-file revision history + role-based alerts lab-stage-15 cproudlock 2026-07-17 08:47:41 -04:00
  • 26b6b6b32f printedparts: Parts Kiosk link in the sidebar Displays section cproudlock 2026-07-17 08:38:57 -04:00
  • eab225e1e6 printedparts stage 14: retire/restore in the UI, dashless item codes lab-stage-14 cproudlock 2026-07-17 08:35:31 -04:00
  • a8a6baf979 printedparts stage 13: pick alert recipients from shopdb users lab-stage-13 cproudlock 2026-07-17 08:30:04 -04:00
  • 427eb0de8c printedparts stage 12: admin settings page + settings-rail card lab-stage-12 cproudlock 2026-07-17 08:25:33 -04:00
  • df918ed38f printedparts stage 11: low-stock email alerts on threshold crossing lab-stage-11 cproudlock 2026-07-17 08:15:50 -04:00
  • fc0d48a6a7 printedparts stage 10: closeout - lab guide rewritten from the real build lab-stage-10 cproudlock 2026-07-17 08:11:36 -04:00
  • b68e927ef6 printedparts stage 9: reports - stock w/ reconcile, consumption, by-person lab-stage-09 cproudlock 2026-07-17 08:04:09 -04:00
  • 6439d1ccd9 printedparts stage 8: 1x0.5in bin labels lab-stage-08 cproudlock 2026-07-17 08:00:35 -04:00
  • 6ed3da1b64 printedparts stage 7: the kiosk - scan bin, scan badge, keypad, take lab-stage-07 cproudlock 2026-07-17 07:49:13 -04:00
  • d6a78a72ff printedparts stage 6: RBAC - declared permissions gate every mutation lab-stage-06 cproudlock 2026-07-17 07:42:07 -04:00
  • 6dfc8906c4 printedparts stage 5: the ledger - restock/adjust with badge attribution lab-stage-05 cproudlock 2026-07-17 07:41:18 -04:00
  • cb367a38f9 printedparts stage 4: catalog mutations, item photos, detail + form lab-stage-04 cproudlock 2026-07-17 07:36:54 -04:00
  • d1c844d533 printedparts stage 3: read API + list page (first visible win) lab-stage-03 cproudlock 2026-07-16 17:10:42 -04:00
  • f5cfac33b4 printedparts stage 2: models, real 0001 baseline, tables live lab-stage-02 cproudlock 2026-07-16 16:57:21 -04:00
  • 8dd1fadeca printedparts stage 1: scaffold, no AssetType, manifest per spec lab-stage-01 cproudlock 2026-07-16 16:44:54 -04:00
  • a0b92f7b5e printedparts lab: set expectations up front cproudlock 2026-07-16 16:37:28 -04:00
  • 6362cef699 printedparts docs: record the open-write kiosk decision; defer the dashboard widget cproudlock 2026-07-16 16:35:17 -04:00
  • d99de002bf printedparts plugin: design proposal + hands-on development lab cproudlock 2026-07-16 16:33:19 -04:00
  • eed947b207 Forward real client IPs through waitress trusted-proxy flags cproudlock 2026-07-16 15:27:45 -04:00
  • f5f67172aa Scope dark-mode form and notification styles to the explicit theme cproudlock 2026-07-16 15:11:35 -04:00
  • 97f7dfb0de Export script: emit bundle into the pxe-images github transfer folder cproudlock 2026-07-16 14:14:44 -04:00
  • 3ba09ac9f3 Fix bit(1) import coercion and subpath login redirect; add GitHub export script cproudlock 2026-07-16 13:56:38 -04:00
  • f16d2289ff Remove stray import_apps.py (superseded by the import API + wjf loader) cproudlock 2026-07-13 19:53:51 -04:00
  • 99cac87d9a README: refresh to current product surface; retire direct-DB migration guide cproudlock 2026-07-13 19:49:34 -04:00
  • 7d7862f4b5 Neutral wording in import docs; portable tool output paths cproudlock 2026-07-13 16:23:24 -04:00
  • 6010f01de1 Support subpath IIS deployment as a second install method cproudlock 2026-07-13 16:11:12 -04:00
  • 69dd6d0abe Warranty form: make Vendor a strict dropdown of the vendor catalog cproudlock 2026-07-13 15:02:59 -04:00
  • fba2fa05b4 Warranty form: vendor combobox + clearer "Lookup source" label cproudlock 2026-07-13 15:00:53 -04:00
  • 9e2544a687 wjf loader: import active machines only (isactive=1) cproudlock 2026-07-13 15:00:45 -04:00
  • 760b00f4d1 Warranties: fix N+1 slowness, filter alignment, and Covers hover cproudlock 2026-07-13 14:49:36 -04:00
  • 4a74a1a405 WJ import loader: mark setup_complete (a full import is the setup) cproudlock 2026-07-13 14:41:23 -04:00
  • 9c909af66d WJ import loader: metrology PCs are computers that control a synthesized tool cproudlock 2026-07-13 14:38:00 -04:00
  • c9641a3c62 CLAUDE.md: refresh Current State (tests, plugins, migration head, import docs) cproudlock 2026-07-13 14:27:32 -04:00
  • a736ed541e Fix Actions column border: keep td.actions as a table-cell cproudlock 2026-07-13 14:23:28 -04:00
  • 58af5afda2 List rows click through to the item; drop the redundant VLANs tab cproudlock 2026-07-13 14:21:34 -04:00
  • 8528617037 Network: consolidate into one tabbed hub; subnet devices span all asset types cproudlock 2026-07-13 14:15:51 -04:00
  • dd541fba0a Add "View Networks": front-facing subnet browse + detail with attached devices cproudlock 2026-07-13 14:06:47 -04:00
  • 5f51aa2383 Detail pages: give the relationships card bottom spacing (was merging with Notes) cproudlock 2026-07-13 13:53:37 -04:00
  • a6ebec5118 Employee profile: cap USB checkout history with a show-more toggle cproudlock 2026-07-13 13:49:33 -04:00
  • 6d843e46e1 Applications: show related knowledge-base articles on the app detail cproudlock 2026-07-13 13:44:23 -04:00
  • 49d311b56e WJ import loader: map application link + documentation path cproudlock 2026-07-13 13:44:22 -04:00
  • b2dea82ac9 Global search: find employees in selfhosted mode, not just external HR DB cproudlock 2026-07-13 13:39:18 -04:00
  • 2229db4a70 Notifications: summarize multi-person names in the calendar event title cproudlock 2026-07-13 13:32:39 -04:00
  • c4690da262 WJ import loader: resolve notification employee SSOs to names cproudlock 2026-07-13 13:25:12 -04:00
  • 35690bd169 Migrations: relax session sql_mode so the chain runs on strict MySQL 8 cproudlock 2026-07-13 13:06:07 -04:00
  • 83a4867d1b Add production pilot runbook (stand up + import + verify + cutover) cproudlock 2026-07-13 12:21:40 -04:00
  • 009ac9f9ef Import docs: adoption playbook + superseded-mappers note + loader status cproudlock 2026-07-13 12:18:56 -04:00
  • 474f245ae7 Retire stale legacy-import mappers; add adoption playbook cproudlock 2026-07-13 12:18:14 -04:00
  • af9afc15c5 WJ import loader: printers stage + Controlled-By relationship reversal cproudlock 2026-07-13 12:15:41 -04:00
  • 99ad6c0ebb WJ import loader: tail stages (locations, relationships, subnets, usb, verify) cproudlock 2026-07-13 12:05:33 -04:00
  • 40a89b360a WJ import loader: route LocationOnly by the islocationonly bit, not machinetypeid cproudlock 2026-07-13 11:55:25 -04:00
  • 6d79e469fa WJ import loader: dependent-entity stages (comms, apps/installs, warranty, notif, KB) cproudlock 2026-07-13 11:43:02 -04:00
  • 6c4bd20e01 WJ import loader: catalog + assets-hub stages (the machineid->assetid crosswalk) cproudlock 2026-07-13 11:37:11 -04:00
  • b11a6f26d8 WJ legacy-import reference loader: harness + reference/employees stages cproudlock 2026-07-13 11:20:58 -04:00