kova_show_brief
Read a brief by ID. Returns status ('processing' or 'completed') and, when completed, the alignment score, label, markdown analysis, summary, and timestamps. Use 'latest' as brief_id to get the most recent brief. When status is 'processing', the response includes elapsed_seconds, expected_duration_seconds (~90s), retry_after_seconds, and a human-readable message — briefs typically complete in 60–120 seconds, so wait retry_after_seconds before calling again.
kova_list_briefs
List all completed briefs for a strategy with ID, alignment score, and timestamps.
kova_list_strategy_versions
List the version history for a strategy. Each entry captures the content before it was overwritten. Returns version numbers, names, previews, and timestamps. Use this before editing a strategy to understand what has changed over time.
kova_show_strategy_version
Read the full content of a specific strategy version snapshot.
kova_restore_strategy_version
Restore a strategy to a previous version. The current content is automatically saved as a new version before the restore, so nothing is permanently lost.
kova_simulate_portfolio
Run an ephemeral what-if simulation — evaluates a portfolio against a strategy without saving any records. Use this to check a specific trade idea ('should I sell puts on MARA at 15?'), test a hypothetical portfolio composition, or compare scenarios before committing. Results are temporary (expire after 1 hour) and never appear in brief history. For research-heavy scenarios, enrich with market data (earnings, price action, analyst sentiment) before calling this tool and pass it via context. Optionally override the strategy text to test 'what if my strategy said X?' without modifying the stored strategy. Returns a simulation_id with status 'processing' — call kova_show_simulation with that simulation_id until status is 'completed'. Simulation typically takes 60–120 seconds.
kova_show_simulation
Read a simulation result by ID. Returns status ('processing' or 'completed') and, when completed, the alignment score, analysis, and summary. Simulations expire after 1 hour. When status is 'processing', the response includes elapsed_seconds, expected_duration_seconds (~120s), retry_after_seconds, and a human-readable message — simulations typically complete in 80–160 seconds, so wait retry_after_seconds before calling again.
kova_show_portfolio
Read the current portfolio on file for a strategy — the most recent holdings (stocks, options, cash, assets, and liabilities) with performance metrics. Persisted manual assets and liabilities include uuid values so agents can update or remove existing records without creating duplicates.
kova_create_asset
Register a non-ticker asset on a strategy — anything owned and tracked by total value rather than individual ticker symbols. Use this for managed accounts where tickers aren't accessible: robo-advisors, 401k plans, real estate, or other lump-sum holdings. Once registered, the asset is part of the strategy's portfolio and is included in every evaluation. Types: investment_account, real_estate, bitcoin, other. Bitcoin uses live pricing — omit current_value and provide quantity instead. After registering assets, call kova_evaluate_portfolio without a portfolio param to generate a brief.
kova_update_asset
Update a non-ticker asset on a strategy. Merge semantics — only supplied fields change. Provide at least one field to update.
kova_remove_asset
Remove a non-ticker asset from a strategy. The asset UUID is returned by kova_create_asset or by kova_show_portfolio for existing manual assets.
kova_create_liability
Register a non-portfolio liability on a strategy. Use this for persistent obligations like a line of credit, mortgage, personal loan, or other debt that should be visible during evaluation. Liabilities are included as structured context in every evaluation but do not change portfolio value math in this iteration.
kova_update_liability
Update a liability on a strategy. Merge semantics — only supplied fields change. Provide at least one field to update.
kova_remove_liability
Remove a liability from a strategy. The liability UUID is returned by kova_create_liability or by kova_show_portfolio for existing liabilities.
kova_record_cash_flow
Record a deposit or withdrawal on a strategy's portfolio. Cash flows adjust performance calculations — deposits don't count as gains, withdrawals don't count as losses. Use this to track contributions, distributions, or transfers that affect the portfolio's value but aren't investment returns.
kova_list_cash_flows
List all recorded cash flows (deposits and withdrawals) for a strategy's portfolio. Returns flows ordered by date, most recent first.
kova_remove_cash_flow
Remove a cash flow record from a strategy's portfolio. Use kova_list_cash_flows to find the cash_flow_id.