Flagship Use Case

Vertical Cursors need a business context runtime.

Coding copilots understand files, symbols, diffs, diagnostics, and local repo state. Vertical Cursor-like products need the same immediacy for business objects: matters, tickets, claims, incidents, approvals, costs, policies, commitments, and source versions. For Cursor vendors this is a drop-in context runtime. For enterprises already using Cursor, it is a sidecar reliability layer that keeps their existing workflow safe and fresh.

In simple words

In one sentence: this page explains how we keep LLM context reliable in production. We store time, meaning, and trust signals so each request can use only the context that is still valid now.

What to remember

Context is more than a search result. It is timeline, freshness, permissions, and what already happened.

How to use it

Build your product flow first, then let MatrixArk assemble prompt-ready context, route fast paths, and keep stale context out.

What you get

Fewer wrong-time answers, better cost control, and cleaner reuse of stable prompt parts.

Who should use this

Cursor platform vendors

Ship one context layer once, then every domain use case can reuse a shared serving model, freshness logic, and replay trail.

Enterprise Cursor users

Use MatrixArk through existing Cursor integrations when teams need stronger context quality without rebuilding their AI product.

Vertical AI customers

Use in any high-value workflow where domain facts change over time: support, legal, finance, security, and operations.

Two Cursor options

Option 1: Cursor vendor integration (primary)

Cursor-like platform teams integrate MatrixArk directly with their existing user loop. They send raw user requests + light hints before sending to the model, and write back outcome events after the model response.

Benefit: full control of end-to-end product UX, with one context service powering all use cases.

Option 2: enterprise-side direct use

Enterprises already using Cursor can adopt MatrixArk directly by using Cursor extension hooks, MCP tools, or middleware adapters to fetch context packs and write back post-response events.

Benefit: immediate reliability and compliance gains without waiting for product vendor roadmap changes.

Both options use the same API mindset: Cursor flow stays in place, MatrixArk handles context planning, time-window logic, filtering boundaries, and prompt assembly.

Easy integration pattern for enterprise Cursor users

For teams that are already on Cursor, the required integration is just two hooks and one token budget field. MatrixArk can work with only raw query + hints.

1) Pre-LLM hook (required)

Send raw query, workspace/user ids, session ids, and max token budget.

2) Post-LLM hook (optional)

Send final answer summary, tool calls, user confirmation, and commitments when available.

3) MatrixArk contract

Use get_context_pack() and ingest_context_event() through MCP or HTTPS.

// Pre-LLM request sent to MatrixArk (enterprise Cursor usage)
get_context_pack({
  workspace: "company_a/platform_infra/project_1",
  raw_user_query: "Can we buy another GPU batch?",
  cursor_context: {
    user_id: "u_9001",
    session_id: "s_2001",
    app_path: "project_budget"
  },
  max_context_tokens: 3000
})

// Post-LLM event written back to MatrixArk
ingest_context_event({
  workspace: "company_a/platform_infra/project_1",
  event_type: "assistant_answer_final",
  happened_at: "2026-06-12T10:00:04Z",
  data: {
    context_pack_id: "ctx_123",
    answer_summary: "Another GPU batch is allowed if spend stays under $50,000.",
    accepted_by_user: true,
    memory_updates: ["Validate approval date before next purchase"]
  }
})

In this direct model, most teams start with TemporalStore for request-time context, use MatrixDB for hot latest-state reads when needed, and add MatrixKV for committed approvals, ownership, and workflow truth.

Ingestion without workflow friction

MatrixArk can operate with minimal input. If we only receive raw query + local hints before LLM call, it still produces a usable context pack by applying default policies and context templates.

Required (always)

Raw query + lightweight hints (user/session/entity ids + token budget).

Better with more data (optional)

Domain events, tool outputs, confirmations, policy changes, and committed decisions.

Ingestion hooks

We recommend registering optional data as hooks: before the model call, during the answer flow, after the model answer, policy-change, and approval-change.

Impact

More ingestion improves freshness, continuity, anti-repetition, and prompt precision over time.

This split keeps Cursor integration low-friction and lets enterprises improve quality incrementally. Every extra stream can be added as a hook without changing Cursor UI or workflow code.

What we learn from Zep and Mem0

The market is converging on a simple lesson: customers do not want to hand-build memory databases. Zep shows that apps can send messages, text, and JSON business data into a managed context layer. Mem0 shows that developers like a small add/search API where the service extracts durable memories and returns them later as prompt context.

