Version: LifeOS 7.40.4 (ce046f2)
What
Two places invent a number about the person:
- The TELOS hero's snapshot metrics read
USER/TELOS/CURRENT_STATE/SNAPSHOT.md without looking at its frontmatter. The install scaffold ships that file with provenance: template, **Energy:** 5/10 and **Mood:** (sample) steady. On a fresh install the hero therefore shows Energy 5/10 and Mood 8/10 (the word "steady" maps to 8 through a regex), presented as the user's current state.
- The Life page's FOCUS ring is
home.current?.focus ? 70 : null — whenever a focus line exists at all, the ring reads 70, a value no file states.
Where
LIFEOS/PULSE/Observability/observability.ts, buildSnapshotFromCurrentState (line 3568): reads CURRENT_STATE/SNAPSHOT.md (line 3569), parses N/10 (line 3575) and maps mood words to scores (lines 3588–3591); no provenance check.
- Scaffold:
USER/TELOS/CURRENT_STATE/SNAPSHOT.md line 2 provenance: template, line 15 **Energy:** 5/10, line 16 **Mood:** (sample) steady.
LIFEOS/PULSE/Observability/src/app/life/page.tsx line 264: const focus = home.current?.focus ? 70 : null; // focus depth is categorical — render existence as 70.
Reproduce
- Fresh install (
/LifeOS setup), no interview.
curl -s localhost:31337/api/telos/overview | jq '.snapshot' → entries for energy 5/10 and mood 8/10.
- Open
/telos: the hero shows them as current state. Open /life with any Focus: line in § Current State: the FOCUS ring reads 70.
Expected
- A file whose frontmatter says
provenance: template is "not captured" everywhere; the hero renders the empty state, never the sample numbers.
- One frontmatter reader (
{ provenance, body }) shared by every page that reads a USER markdown file, so the check cannot be forgotten per handler.
- No constant stands in for a metric; FOCUS renders a parsed value or nothing.
Fix shape
A readUserMd(path) in LIFEOS/TOOLS/Telos.ts returning { exists, provenance, body }, used by the snapshot builder (template → null) and by the Health/Finances/Business handlers; the private frontmatter parser in observability.ts removed; the Life page parses focus_depth as a ratio and drops the 70. Three small hunks; a PR can follow.
Version: LifeOS 7.40.4 (
ce046f2)What
Two places invent a number about the person:
USER/TELOS/CURRENT_STATE/SNAPSHOT.mdwithout looking at its frontmatter. The install scaffold ships that file withprovenance: template,**Energy:** 5/10and**Mood:** (sample) steady. On a fresh install the hero therefore shows Energy 5/10 and Mood 8/10 (the word "steady" maps to 8 through a regex), presented as the user's current state.home.current?.focus ? 70 : null— whenever a focus line exists at all, the ring reads 70, a value no file states.Where
LIFEOS/PULSE/Observability/observability.ts,buildSnapshotFromCurrentState(line 3568): readsCURRENT_STATE/SNAPSHOT.md(line 3569), parsesN/10(line 3575) and maps mood words to scores (lines 3588–3591); noprovenancecheck.USER/TELOS/CURRENT_STATE/SNAPSHOT.mdline 2provenance: template, line 15**Energy:** 5/10, line 16**Mood:** (sample) steady.LIFEOS/PULSE/Observability/src/app/life/page.tsxline 264:const focus = home.current?.focus ? 70 : null; // focus depth is categorical — render existence as 70.Reproduce
/LifeOS setup), no interview.curl -s localhost:31337/api/telos/overview | jq '.snapshot'→ entries for energy 5/10 and mood 8/10./telos: the hero shows them as current state. Open/lifewith anyFocus:line in § Current State: the FOCUS ring reads 70.Expected
provenance: templateis "not captured" everywhere; the hero renders the empty state, never the sample numbers.{ provenance, body }) shared by every page that reads a USER markdown file, so the check cannot be forgotten per handler.Fix shape
A
readUserMd(path)inLIFEOS/TOOLS/Telos.tsreturning{ exists, provenance, body }, used by the snapshot builder (template →null) and by the Health/Finances/Business handlers; the private frontmatter parser inobservability.tsremoved; the Life page parsesfocus_depthas a ratio and drops the 70. Three small hunks; a PR can follow.