Pulse

Pulse Metadata Surface — Badges, Strips, Panels

Last synced: Jul 11, 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: (standard/extended/advanced/deep/comprehensive)EffortBadge.tsxshipped
ModeBadgemode: (iterate/optimize/ideate/loop)ModeBadge.tsxshipped (covers Algorithm mode)
PresetBadgealgorithm_config.preset (dream/explore/directed/surgical/cautious/aggressive)PresetBadge.tsxshipped
ResponseModeBadgeresponse_mode: (minimal/native/algorithm) — NEW v2.10NOT YET BUILTplanned next-ISA
AlgorithmModeBadgealgorithm_mode:NEW v2.10 alias of mode: for clarityNOT YET BUILTplanned next-ISA (may share ModeBadge impl)
GoalBadgepresence of principal_stated_goal: (v6.4.0)NOT YET BUILTplanned next-ISA
DensityBadgedensity_score: + divergence_risk: (v6.5.0)NOT YET BUILTplanned next-ISA
IterationBadgeiteration: (current iteration number for loop mode)NOT YET BUILTpaired with LoopRunner.ts
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 system metricsQuickPulseStrip.tsxshipped
PhaseProgressStripphase: (1 of 7 visualized)NOT YET BUILTplanned next-ISA
JourneyStripcurrent_state: → ISC progress → ideal_state:NEW v2.10NOT YET BUILTplanned next-ISA
CapabilitiesStripcapabilities_invoked: array — NEW v2.10NOT YET BUILTplanned next-ISA
IterationHistoryStrip## Iteration History section (Loop mode)NOT YET BUILTpaired with LoopRunner.ts
IntensityBartool-call rate over timeIntensityBar.tsxshipped
FocusIndicatorphase + ISA presenceFocusIndicator.tsxshipped

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 timingPhaseDetailPanel.tsxshipped
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/Grok audit resultsNOT YET BUILTplanned next-ISA
IterationHistoryPanel## Iteration History section (Loop mode)NOT YET BUILTpaired with LoopRunner.ts

Tab-Level Surfaces (one per Pulse mode)

TabDashboard componentSurfaces
IterateUnifiedWorkDashboardall default-mode work, current Algorithm run, ISC progress
OptimizeOptimizeDashboardoptimize sessions, score curves, experiment history
IdeateNoveltyDashboard (/novelty)ideate sessions, candidate gallery, EVOLVE / META-LEARN deltas
LoopLoopDashboardloop sessions, iteration counter, halt conditions, asymptote detection
NativeNativeDashboardNATIVE-mode sessions, quick-task chatter, no-ISA work

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.json phase historyhooks/lib/isa-utils.ts::appendPhase()phase transitions with timing — drives PhaseProgressStrip

Implementation Status — What Ships When

WaveItemsTrigger
Already shippedEffortBadge, ModeBadge, PresetBadge, QuickPulseStrip, IntensityBar, FocusIndicator, PhaseDetailPanel, six-tab UIcurrent 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.3.0.md