Skip to content
Levels, traits and skills

Levels, traits and skills

The economy has two currencies, and they are kept apart on purpose: points buy levels, and traits unlock persona skills. Neither one inflates the other. Everything is recomputed from your journal every time; there is no wallet table that could drift out of step with what you logged.

Points

Each of the three habits (training, meals, steps) earns points for every day of its current, unbroken run:

Day of the runPoints per day
Days 1–71
Days 8–142
Day 15 onward3

A 10-day training run is worth 7 × 1 + 3 × 2 = 13 points. Runs in different habits add together.

Expiry is structural. Only current runs back your balance. When a run breaks, the points it earned are no longer counted, and nothing has to run on a schedule to take them away.

Levels

Points buy Luna levels. Luna starts at level 0, the maximum is 10, and level L costs 10 × L points (level 1 costs 10, level 10 costs 100, and all ten together cost 550).

RuleEffect
Levels never revoke.A broken streak can leave your balance at zero, but a bought level stays bought. Luna never gets worse because of a bad week.
Balance = points from current runs − cost of every level bought.The balance never goes below zero.

The level ring on the home screen is the economy. The number is the level and the arc is progress to the next one. When you can afford a level, the ring turns gold and reads “Level N is ready — tap to level up! (X pts)”. Tapping it calls HabitService.LevelUp. At level 10 it reads “Luna is at the highest level”.

If you tap without enough points, the server answers FAILED_PRECONDITION: “level N costs C points — you have B. Keep the streaks alive.” At the top it answers “luna is already at its highest level”.

A level unlocks forms, adds majesty to the creature, feeds the evolution stage, and helps unlock skills (below).

Compute tier

Each level also maps to a compute tier, reported as compute_tier by GetScore:

LevelTier
0–3baseline
4–6standard
7–10priority
The tier has an effect only when the operator enables the admission scheduler (LUNA_ADMIT_MAX). It is off by default. Even when on, it reorders only Luna’s own vision and photo-plan calls, and it can’t win model slots from other apps on the shared inference plane. Don’t read “priority” as “faster chat”.

Traits: what the walking earns

Traits are permanent milestones over your accumulated steps. Like levels, they never revoke.

TraitMeasuresLevel thresholds
Wayfarer: “Shows up and walks the day out, day after day.”Lifetime days that reached 80% of the step goal3 · 10 · 25 · 60 · 120 days
Strider: “Ground covered — every step ever counted.”Lifetime steps, using each day’s maximum (never a sum of snapshots)100k · 300k · 1M · 3M · 10M steps

Traits drive the creature’s evolution stage and the skill paths below.

Skills: one path per aspect

Every aspect has a skill path. A skill unlocks from a trait level, from Luna’s level, or both. A skill either changes what the server computes, or it is labelled “(advisory)”, which means it only adjusts the prompt.

AspectSkillEffectUnlocks at
TrainerPeriodizationTraining plans gain week-by-week progression and a deload weekWayfarer 2 · level 4
TrainerConditioningTraining days end with a conditioning finisher drawn from the catalogStrider 2
NutritionistMeal TimingDaily targets split into per-meal portions instead of one day totalWayfarer 2 · level 4
NutritionistFuel CyclingTraining days get an extra fuelling meal; rest days stay leanStrider 3 · level 7
CounselLong MemoryRecalls further back before advising (advisory)level 4
KeeperDay ShapeStructures advice as a concrete day plan, not a list (advisory)level 4
MuseWilder PaletteOffers stranger, more divergent directions first (advisory)level 4
NaturalistField NotesAdds behavioural context and comparisons between species (advisory)level 4

There is a privacy rule here, enforced by tests: only the trainer and nutritionist, the two aspects allowed to read your health journal, may have step-trait requirements. The other four gate on level alone, because a level is economy data, not health data.

A locked coaching skill produces exactly the plan you’d get without the feature, not a worse one. Skills appear on the profile page’s persona cards. The Steps card lists the next few with what is still missing, in your own units (“6 good step days”, “40k steps”, “level 4”).

For operators: granting a level

A level can be granted without inventing habit history:

luna-server grant-level --account <email> --level 10 --reason "<why>"

This writes a LEVEL_UP receipt into that account’s journal. --account is required. Never backdate workout or meal events to mint points. That writes false health history into the journal that grounds every piece of coaching. See Access and sessions.