feat(config): gate experimental Strata behind server opt-in - #1338
feat(config): gate experimental Strata behind server opt-in#1338aparajon wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The updated setup guidance has a formatting issue and also omits still-supported Vitess configuration in a way that can mislead users during onboarding.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR gates the experimental Strata integration behind a server-only opt-in (experimental-strata-enabled, default false) so Strata doesn’t appear in default OSS setup guidance and cannot be enabled via repository configuration alone.
Changes:
- Add
experimental-strata-enabledto server config and enforce it during config validation and server startup. - Update error-comment setup guidance to conditionally offer Strata (labeled experimental) only when the server flag is enabled.
- Remove Strata onboarding/docs examples and the Strata template snapshot sections, replacing with an availability notice.
File summaries
| File | Description |
|---|---|
| TEMPLATES.md | Regenerated template catalog; removes Strata sharded-apply examples and updates setup guidance text. |
| scripts/update-templates.sh | Stops rendering the “Sharded Apply” (Strata) preview section into the snapshot. |
| pkg/webhook/templates/errors.go | Adds server-driven Strata gating to setup guidance rendering via ExperimentalStrataEnabled + DatabaseTypeOptions(). |
| pkg/webhook/templates/errors_test.go | Adds coverage ensuring setup guidance includes/excludes Strata depending on the server flag. |
| pkg/webhook/plan.go | Plumbs ExperimentalStrataEnabled from server config into error comment rendering data. |
| pkg/serve/serve.go | Validates Strata opt-in before server startup (Build). |
| pkg/serve/experimental_strata_test.go | Verifies Build rejects Strata config unless the opt-in is enabled. |
| pkg/cmd/commands/unlock.go | Updates CLI help text to avoid enumerating database types explicitly. |
| pkg/api/experimental_strata_test.go | Adds config parsing/validation tests for the new server-only opt-in setting. |
| pkg/api/config.go | Introduces ExperimentalStrataEnabled and validates all Strata registration paths require server opt-in. |
| docs/strata-engine.md | Replaces Strata engine doc with an experimental/availability notice. |
| docs/github-app-setup.md | Removes Strata from setup guidance and narrows stated type options in schemabot.yaml. |
| docs/direct-execution.md | Removes Strata-specific direct execution notes. |
| docs/configuration.md | Documents the new experimental-strata-enabled setting and its behavior. |
| docs/.toc-manifest | Removes Strata engine doc from TOC manifest. |
Review details
Suppressed comments (1)
pkg/webhook/templates/errors.go:115
- The invalid-config setup guidance line has an extra trailing backtick, which will render a malformed inline-code span in the PR comment output.
- **type** (required): {{.DatabaseTypeOptions}}`
- Files reviewed: 11/11 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
🤖 Review findings - created by Kiran's code review agent - for schemabot/pull/1338, bbb9d5f. Verdict: 8 findings — 2 blocking (a casing bypass of the gate itself; the comment-rendering half of the feature is unpinned), 5 non-blocking (docs contradict the gate, two messages became dead ends), 1 suggestion bundle. The gate's core placement is sound: it is the first statement of Blocking
Non-blocking
General suggestions
The one thing that could have broken, verifiedA server-side gate is worthless if the data plane can mint a gated type at request time, so I traced every path that sets Verified correct
This review was generated by Claude Code (claude-opus-5). |
Strata is experimental and should not appear as an available integration in a default installation. Add the server-only
experimental-strata-enabledsetting, defaulting tofalse, to gate registrations and setup guidance.Disabled servers reject Strata registrations during configuration validation and server startup. Enabled servers offer it with an experimental label. Existing Strata deployments must explicitly enable the setting before upgrading; repository configuration cannot opt in.
Keep the existing OSS documentation and template examples. Add a brief notice that the Strata integration is not yet available for open-source use and is disabled by default.
Validation: focused configuration, startup, and comment-rendering tests passed; affected-package race tests and lint passed. Regenerated templates and documentation checks passed.
Generated with Codex