feat(presets): four presets that provision what they name - #1701
Merged
Conversation
Mirrors constructive-db: delete the five presets nothing provisions with (auth:email, auth:email+magic, auth:sso, auth:passkey, b2b), and give the survivors that carry auth an events_module with trust_ladder: 'humanity'. levels_module is not a module the provisioning procedure accepts, so every preset naming it installed nothing — those databases had no levels tables and no member could earn a level. A guard test now rejects a preset naming a module outside the registry, an extends pointing at a deleted preset, and an events_module with no ladder.
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
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
The published side of constructive-io/constructive-db#2998 — this package is a second copy of the same registry, so the two must move together or provisioning ships a module list the backend does not accept.
levels_moduleis not a module.provision_database_moduleshas no branch for it, so every preset naming it installed nothing — no levels, requirements, grants or rewards tables — and no member of such a database could earn a level. Levels come fromevents_module, and a ladder exists only if one is named:fullalready installedevents_modulebut named no ladder, so it seeded zerokind='level'rows too; both its entries now carryhumanity.Five presets nothing provisions with are gone:
auth:email,auth:email+magic,auth:sso,auth:passkey,b2b. The four kept each have real callers —minimal(the integration-test baseline, deliberately left with no events module and no ladder), andauth:hardened/b2b:storage/full(the warm-pool tiers and the dashboard's provisioning call).b2b:storagenow extendsauth:hardenedsince its parent is gone. Theprovision-modulestest usedb2bonly as a preset that gets overridden, so it namesauth:hardenedinstead — the assertion (last layer that sets a preset wins) is unchanged.Three guard tests so a preset can't name something that doesn't exist again: every module must be in the registry, every
extendsmust name a preset that still ships, and anevents_moduleentry must ask for a trust ladder.Needs a publish of
node-type-registryafter merge — the dashboard and desktop read the preset list from the package, not from this repo.Link to Devin session: https://app.devin.ai/sessions/fb489e25a5e34d5aaef46955c199e407
Requested by: @pyramation