Product design · Bobby DB
One governed path from a draft to a delivered release
Three states, kept apart
Every claim on this site belongs to exactly one of these categories, and the labels on this page follow them.
| State | Meaning | Examples today |
|---|---|---|
| Implemented | Exists now and can be inspected in this repository or preview. | Data Blocks brand system, official assets, brand book and PDF, this public website. |
| Product preview | Approved product design, presented so it can be reviewed before it is built. | Collection lifecycle, release pinning, schema modes, REST and MCP contracts. |
| Not yet available | Not implemented and not evidenced. No behaviour is claimed. | Accounts, API keys, imports, metering, billing, AI providers, real master data. |
The lifecycle
The same path applies to Bobby DB's own public master data and to a customer's private collection.
STEP 1
Draft
Entries are edited freely inside a workspace collection.
STEP 2
Validate
The draft is checked against the collection's JSON Schema mode.
STEP 3
Review
A workspace member reviews the diff before anything is published.
STEP 4
Immutable release
An approved draft becomes a version that never changes.
STEP 5
REST / MCP delivery
Clients read the current or a pinned release.
The product vocabulary
Each concept below is part of the approved design. None of it is operating yet, so treat every entry as a specification rather than a feature you can use today.
- WorkspacesProduct preview
- The tenant boundary. A workspace owns its collections, members, API keys and usage, and nothing crosses that boundary implicitly.
- CollectionsProduct preview
- The governed unit of data. A collection is drafted, validated, reviewed, released and served as a whole, and carries its own visibility and schema mode.
- GroupsProduct preview
- Named subsets of related keys inside a collection, so a large reference set stays navigable instead of becoming one flat list.
- EntriesProduct preview
- One key with one value. The key is the long-lived contract a product depends on; the value changes only through a release.
- Typed JSON-compatible valuesProduct preview
- Strings, numbers, booleans, null, objects and arrays. No binary blobs, no code, no opaque types that a JSON client cannot read.
- DraftsProduct preview
- All editing happens in a draft. A draft can be validated and discussed repeatedly and never affects what clients read.
- ReviewProduct preview
- A workspace member reviews the draft diff before publication. Review is the human gate between editing and delivery.
- Immutable releasesProduct preview
- An approved draft becomes a version whose content never changes afterwards. Corrections are new releases, not edits.
- Release pinningProduct preview
- A client can follow the current release or pin an exact version, so a data change cannot silently alter an existing build.
- Public and private visibilityProduct preview
- Private is the default. Publishing is a deliberate act on a collection, and it changes who may read a release, not who may edit it.
- JSON Schema modesProduct preview
- A collection can validate loosely while it is being shaped, or strictly once its structure is settled, so validation strictness is an explicit choice.
- ImportsProduct preview
- Bulk content enters through an import that is parsed, mapped and validated into a draft. An import never writes straight into a release.
- API keysProduct preview
- Keys authenticate machine access, carry read or write scope, are shown once at creation and can be revoked. Every read, including public data, requires one.
- RESTProduct preview
- A versioned HTTP surface for applications: cursor pagination, batch reads, ETag revalidation, idempotency keys for retryable writes and request IDs on every response.
- MCPProduct preview
- The same governed reads exposed to AI agents through the Model Context Protocol, under the same keys, scopes and limits as REST.
- MeteringProduct preview
- Requests are counted per workspace against the plan allowance, with no silent overage billing.
- AI proposalsProduct preview
- AI may draft a schema, suggest an import mapping or explain a diff. It arrives as a draft for review and can never approve, release or change access.
- Bobby CreditsProduct preview
- The separate allowance that meters AI-assisted proposal work. Credits are never consumed by ordinary reads or writes.
Delivery and governance boundaries
Where the product surfaces will live once they are separately authorized and built.
/ · /product · /docs
Public site
ImplementedMarketing, documentation, brand, pricing proposal, legal drafts. This is what runs today.
/console/*
Workspace console
PlannedCollections, drafts, reviews, releases, imports and key management for customers.
/account/*
Account security
PlannedIdentity, sessions and account-level security settings.
/api/v1/*
Versioned API
PlannedThe REST surface, with MCP served from its own separately governed endpoint.
Not yet available
None of the reserved namespaces above exists in this phase. They are documented so the public root stays reserved for marketing, public discovery, documentation, pricing, brand and legal pages.
What Bobby DB is not
Scope boundaries are part of the design. These are deliberate exclusions, not gaps waiting to be filled.
Not a relational database
There are no joins, foreign keys, transactions across collections or ad-hoc query planning. Bobby DB governs reference data; your database stays your database.
Not a secrets manager
Collections are designed for reference data, including data that may become public. Credentials, tokens and private keys do not belong in Bobby DB.
Not arbitrary code execution
Values are data. Bobby DB is not designed to run functions, triggers, scripts or user-supplied code.
Not file storage
Entries hold typed JSON-compatible values, not images, documents or binary uploads.
Not an analytics warehouse
There is no event pipeline, no OLAP engine and no reporting layer. Bobby DB serves current or pinned reference data.
Not authoritative merely because it is public
A public release is designed to carry provenance, licence and changelog so you can judge it. Publication is distribution, not endorsement.