io.github.evolutionlabs-dev/signal-bureau
repo:https://github.com/evolutionlabs-dev/cognitive-investor
SigB (Signal Bureau): maintained, source-traced record of entities and events in your named domain.
- transport:
- remote
- credential class:
- open
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- askshallow
Ask about FUTURE or unfolding events (geopolitics, markets, tech, health — will X happen, and what the tracked record shows). NOT for historical facts or general knowledge — grounding is live tracked coverage, and each call does real model work and rides your identified key: self-issue one FREE in a single call (POST /api/keys — instant, no human, no card) and it carries its own 25/day meter, never shared with your cloud or platform neighbors (universal keying, 2026-08-08; an unkeyed call returns the same one-step instruction, never a dead end). ASYNC BY DEFAULT: returns a claim ticket in ~1s ({status:'working', ticketId}); collect the finished answer with get_answer (typically ready in 30-120s, free to collect — the question was metered once at submit). Keep working while the desk works. If the ticket store is briefly unavailable the full answer comes back synchronously instead — handle both shapes. SHARED STATE: the same question asked again while the record's answer is recent returns the SAME stored answer immediately (servedFrom:'maintained-record', same permalink id) — that consistency is the product behaving as documented; pass fresh:true to force a new synthesis. VERIFICATION VERDICT (sourceChecked): true means every load-bearing claim was located in article-level coverage, at least one cited source is independent of Signal Bureau, AND no claim asserts a stronger operational state than the cited evidence supports (risk, disruption, incident and halt are graded, not interchangeable); a hard claim whose only support is a headline, or one stronger than its evidence, is listed in the caution list and caps the verdict and confidence — pass/fail is always disclosed, with what would change the read. For browsing what is moving, prefer get_signals/top_accelerating (cheap, 500/day). Informational only — not advice.
- create_ordershallow
Assemble a basket and get exact prices plus Stripe checkout links. Checkout runs on Stripe's hosted page, completed by whoever holds the payment credentials. Pass dryRun:true to REHEARSE: same validation, same price math, clearly labeled, no order recorded, no links issued, nothing billed — integration-test the full flow risk-free. Item ids — plans: 'analyst', 'power', 'pilot', 'desk-private', and 'api' (the Metered API account: your identified key — self-issue one FREE at POST /api/keys, no human in the loop — with billing activated by the desk on this order, usage billed monthly at tariff rates, nothing preset — get_quote prices your exact basket first, get_account shows the live statement); unit: 'watch' (reads of the watched question included). Reads are metered per use at the flat tariff rate, never sold as prepaid packs. Live prices come from /api/tariff; this description states none. Watch topics are SELF-SERVE end to end: pass `topics` and every one comes back with a checkout link at the published Watch rate — including a topic nobody watches yet, whose price the desk mints on demand with no human in the loop (that one needs your identified key, free and self-issued in one call at POST /api/keys, and arrives in minutes; poll get_order or the statusUrl on the line). The api line still records intent and the desk activates the account. Every line states its own state and what to do next.
- get_accountshallow
Your meter-account statement, live: month-to-date metered Reads counted at the published tariff, your watched topics with billing/billing status and their acceptance evidence, and your daily cap. Requires your identified key on the request (x-api-key header, or authorization: Bearer sb_live_...). Without a key this tool explains how to get one — every read surface stays available in the free anonymous lanes either way. Recognition is opt-in via credential: no key, no tracking.
- get_answershallow
Collect an async answer by ticketId (from ask). Free and unmetered — the work was paid for once at submit. status:'working' → poll again after pollAfter seconds; 'done' → the complete answer rides in this response; 'failed' or 'lost' → the reason, stated plainly, and asking again is the remedy.
- get_calibrationshallow
Deprecated: this tool is winding down — for evaluating or reading the maintained record, use get_truth_object, get_entity/search_entities, and todays_brief instead. Still served here: the grading dataset for the market sensor we cite, and only that — the prediction-market price (`crowd`) and the naive null it is scored against (`base_rate`), against how reality resolved (Brier score, log loss, skill vs base rate, 95% CIs), each price captured while its market was OPEN and graded as it matured, so the grade cannot be back-filled. No forecaster of ours is published, here or in the full dataset: we sell a maintained, source-traced record and cite market prices as one graded sensor, not a forecast of ours. Full dataset with reliability bins: GET /api/calibration-data.
- get_corroboratedshallow
What independent sources agreed on in the published window — the maintained record's corroboration layer. Each event carries the claim as its sources state it, the corroboration tier, how many INDEPENDENT origins reported it (a wire republished by fifteen outlets counts once — echoes are collapsed, not summed), the origins by name with wires marked, the earliest report date when the run carries one, and the entities. Corroboration counts independent origins, not truth: many outlets echoing one official statement is consensus, not verification. No probability here is ours. Returns state="cannot-measure" with a reason when the corroboration pass could not be read — never an empty list dressed as a quiet week.
- get_desk_feedshallow
A newsletter DESK's machine feed at one predictable, slug-addressable location: up to 14 days of the desk's observed items (title, url, source), newest-first, from the same panel the human edition reads. Unlike watch topics, the desk roster is PUBLIC PRODUCT — the desks are: cognitive-investor, tax-nexus, crc-kras, crc-digest, space-economy, paradise-valley, lyt-intel, aztc-aasd, newspace-asu, lq-listening, jedi-knowledge, ud-articles, ecomm-news — so an unknown-desk reply lists them freely. Delivery is keyed (your self-issued key, x-api-key): identified delivery is the standard shape for standing feeds. Desks are priced as labeled topic bundles at the published Watch rate — see DESK_BUNDLES on /api/tariff and get_quote for your exact basket. Each feed's payload declares its own coverage state.
- get_entityshallow
Full dossier for one entity: signal count, verticals it's spreading across, and why it's surfacing.
- get_eventsshallow
Tracked world events (situations, races, negotiations) the engine follows as named arcs — each with its entities, related market-question count, cross-domain mention volume, and first/last-seen dates. Optional query filters by name or entity.
- get_feedback_statusshallow
The state of a report you filed via send_feedback, by its feedbackId: filed, working, or resolved — with its work-order reference. A report filed in the last few hours may still read 'filed'; the response states where it is.
- get_ordershallow
Re-read an order intent created by create_order — the recorded basket and its honest status. Payment truth for checkout purchases lives with Stripe (the payer's receipt is authoritative); metered work is receipted on your meter account and readable via get_account.
- get_quoteshallow
Feed in your requirements — free-form concerns, questions, whole areas of interest — and get back an enumerated quote: your requirements intelligently grouped and disambiguated into well-formed watched topics, each priced flat from the published tariff ($20/topic/month at the opening rate). The count is disclosed in BOTH directions: overlaps are merged, broad requirements are split into the separate daily reports they actually need, and `billing.expansion` states the requirement-to-topic ratio outright so a split is as visible as a merge. Large baskets are resolved in batches, so a requirement the desk cannot place does not sink the rest: you get a quote for everything it could place, `partial: true`, and `unresolvedRequirements` naming what it could not and why — never a topic invented to cover a gap. A quote is not a charge, needs no contact details, and holds for 30 days. Real model work: ~10 quotes/day per network address (shared egress shares the allowance).
- get_recordshallow
Deprecated: this tool is winding down — for evaluating or reading the maintained record, use get_truth_object, get_entity/search_entities, and todays_brief instead. Still served here: the correction record — the flagged-vs-control repricing regression at population level (estimate, 95% CI, cohort sizes, window, as-of), plus the dated retirement object for the case-study track record we withdrew in 2026 when re-measurement put it under our own publication bar. Appended, never edited — including about ourselves. Same object: GET /api/record-data.
- get_signalsshallow
START HERE for browsing — the cheap read (500/day, no model work). The full machine-readable signal feed (same payload as GET /api/signals): every entity currently flagged by the attention engine, with trajectory, domains, desk membership, and an explicit evidenceStatus (receipted rows carry source-attributed evidence URLs; unreceipted rows are labeled leads). Measured property: Measured association: flagged markets repriced materially at 1.65x the rate of matched unflagged controls (95% CI 1.45-1.88, shock-days excluded, controls reweighted to the flagged cohort; n=1699 flagged vs 68593 controls, window 2026-03-29 to 2026-08-22, as of 2026-08-24). An attention-leads-movement association — never a directional claim.
- get_topic_recordshallow
The maintained record for one subject — the ONE file its /exhibit page renders from and GET /api/record/{slug} serves (the earlier names get_truth_record and GET /api/truth/{slug} answer identically, permanently), so their numbers agree by construction and a value-parity gate fails the build if they stop: what the subject is, the first-party documents we read, the claims and how many separate publishers carried each, our own attention, the prediction-market prices we cite (never a probability of ours) split into `live`, `historical` (deadline passed) and `undated` questions, the change log, and what this record cannot see. `currency` is never better than its weakest layer; `currency.layers` gives each layer's own data cutoff, compute date and state (current, behind, cannot-measure). Every subject on the publication registry carries one. Free — public record, no key, no charge. With no argument you get the flagship record (hormuz today, and it rotates). Three answers, never two: `served` with the record; `not-registered` when we read the registry and do not maintain that subject (a measured absence); `cannot-measure` when the record store could not be read (the record may well exist — we could not look). Subjects served today: hormuz, interest-rates, ai-model-race, us-midterms-2026, russia-ukraine-war, israel-iran-conflict, gaza-ceasefire, brazil-election, us-presidential-2028, strait-of-hormuz, fed-rate-decision, venezuela-crisis, uk-election, us-recession-2026, disaster-event-hurricane, disaster-event-atlantic-hurricane, product-launch-spacex-starlink, election-michigan-republican, product-launch-spacex, election-republican-republicans, election-alabama-republican, election-arkansas-republican, election-brazil, election-brazil-senate, election-florida-republican, legal-ruling-supreme-court, election-republican, election-republican-republican-party, ceasefire-peace-iran, election-michael, election-democrat-democrats, election-darline-graham-graham, election-darline-graham-republican, economic-indicator-inflation, election-israel, funding-round-spacex, rate-decision-interest-rates, bitcoin-price-level, disaster-event-earthquake, election-serbia, election-france, election-parliament, product-launch-anthropic-claude-opus, election-democratic-party, election-british-columbia-united-kingdom, election-parliament-russia, funding-round-stripe, product-launch-xai, funding-round-perplexity, economic-indicator-unemployment, election-latvia, election-los-angeles, funding-round-kraken, election-alaska, election-bulgaria, election-guerrero, price-threshold-nvidia, economic-indicator-core-pce, economic-indicator-cpi, economic-indicator-cpi-japan, economic-indicator-gdp, economic-indicator-gdp-japan, election-alaska-senate, election-argentina, election-bosnia, election-bosnia-herzegovina, election-chen, election-democratic-party-georgia, election-democratic-party-iceland, election-democratic-party-illinois, election-democratic-party-liberal-democratic-party, election-democratic-party-massachusetts, election-democratic-party-mexico, election-democratic-party-michigan, election-democratic-party-ohio, election-democratic-party-oregon, election-democratic-party-russia, election-democratic-party-senate, election-democratic-party-swedish, election-el-salvador. Of these, one has a full public exhibit page a human can read: /exhibit/hormuz/. Complementary to get_entity, which returns the broader live entity dossier.
- get_truth_objectshallow
The complete public truth object for a topic — the SAME record the /exhibit page renders, with every layer kept apart and labeled: primary operational sources (verified-as-of dates stated), attributed reporting, our coverage metric, market expectation with the maintained event arc, our derived judgment, the reporting-consensus ledger, and the state-change history. A layer not yet wired for a subject states its pending status on the layer itself — never rendered to look finished. Free — public exhibit data, no key, no charge. Published: hormuz, interest-rates, ai-model-race, israel-iran-conflict, russia-ukraine-war, gaza-ceasefire, us-presidential-2028, brazil-election, strait-of-hormuz, us-midterms-2026, us-government-shutdown, fed-rate-decision, venezuela-crisis, uk-election, us-recession-2026, disaster-event-earthquake, product-launch-spacex, product-launch-falcon-spacex, product-launch-nasa-spacex, product-launch-space-force-spacex, product-launch-spacex-starlink, election-democratic-party-senate, election-france-senate, diplomacy-nato, military-action-ukraine, product-launch-anthropic, election-israel, election-oklahoma, economic-indicator-inflation, economic-indicator-unemployment, funding-round-spacex, legal-ruling-supreme-court, resignation-google, rate-decision-interest-rates, disaster-event-hurricane, election-france, bitcoin-price-level, economic-indicator-gdp, funding-round-stripe, economic-indicator-china-gdp, product-launch-xai, funding-round-perplexity, ceasefire-peace-iran, disaster-event-atlantic-hurricane, election-scott, rate-decision-australia-interest-rates, price-threshold-nvidia, economic-indicator-cpi, economic-indicator-cpi-japan, economic-indicator-gdp-japan, election-chen, election-democratic-party, election-hamilton, election-hong-wisconsin, election-lebanon, election-parliament, election-parliament-russia, election-peru (default: hormuz). Same payload as GET /api/truth/{topic}; the hormuz record is also addressable as the sb://exhibit/hormuz resource. Complementary to get_entity, which returns the broader live entity dossier.
- get_truth_recordshallow
The maintained record for one subject — the ONE file its /exhibit page renders from and GET /api/truth/{slug} serves, so their numbers agree by construction and a value-parity gate fails the build if they stop: what the subject is, the first-party documents we read, the claims and how many separate publishers carried each, our own attention, the prediction-market prices we cite (never a probability of ours), the change log, and what this record cannot see. Every subject on the publication registry carries one. Free — public record, no key, no charge. With no argument you get the flagship record (hormuz today, and it rotates). Three answers, never two: `served` with the record; `not-registered` when we read the registry and do not maintain that subject (a measured absence); `cannot-measure` when the record store could not be read (the record may well exist — we could not look). Two of these subjects also have a full public exhibit page a human can read: hormuz, interest-rates, ai-model-race, us-government-shutdown, russia-ukraine-war, israel-iran-conflict, strait-of-hormuz, brazil-election, us-presidential-2028, us-midterms-2026, venezuela-crisis, fed-rate-decision, gaza-ceasefire, uk-election, us-recession-2026, disaster-event-hurricane, disaster-event-atlantic-hurricane, product-launch-spacex, legal-ruling-supreme-court, product-launch-falcon-spacex, product-launch-florida-nasa, product-launch-spacex-starlink, election-republican-republicans, election-michael, election-alabama-republican, election-arkansas-republican, election-republican, funding-round-perplexity, election-darline-graham-graham, election-darline-graham-republican, election-democrat-democrats, election-democratic-party-massachusetts, regulatory-action-congress, economic-indicator-inflation, disaster-event-earthquake, funding-round-spacex, bitcoin-price-level, rate-decision-interest-rates, election-france, product-launch-anthropic, product-launch-xai, election-germany, funding-round-stripe, election-israel, product-launch-anthropic-claude-opus, ceasefire-peace-iran, economic-indicator-unemployment, funding-round-kraken, price-threshold-nvidia, election-quebec, election-swedish, economic-indicator-cpi, economic-indicator-cpi-japan, economic-indicator-gdp, economic-indicator-gdp-japan, election-alaska, election-alaska-senate, election-bosnia, election-brazil, election-brazil-senate, election-chen, election-democratic-party, election-democratic-party-georgia, election-democratic-party-iceland, election-democratic-party-illinois, election-democratic-party-mexico, election-democratic-party-michigan, election-democratic-party-oregon, election-democratic-party-russia, election-democratic-party-senate. Complementary to get_entity, which returns the broader live entity dossier.
- get_watch_feedshallow
The structured daily delivery for a machine-watched topic: up to 14 days of observed items (title, url, source, date) newest-first, plus the topic's live coverage-acceptance report, which grades the coverage and shows the evidence (it does not gate billing — billing starts when the Watch starts, and the month you are in is refundable in full, any time you ask, for any reason). Delivery is pull: poll daily or on demand. Topics not yet watched: get_quote prices them.
- list_saved_watchesshallow
Watches: configure and unfurl free; saving is the paid step. Your saved Watches, newest version of each, active and retired. Needs your key. Same content as GET /api/v1/watches.
- list_standard_watchesshallow
Watches: configure and unfurl free; saving is the paid step. The free standard Watches, each with every coordinate explicit, plus the published terms: what saving a Watch costs (read from the tariff), what it includes, and its limits. Free; no key. Same content as GET /api/v1/watches/standard.
- orientshallow
START HERE on first contact — the front door. Who Signal Bureau is, what's free (most things), what's paid (work: Watches and Reads), the live tariff with real prices, how to propose new coverage, and how buying works. No side effects, costs nothing.
- propose_topicshallow
Propose NET-NEW coverage — a topic, entity, or standing question we don't track yet. Files into the coverage-request queue humans review; accepted topics enter the provisional coverage lane and start appearing in the signal feed. Needs your human principal's contact email for follow-up. Free.
- recall_watchshallow
Watches: configure and unfurl free; saving is the paid step. Recall a saved Watch: its reading now (sb.watch-reading.v1) and what changed since the last time it was delivered to you. Recording this delivery is what makes the next recall's change exact. Needs your key. Same content as GET /api/v1/watches/%7BwatchId%7D.
- retire_watchshallow
Watches: configure and unfurl free; saving is the paid step. Retire a saved Watch: it stops being recallable and frees its paid slot. Nothing is deleted; its versions and deliveries are kept. Needs your key. Same content as POST /api/v1/watches/%7BwatchId%7D with {"action":"retire"}.
- save_watchshallow
Watches: configure and unfurl free; saving is the paid step. Save a Watch to your key so you can recall it from any door and be told what changed since your last delivery. Saving is the paid step, at the published Watch rate per saved Watch per month (see list_standard_watches terms); with no free paid slot the answer is a plain payment-required with the next step, and nothing is saved or charged. Pass watchId to edit a Watch you saved: that is a new version and costs nothing more. Needs your key. Same content as POST /api/v1/watches.
- search_entitiesshallow
Find tracked entities/topics by name or vertical (e.g. 'iran', 'semiconductors').
- send_feedbackshallow
File structured feedback with the desk: a bug, an improvement, a complaint, praise, or a question about the service itself. Free, no contact details required; limits stated up front: 5/minute, 20/day per network address (shared egress shares the allowance). A complaint that names a real defect becomes our work order — house policy — and get_feedback_status lets you watch the state move by feedbackId. Include `ref` (a quoteId/ticketId/orderId from your own records) to tie the report to a specific interaction. The response says honestly whether the report was durably recorded.
- start_hereshallow
START HERE — first call, no arguments, no key, no charge. Who Signal Bureau is and what we are not, the tests you can run to check that claim yourself, what is free (most of it), what is paid (Watches and Reads) at live published prices, how to propose coverage we don't carry, and how buying works. Read this before evaluating anything else here.
- todays_briefshallow
Today's morning brief — the daily synthesized narrative of what moved across the information environment and what to watch, from the engine's cross-domain analysis. Same content as the public /today page.
- top_acceleratingshallow
The entities/topics accelerating most across the information environment right now, ranked by cross-domain attention.
- traverseshallow
To see how the record fits together, start at an entity or event (e.g. Hormuz) and traverse its maintained relationships; each step returns its relation type, receipts, standing and time. Walk the maintained record node to node. Opens ONE node (schema sb.node.v1): an entity, a situation, a corroborated claim or a co-mention relation, with its identity, standing (five separate records, never one score), as-of cutoff, provenance, and its neighbours folded as counts plus the first page of typed refs. Follow any returned id, or pass a returned cursor, to open the next level. Start from a name: id "entity:hormuz" or "event:strait-of-hormuz"; or from an id: "sb:e/…", "sb:p/…", "sb:r/…". Same object as GET /api/v1/node/{kind}/{hex}. Free, no key. Limits are published in every node: One level per call: depth is 1 and only 1, and there is no whole-graph dump. pageSize 1-50 (default 10); a page limit is a cursor, never an edge. Members are listed up to 50. At most 60 traverse calls a minute per caller (runaway-loop protection, not a meter). One knowledge cutoff is served: the deploy's. A level we could not read says cannot-measure with the reason, never an empty list; an unknown id is a 404 with code node_not_found. Projected from today's graphs (build.plane), not the maintained world state.
- unfurl_watchshallow
Watches: configure and unfurl free; saving is the paid step. Configure a Watch and run it once, without saving: the governed reading (sb.watch-reading.v1) plus a line per coordinate saying whether it was applied. Free, as often as you like; no key. Same content as POST /api/v1/watches/unfurl.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/9072e8c0-edc4-4ff2-ad09-82c43bab4a94)