title: Enterprise Features description: Compute governance, health monitoring, cross-agent insight discovery, and agent testing in phorvec.
Enterprise Features
The features on this page are Enterprise-tier tools intended for production deployments where multiple agents run continuously, resource consumption must be governed, and reliability needs to be measured and maintained. They unlock with an Enterprise license and are not available on the Community, MCP Pro, MCP Max, or Team tiers.
The Enterprise tier is also the path for embedded deployment (drones, vehicles, robots, industrial devices), air-gapped operation, and OEM redistribution — rights granted under a separate commercial licence. See Pricing, or email licensing@phorvec.com for the current form agreement and a technical discovery call.
Compute Governance (Energy Ledger)
The Energy Ledger is a per-agent token budget system that gives operators control over how much compute each agent is permitted to consume. This is particularly important in multi-agent deployments where a runaway agent could exhaust resources and degrade the experience for others.
How Costs Are Assigned
Every operation type is assigned a cost in abstract "energy" units:
| Operation type | Cost |
|---|---|
Retrieval (vector / context search) | 1 |
Storage (write to an agent database) | 2 |
ToolExecution (any MCP tool call) | 3 |
ModelCall (embedding generation) | 5 |
Custom(n) | caller-defined |
These costs reflect the relative computational weight of each operation. Embedding generation is the most expensive because it runs a neural network forward pass. Retrievals are cheap because the HNSW index is highly efficient.
Budget Tools
| Tool | Purpose |
|---|---|
set_budget | Assign a total energy budget to a specific agent |
allocate_budgets | Distribute a pool of energy across multiple agents according to weights or rules |
get_spend | Return current spend and remaining budget for an agent or the fleet |
Example: set a daily budget of 10,000 units for a single agent:
{
"tool": "set_budget",
"arguments": {
"agent_id": "research-agent",
"budget": 10000,
"window": "daily"
}
}
Denial Counters and Reliability-Based Allocation
When an agent exhausts its budget, subsequent operations are denied and the denial is recorded. get_spend reports the denial count alongside spend totals.
allocate_budgets can operate in reliability-aware mode: agents with lower denial rates and higher health scores (see Agent Health Monitoring below) receive proportionally larger allocations from the pool. This creates a feedback loop where well-behaved agents earn more resources.
Agent Health Monitoring
phorvec continuously tracks six health metrics for every active agent using Exponential Moving Averages (EMAs). EMAs weight recent observations more heavily than older ones, making the metrics responsive to current behavior while smoothing out transient spikes.
The Six Metrics
| Metric | What it measures |
|---|---|
coherence | Semantic consistency of outputs over time; low coherence indicates erratic or contradictory behavior |
contribution | Rate of new, non-duplicate knowledge being added to memory |
prediction_error | Divergence between what the agent anticipated and what it retrieved; high error may indicate outdated knowledge |
latency | Moving average of operation latency in milliseconds |
success_rate | Fraction of tool calls that completed without error |
trend | Direction and magnitude of change across the other five metrics; positive trend means the agent is improving |
Health Tools
| Tool | Purpose |
|---|---|
agent_health | Return all six metrics for a single agent, with threshold annotations |
fleet_health | Return a summary health report for all agents, sortable by metric |
Threshold Alerting
Each metric has a configurable warning and critical threshold in config.toml. When a metric crosses a threshold, it is annotated in the agent_health response with a status of warning or critical.
[health.thresholds]
coherence_warning = 0.6
coherence_critical = 0.4
success_rate_warning = 0.9
success_rate_critical = 0.75
Intervention Suggestions
When one or more metrics are in a warning or critical state, agent_health includes an interventions array with actionable suggestions. Examples:
- Low
coherence→ "Runmemory_consolidateto resolve contradictory memories" - High
prediction_error→ "Runrag_refreshto update the RAG index" - Low
contribution→ "Review retention policies; the agent may be re-storing known information" - Low
success_rate→ "Check recentfailure_summaryoutput for recurring error patterns"
Cross-Agent Insight Discovery (DRE)
The Divergent Reasoning Engine (DRE) is a cross-agent synthesis system. Its purpose is to generate novel insights by forcing combination of knowledge from agents that normally do not share state.
The Problem It Solves
In a multi-agent system, each agent develops a coherent but narrow view of the world. Agents that work on different problems rarely expose their knowledge to each other. The DRE treats this divergence as a signal rather than a limitation: pairs of agents with very different knowledge profiles are the most likely to produce surprising combinations.
How It Works
discover_insights selects a "divergent pair" — two agents whose memory stores have low cosine similarity in aggregate — and performs a forced pierce blend: it queries both agents' stores simultaneously, interleaves the results, and runs a novelty detector over the combined set.
The novelty detector scores each candidate insight by how far it falls outside the convex hull of either agent's individual knowledge, using dual-grounding validation to confirm that the insight is supported by at least one item from each agent (not just one).
Provenance Tracking
Every insight produced by discover_insights carries a provenance record:
{
"insight": "...",
"grounded_in": [
{ "agent_id": "agent-a", "memory_id": "abc123", "score": 0.87 },
{ "agent_id": "agent-b", "memory_id": "def456", "score": 0.82 }
],
"novelty_score": 0.73
}
This makes it possible to trace every generated insight back to specific source memories, supporting auditability and allowing downstream validation.
Geometric Failure Recovery
Vector indexes can develop pathological regions over time: dense clusters that make nearest-neighbor search unreliable, or sparse regions where queries return no meaningful results. The repair_search tool addresses these failures automatically.
How It Works
repair_search detects a retrieval failure (defined as a query returning fewer results than expected, or results with uniformly low similarity scores) and invokes the repair vector computation: it re-queries the index with a repaired query vector derived from the centroid of the failure region, filtered to exclude the vectors that caused the failure.
Failure Classification
Each repair is classified by failure type:
| Type | Description |
|---|---|
sparse_region | The query landed in an underrepresented area of the embedding space |
cluster_collision | Too many vectors collapsed into the same neighborhood, causing recall loss |
index_corruption | The HNSW graph has a broken traversal path; triggers storage_repair |
For index_corruption, repair_search automatically invokes storage_repair to rebuild the affected index segment.
Agent Testing
phorvec includes a structured testing framework for validating agent memory behavior against known-good baselines. This is essential for catching regressions when updating models, chunking strategies, or retrieval parameters.
YAML Test Suites
agent_test accepts a YAML test suite definition:
suite: "coding-agent-recall"
agent_id: "coding-agent"
cases:
- query: "how do we handle database migrations"
expected_ids: ["mem_abc", "mem_def"]
min_score: 0.75
- query: "authentication strategy"
expected_tags: ["auth", "security"]
top_k: 5
Each case specifies a query and one or more assertions: expected memory IDs in the result set, expected tags present in top results, or minimum similarity scores. phorvec runs all cases and returns a structured pass/fail report.
Baselines
agent_baseline captures a snapshot of the agent's current retrieval performance across a standard query set and saves it as a named baseline. Baselines record the full result set, scores, and IR metrics.
agent_baselines lists all saved baselines for an agent with timestamps and summary metrics.
Regression Checks
agent_regression_check compares the agent's current performance against a saved baseline. It reports:
- Precision, recall, and F1 delta for each query in the baseline
- Any queries that now return different top-1 results
- Overall regression score (0 = identical, 1 = completely different)
A regression check should be run after any change to the index configuration, quantization mode, or embedding model.
Benchmarks
agent_benchmark runs a full performance benchmark: it measures query latency, recall@k, and throughput under load for the current agent configuration. Results are returned as a structured report suitable for comparison across configurations or phorvec versions.
IR Metrics
All testing tools report standard information retrieval metrics:
| Metric | Definition |
|---|---|
| Precision | Fraction of returned results that are relevant |
| Recall | Fraction of relevant items that were returned |
| F1 | Harmonic mean of precision and recall |
Precision and recall require a ground-truth relevance set, which is captured at baseline time. This makes the metrics meaningful as long as the baseline is kept up to date.
Org-Wide Pattern Sharing
The org_pattern_* family lets a fleet operator publish reusable patterns — query templates, retrieval strategies, prompt skeletons — into an organization-wide catalogue that every Enterprise-licensed agent can search and adopt.
| Tool | Purpose |
|---|---|
org_pattern_submit | Propose a pattern for org-wide adoption with metadata and example usage |
org_pattern_search | Search the org catalogue (hybrid search) for relevant patterns |
org_pattern_status | Check approval state and adoption telemetry for a submitted pattern |
Patterns are different from skills: skills are operational know-how an individual agent can call; patterns are organizational knowledge that shapes how agents should approach a class of problems.
Retention Management
The retention subsystem extends the Active → Archived → PurgeQueue lifecycle (available on all tiers) with the operational tooling Enterprise fleets need.
| Tool | Purpose |
|---|---|
retention_status | Report what's in each lifecycle zone, anchor exemptions, and time-to-next-sweep |
retention_sweep | Manually trigger the purge — useful before regulatory audits or after policy changes |
storage_repair | Rebuild HNSW segments and recover from corruption |
storage_verify | Verify integrity of the index, audit chain, and .avdb headers |
retention_sweep honours anchor exemption: pinned items and items flagged via anchor_manage are kept regardless of age. Use this to comply with regulatory hold orders without modifying retention windows globally.
Audit Trail
The append-only audit log is not Enterprise-only — every tier writes correlation-IDed JSONL records with operation metadata. What Enterprise adds is the operational interface around it: configurable retention, structured error chains, and the security_audit query tool.
| Feature | All tiers | Enterprise additions |
|---|---|---|
| Append-only JSONL log | yes | — |
| Correlation IDs across tools | yes | — |
| Daily rotation | yes | — |
| Structured error chain on failures | — | Captures the cascade through intermediate layers, not just the surface error |
| Configurable retention | — | Set per-agent or globally in config.toml |
security_audit query tool | — | Filter by time, agent, operation, status |
failure_summary | — | Aggregate failed operations by type over a window |
The append-only JSONL format with daily rotation and correlation IDs is enough on its own for most operator workflows: every operation is permanently recorded with a traceable ID linking it back to the request that caused it. Cryptographic chaining is on the v0.2 roadmap for customers with stricter SOC 2 / HIPAA audit requirements.