Only the first {{data.meta.signal_limit}} signals are shown. Narrow the range; source counts are incomplete.
{{clock(data.start_ms)}} {{clock(data.end_ms)}}
Green dots are operator prompts; other dots are recorded events, including agent activity. Events do not establish continuous attention. “Unclassified time” marks missing journal coverage. Raw activity may exist there; this does not establish inactivity.
Classifier history is limited to 100 records. Narrow the range.
{{data.intervals.length}} source entries {{data.signals.length}} raw signals {{prompts.length}} operator prompts {{browserSignals.length}} browser signals {{lateCount}} signals arrived after a covering journal entry’s last update
Source entries Raw signals Classifier runs Filter
Calls below contain decisions for this range, or inspected it. Older calls may lack selection history. Worker completion alone does not establish journal coverage.
{{clock(run.started_at_ms)}}{{new Date(run.started_at_ms).toLocaleDateString()}} {{run.state}} · {{run.stage}} {{run.task_id ? 'BrightWrapper: '+run.provider_status : 'No provider call recorded'}} Saved {{run.materialization.created}} new, updated {{run.materialization.updated}}, skipped {{run.materialization.skipped}} {{run.error}} No retained classifier call is linked to this range. This does not prove no call occurred.
Worker executions during this period ({{data.classification?.worker_history.length || 0}}) Execution timestamps, not the time ranges classified. Historical selection details were not retained.
{{stamp(run.started_at_ms)}} · {{run.state}} · {{run.error}}
{{clock(tab==='journal'?row.start_ms:row.observed_at_ms)}}{{duration(row.duration_ms)}} {{tab==='journal'?row.source:kind(row)}} {{tab==='journal'?row.text:(row.payload.summary || row.payload.title || row.payload.url || row.kind)}} {{row.source}} · arrived {{stamp(row.ingested_at_ms)}} No matching {{tab==='journal'?'journal entries':'signals'}} in this range.
Journal window {{selectedType}} details {{selected.text || selected.payload?.summary || selected.payload?.title}}
{{selectedType==='Classifier'?'Stage':'Source'}} {{selectedType==='Block'?'20-minute journal window':selected.source || selected.stage}} Observed / started {{stamp(selected.observed_at_ms || selected.start_ms || selected.started_at_ms)}} Arrived {{stamp(selected.ingested_at_ms)}} Arrival delay {{duration(Math.max(0,selected.ingested_at_ms-selected.observed_at_ms))}} Journal updated {{stamp(selected.updated_at_ms)}}
Recorded {{duration(selected.duration_ms)}} Unrecorded {{duration(selected.unrecorded_ms)}} Summary {{selected.summary?.state || 'Unavailable'}} Source entries {{member.text}} {{duration(member.contributed_ms)}} in this window {{selected.state}} · {{selected.error}}
Historical call: proposal selection and skip reasons were not retained.
Provider task {{selected.task_id || 'No call recorded'}} Provider result {{selected.provider_status || 'Unavailable'}} Model {{selected.model || 'Unavailable'}} Validation {{selected.validation?.state || 'Unavailable'}} Proposal decisions ({{selected.selection.length}}) {{stamp(item.start_ms)}} – {{clock(item.end_ms)}} {{reasonLabel(item.reason)}} → {{item.outcome}}
{{provenanceLoading?'Loading details…':selectedType==='Classifier'?'Load recorded call':selectedType==='Block'?'Load summary evidence':'Inspect construction provenance'}} {{provenanceError}}
Summary and tags Recorded visits ({{construction.browser_visits.length}}) Recorded duration is spread across these visits, not continuous attention from the entry’s start.
{{stamp(visit.start_ms)}} {{visit.label}} · {{duration(visit.duration_ms)}} {{construction.snapshot?.evidence?.description_rule || 'Original entry classification uses recorded work evidence; human edits remain separate.'}}
Activity rule {{construction.snapshot?.evidence?.activity_rule || 'Selected by the original work classifier.'}} Recorded tags {{[construction.snapshot?.decision?.activity_tag,...(construction.snapshot?.decision?.subject_tags || [])].filter(Boolean).join(' ') || 'No retained decision'}} Current tags {{[...(construction.interval.activity_tags || []),...(construction.interval.project_tags || [])].join(' ') || 'None'}} Human edits {{construction.interval.text_rev>0?'Edited after generation':'None recorded'}} Domain connection {{construction.snapshot.evidence.project_resolution.domain || 'Observed domain'}} → {{construction.snapshot.evidence.project_resolution.tag || 'No project match'}}
{{({declared_app_domain:'Declared FairyStack app domain',known_tag_spelling:'Matched an existing project tag by spelling',unmatched:'No matching app domain or existing tag'})[construction.snapshot.evidence.project_resolution.method] || construction.snapshot.evidence.project_resolution.method}}
Source: {{construction.snapshot.evidence.project_resolution.source}}
Original decision evidence is unavailable.
{{callLoading?'Loading prompt viewer…':'Inspect BrightWrapper call'}} {{construction.snapshot?.evidence?.method==='browser_domain_aggregation'?'Rule-based browser entry; no AI call was used.':'No provider request was retained for this record.'}}
Recorded result and construction {{JSON.stringify(construction,null,2)}} Raw record {{JSON.stringify(selected,null,2)}} Select a journal entry or signal to inspect its timestamps and evidence.
{{data.meta.signal_scope}} Missing browser records cannot distinguish a break from a collection failure. Browser collection diagnostics · Archived session evidence . Inspection and trial outputs do not edit the journal.