Let Guides reach a site, and reach core the way every plugin must

Two faults the guides plugin shipped with, both caught by gates that were
already there.

deploy/site-profile-universal.json never listed `guides`. That file is the
profile the released Windows installer is built from, so the wizard would not
have offered Guides at all - and worse, `flask plugin prune-schema` drops the
tables of any plugin absent from the profile at provisioning (ADR-014). A site
installing the next release would have had its guides table dropped.

plugins/guides/models/guide.py imported shopdb.core.models.base directly.
Plugins reach core only through shopdb.api or shopdb.plugins.base (ADR-001),
and shopdb.api already re-exports BaseModel, so this is the same symbol by the
supported path.

The suite was red on main because of these two; it passes again.
This commit is contained in:
cproudlock
2026-08-26 13:13:16 -04:00
parent 03094e93b2
commit e2a226e8b0
2 changed files with 2 additions and 2 deletions

View File

@@ -5,6 +5,7 @@
"computers", "computers",
"employees", "employees",
"geenforce", "geenforce",
"guides",
"knowledgebase", "knowledgebase",
"machines", "machines",
"measuringtools", "measuringtools",

View File

@@ -33,8 +33,7 @@ without an author thinking about it.
import json import json
from datetime import datetime from datetime import datetime
from shopdb.api import db from shopdb.api import db, BaseModel
from shopdb.core.models.base import BaseModel
def _utcnow(): def _utcnow():