Files
shopdb-flask/docs/PROJECT-MAP.md
cproudlock 8bde89c47e
Some checks failed
CI / backend (push) Failing after 7s
CI / naming (push) Successful in 2s
CI / frontend (push) Successful in 8s
CI / migrations-mysql (push) Failing after 6s
Release 0.11.2
Bug fixes for the buildings-and-levels work in 0.11.0, every one of them found by
using the feature rather than by the suite.

Anyone running 0.11.0 or 0.11.1 with more than one level should take this
release: the map drew markers from every level on whichever floor plan happened
to be showing, which is the failure ADR-017 exists to prevent, and it was in the
one component that draws the map. The viewer also had no way to choose a level,
and the editor never accepted a click at all - its handler was bound only if the
map was already a picker at mount, and the editor opens with nothing selected.

Also: a level's native size could not be set (the settings page had no height
field), the same search could return different rows because fourteen searchers
truncated without an ORDER BY, and both map pages carried a scrollbar from
subtracting the wrong page chrome from the viewport height.

No schema change, and the plugin contract stays at 0.20.0.

The version and the changelog are the release; the detail is in the entry.
2026-08-17 15:46:38 -04:00

4.2 KiB

Project map

Derived from the code on every regeneration. If something here is wrong, the code changed and the map was not regenerated - fix it by running the generator, never by editing this file.

Versions

series value governed by
product __version__ 0.11.2 ADR-007
plugin contract __contract_version__ 0.20.0 ADR-002

They move independently. A contract bump is not a release.

Alembic chains (ADR-008)

Core runs with flask db upgrade; every plugin chain runs with flask plugin upgrade-all. Both are needed on a deploy.

chain head
core 7d33_buildings_and_levels
backups backups0003clearlastseen
computers computers0001anchor
employees employees0002photo
geenforce geenforce0004minlib
knowledgebase knowledgebase0001anchor
machines machines0002rename
measuringtools measuringtools0001baseline
network network0003prefix
notifications notifications0005boardorder
printedparts printedparts0004txnrev
printers printers0002supplyalerts
slides slides0001anchor
usb usb0002dropmachineid
warranty warranty0002proof

Bundled plugins (15)

plugin version core_version owns migrations
backups 1.0.0 >=0.16.0,<1.0.0 yes
computers 1.0.0 >=0.20.0,<1.0.0 yes
employees 1.0.0 >=0.1.0,<1.0.0 yes
geenforce 0.1.0 >=0.18.0,<1.0.0 yes
knowledgebase 1.0.0 >=0.1.0,<1.0.0 yes
machines 1.0.0 >=0.20.0,<1.0.0 yes
measuringtools 1.0.0 >=0.20.0,<1.0.0 yes
network 1.0.0 >=0.20.0,<1.0.0 yes
notifications 1.0.0 >=0.1.0,<1.0.0 yes
printedparts 0.1.0 >=0.16.0,<1.0.0 yes
printers 1.0.0 >=0.20.0,<1.0.0 yes
slides 2.0.0 >=0.2.0,<1.0.0 yes
tools 1.0.0 >=0.16.0,<1.0.0 no
usb 1.0.0 >=0.1.0,<1.0.0 yes
warranty 1.0.0 >=0.2.0,<1.0.0 yes

Manifest-less directories under plugins/ are core frontend surface and always ship: applications.

Architecture decisions

ADR title status
ADR-001-asset-as-platform-contract.md ADR-001: Asset model is the platform contract ACCEPTED
ADR-002-plugin-versioning.md ADR-002: Plugin contract versioning ACCEPTED
ADR-003-plugin-distribution.md ADR-003: Plugin distribution model ACCEPTED
ADR-004-deployment-topology.md ADR-004: Deployment topology (per-site instances) ACCEPTED
ADR-005-equipment-vs-measuringtools.md ADR-005: Equipment plugin scope vs measuringtools plugin ACCEPTED
ADR-006-collector-contract.md ADR-006: Plugin collector contract pattern ACCEPTED
ADR-007-product-versioning-and-releases.md ADR-007: Product versioning and releases ACCEPTED
ADR-008-plugin-migration-ownership.md ADR-008: Plugin migration ownership (per-plugin chains from the cutover) ACCEPTED
ADR-009-frontend-plugin-gating.md ADR-009: Frontend plugin gating ACCEPTED
ADR-010-frontend-plugin-hooks.md ADR-010: Frontend plugin hook contract ACCEPTED
ADR-011-machines-rename.md ADR-011: Rename the equipment domain to machines; retype the models catalog with modeltypes ACCEPTED
ADR-012-geenforce-manifest-ownership.md ADR-012: GE-Enforce manifest ownership in shopdb ACCEPTED
ADR-013-plugin-catalog-and-lean-builds.md ADR-013: Plugin Catalog, Curated Shelf, and Lean Per-Site Builds ACCEPTED
ADR-014-schema-lean-per-site.md ADR-014: Schema-lean per-site builds (retire cross-plugin FKs, lift plugin tables) ACCEPTED
ADR-015-site-specific-configuration.md ADR-015: Where a site's own data is allowed to live ACCEPTED
ADR-016-credential-delivery.md ADR-016: Credential delivery to the fleet ACCEPTED (decided; NOT yet implemented -
ADR-017-buildings-and-levels.md ADR-017: Buildings and levels as the map model ACCEPTED

Size

  • test functions defined: 1087 (parametrised cases collect higher)
  • documented API paths: 276 (docs/openapi.json, regenerate with scripts/gen_openapi.py)