remove datasets and products modules, reset migrations - #96
Merged
Conversation
The datasets and products example modules are removed from the workspace along with all wiring (host pyproject, root pyproject, CLI catalog) and the integration/e2e tests that exercised them as their CRUD subject. Dashboard's product-count tile and the workspace dep on simple_module_products are also dropped. To avoid leaving frozen migrations referencing deleted modules, every file under host/migrations/versions/ is replaced by a single autogenerated 77162e7b184b_initial_schema.py. The fresh schema contains tables for the remaining 8 modules (auth/users/permissions/dashboard/settings/feature_flags/ file_storage/background_tasks) and `alembic check` reports no drift. Verified: 943 Python tests pass, 8 JS tests pass, make lint clean, doctor exits 0, host boots and /health reports the new revision as current.
Alembic autogen rolls every installed module's tables into a single initial migration. The current 77162e7b184b lands at 382 lines and growing the schema will only push it higher. Migrations aren't hand-authored, so the cap doesn't add value here.
2 tasks
antosubash
added a commit
that referenced
this pull request
May 2, 2026
The datasets module was removed in #96 but its name was still listed in the release pipeline's publish-pypi matrix and in the 0.0.1 changelog entry. Remove the matrix row (which would otherwise fail the publish job with no matching artifacts) and update the historical package list + count to match what actually ships.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
datasetsandproductsexample modules from the workspace, along with all host/CLI/dashboard wiring and the integration + e2e tests that used products as their CRUD subject.host/migrations/versions/— every existing migration is deleted and replaced by a single autogenerated77162e7b184b_initial_schema.pycovering the remaining 8 modules.simple_module_products.Why
datasetsandproductswere demo modules whose names collide with custom modules users typically register themselves. Removing them simplifies the default surface and eliminates frozen migrations referencing modules that no longer exist.What changed
Deleted
modules/datasets/,modules/products/(full packages)tests/integration/test_products_journey.py,test_inertia_views.py,test_permission_boundaries.py,test_soft_delete_api.pytests/e2e/test_smoke.py,tests/loadtest/locustfile.pyhost/migrations/versions/(replaced by one fresh migration)Wiring
host/pyproject.toml, rootpyproject.toml— dropsimple_module_datasets/simple_module_productsdeps + workspace entries + ty extra-paths + pytest testpaths.framework/cli/simple_module_cli/catalog.py— removedatasetsandproductsfrom CATALOG, drop now-empty_EXAMPLE_MODULES, drop theexamplespreset, changedashboard.requiresfrom("users", "products")to("users",).framework/cli/simple_module_cli/new.py— dropPreset.examples.Dashboard
Productsfromdepends_on,_count_products+total_productsfromstats.py, products tile +Packageicon + unusedprimaryaccent fromHome.tsx,stats.productskey fromen.json/es.json.Tests adapted
framework/db/tests/test_db_logging.py— dropTestEntityListenerLogging(usedproducts.models.Product).framework/db/tests/test_migrations.py— assertion now checks for ausertable instead of aproductone.framework/hosting/tests/test_app.py— drop products route + permission tests.framework/cli/tests/test_scaffolding_host.py— usesDashboard/Authinstead ofProducts/Auth.framework/cli/tests/test_cli_catalog.py,test_cli_wizard.py— adjusted for new catalog shape.framework/core/tests/test_discovery.py— replacedProductsassertions withUsers.modules/feature_flags/tests/—products.bulk_import→file_storage.public_uploads(the same registry behavior, but registered by file_storage instead of products).tests/integration/conftest.py— dropcreate_productfactory.Docs
README.md,docs/release.md,docs/guide/quickstart.md,docs/guide/project-structure.md,docs/e2e-testing.mdupdated.Reviewer notes
77162e7b184b) — there's no upgrade path from the prior multi-revision graph to this single one.e3ce9754e6dc_seed_users_roles.pydata migration is gone, but theusersmodule already seeds the admin/user roles viabootstrap.pyandon_startup, so a fresh boot still ends up with the same role rows.products.view), placeholder fixture names in unit tests, or doc/comment examples. None imports the products module.Test plan
uv sync --all-packagesmake test— 943 passed, 0 failed, 2 deselected (e2e marker)make test-js— 8 passedmake lint— ruff format/check, ty, biome, all per-workspace tsc, file-size cap, hardcoded-strings, metadata, READMEs all cleanmake doctor(python -m simple_module_core) — exit 0alembic upgrade headon fresh sqlite DB → applies cleanly to revision77162e7b184balembic check→ "No new upgrade operations detected"/healthreportsis_current: true,/openapi.jsonshows no/api/products/*routes