Skip to content

Context Pulse: incremental evidence and factual findings - #94

Merged
KAVentures merged 15 commits into
mainfrom
feat/context-pulse-findings
Sep 27, 2026
Merged

KAVentures merged 15 commits into
mainfrom
feat/context-pulse-findings

Conversation

@KAVentures

Copy link
Copy Markdown
Owner

Summary

Adds Context Pulse to the compact Context MCP surface: a caller-owned bookmark that returns only evidence that arrived since the last check, plus long-horizon factual findings that are new or materially changed.

This is deliberately an evidence/memory layer, not an advice engine.

Context Pulse contract

  • New compact MCP tool: get_context_pulse.
  • First call returns a recent baseline tail plus current factual findings.
  • Pass next_cursor back unchanged on later calls.
  • Later calls return only newly arrived canonical evidence and new/materially changed findings.
  • Recent evidence uses a monotonic database arrival watermark, not timestamps, so late/backdated events are not silently missed.
  • Multi-page pulses freeze one event watermark; events arriving mid-page are held for the next pulse rather than mixed into the current snapshot.
  • Cursor contains no captured names/titles/surfaces: only watermarks and opaque finding IDs/versions.

Findings v1

Computed directly from the factual context timeline; no candidate-task/task-label inference is used:

  • surface engagement over the rolling lookback (default 30 days): engaged/foreground time, span count, active days and evidence IDs;
  • repeated surface transitions: directional cross-surface transitions observed at least three times, with occurrence count and evidence IDs.

Each finding explicitly states:

  • factual_aggregate: true
  • task_inference_used: false
  • advice: false

The first call labels findings baseline. Later calls emit only new or changed findings. Unchanged findings are omitted.

Privacy / architecture

  • Canonical evidence remains untouched.
  • Existing PR Contextual name redaction for AI context: replace, don't remove #93 Redacted/Full AI disclosure boundary applies to the entire Pulse response.
  • Pulse does not consult Observe connection state; previously stored evidence remains readable according to Context policy.
  • No typed text or clipboard contents are introduced.
  • get_workflow_trace remains the canonical complete evidence tool; Pulse is an incremental convenience/memory surface.

Tests

Adds coverage for:

  • late/backdated event arrival after a bookmark;
  • frozen multi-page snapshots without skipped mid-page arrivals;
  • factual findings without task inference;
  • privacy-safe cursor payload;
  • production route registration;
  • Context Pulse included in the exact compact MCP tool contract;
  • Context Pulse exercised through the existing Redacted / Full / organization-forced-Redacted end-to-end MCP test.

@KAVentures
KAVentures merged commit 7ae3600 into main Sep 27, 2026
9 checks passed
@KAVentures KAVentures mentioned this pull request Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant