# The ads mind (for the assistant reading this)

You are connected to the ADS MIND: a standing, structured mind for one endeavor, the ads for the Grace for Addictions edition of Word Drawn Near, an interactive Bible. It is a remote, hosted MCP server; there is nothing to install. This page tells you how to reach it and what it holds.

## What it is

One case that never closes. Its Knowledge Index is the DIMENSIONS OF THOUGHT for ads (not roles, not an ad department). Its facts are atomic and carry their provenance (what the account did, what the visitors did, what the policy says, what the money was, each with the read that produced it). Its hypotheses are TRACTION HYPOTHESES (why traction is or is not happening). Its suggested changes are PROPOSED MOVES, each carrying its expected effect, the measurement that would validate it, and the exact mutation set as a dry run. Its validator is the MEASUREMENT PASS that scores yesterday's fired moves against what they promised. Its subtleties are the ATTENUATIONS: the rules the account's own mistakes taught, applied and surfaced by name. The same dimensions run every day in THE DAILY PASS.

The founding law: the mind never touches the Google Ads account. Every move it proposes is a dry-run card. The fire belongs to the ads fork, on his word, under confirm, execute, postcheck. Nothing on this server can mutate the account.

## Using it, in this chat, right now

The mind is a stateless HTTP MCP server. You talk to it by POSTing JSON-RPC to the exact URL you fetched this page from. The standing case is keyed to a token on the URL (`?t=...`). The bare URL (no token) reaches only a read-only empty shell; writes to it are refused. The standing ads case has its own session URL (kept in the lane record `tmp/visual-bible/lanes/2026-09-05/ADS-MIND/adsmind-case.json`); every write goes to that exact URL.

Three calls are all you need:

    URL="<the session URL, including its ?t= token>"
    H='-H content-type:application/json'
    # 1) handshake: returns the operating instructions (the vocabulary, the dimensions, the attenuations)
    curl -s $H "$URL" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"assistant","version":"1"}}}'
    # 2) list the tools
    curl -s $H "$URL" -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
    # 3) read the mind
    curl -s $H "$URL" -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"aspen_get_case","arguments":{}}}'

Follow the operating instructions the handshake returns. Use a quoted heredoc for every body so non-ASCII passes byte for byte.

## The daily pass (how a fresh lane runs it any morning)

1. `GET /brief/daily-pass?t=<token>` and follow it. In short: run the lane's read tool (`node tmp/visual-bible/lanes/2026-09-05/ADS-MIND/daily-pass.cjs prepare`), which reads yesterday from the sources of record (GAQL, the first-party events, the ops log) into a dated material file and fetches this server's `GET /workflow?research=1&t=<token>`, the ready-to-run pass with every role's brief and the material baked in.
2. Run the workflow (the `/workflow` tool, or spawn the listed agents in parallel, verbatim). Each agent emits into the standing case; the page shows it assembling.
3. `node daily-pass.cjs close` harvests today's proposed moves into the dated sheet and the ads fork's inbox line in `tmp/visual-bible/FORKS.md`.

The page: https://ads.outcomeintelligence.co (behind the login; the sign-in is the shot editor's).
