Release Readiness
Plystra Core v1.0 is scoped as a stable self-hosted Core release.
In Scope
Section titled “In Scope”- Identity trace model:
User -> UserMember -> Member -> Space. - Authorization check and explain.
- Scope semantics for
self,group,group_tree, andspace. globalreserved and disabled.- Resource Registry.
- AuditLog with trace snapshots.
- Ent-managed schema model.
- Versioned PostgreSQL migrations.
- Core CRUD HTTP API.
- Auth session flow.
- Admin token protection for non-public routes.
- Docker self-hosting baseline.
- OpenAPI v1.0 artifacts.
- Finance Reviewer demo.
- Migration, Ent drift, doctor, and smoke test gates.
Deferred After v1.0
Section titled “Deferred After v1.0”The current release docs treat the following as non-blocking:
- full Console as a required release surface.
- SDK repositories as required release blockers.
- plugin runtime execution.
- plugin marketplace.
- Data Console as a default production surface.
- cloud hosting.
- enterprise SSO.
- advanced policy language.
Some preview metadata routes exist for plugins, templates, and Data Console. Sensitive routes are admin-token protected, and Data Console is disabled by default.
Security Gates
Section titled “Security Gates”Current v1.0 behavior includes:
- non-public API routes require
PLYSTRA_ADMIN_TOKEN. - AuditLog and console overview are protected.
- Data Console routes return
FEATURE_DISABLEDunless enabled. /metricsreturnsFEATURE_DISABLEDunless enabled.- metrics require a metrics token or admin token when enabled.
- production mode rejects wildcard CORS.
- production mode rejects default database credentials and placeholder secrets.
- User API responses and mutation audit details do not expose
password_hash. - authz HTTP requests ignore body-provided IP and User-Agent metadata.
Required Verification
Section titled “Required Verification”Run these before release:
go test ./...PLYSTRA_DATABASE_URL="postgres://plystra:plystra@localhost:5432/plystra?sslmode=disable" go test ./...go run ./cmd/plystractl migrate verifygo run ./cmd/plystractl ent checkgo run ./cmd/plystractl doctordocker compose config --quietgo run ./cmd/explain-demoHTTP smoke tests should cover:
- public health, ready, and version.
- unauthenticated sensitive routes return
401. - admin token can query AuditLog and Core CRUD.
authz/checkallow and deny cases.authz/explainincludes matched candidates and scope checks.- Data Console and metrics are disabled by default.
- user create/detail/update/status responses omit
password_hash.
RC Recommendation
Section titled “RC Recommendation”After the security gates above pass, the release is suitable for v1.0.0-rc.1 validation. Stable release should additionally repeat clean-clone, empty-database migration, upgrade, and documentation checks.