MINARA

Run a Committee Analysis

Put any ticker through a multi-analyst investment-committee debate, read-only, from chat or the Web UI

Institution Mode opens a structured 6-phase pipeline against any ticker (or basket of tickers): four analysts in parallel, a bull/bear research debate, a Research Manager rating, a Trader proposal, a 3-way risk debate, and a Portfolio Manager final call. For multi-ticker prompts, a Phase 7 Allocator adds cross-asset comparison or allocation. Every run is read-only.

⚠️ Long-running. A single run is roughly 25 LLM calls and 60–600 seconds. Don't reach for it on quick price or sentiment lookups.

For the product positioning and full coverage matrix, see Institution Mode → feature page. This page is the operating guide.

Four ways to invoke

1. Single-ticker analysis

Prompt

/institution BTC

What happens:

Convening the institution for BTC...

Phase 1 — Fundamentals, sentiment, news, and technical analysts running in parallel...

Phase 2 — Bull vs Bear debate (3 rounds)...

Phase 3 — Research Manager: Overweight, confidence 0.68

Phase 4 — Trader: Buy spot, $93k stop, $122k target, 6–10 weeks

Phase 5 — Risk debate (Aggressive / Conservative / Neutral)...

Phase 6 — Portfolio Manager: Buy, confidence 0.72

Full report: Institution report.

The web UI renders each phase in a live "firm canvas" with status, duration, and per-role badges as events stream in. The REPL prints the same events as a structured tree.

2. Multi-ticker compare or allocate

Prompt

/institution BTC ETH SOL

The pipeline runs phases 1–6 for each ticker (in parallel where possible), then triggers Phase 7. The Allocator picks one of three modes automatically:

ModeWhenOutput
compareAll tickers in the same asset classRanked recommendation with primary pick
allocateTickers from different asset classes (BTC + gold + SPY)Suggested allocation weights and reasoning
hybridMix of bothTier-1 picks per class + cross-class weights

The Allocator's output appears in the chat above the per-ticker reports, and the multi-ticker Web UI splits the canvas into a tab per ticker plus a dedicated Allocator panel.

3. Natural-language clarify-loop

Prompt

/institution analyze apple

When the parser cannot resolve a ticker confidently (the user said a brand name, a foreign-language ticker, or an ambiguous symbol), the tool returns status: "waiting_for_input" with up to 5 candidates:

I found a few possibilities for "apple":

  • AAPL — Apple Inc. (NASDAQ; tokenized equity also available on Solana)
  • AAPLx — Pre-IPO synthetic on a venue you've used before
  • APLE — Apple Hospitality REIT (NYSE)

Reply with the ticker you mean and I'll start the analysis.

After the user picks, the tool re-runs with the confirmed ticker. No budget is spent on the full pipeline until the ticker is locked.

4. Capital-anchored allocation (worked example: $50,000)

When the question is "how do I deploy $X across this basket", give the institution both the capital figure AND the explicit ticker list in the prompt. Phase 7 Allocator picks up the dollar amount and emits USD-denominated weights instead of plain percentages.

Prompt:

/institution I have $50,000. I want to allocate across BTC, ETH,
NVDA, GLD, and TLT — leaning risk-on with a real hedge sleeve.
How should I size each leg?

Naming the tickers explicitly (BTC / ETH / NVDA / GLD / TLT) skips the clarify round entirely — the parser confirms the basket and proceeds straight to Phase 1. Vague descriptions like "some crypto + tech stocks" would force the clarify-loop to ask which exact tickers to use, costing an extra round-trip.

Pipeline runs: phases 1–6 fire for each of the five resolved tickers in parallel, then Phase 7 Allocator detects a cross-asset mix (crypto + equity + commodity + bond) and switches to allocate mode.

Allocator output (excerpt, rendered above the per-ticker reports):

AssetClassPM RatingWeightUSD ($50,000)Reason
BTCCrypto (major)Buy · 0.7435%$17,500Highest-conviction risk-on leg; hash-rate + LTH ratio confirm continuation
NVDAUS StockOverweight · 0.6625%$12,500AI capex cycle intact; Q3 earnings beat with raised guide
ETHCrypto (major)Overweight · 0.6115%$7,500Beta to BTC + restaking yield; trim if BTC.D > 60%
GLDCommodityHold · 0.5815%$7,500Real-yield inverse hedge; fed-pivot optionality
TLTBondUnderweight · 0.435%$2,500Duration risk persists; small barbell weight only
Cash reserveUSDC5%$2,500Volatility buffer + add-on dry powder

Sizing rationale (from the Allocator's prose section):

Crypto sleeve: 50% (BTC 35 + ETH 15). Concentrated on BTC because the risk debate flagged ETH's relative underperformance vs BTC.D trend. NVDA at 25% reflects the AI thesis without doubling up via AVGO / TSM (correlation risk). GLD at 15% is the cycle-pivot hedge. TLT 5% is a token barbell weight; raise to 10–15% only on confirmed Fed-pivot signal. 5% USDC cash gives room to add to BTC at $90–95k if the trader's stop is touched without invalidating the thesis.

Execute the plan (separate prompt — institution mode never moves money):

execute the allocator plan on $50,000 — BTC 35%, NVDA 25%, ETH 15%,
GLD 15%, TLT 5%, USDC 5%.

Per-leg execution (each gets its own preview → confirm cycle):

> Leg 1/6 — BTC 35% = $17,500
>   swap_tokens preview: USDC → BTC on Solana, ~0.187 BTC at $93,420
>   estimated slippage: 0.08%, network fee: $0.40
>   Confirm? [yes / no]

After you reply yes, the swap fires and the agent moves to leg 2. NVDA / GLD / TLT route through the equity rails (buy_token → broker adapter); BTC / ETH route through swap_tokens. The 5% USDC reserve is left in the spot wallet — no swap needed. Total: 5 confirmations, 6 legs.

Risk caveats Institution Mode surfaces alongside the table:

  • The full $50,000 is presumed risk-tolerant capital. Verify against your safety config — the agent will refuse a leg whose USD value exceeds maxTransactionAmount.
  • Cross-asset correlation under stress: BTC + NVDA both behave as long-duration risk assets in a tightening regime; the GLD + TLT legs are intentionally there to dampen that tail.
  • Re-run Phase 0 reflection after 30 days (minara institution reflect <run_id> --window 30d) so the methodology store learns whether the BTC weight was correct.

Tuning the run

LeverWhat it does
--debate N (1..5)Bull-vs-Bear rounds (Phase 2). Default 3.
--risk N (1..5)Aggressive/Conservative/Neutral rounds (Phase 5). Default 3.
INSTITUTION_WALL_CLOCK_TIMEOUT_MSHard ceiling on the whole pipeline. Default 1200000.
INSTITUTION_PER_CALL_TIMEOUT_MSPer-LLM-call timeout inside the pipeline. Default scales from wall-clock.
INSTITUTION_RETROSPECT_ENABLED=1Turn on Phase 0 lazy-refresh.
INSTITUTION_LEARNING_ENABLED=1Persist runs + reflections (drives the methodology store).

Every role in the pipeline (analysts, debate, RM, Trader, risk personas, PM, Allocator) runs on the single LLM model the operator selected — same provider/model the rest of the agent uses. There are no per-role model overrides. Pick a stronger model for the whole session if you want stronger synthesis.

Full reference: Institution env vars.

A reasonable production setup:

INSTITUTION_LEARNING_ENABLED=1
INSTITUTION_RETROSPECT_ENABLED=1

Reading the report

Every run produces a structured Portfolio Manager output with the following fields:

  • Rating: one of Buy / Overweight / Hold / Underweight / Sell. Both ends imply directional conviction; Hold is a real call, not a fallback.
  • Confidence: 0..1. Above 0.65 means the bull and bear cases resolved decisively in one direction; near 0.5 means the debate closed with both sides standing.
  • Executive summary: 2–4 sentences in plain language.
  • Investment thesis: the core argument the PM is committing to.
  • Probability-weighted scenarios: usually 3 (base / bull / bear) with explicit price targets and probability sums to 1.
  • failed_phases: list of role slots that ran with a stub output. An empty list means every phase produced a real result.

If failed_phases is non-empty, the chat reply will surface that explicitly so you can decide whether to re-run.

After the analysis: how to act on it

Institution Mode never moves money. The recommendation lives in chat; execution is a separate prompt. A typical follow-up:

ok, take the BTC base case. buy $1k spot on Solana.

The agent re-resolves the order, runs the standard preview, and waits for your confirmation before any funds move. The same applies for perps (open_perps_position) and strategy deploys (minara_ss_deploy).

If you want the institution to walk you through executing every leg of an allocator output:

execute the allocator plan: 50% BTC, 30% ETH, 20% SOL on $5k.

Each leg gets its own preview-confirm cycle. The agent will not batch them into a single confirmation.

CLI batch operations (cron-friendly)

For non-interactive contexts (cron, CI, audit runs), use minara institution:

# List recent runs
minara institution history --limit 20
minara institution history --ticker BTC

# Close a run's reflection window with an outcome note
minara institution finalize run_8c4e21 --reason "stopped out at 93k"

# Run all pending reflections (1d / 7d / 30d / 90d / 180d / 365d windows)
minara institution reflect-pending

# Force a specific window for one run
minara institution reflect run_8c4e21 --window 7d

These commands write straight to the SQLite store and do not require the REPL. They are safe to schedule under Workflows or external cron.

REPL slash commands

CommandWhat it does
/institution <ticker>Single-ticker run
/institution <t1> <t2> …Multi-ticker compare / allocate (Phase 7)
/institution <natural-language query>Clarify-loop on an ambiguous mention
/institution-historyPrint the most recent runs
/institution-history --ticker BTC --limit 20Filter by ticker

Both slash commands accept [debate] and [risk] as positional integers if you'd rather not pass them as flags.

Web UI

The web UI exposes Institution Mode under the Institution sidebar entry, on the dedicated route /institution. It is segregated from the regular chat sidebar, so institution sessions do not appear in the chat history list (and vice versa).

What you see in the canvas:

  • Per-phase nodes with status (pending / running / complete / failed / skipped), duration, and a one-line headline.
  • Per-ticker tabs when multiple tickers are in play, plus a dedicated Allocator panel.
  • Pending Questions panel, floating above the input box, that collects clarifying questions raised by parallel analysts. Free-text replies in the main input do not reach those questions — answer them through the panel.

Where to go next

On this page