PatternWhat apps sendMatrixArk product decision
Conversation ingestionUser turns, assistant answers, tool results, corrections, and final summaries.Support ingest_context_event() so Cursor-like products can write back what happened after the LLM answer.
Business data ingestionJSON events, tickets, approvals, costs, incidents, docs, and workflow records.Let customers send normal domain payloads while MatrixArk extracts time, scope, entities, and serving fields.
Query-time retrievalRaw query, user/session ids, optional filters, metadata, and limits.Expose get_context_pack() with raw query, hints, time range, and token budget instead of asking customers for TemporalStore filters.
Hybrid retrievalSemantic candidates plus keyword, metadata, graph, or entity signals.Use vector DB and object storage as optional candidate layers, then let TemporalStore enforce freshness, replay, time windows, and prompt budget.

The key difference is that MatrixArk is not only a memory extraction API. It is a serving contract: online ingestion, bounded TemporalStore queries, context-pack assembly, replay, and enterprise policy in one request path.

Replacing filesystem context with TemporalStore + Milvus

Filesystem-style context works because paths are intuitive. The limitation is that a filesystem is not a serving model for time-aware LLM context. MatrixArk keeps the path experience, then compiles it into three production layers.

Namespace

TemporalStore stores logical paths, hash chains, validity windows, lifecycle, permissions, source refs, and replay metadata.

Semantic recall

Milvus stores embeddings, searchable summary/chunk text, and scalar fields for candidate retrieval.

Source objects

S3-compatible storage keeps raw PDFs, Markdown, parsed text, transcripts, and large L2 payloads.

Prompt contract

MatrixArk turns candidates and temporal state into a compact context pack under the model's token budget.

LayerStoresPurpose
TemporalStoreContextNode metadata, scope hashes, validity, lifecycle, permissions, replay, Milvus refs.Decide which context is current, scoped, allowed, and reproducible.
MilvusDense/sparse vectors, searchable summary/chunk text, node ids, scalar metadata.Find semantically relevant candidates before TemporalStore validation.
Object storeRaw PDFs, Markdown, parsed text, transcripts, media, and large L2 content.Keep canonical source artifacts outside the prompt-serving metadata path.
MatrixArkExtraction, planning, rerank, token budgeting, and context-pack assembly.Make the customer-facing API simple while hiding storage and serving complexity.
logical path:
  /company_a/platform/project_1/approvals/alice-budget.md

TemporalStore ContextNode:
  node_id = node_approval_001
  scope_layers = [company_a, platform, project_1, approvals]
  scope_hash_chain = [h(company_a), h(company_a/platform), h(company_a/platform/project_1)]
  serving_scope_hash = h(company_a|platform|project_1)
  level = L2
  valid_from = 2026-06-10T09:30:00Z
  lifecycle_state = active
  embedding_refs = [emb_l0_001, emb_l1_001, emb_chunk_001]
  object_ref = s3://company-a/raw/approvals/alice-budget.md

Milvus EmbeddingRecord:
  embedding_id = emb_l0_001
  node_id = node_approval_001
  text = "Alice approved a $50,000 GPU budget for Project 1."
  vector = [...]
  scalar fields = tenant, project, collection, level, updated_at

Query flow: semantic candidates, temporal validation

Milvus should find candidates by meaning. TemporalStore should decide whether those candidates are fresh, valid, permissioned, scoped, and worth spending tokens on.

Raw query
Can we buy GPU?
MatrixArk planner
scope + intent + budget
Milvus
semantic candidates
TemporalStore
valid-as-of + permissions
Context pack
L0/L1/L2 under budget
LLM
answer with fresh context

This is the key difference from filesystem retrieval: the final prompt is not whatever path was semantically close. It is the subset of candidates that pass TemporalStore's time, scope, lifecycle, permission, replay, and token-budget rules.

Two APIs, not one overloaded memory call

Query-time requests and non-query ingestion events should stay separate. This keeps the customer contract simple and lets MatrixArk optimize each path independently.

Read path

get_context_pack() receives raw query, local hints, scope, time range, and max context tokens. It returns prompt-ready context.

Write path

ingest_context_event() receives messages, final answers, tool results, business events, documents, and corrections. It improves future context.

Batch path

Historical Markdown, PDFs, tickets, CRM exports, chat logs, and wiki pages can be parsed and loaded before the first live query.

Serving path

TemporalStore handles low-latency time/scope queries first; vector DB, S3, MatrixDB, and MatrixKV are added only where they help.

// Query-time read: raw query + hints.
get_context_pack({
  tenant_id: "company_a",
  raw_query: "What did we decide about Project Alpha vendor?",
  hints: {
    project: "Project Alpha",
    time_range: "last_30_days",
    max_context_tokens: 2500
  }
})

// Non-query write: teach MatrixArk what happened.
ingest_context_event({
  tenant_id: "company_a",
  event_type: "assistant_final_answer",
  event_time: "2026-06-13T20:00:00Z",
  content: "Project Alpha will use Vendor B after Vendor A failed security review.",
  hints: {
    project: "Project Alpha",
    remember: true,
    category: "decision"
  }
})

Enriched integration diagrams

Option 1: Vendor-integrated cursor platform

Cursor product UI
user input + local hints
MatrixArk planning API
intent + time-window + policy
TemporalStore
prompt-ready context pack
LLM runtime
model call + tools
MatrixArk result writeback
answer summary + decisions
MatrixKV / MatrixDB
truth + hot state

Same UI, fewer custom context layers; MatrixArk owns serving complexity.

Option 2: Enterprise sidecar on Cursor

Cursor workspace
pre-query hook
MatrixArk edge connector
MCP / HTTPS
TemporalStore
time-aware query service
LLM call
via existing Cursor runtime
Post-query writeback
events, commitments, corrections
MatrixDB / MatrixKV
hot state + committed truth

Useful for teams already live on Cursor and moving quickly.

User input
raw query + ids
Option 1 Cursor
before model call
MatrixArk
build context pack
LLM
answer + tool calls
Answer returned
cursor UX
Option 1 Cursor
after model answer
MatrixArk
writeback + replay
Next request
continuity improved

In Option 1, the vendor-side flow is stable and low-latency: one context request before model call, one model call, one writeback after answer.

Enterprise cursor runtime
existing workflow
Connector/MCP
intercept events
MatrixArk
before model call
LLM provider
standard output
Cursor runtime
show response
Connector
after response ingest
MatrixArk + MatrixDB
state updates
Governance layer
MatrixKV

In Option 2, teams avoid changing user-facing behavior and still get time-aware context, reuse signals, and governance for critical actions.

Local context is not enough

A coding assistant can often answer from local workspace context. A vertical AI product needs more than local files. It needs to know what happened across sessions, which facts are still valid, what the team already approved, what the customer was promised, what source version is canonical, and which prior action should not be repeated.

Legal Cursor

Matters, contracts, clauses, redlines, approvals, obligations, source versions, and client instructions.

Support Cursor

Customers, tickets, refunds, entitlements, escalations, failed troubleshooting steps, and open promises.

Finance Cursor

Teams, projects, approvals, purchases, budgets, vendors, policies, and spend commitments.

Security Cursor

Incidents, alerts, assets, playbooks, analyst actions, containment history, and policy windows.

What this is for

MatrixArk turns vertical AI products into an operational memory layer for daily workflows. Cursor-like teams should focus on outcomes, not data model design.

Support use case

Use ticket history, failed steps, entitlement state, and open promises to keep answers current.

Finance use case

Use approvals, spend, budget state, commitments, and policy versions so decisions are never made on stale numbers.

Security use case

Use incident timeline, containment actions, and owner context to avoid repeated or unsafe responses.

Legal use case

Use active obligations, revisions, and approvals so generated responses are policy-valid and traceable.

Cursor workflow, MatrixArk execution

Cursor should treat MatrixArk like an execution service: send raw user signal and local hints, get back a prompt-ready context pack. MatrixArk handles interpretation, filter selection, time-window rules, permissions, and routing.

Before LLM call

Cursor sends current entity, user intent, and optional local hints.

During serving

MatrixArk validates intent and composes bounded context from TemporalStore and MatrixDB/MatrixKV as needed.

After LLM call

Cursor sends final answer, tool outputs, and user confirmations/edits.

Next request

Memory continuity, anti-repetition, and freshness checks improve with each write-back.

How ingestion works

The vertical Cursor, workflow engine, webhook, or backend writes domain events directly to MatrixArk. Each record carries a workspace path, timestamp, and normal domain JSON. Think of these writes as registered hooks on your event stream. MatrixArk decides which fields become temporal context, source references, permissions, and replay metadata.

ingest_context_record({
  workspace: "company_a/platform_infra/project_1",
  event_type: "cost_update",
  happened_at: "2026-06-11T14:15:00Z",
  data: {
    actor: "finance_owner",
    amount: 18420,
    status: "committed",
    project_id: "project_1",
    reason: "llm_evaluation"
  }
})

