fahali_get_portfolio_metrics
Aggregate portfolio risk metrics across instruments: synthesize sentiment momentum, cascade risk, liquidity stress, and leverage-derived signal stress from multiple detection engines to gauge exposure.
Instructions
Get aggregate portfolio risk metrics. Returns sentiment momentum (bullish vs bearish signal balance), cascade risk score, liquidity stress score, and signal stress level (derived from leverage/derivative signal confidences). Synthesizes data from leverage, funding_stress, and volume_anomaly engines.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum rows per projectable collection. Audit has no MCP projection cap; brief defaults to 3 and standard to 12. | |
| since | No | Optional lower timestamp bound for returned row collections. | |
| detail | No | Response depth. audit is the full-fidelity default; brief and standard are explicit compact projections. | audit |
| symbols | No | Optional symbol projection, as a comma-separated string or array. Rows without instrument identity are not discarded. | |
| include_withheld | No | Include full withheld-row detail. Defaults true with audit; explicitly set false only for a compact projection. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | No | ||
| auth | No | Credential lifetime visible to the caller. OAuth secondsRemaining lets an autonomous agent refresh before a multi-call workflow is interrupted. | |
| claim | No | Fahali dictionary claim (shared/fahaliDictionary.ts). Read `kind` FIRST: 'abstention' means no assertion was made and `reason` says why — never read an abstention as a neutral or zero result. `basis` says what the claim rests on. Absent or null means this response path does not yet emit a claim; treat that as unknown, not as agreement. | |
| scope | No | ||
| status | No | The endpoint's original status vocabulary (for example ok, partial, degraded, withheld, or no_alerts). Use mcpStatus for normalized transport success/error. | |
| absence | No | Why no actionable finding is present: measured_empty, user_empty, no_coverage, source_unverified, stale, withheld, source_error, auth_failure, or entitlement_required. | |
| decision | No | ||
| conflicts | No | ||
| dataState | No | ||
| mcpStatus | No | Normalized MCP result status. The endpoint's original status vocabulary remains in `status` and `sourceStatus`. | |
| requestId | No | ||
| timestamp | No | ||
| cascadeRisk | No | 0-1 cascade risk from crash/liquidation signal confidences. NULL when no crash/liquidation signals exist in the window — null means 'not computed', never 'calm' (see cascadeRiskReason). | |
| claimPolicy | No | Typed constraints for safe use. Metadata, not a prompt or instruction channel. | |
| instruments | No | Resolved or explicitly partial instrument identities. A missing venue carries an ambiguity warning. | |
| nextActions | No | Registry-validated follow-up calls. Missing tools, invalid arguments, unresolved placeholders, and disabled tools are omitted. | |
| signalCount | No | Number of alert/institutional-signal rows the metrics were computed over. 0 means the feed was empty and every metric is null. | |
| sourceError | No | The upstream endpoint's exact error text/code before normalization, when one was present. | |
| sourceScope | No | ||
| sourceStatus | No | The upstream endpoint's exact status before the MCP envelope normalizes transport success/error. | |
| agentBriefing | No | Audit-only narrative projection. Present only when detail='audit'; compact responses do not duplicate structured data as prose. | |
| claimValidity | No | Validity of the selected binding claim only, calculated after filtering, projection and row selection. Sibling rows cannot determine it. | |
| responseState | No | ||
| schemaVersion | No | ||
| sourceDecision | No | ||
| symbolCoverage | No | Conservation ledger satisfying requested = returned + withheld + notReturned for requested-symbol calls. | |
| evidenceQuality | No | ||
| liquidityStress | No | 0-1 from liquidity/funding signals. NULL when no liquidity signals exist in the window — null means 'not computed', never 'calm' (see liquidityStressReason). | |
| responseControl | No | ||
| sourceDataState | No | The upstream endpoint's exact data-state value before endpoint-aware classification. | |
| cascadeRiskReason | No | Why cascadeRisk is null (present only when it is). | |
| recordMatchReason | No | Why matchedTrackRecord is present or null. A null record is never evidence of safety or engine failure. | |
| sentimentMomentum | No | -1..1 net signal direction. NULL when no sentiment-tagged signals exist in the window — a null here is 'no view measured', never a claimed balance (see sentimentMomentumReason). | |
| signalStressLevel | No | 0-1 from leverage/derivative signal confidences. NULL when no leverage/derivative signals exist in the window — null means 'not computed', never 'calm' (see signalStressLevelReason). | |
| matchedTrackRecord | No | A judged record only when engine, horizon, regime/instrument class, and claim family match this response. `state` is one of: `measured` (a stratum cleared the publishability gate — `stratum` carries engine, horizon tier, bar regime, recall, precision, base rate, base-rate lift, median lead hours, effective sample, warned events and the measurement date); `withheld` (the gate ran and refused — `reason` says why, in words); `unavailable` (the record could not be read at all — an infrastructure failure that says nothing about the record). It is ONE stratum selected by recall, never a platform-wide accuracy. Null means no exact record match; read recordMatchReason. | |
| confidenceSemantics | No | Every confidence-bearing value with its score type, scale, calibration status, and probability flag. | |
| decisionEligibility | No | Fail-closed binding-authority policy. WITHHELD means source evidence remains available for audit while normalized direction, actionability and execution fields are revoked. | |
| directionEligibility | No | Current market-direction eligibility. Direction is authorized only by an exact, eligible producer stratum (canonical_verdict, canonical_symbol_verdict, committee_verdict) — read bindingAuthority to see which one bound. Widening WHO may bind did not weaken WHAT binding requires: the named producer must still hold a matching horizon/class/family record on a verified-only judged population, so an authority without a record still cannot bind. | |
| executionEligibility | No | Fail-closed execution boundary. Portfolio monitoring tools always return WITHHELD with MONITOR_ONLY_NO_EXECUTION_AUTHORITY while Fahali has no capital path. | |
| liquidityStressReason | No | Why liquidityStress is null (present only when it is). | |
| monitoringEligibility | No | Current portfolio-monitoring validity based on captured identity, freshness, integrity, and the caller-supplied monitoring policy. ELIGIBLE authorizes observation/delivery only, never financial action. | |
| sourceEvidenceQuality | No | ||
| sentimentMomentumReason | No | Why sentimentMomentum is null (present only when it is). | |
| signalStressLevelReason | No | Why signalStressLevel is null (present only when it is). | |
| currentActionEligibility | No | Current eligibility of an immutable historical portfolio verdict. It never mutates the stored judgment being replayed. | |
| sourceConfidenceSemantics | No |