Skip to main content
Glama
205,128 tools. Last updated 2026-06-15 07:24

"Substack" matching MCP tools:

  • Community-discourse search via parallel.ai with optional platform filtering. Returns synthesized text excerpts plus direct URLs to real Reddit threads, X posts from named operators, Substack essays, LinkedIn posts, Facebook posts. Use for: "what are practitioners saying about X", recurring themes in founder voice, multi-platform discourse mapping, verbatim quotes from named individuals. Per Phase 3.5 empirical A/B (Docs/solutions/architecture-decisions/search-backend-architecture-jun04.md): this tool SOLVES the Reddit/X retrieval gap that perplexity_search fundamentally couldn't fill. Optional platforms[] to restrict (e.g. ["reddit","x","substack"]). Per social-listening-synthesis §3 sample ≥3 platforms per brief.
    Connector
  • Use this read-only resolver tool to load a TF-SUB article/narrative research object from the TrendForge Azure Blob resolver lake. Parameters: tripcode is required and must be a proprietary DeltaSignal article resolver key such as TF-SUB-DA79A58372. Behavior: idempotent and read-only with no destructive side effects; it does not mutate Azure Blob, Substack, filings, wallets, or account state. Use this when a subscriber gives Codex or Claude Code a TripCode from an article subtitle and asks for the machine-readable research object behind the article.
    Connector
  • Use this read-only resolver tool to load a TF-XBRL TripCode as a SEC/XBRL evidence object. Parameters: tripcode is required and must be a proprietary DeltaSignal SEC/XBRL resolver key such as TF-XBRL-HUT-2026Q1-... Behavior: idempotent and local for the MVP; it has no destructive side effects, does not mutate SEC filings, does not call wallets or x402 settlement, and returns HUT seed objects when the TripCode is known. Use this before article comparison whenever a Substack article names a TF-XBRL evidence object.
    Connector
  • Use this read-only identity tool to generate a deterministic TF-SUB resolver object for a DeltaSignal-owned article or narrative research node. Parameters: primary issuer/ticker, title, research_slug, research_date, and optional research_version define the stable DeltaSignal identity. Substack post_id, canonical_url, slug, and published_at are publication metadata only and must not change the TripCode. Behavior: idempotent and local with no destructive side effects; it does not write Azure Blob, does not mutate Substack, and does not call wallets or x402 settlement. Use the returned TripCode in the article subtitle and the returned canonical blob paths in the authoring/sync pipeline.
    Connector
  • Use this read-only resolver tool to load a TF-SUB article/narrative research object from the TrendForge Azure Blob resolver lake. Parameters: tripcode is required and must be a proprietary DeltaSignal article resolver key such as TF-SUB-DA79A58372. Behavior: idempotent and read-only with no destructive side effects; it does not mutate Azure Blob, Substack, filings, wallets, or account state. Use this when a subscriber gives Codex or Claude Code a TripCode from an article subtitle and asks for the machine-readable research object behind the article.
    Connector
  • Dispatch to the QUALITATIVE RESEARCHER — thematic synthesis from unstructured text (interviews, reviews, forum threads, customer language). Use for: "what are the 2-3 recurring themes in how D2C founders talk about X / what language is being used around Y / what are the patterns in customer reviews of Z". Every theme carries evidence count, triangulation status, ≥1 verbatim quote, outlier-check note. SOLVES the Reddit/X/Substack named-operator voice retrieval gap that legacy search tools could not fill. Returns: Corpus + Sampling + Coding methodology + 4-axis Themes table + Theme synthesis + Outlier voices + Saturation assessment + Sources. NOT for: quantitative effect sizes (use dispatch_quantitative_researcher) / multi-platform discourse mapping (use dispatch_social_listening_researcher).
    Connector

