Skip to main content

Data Model

The Oasis uses Prisma with SQLite. Schema lives in prisma/schema.prisma.

Tables

Mission

The atomic unit of work in DevCraft.

FieldTypeDescription
idInt (auto)Primary key
nameStringTask title
descriptionString?What to do
statusStringtodo / wip / done / archived
urgencyInt (1-10)How urgent
easinessInt (1-10)How easy
impactInt (1-10)How impactful
priorityFloat(U×E×I)/125
valorFloat (0-2)Self-assessed focus quality
scoreFloat(seconds/60) × valor × priority
startedAtDateTime?When work started
endedAtDateTime?When work finished
actualSecondsIntTotal active seconds
isPausedBooleanCurrently paused?
totalPausedMsIntCumulative pause time
maturityLevelInt (0-8)para → carbontested
executionModeString?crispr or builder
carbonDescriptionString?Human context
siliconDescriptionString?Technical spec
acceptanceCriteriaString?Definition of done
flawlessPercentFloat?Quality score
historyJson?Array of HistoryEntry

World

FieldTypeDescription
idStringPrimary key
userIdStringDefaults to 'local-user'
nameStringWorld name
iconStringEmoji icon
visibilityStringprivate / public / unlisted / public_edit
dataString?JSON-serialized WorldState
creatorNameString?Display name for shared worlds
creatorAvatarString?Avatar for shared worlds
thumbnailUrlString?Preview image
visitCountIntTimes opened
objectCountIntObjects in world
createdAtDateTimeCreated time
updatedAtDateTimeLast save / metadata update

WorldSnapshot

FieldTypeDescription
idStringPrimary key
worldIdStringForeign key → World
dataString?JSON-serialized WorldState snapshot
objectCountIntSaved object count at snapshot time
sourceStringauto or manual
createdAtDateTimeSnapshot timestamp

Profile

FieldTypeDescription
userIdString'local-user'
displayNameString?Display name
bioString?Bio text
avatarUrlString?2D avatar
avatar3dUrlString?VRM avatar
totalXpIntExperience points
levelIntCurrent level
auraIntAura score

Memory

FieldTypeDescription
categoryStringpreference / habit / goal / fact / pattern
keyStringIdentifier
valueStringContent

Unique constraint on (category, key).

CarbonModelEntry

Training data for the Carbon Model (predict → observe → learn loop):

FieldTypeDescription
missionIdIntRelated mission
contextStringSituation
predictedResponseStringWhat was predicted
actualResponseStringWhat actually happened
acceptedBooleanWas prediction correct?
ratingFloat (0-10)Quality rating
confidenceFloat (0-1)Model confidence

TokenBurn

Hourly aggregated token usage:

FieldTypeDescription
sourceStringWhich agent/route
inputTokensIntTokens consumed
outputTokensIntTokens produced
windowStringISO hour bucket ('2026-03-28T14')

Other Tables

  • Journal — timestamped reflections with tags and mood
  • AppConfig — dynamic key-value settings
  • CuratorLog — curator invocation tracking with token counts