The customer sends normal domain JSON. MatrixArk maps it to the model, extracts the timestamp and important fields, builds event sequences and summary signals, stores large objects by reference when needed, and records enough metadata for replay.

Ingestion before and after the model answer

A vertical Cursor sends a minimal context signal before asking for a context pack. Extra ingestion can be added during the response flow and after the answer for better continuity. This is how TemporalStore becomes living memory instead of a one-time retrieval system.

Before context retrieval

Cursor sends opened entity, selected project, user action, tool traces, local summary, and fresh domain events.

During context planning

MatrixArk maps raw query or harness plan to internal context routes, validates the serving plan, and queries TemporalStore.

After model output

Cursor writes back accepted answer, tool calls, user corrections, commitments, rejected suggestions, and memory updates.

For the next request

TemporalStore can now block repeated failures, remember decisions, replay context packs, and serve fresher prompt context.

// Before retrieval: capture current working state.
ingest_context_event({
  workspace: "company_a/platform_infra/project_1",
  event_type: "user_query",
  happened_at: "2026-06-12T10:00:00Z",
  data: {
    raw_user_query: "Can we buy another GPU batch?",
    active_page: "project_budget",
    selected_entity: "project_1"
  }
})

// After model output: teach the next request what happened.
ingest_context_event({
  workspace: "company_a/platform_infra/project_1",
  event_type: "assistant_answer_final",
  context_pack_id: "ctx_123",
  happened_at: "2026-06-12T10:00:04Z",
  data: {
    answer_summary: "Another GPU batch is allowed if spend stays under $50,000.",
    accepted_by_user: true,
    new_commitments: ["Use spot instances where possible"],
    memory_updates: ["GPU spend decision should check Alice's June 10 approval"]
  }
})

Simple outside, optimized inside

Customers stay in the business experience. MatrixArk receives workspace context signals and turns them into strict internal shape. No manual tree-walk, no custom query planning for Cursor teams.

what the customer sees:
  tenant=company_a, project=project_1, workflow=budget_purchase

what MatrixArk creates inside TemporalStore:
  context boundary = tenant/project scope
  temporal event sequence = latest operational trail
  service index set = MatrixArk-managed, budgeted serving keys
  fallback summary pack = broad query outputs written back when needed

MatrixArk owns the hard parts: scope shaping, index selection, timestamp ordering, scan limits, freshness rules, and prompt rendering.

Serving-time query

When the user asks a domain question, the vertical Cursor should not construct TemporalStore filters itself. It should send the raw user request plus lightweight context hints. MatrixArk owns the context-planning step, including an optional small LLM call that turns the raw request into a safe structured plan. If the vertical Cursor already ran its own first LLM pass, it can send that interpreted plan to MatrixArk so MatrixArk can skip the extra planning LLM call and move directly to validation.

// Mode A: MatrixArk plans from raw query.
get_context_pack({
  workspace: "company_a/platform_infra/project_1",
  raw_user_query: "Can we buy another GPU batch?",
  hints: {
    active_page: "project_budget",
    selected_entity: "project_1",
    local_summary: "User is reviewing GPU spend."
  },
  max_context_tokens: 3000
})

// Mode B: Cursor already used its own LLM to understand the query.
get_context_pack({
  workspace: "company_a/platform_infra/project_1",
  raw_user_query: "Can we buy another GPU batch?",
  harness_plan: {
    task_type: "purchase_decision",
    needed_context: ["latest_budget_approval", "committed_gpu_spend", "open_commitments"],
    domain_terms: { "GPU batch": { context_bucket: "costs", category: "gpu_compute" } }
  },
  max_context_tokens: 3000
})

The customer asks a business question. MatrixArk either extracts intent itself or accepts the harness-provided intent plan. In both modes, MatrixArk maps phrases like "GPU batch" and "can we buy" to the platform's context model, validates the plan, chooses stores, and sends structured bounded inputs to TemporalStore. The final model receives the context that matters now, not a raw dump of every record.

Can we buy another GPU batch?

Without TemporalStore Search invoices manually Paste old approvals Risk stale budget numbers Prompt includes noisy history
With TemporalStore Alice approved $50,000 on June 10 Approval valid until July 10 $18,420 already committed $31,580 remaining budget

MatrixArk plans; TemporalStore serves

