Pulse

Pulse Metadata Surface — Badges, Strips, Panels

Last synced: Jul 21, 2026

Pulse Metadata Surface — Badges, Strips, Panels

The catalog of everything Pulse surfaces about a session, ISA, or Algorithm run. Every badge, strip, and panel maps to specific frontmatter or session metadata. This doc tells you (1) what visual elements exist, (2) what data each consumes, (3) where the data is set, (4) implementation status.

Source of truth for visual layout: LIFEOS/PULSE/Observability/src/app/agents/page.tsx (tab strip) and per-dashboard components in LIFEOS/PULSE/Observability/src/components/activity/.


Core Principle — Surface the Journey

Every LifeOS primitive is current state → ideal state, articulated as ISCs, pursued through verifiable iteration. This is the Life OS loop (LIFEOS/DOCUMENTATION/LifeOs/LifeOsThesis.md) rendered at session scale. The Pulse metadata surface exists to make that journey legible at every level:

  • Where are we? (current state, current phase, progress)
  • Where are we going? (ideal state, goal anchor, ISCs)
  • How did we get here? (mode chosen, capabilities invoked, iterations completed)
  • What confidence do we have? (Forge audit verdict, divergence risk, density score)

The components below surface those four questions across the Pulse UI.


Badge Catalog

Compact pills/chips that fit in session rows and headers. One badge = one piece of metadata.

BadgeData source (ISA frontmatter)ComponentStatus
EffortBadgeeffort:REMOVED 2026-07-14 (effort tiers retired 2026-07-11)
ModeBadgemode:REMOVED 2026-07-14 (modes retired 2026-07-11)
PresetBadgealgorithm_config.presetREMOVED 2026-07-14 (presets retired with modes)
ResponseModeBadge / AlgorithmModeBadgeresponse_mode: / algorithm_mode:CANCELLED (mode system retired before build)
Lifecycle pillderived (src/lib/lifecycle.ts: scoping/climbing/learning/done/session/idle)WorkBoard.tsxshipped 2026-07-14
Rework badge (×N)iteration:WorkBoard.tsxshipped 2026-07-14
GoalBadgepresence of principal_stated_goal: (v6.4.0)NOT YET BUILTbacklog
DensityBadgedensity_score: + divergence_risk: (v6.5.0)NOT YET BUILTbacklog
ForgeAuditBadgeForge audit verdict (pass/concerns/fail) recorded in ## VerificationNOT YET BUILTplanned next-ISA

Badge color conventions

Colors map to LifeOS dimensions (var(--health), var(--money), etc.) per LIFEOS/PULSE/Observability/src/app/agents/page.tsx dimColors. Each tab’s badges adopt that tab’s color tint. Cross-tab badges (Effort, Density) use neutral colors with dimension-tinted backgrounds.


Strip Catalog

Horizontal full-width visualizations that span the session card or dashboard row.

StripData sourceComponentStatus
QuickPulseStriplive ratings (24h window; mood verdict muted below 3 ratings)QuickPulseStrip.tsxshipped
ClimbChartwork-events.jsonl progress/criteria transitions per slug (mini sparkline + full ascent)ClimbChart.tsxshipped 2026-07-14
PhaseProgressStripphase: stationsCANCELLED (declared phases retired; the Climb replaces it)
JourneyStripcurrent_state: → ISC progress → ideal_state:NOT YET BUILTbacklog
CapabilitiesStripcapabilities_invoked: arrayNOT YET BUILTbacklog
IterationHistoryStrip## Iteration History sectionNOT YET BUILTbacklog
IntensityBartool-call rate over timeIntensityBar.tsxshipped (Activity tab)
FocusIndicatorphase + ISA presenceREMOVED 2026-07-14 (dead code, zero importers)

JourneyStrip — the headline new visualization

The Journey Strip is the visual embodiment of LifeOS’s core “current → ideal state” primitive. Layout sketch:

┌─────────────────────────────────────────────────────────────────┐
│  CURRENT STATE                                       IDEAL STATE │
│  "47 type errors blocking deploy"      "Zero errors, CI passing" │
│                                                                   │
│  ● ━━━ ● ━━━ ● ━━━ ○ ━━━ ○ ━━━ ○ ━━━ ○ ━━━ ○ ━━━ ○ ━━━ ○        │
│  ISC-1   ISC-2   ISC-3   ISC-4   ...           ...   ISC-11      │
│         (passed)                                                  │
│                                                                   │
│  3 of 11 ISCs verified  ·  phase: execute  ·  iter 1             │
└─────────────────────────────────────────────────────────────────┘
  • Left endpoint: current_state: one-liner from frontmatter
  • Right endpoint: ideal_state: one-liner (aligned with principal_stated_goal: when set)
  • Dots: ISCs in order, filled when passed, hollow when open
  • Bottom row: progress count, current phase, iteration (Loop only)

Fallback when current_state / ideal_state absent: render just the ISC dot progression with the task description as endpoint labels.


Panel Catalog

Multi-line expandable detail views shown on session click.

PanelData sourceComponentStatus
PhaseDetailPanelfull phase history with timingREMOVED 2026-07-14 (phase ceremony retired; expanded WorkBoard rows show claims + evidence + Climb instead)
GoalPanelprincipal_stated_goal: + signal type + locked timestampNOT YET BUILTplanned next-ISA
DecisionsPanel## Decisions sectionNOT YET BUILTplanned next-ISA
ChangelogPanel## Changelog section (Deutsch format entries)NOT YET BUILTplanned next-ISA
VerificationPanel## Verification section + Forge audit resultsNOT YET BUILTplanned next-ISA
IterationHistoryPanel## Iteration History section (Loop mode)NOT YET BUILTpaired with LoopRunner.ts

Tab-Level Surfaces (agents page — 2026-07-14 redesign)

The per-mode tabs died with the mode system. Two surfaces remain:

TabDashboard componentSurfaces
WorkWorkBoardtracked runs as Climbs (claims closed over time from work-events.jsonl), untracked live sessions, resumable, done-last-24h; derived lifecycle pills
ActivityObservabilityDashboardlive hook/tool/agent event stream, pulse chart, swim lanes

Cross-cutting Metadata Sources

SourceWhere it livesWhat it provides
ISA frontmatterMEMORY/WORK/{slug}/ISA.md or <project>/ISA.mdcore fields (task, effort, phase, mode, progress, started, updated) + v6.4.0 goal fields + v6.5.0 density fields + v2.10 response/journey fields
session metadataMEMORY/STATE/work.jsonsession registry, used for NATIVE sessions without ISAs
ISA body sectionssame ISA file, body## Decisions, ## Changelog, ## Verification, ## Iteration History (Loop only)
TheRouter additionalContext (RETIRED 2026-07-11)TheRouter.hook.ts (deleted)Historical: response mode, tier, goal signal, density gate eligibility — set per-prompt. Mode/tier classification was abolished 2026-07-11; no successor emits this.
work-events.jsonlhooks/lib/work-events.ts (event-sourced diffs)per-slug progress/criteria transitions with timestamps — drives ClimbChart

Implementation Status — What Ships When

WaveItemsTrigger
Already shippedLifecycle pill, Rework badge, ClimbChart, QuickPulseStrip, IntensityBar, two-tab Work/Activity UI (2026-07-14 redesign; mode/effort/preset badges and phase panels removed)current Pulse
Next ISA (paired with v6.6.0 doctrine bump)ResponseModeBadge, AlgorithmModeBadge, GoalBadge, DensityBadge, JourneyStrip, CapabilitiesStrip, GoalPanel, DecisionsPanel, ChangelogPanel, VerificationPanelrequires v2.10 frontmatter fields population by ISA skill + ISASync hook
Paired with LoopRunner.ts shipIterationBadge, IterationHistoryStrip, IterationHistoryPanelrequires LoopRunner.ts populating ## Iteration History section
Lower priorityCatoBadge (verdict surfacing), Goal filter pill on Agents pagesmall additions

Cross-references

  • ISA Format Spec: LIFEOS/DOCUMENTATION/Isa/IsaFormat.md
  • Algorithm Modes: LIFEOS/ALGORITHM/modes/README.md
  • Pulse System overview: LIFEOS/DOCUMENTATION/Pulse/PulseSystem.md
  • DA subsystem (design): LIFEOS/DOCUMENTATION/Pulse/DaSubsystem.md
  • Terminal tabs (kitty integration): LIFEOS/DOCUMENTATION/Pulse/TerminalTabs.md
  • Current Algorithm doctrine: LIFEOS/ALGORITHM/v8.7.1.md