Beta Playground
# Beta Playground
Experimental surface for schema + workflow R&D. Nothing here is guaranteed stable; treat it like a lab notebook wired to working UI shells so we can prototype quickly and rip code out later if it fails the “real product” filter.
## Experiments
| Route | Purpose | Notes |
| ----- | ------- | ----- |
| `/beta` | Index/overview | Links to every sandbox and restates the rules of engagement (non-production, wipeable). |
| `/beta/presets` | Preset scaffolding lab | Driven by `apps/stps/src/lib/stps/beta/presets.ts`. These specs will back the seed generator, Supabase imports, and future “Add ___” flows. |
| `/beta/preset-simulator` | Preset JSON preview | Uses `sampleBuilders.ts` to dump mocked Phase0Node arrays for quick eyeballing. |
| `/beta/grid-composer` | Grid layout explorer | Visualizes the layouts defined in `gridComposerTemplates.ts` so we can iterate on cell arrangements. |
| `/beta/magic-moments` | Persona magic moments | Pulled from `magicMoments.ts`; keeps wow-experiences visible while scoping features. |
| `/beta/workspaces` | Workspace presets | Maps purpose-driven workspaces to features + grid templates (`workspacePresets.ts`). |
| `/beta/schema-blueprint` | Schema reference | Pulls from facet dictionary, matrix, edge rules, domain rules, magic moments, node vs row decisions. |
| `/beta/resource-filters` | Resource taxonomy controls | Uses `resourceBuckets.ts` mapping (`resource.type` → bucket). Library/timeline filters will consume this once it leaves beta. |
| `/beta/resource-dashboard` | Resource bucket heatmap | Mock counts to visualize distribution per bucket. |
| `/beta/validation` | Facet validation matrix | Powered by `facetRequirements.ts`. Export this metadata to scripts/tests to stop duplicating required/optional logic. |
| `/beta/signals` | Signal facet designer | Captures the signal-specific metadata (kind, confidence, time horizon, impact axes, geo scope) we deferred. Serves as staging ground for Supabase/Convex migrations + UI filters. |
| `/beta/signal-tuner` | Signal metadata controls | Interactive knobs for kind, confidence, time horizon, impact axes; shows JSON preview. |
| `/beta/ai-rollout` | AI rollout planner | Phased steps with guardrails/dependencies from `aiRollout.ts`. |
| `/beta/feature-flags` | Feature flag planner | Lists upcoming feature switches, cohorts, dependencies, rollback plans (`featureFlags.ts`). |
| `/beta/session-migration` | Session migration dashboard | Uses `migrationStatus.ts` to track data/session/block rollouts. |
| `/beta/session-ideas` | Session ideation board | Highlights incremental session enhancements (`sessionIdeas.ts`). |
| `/beta/dual-write` | Dual-write adapter plan | Visual checklist for local → Convex → Supabase migrations (`dualWritePlan.ts`). |
| `/beta/architecture-review` | Architecture evaluation | Summaries/scores from `architectureEvaluation.ts` (DDD, event-driven, etc.). |
| `/beta/domain-events` | Domain events plan | Events/triggers/handlers for Phase 1-3 (`domainEvents.ts`). |
| `/beta/namespaces` | Namespace/Module plan | Domain/application/infrastructure/presentation layout (`namespacePlan.ts`). |
| `/beta/oop-mixins` | Facet mixins | Methods for Temporal/Visibility/etc. (`oopMixins.ts`). |
| `/beta/microservices` | Microservice rationale | Q&A on why we stay monolithic (`microserviceNotes.ts`). |
| `/beta/ownership-visibility` | Ownership + visibility rules | Cards driven by `ownershipRules.ts` to keep structural/linking/visibility rules in one place. |
| `/beta/snapshots` | Snapshot studio | Quick status board for seed/Supabase/Convex snapshot sources and their next steps. |
## Operating principles
1. **Feature flaggable** – the sidebar dropdown can disappear once we’re done. No guarantees about stability or auth yet.
2. **Document-driven** – every widget corresponds to a spec/todo; if an experiment graduates, copy the relevant parts into the main docs/code and note the cleanup here.
3. **Disposable** – we expect to throw code away. Keep implementations light, focus on clarity, and log anything important in `apps/stps/docs/`.
4. **Notes-first** – if a decision happens in the sandbox, record it here so we can prune the UI later without losing context.
5. **Centralized data** – shared metadata lives under `apps/stps/src/lib/stps/beta/` (`resourceBuckets.ts`, `facetRequirements.ts`, `presets.ts`). When the experiments harden, move these modules out of `beta/` and delete the views.
## Next steps
- Wire preset factories to actual data builders (seed regeneration + future Supabase import flow).
- Generate the resource-type mapping module and have Library/Timeline filters consume it behind a flag.
- Export the facet matrix as JSON/TS so validation logic can run in scripts/tests.
- Draft Supabase + Convex schema changes for signal metadata using the designer as reference.
- Track beta experiment status in this file (e.g., “✅ shipped”, “🧪 in progress”, “✂️ archived”).