A Facet is a summary or annotation cryptographically bound to a cell. Facets enable multiple views of the same content without modifying the originalDocumentation Index
Fetch the complete documentation index at: https://hexxladb.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
RawContent.
Facet IDs
Facet IDs are fixed in v1 (6 facet IDs: 0-5):| Facet ID | Purpose | Lifecycle |
|---|---|---|
| 0 | Raw verbatim source (immutable anchor) | Created on PutCell; never updated |
| 1 | Semantic summary | Derived; updated only if hash matches |
| 2 | Conflict notes and seams | Auto-populated on seam creation |
| 3 | Temporal validity window | Mirrors cell validity |
| 4 | Procedural or action-oriented derivative | Application-derived |
| 5 | User or project-specific lens | Custom |
Facet structure
- ID — Facet identifier (0-5)
- DerivedContent — The facet’s content
- LastRotated — When this facet was last activated
- DerivationHash — Hash of the source content for integrity verification
Facet lifecycle
Creation
Automatic onPutCell. Facet 0 holds RawContent; other facets are lazy or derived.
Update
UpdateFacet succeeds only if DerivationHash matches the current RawContent hash. Otherwise:
- Reject the update, or
- Create a seam and a new cell
Invalidation
RawContent is immutable, so any change creates a new cell linked by seam. Old cells retain their facets for historical reference.
Rotation
A simple pointer flip onActiveFacet. LastRotated tracks freshness for cache management.
Creating a facet
Updating a facet
UpdateFacet returns an error.
Retrieving a facet
Iterating facets for a cell
Walking ring facets
Load facets for all cells on a ring:Active facet
Each cell has anActiveFacet field (0-5) indicating which facet is currently selected for display. Rotate between facets to show different views:
Use cases
Semantic summarization
Facet 1 holds generated summaries of long content:- Original content in facet 0 (immutable)
- Summary in facet 1 (derived)
- Switch between full text and summary based on budget
Conflict tracking
Facet 2 auto-populates when seams are created:- Stores conflict notes and resolution history
- Visible when the cell is involved in a contradiction
Temporal views
Facet 3 mirrors the cell’s validity window:- Useful for time-bounded queries
- Helps with MVCC snapshot filtering
Custom lenses
Facet 5 is reserved for application-specific views:- Domain-specific annotations
- User-defined perspectives
- Project-specific transformations
See also
- Cells — Core data units
- Seams — Contradiction and supersession markers
- Context assembly — Budgeted context with facet selection