Matching MCP Servers

  • Use this read-only resolver tool to load a TF-XBRL TripCode as a SEC/XBRL evidence object. Parameters: tripcode is required and must be a proprietary DeltaSignal SEC/XBRL resolver key such as TF-XBRL-HUT-2026Q1-... Behavior: idempotent and local for the MVP; it has no destructive side effects, does not mutate SEC filings, does not call wallets or x402 settlement, and returns HUT seed objects when the TripCode is known. Use this before article comparison whenever a Substack article names a TF-XBRL evidence object.
    Connector
  • Atomically move N rows from their current sheet(s) to a target sheet inside the same workspace. Use for programmatic data migration: dropping a batch of agent-produced drafts onto the right sheet, reorganizing content across LinkedIn / Twitter / Substack tabs, etc. All-or-nothing: if any rowId doesn't belong to this workspace, the entire batch fails before any write fires. Idempotent: rows already on the target sheet are skipped (returns `skipped` count). Rows land at the destination sheet's tail in the order rowIds was supplied. Emits one `row.moved_surface` event per row that actually moved. Up to 500 rows per call.
    Connector
  • Use this read-only identity tool to generate a deterministic TF-SUB resolver object for a DeltaSignal-owned article or narrative research node. Parameters: primary issuer/ticker, title, research_slug, research_date, and optional research_version define the stable DeltaSignal identity. Substack post_id, canonical_url, slug, and published_at are publication metadata only and must not change the TripCode. Behavior: idempotent and local with no destructive side effects; it does not write Azure Blob, does not mutate Substack, and does not call wallets or x402 settlement. Use the returned TripCode in the article subtitle and the returned canonical blob paths in the authoring/sync pipeline.
    Connector
  • Use this read-only synthesis tool when a subscriber gives Codex or Claude Code a DeltaSignal article TripCode and asks for the thesis map behind the article. Parameters: pass article_tripcode or tripcode, optional prior_article_tripcodes, linked_xbrl_tripcodes, filing_tripcodes, and ticker. For HUT, the MVP can use the seeded HUT filing pack when no filing_tripcodes are supplied. Behavior: idempotent and evidence-scoped with no destructive side effects. It resolves the TF-SUB article object when Azure Blob is configured, compares linked TF-XBRL filing evidence, marks missing live ATLAS evidence explicitly, and returns the eight required thesis-map sections. It does not call Grok, does not invent evidence, does not mutate Substack or Azure Blob, and does not treat TripCodes as official SEC identities.
    Connector
  • Use when someone asks about Jennifer Rebholz's blog, personal writing, posts on litigation or leadership, or her Substack. Returns current blog posts with titles, dates, categories, and summaries.
    Connector
  • Render Hyades source to Unicode/ASCII text art. Hyades uses LaTeX-like syntax but outputs multi-line plain text instead of PDF. It supports math (fractions, integrals, matrices, Greek letters), tables with box-drawing frames, lists, flex-like layout (hbox/vbox), user-defined macros, and computation. IMPORTANT: Always display the rendered output to the user directly in your response. The output is pre-formatted multi-line text art that depends on exact character alignment. You MUST use a fenced code block (triple backticks) or equivalent monospace/preformatted element to preserve spacing. Never display the output as regular prose text — column alignment, box-drawing characters, and fraction bars will break without a monospace font. Input is a complete Hyades document. Plain text outside math delimiters is rendered as prose paragraphs. Use `$...$` for inline math and `$$...$$` for display math (centered on its own line). --- ## Math Supports ~95% of LaTeX math syntax. ### Inline vs Display ``` Inline math: $a^2 + b^2 = c^2$ flows with text. Display math gets its own block: $$ a^2 + b^2 = c^2 $$ ``` Use `$...$` for inline, `$$...$$` for display. Display math is centered. ### Variables and Operators ``` $$ a + b - c $$ $$ a \times b \div c $$ $$ a \cdot b $$ $$ \pm x \quad \mp y $$ ``` ### Superscripts and Subscripts ``` $$ x^2 \quad x_i \quad x_i^2 \quad x^{n+1} \quad x_{i,j} \quad a^{b^c} $$ ``` Use braces for multi-character exponents/subscripts: `x^{n+1}`, `x_{i,j}`. **Bracing rules:** Use braces for multi-token expressions: `x^{n+1}`, `x_{i,j}`. Commands that take arguments (like `\mathbf{v}`) work without extra braces: `x_\mathbf{v}` is equivalent to `x_{\mathbf{v}}`, matching TeX behavior. ### Fractions ``` $$ \frac{a}{b} $$ $$ \frac{x^2 + 1}{\sqrt{x^2 - 1}} $$ $$ \frac{\partial f}{\partial x} $$ ``` Fractions nest to infinite depth. `\dfrac` and `\tfrac` are accepted as aliases for `\frac`. ### Roots ``` $$ \sqrt{x} $$ $$ \sqrt[3]{x} $$ $$ \sqrt[n]{x^2 + y^2} $$ ``` Optional argument gives the nth root: `\sqrt[3]{x}`. ### Parentheses and Grouping ``` $$ (a + b) \quad [a + b] \quad \{a + b\} \quad |x| \quad \Vert x \Vert $$ ``` Curly braces need escaping: `\{` and `\}`. ### Auto-Scaling Delimiters (\left/\right) `\left` and `\right` make delimiters grow to match their contents: ``` $$ \left( \frac{a}{b} \right) \quad \left[ \frac{a}{b} \right] \quad \left| \frac{a}{b} \right| $$ ``` Works with all delimiter types: `( ) [ ] \{ \} | \| \lfloor \rfloor \lceil \rceil \langle \rangle`. Use `\left.` or `\right.` for invisible (null) delimiters — essential for evaluation bars: ``` $$ \left.\frac{df}{dx}\right|_{x=0} $$ ``` Use `\middle` inside `\left...\right` for scaled interior delimiters: ``` $$ \left( \frac{a}{b} \middle| \frac{c}{d} \right) $$ ``` ### Explicit Delimiter Sizing (\big through \Bigg) `\big`, `\Big`, `\bigg`, `\Bigg` set delimiter sizes explicitly. `\bigl`/`\bigr`, `\Bigl`/`\Bigr`, `\biggl`/`\biggr`, `\Biggl`/`\Biggr` produce standalone one-sided delimiters: ``` $$ f(x)\bigr|_{x=0} $$ ``` ### Floor and Ceiling ``` $$ \lfloor x \rfloor $$ $$ \lceil x \rceil $$ $$ \left\lfloor \frac{x}{2} \right\rfloor $$ ``` ### Greek Letters Lowercase: `\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \lambda \mu \nu \xi \pi \rho \sigma \tau \phi \varphi \chi \psi \omega` Uppercase (only where different from Latin): `\Gamma \Delta \Theta \Lambda \Xi \Pi \Sigma \Phi \Psi \Omega` ### Relations ``` $$ a \neq b \quad a \leq b \quad a \geq b $$ $$ a \ll b \quad a \gg b $$ $$ a \approx b \quad a \equiv b \quad a \sim b \quad a \propto b $$ $$ a \prec b \quad a \succ b \quad a \preceq b \quad a \succeq b $$ ``` Definition symbols: `\coloneqq` (≔), `\eqqcolon` (≕), and `:=` (parsed as a single relation ≔): ``` $$ \Phi := S $$ $$ f \coloneqq x^2 + 1 $$ ``` Colon alone is treated as punctuation (no space before, space after), useful in set-builder notation: ``` $$ \{x : x > 0\} $$ ``` The `\not` prefix negates a relation: `\not=` → ≠, `\not\in` → ∉, `\not\leq` → ≰, `\not\equiv` → ≢, `\not\subset` → ⊄, `\not\exists` → ∄ ### Set Theory ``` $$ x \in A \quad x \notin A $$ $$ A \subset B \quad A \subseteq B \quad A \cup B \quad A \cap B \quad \emptyset $$ $$ A \setminus B $$ ``` ### Logic ``` $$ \forall x \in \mathbb{R} \quad \exists x $$ $$ p \implies q \quad p \iff q $$ $$ \neg p \quad p \land q \quad p \lor q $$ $$ \therefore \quad \because \quad \top \quad \bot $$ ``` ### Arrows `\rightarrow`, `\Rightarrow`, `\mapsto`, `\longmapsto`, `\hookrightarrow`, `\hookleftarrow`, `\leftarrow`, `\leftrightarrow`, `\Leftarrow`, `\Leftrightarrow`, `\uparrow`, `\downarrow`, `\updownarrow`, `\nearrow`, `\searrow`, `\nwarrow`, `\swarrow`. Extensible arrows with text labels: ``` $$ A \xrightarrow{f} B \xleftarrow{g} C $$ ``` ### Standard Functions Standard functions are set in upright type: ``` $$ \sin x \quad \cos(x) \quad \tan x $$ $$ \log x \quad \log_2 x \quad \ln x \quad \exp(x) $$ $$ \sin^2 x + \cos^2 x = 1 $$ ``` Also: `\arcsin`, `\arccos`, `\arctan`, `\sinh`, `\cosh`, `\tanh`, `\det`, `\dim`, `\ker`, `\deg`, `\gcd`, `\sup`, `\inf`, `\max`, `\min`, `\argmax`, `\argmin`, `\limsup`, `\liminf`. ### Custom Function Names (\fn / \operatorname) `\fn{name}` or `\operatorname{name}` produces an upright function name for functions Hyades doesn't know: ``` $$ \fn{softmax}\left(x_i\right) = \frac{e^{x_i}}{\sum_j e^{x_j}} $$ $$ \operatorname{Tr}(A) $$ ``` ### Text in Math (\text) `\text{words}` inserts upright text inside math mode: ``` $$ x = 0 \text{ if } y > 0 $$ ``` ### Accents and Decorations Single-character: `\hat{x}`, `\bar{x}`, `\tilde{x}`, `\vec{x}`, `\dot{x}`, `\ddot{x}`, `\acute{x}`, `\grave{x}`, `\breve{x}`, `\check{x}` Wide accents: `\overline{AB}`, `\underline{text}`, `\overrightarrow{AB}`, `\overleftarrow{AB}`, `\widehat{xyz}`, `\widetilde{xyz}` ### Overset and Underset ``` $$ \overset{n}{=} $$ $$ \underset{x}{y} $$ $$ \stackrel{\text{def}}{=} $$ ``` `\overset{top}{base}` places annotation above base; `\underset{bot}{base}` below. `\stackrel` is an alias for `\overset`. ### Overbrace and Underbrace ``` $$ \overbrace{a + b + c}^{3 \text{ terms}} $$ $$ \underbrace{x + y + z}_{n \text{ terms}} $$ ``` ### Primes ``` $$ f'(x) \quad f''(x) \quad f'''(x) \quad f^{(n)}(x) $$ ``` ### Math Fonts `\mathbf{v}` → bold, `\mathbb{R}` → blackboard bold (ℕℤℚℝℂ), `\mathcal{L}` → calligraphic, `\mathfrak{R}` → Fraktur (𝔄𝔅ℭ), `\mathsf{A}` → sans-serif (𝖠𝖡𝖢), `\mathscr{A}` → script (same as \mathcal), `\boldsymbol{\alpha}` → bold (works with Greek: 𝛂𝛃, and symbols: `\boldsymbol{\nabla}` → 𝛁, `\boldsymbol{\partial}` → 𝛛) ### Dots and Ellipses `\ldots` (low dots, for commas), `\cdots` (centered, for operators), `\vdots` (vertical), `\ddots` (diagonal, for matrices) ### Summation ``` $$ \sum_{i=1}^{n} x_i $$ ``` `\Sum` and `\SUM` give progressively larger variants. ### Products ``` $$ \prod_{i=1}^{n} x_i $$ ``` `\Prod` and `\PROD` give larger variants. ### Integrals ``` $$ \int_a^b f(x) \, dx $$ $$ \iint f(x,y) \, dx\,dy $$ $$ \oint_C f(z) \, dz $$ ``` Also: `\iiint`, `\oiint`. Larger variants: `\Int`, `\INT`, etc. ### Limits `\lim` places its subscript directly below: ``` $$ \lim_{x \to 0} \frac{\sin x}{x} = 1 $$ $$ \max_{x \in [0,1]} f(x) $$ $$ \argmax_{\theta} L(\theta) $$ ``` ### Calculus Operators ``` $$ \frac{dy}{dx} \quad \frac{d^2y}{dx^2} \quad \frac{\partial f}{\partial x} $$ $$ \nabla f \quad \nabla \cdot \mathbf{F} \quad \nabla \times \mathbf{F} \quad \nabla^2 f $$ ``` ### Matrices Six types with different delimiters. `&` separates columns, `\\` or `;` separates rows. LaTeX-style `\begin{pmatrix}...\end{pmatrix}` also works for all matrix types. ``` $$ \pmatrix{a & b \\ c & d} $$ % (parentheses) $$ \bmatrix{a & b \\ c & d} $$ % [brackets] $$ \Bmatrix{a & b \\ c & d} $$ % {braces} $$ \vmatrix{a & b \\ c & d} $$ % |bars| (determinants) $$ \Vmatrix{a & b \\ c & d} $$ % ‖double bars‖ (norms) $$ \matrix{a & b \\ c & d} $$ % no delimiters ``` ### Cases (Piecewise Functions) ``` $$f(x) = \cases{ x & \text{if } x > 0 \\ 0 & \text{if } x = 0 \\ -x & \text{if } x < 0 }$$ ``` ### Aligned Equations `&` marks the alignment point: ``` $$\aligned{ f(x) &= x^2 + 2x + 1 \\ &= (x + 1)^2 }$$ ``` Use `\intertext{...}` inside aligned to insert prose between rows. Intertext is left-aligned at the document margin while equations remain centered: ``` $$\aligned{ x &= a \\ \intertext{where} a &= b + c }$$ ``` `\tag` works on aligned blocks — the tag is right-justified and vertically centered: ``` $$\aligned{ f(x) &= x^2 + 2x + 1 \\ &= (x + 1)^2 } \tag{7}$$ ``` ### Boxed ``` $$ \boxed{E = mc^2} $$ ``` Draws a box-drawing frame around the content. ### Phantom ``` $$ a + \phantom{bbb} + c $$ ``` Invisible placeholder — renders as whitespace with the same dimensions as the content. ### Smash ``` $$ \sqrt{\smash{y^3}} $$ ``` `\smash{content}` renders content but collapses its height to a single line (the baseline row). Used to prevent tall content from affecting surrounding constructs like roots or delimiters. ### Substack ``` $$ \sum_{\substack{i=1 \\ j>0}} x_{ij} $$ ``` Stacks multiple lines vertically (for multi-line subscripts/superscripts). ### Tag ``` $$ E = mc^2 \tag{1} $$ ``` Equation tag rendered as `(text)`. ### Number Theory ``` $$ a \equiv b \pmod{n} $$ $$ a \bmod n \quad a \mid b $$ $$ \binom{n}{k} $$ ``` ### Style Commands (No-ops) `\displaystyle`, `\textstyle`, `\scriptstyle`, `\scriptscriptstyle` are accepted but transparent (Hyades has no math size concept). `\notag` and `\nonumber` are also silently ignored. This allows pasting LaTeX source that uses these commands without errors. ### Math Spacing `\!` (negative thin), `\,` (thin), `\:` (medium), `\;` (thick), `\quad` (1em), `\qquad` (2em) ### Atom-Type Overrides (\mathord, \mathbin, \mathrel) Override the default spacing category of a symbol. Analogous to TeX's `{=}` idiom for suppressing operator spacing, but explicit and readable: ``` $a \mathord{=} b$ %% "a=b" — = treated as ordinary symbol (no spacing) $a = b$ %% "a = b" — default relation spacing $f \mathrel{:} A \to B$ %% "f : A → B" — : treated as relation (symmetric spacing) $a : b$ %% "a: b" — default punctuation spacing $a \mathbin{\triangle} b$ %% "a △ b" — triangle with binary operator spacing ``` - `\mathord{X}`: Suppress spacing — X renders as an ordinary symbol with no surrounding gaps. Use this instead of TeX's `{=}` or `{}=` idiom which does not work in Hyades. - `\mathbin{X}`: Force binary operator spacing (gap on both sides). - `\mathrel{X}`: Force relation spacing (gap on both sides). ### Binary Operators `\oplus`, `\otimes`, `\odot`, `\circ`, `\bullet`, `\star`, `\dagger`, `\ddagger` ### Geometry `\angle`, `\triangle`, `\perp`, `\parallel` ### Famous Equations (all valid input) ``` $$ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$ %% Quadratic formula $$ e^{i\pi} + 1 = 0 $$ %% Euler's identity $$ f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} $$ %% Normal distribution $$ \fn{Attention}(Q, K, V) = \fn{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right) V $$ %% Attention mechanism $$ e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} $$ %% Taylor series $$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$ %% Gaussian integral $$ P(A|B) = \frac{P(B|A) P(A)}{P(B)} $$ %% Bayes' theorem $$ \nabla \times \mathbf{E} = -\frac{\partial \mathbf{B}}{\partial t} $$ %% Maxwell's equation $$ i\hbar \frac{\partial}{\partial t} \Psi = \hat{H} \Psi $$ %% Schrodinger equation $$ \fn{softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}} $$ %% Softmax ``` --- ## Text Formatting ``` \textbf{bold text} \textit{italic text} \texttt{monospace text} \textbf{\textit{bold italic}} ``` Nesting `\textbf` and `\textit` produces bold-italic text. Inline math `$...$` inside `\textit` or `\textbf` is rendered as math (not styled as text): ``` \textit{Let $f(x) = x^2$ be a function} ``` ### Verbatim (No Processing) ``` \verb|raw \commands { } are preserved| ``` ### Special Characters `\textbackslash` → \, `\textdollar` → $, `\textpercent` → %, `\textampersand` → &, `\texthash` → # ### Text Spacing Commands `\ ` (backslash-space) — explicit inter-word space. Useful after abbreviations: `i.e.\ $f$` renders without extra sentence spacing. `\@` — marks the next period as sentence-ending (silently consumed). `\,` — thin space (works in both text and math mode). --- ## Paragraphs and Line Breaking Text flows into paragraphs automatically. A single newline is a space; a blank line starts a new paragraph. ### Line-Breaking Modes ``` \linebreaker{greedy} % Default. Fast, good results. \linebreaker{knuth} % TeX-style optimal. Minimizes ugliness. \linebreaker{raggedright} % Left-aligned, no justification. ``` ### Hyphenation `\sethyphenate{true}` / `\sethyphenate{false}` --- ## Tables Tables use `\table` with nested `\row` and `\col`: ``` \table[width:40, frame:single, pad:{l:1,r:1}]{ \row[frame:{b:double}]{ \col{Name} \col{Value} } \row{ \col{Alpha} \col{0.05} } \row{ \col{Beta} \col{0.95} } } ``` ### Table Properties | Property | Values | Default | |----------|--------|---------| | `width` / `w` | number, `auto` | parent width | | `frame` / `f` | `none`, `dotted`, `single`, `rounded`, `double`, `bold` | `single` | | `border` | same as frame (outer edges only) | unset | | `pad` / `p` | number or `{t:N, b:N, l:N, r:N}` | 0 | | `align` / `a` | `l`/`left`, `c`/`center`, `r`/`right` | `l` | | `valign` / `va` | `t`/`top`, `m`/`middle`, `b`/`bottom` | `t` | Row properties: `frame`, `pad`, `align`, `valign`, `height`. Column properties: `width`, `align`, `valign`, `frame`, `pad`, `span`, `reset`. Frame styles: `none` (space), `dotted` (┄┆), `single` (─│), `rounded` (╭╮╰╯ corners), `double` (═║), `bold` (━┃) Compound edges: `frame:{t:double, b:single, l:none, r:none}`, `pad:{l:1, r:1}` Properties cascade: table → column (down rows) → row → cell. IMPORTANT: When a row overrides a property (e.g. `frame:{b:double}`), that override is inherited by ALL subsequent rows. To stop it, the next row must explicitly reset it (e.g. `frame:{b:single}`). The `border` property on the table level controls the outer edges and cannot be overridden by row or column `frame`. --- ## Lists ``` \fancylist{ - First item - Second item with longer text that wraps to the next line - Third item - Nested child - Grandchild } ``` Three nesting levels supported. Uses ●/○ bullets in Unicode, - in ASCII. --- ## Layout Primitives Flex-like box model for spatial control. ### Box Types ``` \begin[width]{hbox} % horizontal (side by side) \child[width][align]{content} \end{hbox} \begin[top|middle|bottom]{hbox} % hbox with vertical alignment \child[width][align]{content} \end{hbox} \begin[width]{vbox} % vertical (stacked) \child[width][align]{content} \end{vbox} ``` Child width: fixed number, `auto` (fill remaining), `intrinsic` (natural width), or omitted (equal share). When multiple children omit width, they split the remaining space equally (after fixed-width children). Horizontal alignment: `left`, `center`, `right`. Vertical alignment for hbox: set on `\begin` bracket — `top` (default), `middle`, `bottom`. Width inheritance: boxes without an explicit width inherit their parent's width. `\setwidth{N}` sets the document-level width. ### Rules ``` \hrule[width]{left_cap}{fill_char}{right_cap} \vrule[height]{top}{fill}{bottom} \intersect_rules{...} % fix junction characters at rule crossings ``` Width/height can be a number or `auto`. An `auto`-width `\hrule` in a vbox stretches to the box width. An `auto`-height `\vrule` in an hbox stretches to match the tallest sibling. `\intersect_rules` scans all cells, checks neighboring line arms, and replaces with correct junction glyphs (┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘). Handles single, double, bold, and mixed styles. ### Measuring Content ``` \measure<content_name,width_var,height_var>{content to measure} ``` Renders content invisibly, stores it under `content_name` (retrieve with `\recall<content_name>`), and stores the measured width and height into integer variables. ### Spacing `\vskip{N}` (N blank lines), `\hskip{N}` (N spaces) ### Common Layout Patterns Two-column with gutter: ``` \begin{hbox} \child{Left column} \child[2]{} \child{Right column} \end{hbox} ``` Centering via auto spacers: ``` \begin{hbox} \child[auto]{} \child[intrinsic]{Centered content} \child[auto]{} \end{hbox} ``` Indentation: ``` \begin{hbox} \child[4]{} \child[auto]{Indented content} \end{hbox} ``` --- ## User-Defined Macros ``` \macro<\greet{name}>{Hello, ${name}!} \greet{World} % → Hello, World! \macro<\fullname{first}{last}>{${first} ${last}} \fullname{John}{Doe} % → John Doe % Optional parameters with defaults \macro<\heading[char=-]{title}>{ ${title} \hrule[20]{}{${char}}{} } \heading{Default} % uses - \heading[char:=]{Custom} % uses = ``` --- ## Document Settings ``` \setwidth{80} % Output width in columns (default: 80) \setunicode{true} % Use Unicode symbols (default: true) \setmathitalic{true} % Italicize math variables (default: true) \linebreaker{greedy} % Line-breaking algorithm \sethyphenate{true} % Enable hyphenation \setparskip{1} % Blank lines between paragraphs \setmathabove{1} % Blank lines above display math (default: 0) \setmathbelow{1} % Blank lines below display math (default: 0) ``` --- ## Computation Variables, loops, and conditionals are available. ### Variables and Arithmetic ``` \let<x>{10} \let<y>{20} \let<sum>{\add{\valueof<x>,\valueof<y>}} Result: \valueof<sum> % → Result: 30 ``` ### Conditionals ``` \let<n>{42} \if{\gt{\valueof<n>,0}}{positive}\else{non-positive} ``` ### Loops ``` \let<i>{1} \begin{loop} \exit_when{\gt{\valueof<i>,5}} \valueof<i>\hskip{1} \inc<i> \end{loop} % Output: 1 2 3 4 5 ``` ### Content Storage `\assign<name>{content}` stores text, `\recall<name>` retrieves it. `\let`/`\valueof` is for integers; `\assign`/`\recall` is for text. ### Lambdas ``` \lambda<double>[x]{\mul{\recall<x>,2}} \recall<double>[5] % → 10 ``` ### Arrays ``` \let<nums[]>{[10, 20, 30]} \valueof<nums>[0] % → 10 \len<nums> % → 3 \push<nums>{40} % append ``` --- ## Quick Reference ### Math Mode | Input | Output | |-------|--------| | `$x^2$` | x² | | `$x_i$` | xᵢ | | `$\frac{a}{b}$` | a/b (stacked) | | `$\sqrt{x}$` | √x | | `$\sum_{i=1}^n$` | Σ with limits | | `$\int_a^b$` | ∫ with limits | | `$\prod_{i=1}^n$` | ∏ with limits | | `$\lim_{x \to 0}$` | lim with subscript below | | `$\limsup_{n}$` | lim sup with subscript below | | `$\liminf_{n}$` | lim inf with subscript below | | `$\alpha, \beta, \gamma$` | α, β, γ | | `$\mathbb{R}$` | ℝ | | `$\mathbf{v}$` | 𝐯 | | `$\leq, \geq, \neq$` | ≤, ≥, ≠ | | `$\in, \forall, \exists$` | ∈, ∀, ∃ | | `$\rightarrow, \Rightarrow$` | →, ⇒ | | `$\infty, \partial, \nabla$` | ∞, ∂, ∇ | | `$f'(x)$` | 𝑓′(𝑥) | | `$\binom{n}{k}$` | binomial coefficient | | `$\lfloor x \rfloor$` | ⌊x⌋ | | `$\fn{name}$` | custom function name | | `$\operatorname{name}$` | same as \fn | | `$\text{words}$` | upright text in math | | `$\ll, \gg$` | ≪, ≫ | | `$\mathord{=}$` | suppress operator spacing | | `$\mathbin{:}$` | force binary operator spacing | | `$\mathrel{:}$` | force relation spacing | | `$\prec, \succ$` | ≺, ≻ | | `$\neg, \land, \lor$` | ¬, ∧, ∨ | | `$\subseteq, \setminus$` | ⊆, ∖ | | `$\mid$` | ∣ (divides) | | `$\therefore, \because$` | ∴, ∵ | | `$\wp, \imath, \jmath$` | ℘, ı, ȷ | | `$\Box$` | □ | | `$\not=$` | ≠ (\not prefix negates relations) | | `$\left.\right\|$` | invisible delimiter (evaluation bar) | | `$\overset{n}{=}$` | annotation above base | | `$\underset{x}{y}$` | annotation below base | | `$\boxed{x}$` | framed box around content | | `$\phantom{x}$` | invisible spacer | | `$\smash{x}$` | collapse height to baseline | | `$\xrightarrow{f}$` | extensible arrow with label | | `$\substack{a \\ b}$` | stacked lines | | `$\mathfrak{R}$` | Fraktur (𝔄𝔅ℭ) | | `$\mathsf{A}$` | sans-serif (𝖠𝖡𝖢) | | `$\boldsymbol{\alpha}$` | bold Greek (𝛂𝛃) | | `$\coloneqq$` | ≔ (definition) | | `$\eqqcolon$` | ≕ (reverse definition) | | `$a := b$` | ≔ (combined relation) | ### Text Commands | Command | Effect | |---------|--------| | `\textbf{x}` | **bold** | | `\textit{x}` | *italic* | | `\texttt{x}` | monospace | | `\verb\|x\|` | verbatim | | `\hrule` | horizontal line | | `\vskip{N}` | N blank lines | | `\hskip{N}` | N spaces | ### Table Syntax ``` \table[width:W, frame:STYLE, pad:{l:L,r:R}, border:STYLE, align:A]{ \row[frame:{b:STYLE}]{ \col[width:N, align:A]{content} } } ``` ### Layout Syntax ``` \begin[width]{vbox} \child[width][h_align]{content} \end{vbox} \begin[top|middle|bottom]{hbox} \child[width][h_align]{content} \end{hbox} ``` ### Settings ``` \setwidth{N} \setunicode{true|false} \setmathitalic{true} \linebreaker{greedy|knuth|raggedright} \sethyphenate{true} \setparskip{N} \setmathabove{N} \setmathbelow{N} ```
    Connector
  • Get the weekly 'Signal of the Week' content package — a pre-written, data-verified marketing bundle generated every Monday from live SupplyMaven data. Returns a Substack article (~500 words), LinkedIn post (~200 words), and Twitter/X thread (4-5 tweets), all built from verified supply chain data. Every number in the content traces back to a live data source. Designed for automated content distribution via Claude Desktop + platform MCP servers. The content package includes the signal headline, full data context (GDI, SMI, commodities, ports, signals), and platform-specific formatted content ready for publishing.
    Connector
  • Use this read-only composite resolver as the default subscriber-facing TripCode tool. Parameters: tripcode is required and must be a public TF-SUB article TripCode. issuer, river_tripcode, limit, payload_mode, and include flags are optional. Behavior: read-only and idempotent with no destructive side effects; it resolves the current article object, discovers prior TF-SUB River nodes, runs the article thesis map, and returns one research_packet with article memory, River continuity, evidence refs, boundaries, missing evidence, and suggested follow-ups. It does not call Grok, does not mutate Azure Blob or Substack, does not invent missing evidence, and does not treat TripCodes as SEC identifiers or investment advice.
    Connector
  • Dispatch to the QUALITATIVE RESEARCHER — thematic synthesis from unstructured text (interviews, reviews, forum threads, customer language). Use for: "what are the 2-3 recurring themes in how D2C founders talk about X / what language is being used around Y / what are the patterns in customer reviews of Z". Every theme carries evidence count, triangulation status, ≥1 verbatim quote, outlier-check note. SOLVES the Reddit/X/Substack named-operator voice retrieval gap that legacy search tools could not fill. Returns: Corpus + Sampling + Coding methodology + 4-axis Themes table + Theme synthesis + Outlier voices + Saturation assessment + Sources. NOT for: quantitative effect sizes (use dispatch_quantitative_researcher) / multi-platform discourse mapping (use dispatch_social_listening_researcher). ASYNC version: returns { job_id } immediately, the specialist runs durably on a Vercel Workflow (no 300s timeout). Use this version when the specialist is expected to take >90s. Call get_dispatch_result(job_id) periodically (respect wait_ms_hint in the response) until status === 'completed' or 'failed'. Idempotent: same brief + same org reuses the same job_id, so retries don't fan out duplicate runs.
    Connector
  • Use this read-only synthesis tool when a subscriber gives Codex or Claude Code a DeltaSignal article TripCode and asks for the thesis map behind the article. Parameters: pass article_tripcode or tripcode, optional prior_article_tripcodes, linked_xbrl_tripcodes, filing_tripcodes, and ticker. For HUT, the MVP can use the seeded HUT filing pack when no filing_tripcodes are supplied. Behavior: idempotent and evidence-scoped with no destructive side effects. It resolves the TF-SUB article object when Azure Blob is configured, compares linked TF-XBRL filing evidence, marks missing live ATLAS evidence explicitly, and returns the eight required thesis-map sections. It does not call Grok, does not invent evidence, does not mutate Substack or Azure Blob, and does not treat TripCodes as official SEC identities.
    Connector
  • Get the weekly 'Signal of the Week' content package — a pre-written, data-verified marketing bundle generated every Monday from live SupplyMaven data. Returns a Substack article (~500 words), LinkedIn post (~200 words), and Twitter/X thread (4-5 tweets), all built from verified supply chain data. Every number in the content traces back to a live data source. Designed for automated content distribution via Claude Desktop + platform MCP servers. The content package includes the signal headline, full data context (GDI, SMI, commodities, ports, signals), and platform-specific formatted content ready for publishing.
    Connector
  • Use this read-only composite resolver as the default subscriber-facing TripCode tool. Parameters: tripcode is required and must be a public TF-SUB article TripCode. issuer, river_tripcode, limit, payload_mode, and include flags are optional. Behavior: read-only and idempotent with no destructive side effects; it resolves the current article object, discovers prior TF-SUB River nodes, runs the article thesis map, and returns one research_packet with article memory, River continuity, evidence refs, boundaries, missing evidence, and suggested follow-ups. It does not call Grok, does not mutate Azure Blob or Substack, does not invent missing evidence, and does not treat TripCodes as SEC identifiers or investment advice.
    Connector
  • Scrape Substack publication metadata + recent posts. Use for newsletter-research agents. Example call: {"publication": "platformer"} Cost: $0.005–$0.05 USDC on Base per call.
    Connector