MatrixArk should own the safe serving plan. It can use a small planning LLM to understand the raw user query, or it can accept a harness-provided plan when the vertical Cursor already did that first LLM pass. Either way, a deterministic planner validates the plan against tenant policy, permissions, indexes, and serving thresholds. TemporalStore should receive only structured, bounded queries.

Harness sends

Raw user query plus hints, or a harness-generated intent plan from its own first LLM call.

MatrixArk validates

Task type, context dimensions, time windows, filters, stores, fallback route, and context-pack sections.

TemporalStore receives

Validated scope hash, context dimension, index choice, timestamp window, filters, limit, and deadline.

Harness gets back

Prompt-ready context, blocked stale facts, citations, cache hints, and replay metadata.

MatrixArk context-planning LLM output:
  task_type = purchase_decision
  needed_context = [latest_budget_approval, committed_gpu_spend, open_commitments]

MatrixArk deterministic serving plan:
  approvals.latest_active(type = cloud_budget, as_of = request_time)
  costs.sum(category = gpu_compute, since = approval.valid_from)
  commitments.open(scope = project_1)
  stale_context.blocked(scope = project_1)

If the request is too broad:
requires_offline_aggregation({
  reason: "query exceeds online filter and scan guardrails",
  rejected: ["cross_project_scan", "fuzzy_filter", "group_by"],
  suggestion: "narrow scope, use declared index, or read SummaryFact"
})

Cursor-like products may send hints because they know the UI and local state. They should not need to send TemporalStore index names, HASH keys, SQL, or storage routing choices. MatrixArk owns those details so every vertical Cursor can stay infrastructure-agnostic.

When TemporalStore is not the right engine

TemporalStore should protect the prompt-time serving path. Some customer questions are too broad or exploratory for that path: arbitrary JSON filters, fuzzy search, all-team scans, long-range reports, joins, and group-by analytics. MatrixArk should still support those use cases, but route them to the right layer instead of forcing TemporalStore to behave like an OLAP database.

TemporalStore

Bounded context: recent timelines, open commitments, latest approvals, stale-memory blocking, replay, and declared indexed filters.

MatrixDB

Hot serving state: active sessions, latest project summaries, Redis-compatible cache/profile KV, context-pack metadata, and high-QPS operational reads.

OLAP / HSAP layer

Flexible analysis and hybrid serving/analytical processing: arbitrary JSON fields, broad filters, field-segment discovery, long scans, group-by, dashboards, and offline summaries.

MatrixArk planner

One API hides the routing: prompt-time queries go to TemporalStore, hot latest-state reads go to MatrixDB, broad analysis goes to OLAP/HSAP.

same customer event:
  approval/cost record arrives once

MatrixArk storage plan:
  TemporalStore:
    latest active approval, recent costs, open commitments
  MatrixDB:
    project current-spend summary, active session, cache metadata
  OLAP / HSAP:
    full JSON event, long-range analysis, dashboards, ad hoc filters

future prompt:
  OLAP result -> SummaryFact -> TemporalStore context pack

This keeps the customer experience simple. The vertical Cursor sends the raw request and optional hints. MatrixArk decides whether the answer should come from TemporalStore, MatrixDB, an OLAP/HSAP layer, or a precomputed summary written back into TemporalStore.

Why this is a flagship use case

Vertical Cursors are a natural buyer because their core challenge is not generic chat memory. Their challenge is domain context: custom objects, time validity, team decisions, approvals, source versions, permissions, and replayable prompt inputs.

Zero schema lift

Cursor teams send normal product signals and business questions; MatrixArk converts them into the serving contract internally.

Fresh at request time

Ingestion and bounded serving queries happen in one system, so the context pack reflects recent events.

Token efficient

The model receives active facts, open commitments, and valid records instead of raw histories and duplicate chunks.

Replayable

Teams can reconstruct which approvals, costs, memories, and source versions entered a model call.

Permission-aware

MatrixKV can add canonical permissions, approvals, and workflow truth when customers need stronger boundaries.

Production-ready path

Start with TemporalStore, then add MatrixDB for hot state and MatrixKV for committed truth as scale demands.

The product message

MatrixArk gives vertical Cursor companies the missing backend for domain context: time-aware memory, domain-aware runtime models, online serving queries, stale-context blocking, runtime reuse signals, and replayable context packs.

The harness keeps the interface, workflow, model, and prompt style. TemporalStore provides the context filesystem behind it: what happened, what is valid now, what was approved, what is stale, and what should enter the prompt.