Odel
my quant doesn’t speak english — editorial discovery

my quant doesn’t speak english — editorial discovery

@beepboop2025JavaScriptMITUpdated Yesterday

Read-only discovery and bounded access to a finite market briefing with evidence boundaries.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

my quant doesn’t speak english

The public editorial and advertising front door for the Liquidity Lab family: Seiche, LiquiLens, and LiquiLens—Undertow.

The site consumes each product's structured editorial feed at build time. Its SOURCE_PUBLISHED website mode gives every record the source marks published a MyQuant reading page, while preserving the specialist's canonical URL, exact claim, evidence clocks, fingerprint, and limitation. The mobile app feed is independently SUSPENDED and contains zero stories.

Every specialist page must also pass the analysis-quality gate. It answers what the source says, what changed (or why a comparison is unavailable), why the mechanism matters, what to inspect next, and where the evidence stops. The JSON Feed carries the same change/next-check fields and its PASSED receipt. A build fails instead of publishing thin labels, missing source identity, missing clocks, or known invalid comparison grammar.

data/fleet-registry.json maps the complete registered family at an immutable LiquiLens family.toml revision: seven core repositories, six research modules, and ten adjacent surfaces. Coverage does not imply ingestion. Only LiquiLens, Seiche, and Undertow market-liquidity currently publish compatible direct readings; upstream, research, private, paused, delivery, and separate-domain projects remain visible at /coverage with their exact reason.

The public site has two explicit lanes:

  • Interpreted: plain-English readings of Seiche, LiquiLens, and Undertow work;
  • MyQuant Analysis: independently sourced house reporting on important news.

The Interpreted lane includes reviewed longforms and LiquiLens historical case files. Case files display each lens's HIT, MISS, or VOID separately and state whether the replay was reconstructed later. They are not silently promoted into real-time calls or validated-backtest evidence.

Original house reporting lives in content/ and must declare its sources, contribution, limitations, and publication status.

npm test
MYQUANT_USE_REVIEWED_CACHE=1 npm run build
npm run verify
npm run dev

The build has no runtime dependencies. If a source is temporarily unavailable, it uses the last successful data/cache.json slice for that source and prints the coverage state in the generated page. The LiquiLens desk channel is additionally pinned to liquilens.desk-bit-feed.v1; a missing or changed root schema is treated as an upstream contract failure, so the build keeps the last accepted channel and marks LiquiLens as cached/degraded instead of normalizing an unknown shape.

Public API and MCP

The product exposes read-only discovery without accounts or user state:

  • GET /api/v1/capabilities describes the editorial, feed, and evidence surfaces;
  • GET /api/v1/health returns a non-sensitive compatibility heartbeat;
  • POST /mcp serves five stateless, read-only tools: discovery, health, bounded latest stories, exact stable-ID retrieval, and evidence-aware search;
  • GET /openapi.json is the curated REST contract;
  • GET /.well-known/ai-catalog.json and GET /.well-known/mcp.json expose public AI/MCP discovery, with the Registry manifest at GET /server.json.

The product version (0.1.0), REST contract (myquant.editorial/1.1), and MCP server (2.1.1 available) stay distinct. Content tools read the canonical public /feed.json, validate its full publication/evidence contract, retain source and release fields, and cap each list/search response at 20 records. Use latest_stories for a chronological overview, search_stories to find records by text, and get_story with a stable ID returned by either list tool. Search normalizes Unicode and whitespace, matches every space-separated term as a case-insensitive substring, and returns matches newest first. It does not perform semantic search or interpret quotation marks and Boolean operators. The tools return the archive's evidence clocks and limitations; a successful health check does not establish that its market evidence is current. Public health also reports Vercel's exact deployed Git SHA when available, allowing scheduled smoke and Registry publication to bind the live endpoint to a reviewed commit.

Registry verification builds with MYQUANT_USE_REVIEWED_CACHE=1; this uses the committed evidence receipt instead of pulling a different editorial wire after the release SHA has already been selected.

The MCP endpoint supports the current per-request protocol metadata as well as the listed legacy protocol handshakes. Legacy Mcp-Session-Id headers are accepted for compatibility but never create server-side sessions. Cross-origin MCP requests are limited to the configured MyQuant site origin; the REST metadata remains public and cacheable.

The deployed Streamable HTTP endpoint is https://myquantdoesntspeakenglish.com/mcp. No API key is required for these public read-only tools. Connect through the Glama remote connector or a compatible MCP client. The separate Glama repository listing tracks source licensing and optional Glama-hosted releases; a repository scan is distinct from inspection of the deployed remote connector.

Software license and content rights

First-party software is available under the MIT license. The license does not cover editorial articles, collected data, third-party content, media, or branding. Fonts retain their existing SIL Open Font License notices. RIGHTS.md describes these boundaries. Installing the software or reading the MCP does not grant additional rights to its underlying sources.

Reviewed shadow copy

Model output never enters the network build or scheduled sync path. An operator may import one immutable, already-validated candidate with:

npm run app-copy:import -- \
  --packet /absolute/path/evidence-packet.json \
  --candidate /absolute/path/draft.json \
  --validator /absolute/path/validation.json \
  --review /absolute/path/public-copy-review.json

The importer checks exact file hashes, source ID and fingerprint, evidence packet and validator bindings, support pointers, shadow-only authority, immutable teacher/model revisions, and two-reviewer adjudication. A source revision makes the copy ineligible immediately: the website uses its deterministic SOURCE_GROUNDED explanation and the app edition omits the record. See docs/APP-COPY-IMPORT.md for the review receipt contract.

The scheduled sync evidence wire workflow checks seven upstream publication channels at 02:17, 08:17, 14:17, and 20:17 UTC. A changed evidence fingerprint produces one small content commit, which becomes the deployment trigger; an unchanged network produces no commit and no redeploy. Frequency is a check cadence, not a quota.

Editorial rule

Automation may collect and normalize published records. It may not manufacture a fact, silently infer calm from a missing feed, or publish a house investigation without the source and evidence fields described in content/README.md.

Website archive mode is an operator distribution instruction, not a claim that every source record received legal or regulatory clearance. Corrections, retractions, canonical links, content boundaries, and the emergency stop remain active. The homepage uses a first-party silent cinema cut derived from the approved app launch creative and documented in assets/media/. Third-party field recordings are explicitly excluded from the published build.