← AI Hacker Daily

Edition

06

picks

# AI Hacker Daily — 2026-09-03 Same model, same tasks, same runtime, and the bill still moved 17.5x.

AI Hacker Daily — 2026-09-03

Same model, same tasks, same runtime, and the bill still moved 17.5x. The top of today's front page is two price lists: Gemini 3.8 Flash at 1,039 points, $0.75 in and $3.75 out per million tokens until December 31 and double that after, and Meta's Muse Spark 1.3 at 597, $1.25 and $4.25 with a "contributor" tier at $0.10 and $0.20 whose name the page does not explain. Below them, every tool on the slate says the per-token price is the smallest lever on the invoice. FrontierHarness Eval ran one model, Kimi K3 on Fireworks, through twelve harness configurations on thirty tasks from identical checkpoint restores: the median cost of a passing run went from $1.05 to $18.34, and Codex and Claude Code, which passed 20 and 19 of the 30, cost $3.47 and $18.34 per pass. Kit is a harness built to sit at the cheap end of that table, one tool instead of twenty, on your ChatGPT subscription rather than a key. slotstream runs a 104 GB model on a 48 GB Mac at 12 tokens per second by treating the SSD as the memory it does not have. gpt-load pools four consumer subscriptions and a shelf of API keys behind one endpoint and schedules across their quota windows, which is the invoice line the providers least want you touching. Arbr is the switch itself: watch which expensive model is doing cheap work, build the evidence, and move it behind a canary you can roll back. The picks are ordered by which line of the bill they attack: the harness, the tokens, the memory, the account, the model. The same instinct arrived from an ops shop in a 20-point Show HN: Mezmo open-sourced the Rust harness its SRE team built after it "burned a lot of frontier tokens mostly on easy work" and found open-weights models fine for root cause.

The counterweight is the prose. Friday's theme was makers told their READMEs read as model-written; this week the arms race has tooling on both sides. The day's top trending repository is humanizer, 41,014 stars and 374 today with no push since August 19, a skill that strips the 35 signs of AI writing that Wikipedia's cleanup project catalogued. The biggest thread on the page (446 points) is Trellner's count of 215,128 "best software" pages across three sites registered within six months of each other that Perplexity cites as sources; of 7,534 citations across 380 software categories, 59.8% point at domains ranked worse than 100,000th and 23.4% at domains with no rank at all. In the Polars 2.0 thread a release post was flagged for the word "land." slotstream's README says "Disk bites first" and got "AI;DR" in reply. And a Show HN for a virtualization platform reached 71 points with a comment thread in which all twelve participants, poster included, have between one and three items on the site, every one of them in that thread, and eight of them ask how it compares with Proxmox. The one pick that answers the accusation does it without prose: slotstream's numbers are generated from a record store, a CI gate fails the build when a README figure has no measurement behind it, and Monday's changelog contains the word "withdrawn." Friday's standard was that a written claim is not evidence. Today's is that the evidence has to survive a rewrite.

01

FrontierHarness Eval — one model, twelve harnesses, and a passing run costs $1.05 or $18.34

A public benchmark with a leaderboard at frontierharness.org, from Runta, with the tasks and results in a repository (97 stars, 29 commits, one author). The design holds everything constant but the harness: Kimi K3 served by Fireworks for every run, thirty tasks (21 from Terminal-Bench 2.1, 9 from DeepSWE v1.1), nine harnesses in twelve configurations, and 360 cells each restored from the same golden checkpoint "with identical vCPU, memory, disk size, disk contents, and memory state." Codex passed 20 of 30 at a median $3.47 per pass; Claude Code and DeepSeek's DSH Creator 19 each, at $18.34 and $3.28; Pi 18 at $2.43; Exo Harness 16 at $1.05; OpenCode and Hermes 15. The 17.5x in the title is Claude Code against Exo on the same metric. First-turn cache reads were repriced consistently across harnesses, harness versions were pinned on August 22 (Claude Code 2.1.237, Codex 0.148.0, Pi 0.84.2), and results/eval-data.json carries per-task status, turns, tokens and cache rate for all 360 cells; the README's own suggested first command is a jq over it. 75 points, 53 comments.

The table under the headline is more useful than the headline. Claude Code sent fewer input tokens per task than Codex, a mean of 1.90 million against 4.70 million, and paid five times more per pass; the column that differs is cache, a 68% typical hit rate against 88%, on a harness whose caching was designed around Anthropic's API and here was pointed at Fireworks through a base URL. vidarh made the mirror argument for Kimi: harnesses built to survive "weird" models and their tool-call loops carry machinery Claude-first harnesses do not, so "no home field advantage" is a dicey claim when the model is Kimi's. Pi, the bare frame, passed as many tasks as DSH Standard at the lowest cost of any harness above 60%, and Oh My Pi, which is Pi with extensions bolted on, passed one fewer at nearly twice the price; dfltr's objection was that one entry is a bicycle frame with no components, and infecto's answer was that the frame won. OpenCode used the fewest input tokens of anyone, 0.15 million, and passed half. Fifty-two of 360 runs ended in what the data calls termination anomalies, ten of them Claude Code's. Then the caveats the thread found. Each cell is a single attempt ("first valid attempt 1"), so on thirty tasks one task is 3.3 points and Codex's lead over Claude Code is one task. The repository "intentionally contains results and task definitions only," no adapters, no runtime, no solutions, which kaishin called "a poor decision" and which means nobody outside Runta can re-run it; GodelNumbering's question about adding a harness has no answer on the page. Runta is a $20 million a16z-seeded "agent execution layer" whose product page leads with prompt compression to reduce token usage; it supplied the runtimes, its technical staff wrote the repository, and the Runta account in the thread called Exo Harness (exoharness/exo, 1,186 stars, a self-editing Rust agent, not Runta's) "the most interesting one." Version 1.1 promises the full harness-by-model matrix.

Reach for it when you are choosing a harness for a model that is not the one it was built around and want a number instead of a screenshot; it replaces the "which CLI is cheapest" thread with a JSON file. Delete the assumption that the harness with the most stars is the one that spends the least. Tradeoffs: one model, one attempt per cell, thirty tasks, and versions frozen on August 22 in a category that ships daily; the cost story is largely a cache story and Fireworks' cache pricing is not Anthropic's or OpenAI's; the benchmark cannot be reproduced from what is published; and the sponsor sells token efficiency, which is what the chart measures.

frontierharness.org

02

Kit — one tool named `compose`, half the input tokens, and a ChatGPT login where the Claude one would be

An MIT coding-agent runtime from Speakeasy, the SDK-generation company, written in Rust by one of its engineers, Daniel Kovacs: 280 commits since a "docs: v1 RFC" commit on July 21, 257 of them his, and release v0.1.125 last night, three in two days. curl -fsSL .../install.sh | sh checks the archive against SHA256SUMS and drops one static binary in ~/.local/bin (macOS arm64 and Linux x86-64; mise and Docker otherwise). The idea is in the OP's sentence: "It gives the model one tool for building and running programs." That tool is compose, and its argument is a program in Runlet, a language Kovacs wrote for the purpose (his own repository, Apache-2.0, zero stars), in which shell, edit, subagent, prompt, fork, tool_search, skill, a2a and docs are function calls; independent calls run concurrently, after blocks order them, boundary retry N handles failure. One round trip can read the files, run the tests, apply the hunks, retry, and return structured data, where a conventional harness spends a model turn per tool call and re-sends the context each time. It speaks ACP v1 and v2 over stdio, HTTP and WebSocket, A2A in both directions, MCP, Agent Skills and Agent Plugins, and it can run Claude Code, Codex or Cursor as a subagent over ACP. The comparison table is the pitch: on sixteen merged production pull requests of 300 to 1,000 lines in July and August, median input tokens per hand-written line were 49.7k for Kit against 99.6k for Claude Code and 113k for Codex CLI; active time 0.13 minutes against 0.31; user messages per session 5 against 11 and 14. "Two Kit runs merged from a single message." 12 points, one comment, the maker's: it started as an experiment in "how context efficient I can make a headless agent" and became his daily driver.

What the table does not carry is a dataset, a task list or a link; sixteen PRs measured by the person who built the tool is the whole evidence, and "per hand-written line" is a normalization he chose. The provider list is the other thing to read before the title. Kit authenticates three ways: OpenRouter, Speakeasy's own control plane, and kit auth login openai, which is "native ChatGPT OAuth with PKCE," the same login Codex CLI uses; the docs do not address what OpenAI's terms say about that outside Codex. There is no Anthropic provider. "Kit cannot use a Claude subscription as provider credentials for its built-in acp.kit harness"; Claude models arrive through OpenRouter or as a separately authenticated ACP subagent, which is Anthropic's rule (below, under gpt-load) observed to the letter. And the README states plainly that it "retries eligible openai-subscription failures for up to 24 hours," which is a rate-limit window described as a retry policy. The security page is the most careful document in the repository and it says no: "Kit has no permissions framework, sandbox, or web UI... Kit is a runtime, not a security boundary." --root "is not a sandbox"; shell can reach anything the process can; edit accepts .. and absolute paths; the A2A listener has no authentication unless you hand it a credential file; nested ACP permission requests are refused because "Kit never selects an allow option," which is fail-closed handling of one protocol and a policy engine for nothing. Machine-facing docs: AGENTS.md is procedural (report Kit issues here and not other harnesses'; ask the user before filing; Conventional Commits), and the README on main still contains an HTML comment beginning PLACEHOLDER: record docs/media/install.gif. Of the ten most recent open issues, eight are the maker's.

Reach for it when your bill is round trips rather than answers and you already pay for ChatGPT; it replaces the Read-Edit-Bash loop with a program the model writes once per turn. Delete the habit of watching the tool-call counter climb through a dozen cats. Tradeoffs: the token claim is self-measured on sixteen tasks with no artifact you can check; no sandbox and no approvals, so it lives inside whatever container you already trust; Claude only by proxy; a private language between you and the model, six weeks old; and the subscription it is built around belongs to a provider whose position on third-party harnesses the docs do not quote.

github.com/speakeasy-api/kit

03

slotstream — a 104 GB model on a 48 GB Mac at 12 tokens per second, and every number has a receipt

An MIT engine in Swift on MLX from Carlos Galarza, one author, 106 commits since August 28, and eight releases since Sunday (0.1.7 to 0.2.3, the last one last night). It runs one model, Qwen3.8-Flash-Next at 4-bit, a 125B mixture-of-experts whose weights are 105.3 GB in 25 files, on Apple Silicon with far less memory than that: the 3.8 GB dense trunk stays resident, the 68 GB of routed experts are streamed from SSD into a slot pool sized to the machine, and the pool is resized while running. curl -fsSL .../install.sh | sh, then slotstream doctor tells you what your Mac can afford. Measured on the dev machine, a 48 GB M5 Pro: about 12 tokens per second warm decode, 12.8 with the speculative-decode head that shipped in 0.2.2, 32 GB peak, and, after last night's 0.2.3 prefill rewrite, an 8k prompt at a 16 GB target going from 91 to 184 tokens per second. It serves an Ollama-compatible API on 127.0.0.1, no auth, loopback-only CORS, no telemetry, no update checks. You need macOS 14 or later, Apple Silicon, about 110 GB of free disk, and you get a 32,768-token ceiling per request. 227 points, 110 comments.

The thread's top comment, flagged dead and then vouched back, listed five near-identical repositories and asked why there is a sixth; brailsafe called it "everyone else is taking their own helicopter to the top of the mountain"; sersi objected less to the duplication than to "a repo with a llm slop readme full of 'Disk bites first'"; drcongo quoted the line and answered "AI;DR." The maker's reply was that he would add a comparison table, and the README on main now has a Related projects section naming eleven peers, including that llama.cpp reads this model's n-gram table lazily from disk since late August with a 64 GB floor, that Rapid-MLX and oMLX "are several times faster than slotstream when the whole model fits, which today means a 128 GB Mac," and that Whallm reports 8 to 9 tokens per second at 15 to 19 GiB peak on a 64 GB machine. What slotstream claims for itself is narrower: one model, one binary, a planner, byte-identical output across cache sizes as a standing test, "and every number published with its method." That last clause is the pick. MEASUREMENTS.md opens "Every number here was produced by running something on this machine, not estimated," and it is not hand-written: it and PLAN.md are projections of a db/ record store, every public figure is a claim record naming its measurement and the surfaces it appears on, and Tools/claims_gate.py fails CI when a README number has no record behind it. The 0.2.1 changelog withdraws a README claim that Hugging Face capped downloads near 55 MB/s, because the cap was a single-connection bug in its own pull. docs/HARDWARE.md admits the tier table has "one row measured on real hardware and four estimated from its curve," so the Show HN's "starting from 16GB" is an estimate until someone reports; two reports arrived overnight as issues through a measurement-report template, a 16 GB Mac14,3 and a 128 GB M5 Max. And AGENTS.md, with CLAUDE.md a copy of it, has a section titled "mistakes made 2026-08-29/30": "A blocker that has never been reproduced is a rumour," "an estimator may not return a value outside the range it measured," and a memory-safety incident on August 28 when a session stacked a 31.5 GB soak server, a second server, a browser and builds and "crashed the whole system."

Reach for it when the model you want is twice your RAM and you would rather have 12 tokens a second than not run it; it replaces nothing if your Mac has 128 GB, and llama.cpp if it has 64. Delete the estimate; report a row. Tradeoffs: one model, and the maker says a Linux or GPU port "isn't on the roadmap" because the design is unified memory; the only measured machine is his, and the 8 to 32 GB tiers are curve fits; five peers do the same thing and two are faster when the weights fit; eight releases in four days is a project still changing shape; and the README prose the thread mocked is still there, gate and all.

github.com/carloslfu/slotstream

04

gpt-load — one endpoint over your API keys and four subscriptions, with a quota-window scheduler the providers did not ask for

A self-hosted AI gateway in Go, MIT, 6,507 stars, 1,222 commits (1,182 by tbphp, who signs as "Code Craftsman, AI Believer"), created June 2025, and trending today because the 2.x rewrite hit rc.4 yesterday and 1.4.11 this morning. Copy .env.example, docker compose up -d, or install the Windows service from the setup exe; add channels, group them, mint AccessKeys, hand an AccessKey to each app, and the apps keep their OpenAI, Anthropic or Gemini native wire while the gateway does scheduling, weighting, retries, cooldown, blacklisting and session affinity across credentials. Channels: seven official and cloud (OpenAI, Anthropic, Gemini, xAI, Azure, Bedrock, Vertex), eight model services from DeepSeek to Groq, any OpenAI-compatible relay, and the four that make it a pick: Codex, Claude, Antigravity and Grok as "subscription" channels, where you complete an OAuth flow and the gateway tracks "account availability, quota windows, reset times, and runtime diagnostics." That screen is the product. The invoice line it attacks is not per-token; it is the five-hour window, and the answer is more windows. Provider conversion is Maxim's Bifrost Core; the OAuth adapters are an embedded CLIProxyAPI v7, and the Claude credential schema stores an account UUID, an organization UUID and a list of claude_device_ids, which is to say the gateway presents itself as your device. The rewrite is single-instance by design, keeps usage and cost as "estimates," and ships a CycloneDX SBOM.

The README's own caveat is the one that matters: "Subscription channels depend on upstream OAuth and compatibility protocols and may change as upstreams change. Only connect accounts you are entitled to use, and follow each provider's terms." Anthropic's terms were stated on February 20: "Using OAuth tokens obtained through Claude Free, Pro, or Max accounts in any other product, tool, or service — including the Agent SDK — is not permitted and constitutes a violation of the Consumer Terms of Service," and press reports in April said the blocking of third-party harnesses on subscription billing had begun and was being extended. CLIProxyAPI's README today says "Claude Code support via OAuth login" and nothing else; gpt-load lists the channel and says follow the terms; I did not connect an account to find out which of them is right this week. The Codex, Antigravity and Grok channels sit under terms I did not read. Two details for the ops reader: the OAuth clients use fixed callback ports (1455, 54545, 51121), so "only one default Compose instance can run on a host at a time," and SECURITY.md is the candid document here, listing 2.0.x as "pre-release security-supported" and adding that no v2.0.0 tag, binary or image "is confirmed here; verify availability from actual public assets." The rc notes say 2.x cannot read 1.x data. The README carries two sponsor cards, a CDN and an image-and-video API platform. No AGENTS.md.

Reach for it when you have more credentials than apps and want one key, one log and one cost estimate in front of them; it replaces a LiteLLM config for the API-key half. Delete the spreadsheet of which account's window resets when. Tradeoffs: the subscription half is a gateway around consumer accounts whose providers have said, at least in Anthropic's case, that this is a terms violation, and a ban lands on the account, not the gateway; the rc is a rewrite with a fresh database and a new encryption key; single instance, no horizontal scaling; usage numbers are estimates; and the README is one-third sponsor cards for a 2.0 that is not yet a release.

github.com/tbphp/gpt-load

05

Arbr — the switch to the cheaper model as a deploy, with a canary, a rollback, and the requested model recorded next to the served one

An MIT "model optimisation and governance control plane," Node and MongoDB, from two engineers at Gyde and Vaibhav Domkundwar's foundation: 296 commits since June 17, versions 0.1.0 through 0.3.0 tagged together on July 22, last push August 28, 23 stars, and 78 votes on Product Hunt today. docker compose up brings up Mongo and a seeded dashboard on :4100 in a demo mode that needs no keys. The loop it sells is the whole product: observe cost, latency and model per application, workflow, team, task type and user; discover "expensive models handling work that may be served by a cheaper candidate," priced from actual traffic; turn representative requests into an evaluation set with PII masking; compare candidates on quality, cost, latency, format adherence and critical failures; then a human accepts, and the change goes out as a reversible rule, a shadow evaluation or a guarded canary with auto-rollback on error rate, latency, savings or quality guardrails. Every call records both the requested model and the served model, so "realised, not promised, savings" is a query. A developer's pinned model is honored as pinned; only model: "auto" is routed. It runs standalone as an OpenAI-compatible gateway or above LiteLLM, and the README says so without flinching: "If you only need a reliable multi-provider proxy, LiteLLM or a managed gateway may already be the right answer." The zero-install piece is npx arbr-audit audit --demo, which reads a JSONL of past requests, flags premium-tier models doing cheap task types, re-prices the tokens at a lighter model on the same provider, and writes an HTML report; it can also wrap a coding agent live for a session's cost.

The audit's own README is the honest boundary: "The flag compares task type and model tier against a price table — it never judges answer quality." Quality is the control plane's job, and 0.3.0 added the machinery: offline replay with quality gating, a judge with position-bias and decisiveness checks, and a "disprove it" precision pass on "worse" verdicts. The bench/ directory has a methodology that measures cost-vs-quality curves against always-premium, always-light, random and RouteLLM baselines, with "cost reduction at ≥95% of always-premium quality" as the headline, a LiveBench runner, and a stated rule to "report where Arbr loses," and no number from any of it appears in the README. The unreleased changelog carries the fix I would want to know about before pointing production keys at it: a custom provider that shadowed a built-in id "sent the operator's key and prompts to the vendor's public API instead." The roadmap admits the Dockerfile is not reproducible, there is no metrics endpoint yet, and no Helm chart. A hosted option is one link on the project site with no price. No AGENTS.md; there is an ARCHITECTURE.md, a TESTING.md and an llms.txt.

Reach for it when FrontierHarness-shaped numbers have convinced you the expensive model is doing classification and you want the swap to look like a deploy rather than a config edit at midnight; it replaces a spreadsheet and a Slack argument. Delete the routing change nobody can point to a rollback for. Tradeoffs: 23 stars and two authors on a MongoDB app that has not tagged a release since July; the recommendation engine is a price table crossed with task type, and the quality gate is an LLM judge whose reliability checks are the project's own; the benchmarks are written but not published; and a control plane that governs every request is itself a single instance in front of them.

github.com/project-arbr/arbr-control-plane

06

Also on the desk. AURA (20 points) is Mezmo's Apache-2.0 SRE harness in Rust on Rig, 685 commits and v0.2.14 yesterday: TOML-defined coordinator and workers, human approval fail-closed on sensitive tools, oversized tool results parked on disk for the model to grep. The OP's reason for building it is the day's theme in one sentence, "burned a lot of frontier tokens mostly on easy work," and the README's "thousands of agent sessions each month" is the only number, with a July blog post that adds none. Polars 2.0 rc1 (217 points): the streaming engine becomes the default for every LazyFrame, so join, group_by and unpivot stop preserving row order unless you pass maintain_order=True; the post hopes for "a boring experience" and the thread flagged "land" as a word Claude would choose. fable51-worlds (279 points) is a one-shot, walkable Three.js Union Square built by an agent swarm from OpenStreetMap and USGS elevation data, 453 buildings and 129 storefronts, "~2 hour... total ~8M tokens, ~$33" by the maker's count, a bill worth knowing even for a demo. Weedout (178 points) is a $1.99 Safari extension that hides the YouTube videos YouTube itself labels "Made with AI," source published for forks, "Pull requests are not accepted." HN Match Maker (112 points) pairs the hiring and wants-to-be-hired threads; "I had abacus.ai whip one up." Blume.codes (Product Hunt, 81 votes) watches Claude Code, Codex and Cursor sessions locally, clusters your corrections, and proposes patches to rules and skills; free, no source offered. Grove (80 votes) is a macOS menu bar, CLI and MCP server over real PTYs so the agent can see the dev server you already started instead of starting another, and portless, Vercel Labs' 11,992-star https://myapp.localhost proxy "for humans and agents," trended into our pool for the first time the same day: two answers to one worktree problem. arcbox (2,875 stars, 511 today) is a Rust container-and-VM runtime for macOS with Firecracker sandboxes inside the guest and no release since August 15. deep-swe (Datacurve, trending Python) is where 9 of FrontierHarness's 30 tasks come from and the benchmark Google's Gemini 3.8 post cites. compute.cheap (35 points) sells H100s at $2.04 an hour; the thread found vast.ai at $1.93 without the $2,500 minimum and one commenter's "seems fraudulent." Mistral's help page (452 points) says Vibe's standard tier trains on your interactions until you turn off a toggle, and the API opt-out is a different toggle. Semantic Overlays (6 points) is a paper, a set of adapters for a frozen Qwen-3.5-9B, and a live prompt-injection demo. WebLLM (125 points) is a 2023 repository with 18,916 stars on the front page again. Re-trends by SQL: atlas (our August 14 pick, 888 stars today) and magnitude (July 3, July 28, August 20).

Verification notes: star, fork, commit, contributor, release, issue and file figures come from the GitHub API on 2026-09-03; HN points and comments from the Algolia API; Product Hunt votes from the launch pages. FrontierHarness's numbers are results/eval-data.json, benchmark.json and metadata/harness-versions.json in the eval repository; the sponsor's funding and product line are runta.com; the author's employer is the GitHub profile; Exo's identity is the exoharness/exo repository. Kit's comparison table, provider list, trust model and migration guide were read on main at last night's release; Runlet's repository is the maker's. slotstream's MEASUREMENTS.md, AGENTS.md, CLAUDE.md, CHANGELOG.md, docs/HARDWARE.md and SECURITY.md were read on main; the peer comparison is its own Related projects section; issues #5 and #6 are the API. gpt-load's channel list and disclaimer are the README on main; the CLIProxyAPI embedding and claude_device_ids are internal/subscription/providers/claude/claude.go; Anthropic's February 20 statement is as quoted by The Register; the April enforcement is press reporting, not tested. Arbr's lifecycle, audit boundary, bench methodology, changelog and roadmap are the repository; the founders are projectarbr.org. The ZSvirt commenter histories are the Algolia user and search endpoints. Nothing on the slate was reproduced: slotstream needs a Mac, FrontierHarness cannot be re-run from what is published, gpt-load's subscription channel would mean connecting an account, and arbr-audit --demo is Node with no keys and the cheapest genuine check available on this desk, left for an attended session. The machine-facing-docs check ran on all five picks: gated on slotstream (a new state: the agent file records its own mistakes and an incident, the measurement docs are generated from records, and a claims gate fails CI on an unbacked number), procedural on Kit (AGENTS.md sets issue and commit rules; a PLACEHOLDER comment ships in the README), and absent on gpt-load, Arbr and FrontierHarness, with gpt-load's SECURITY.md and Arbr's changelog carrying the candor instead. Seen-before SQL keyed on fetched_at: humanizer August 5 (github:python), aidlc-workflows May 22, atlas August 14 (picked), magnitude three times (picked); FrontierHarness, Kit, slotstream, gpt-load, Arbr, AURA and portless are first-time. Today's pool was 84 — hn:front 30, hn:show 20, producthunt 14, and github:trending 20 rows across all five feeds (all 4, go 3, python 3, rust 6, typescript 4); the series is 15 → 15 → 1 → 10 → 26 → 11 → 11 → 1 → 20, and Reddit is dark for the twenty-third consecutive week. There was no edition Monday, Tuesday or Wednesday: the scheduled compose failed to authenticate on all three mornings before reading a single candidate. It authenticated today.

One of these,
every weekday.

Free. Unsubscribe by replying with one word. No tracking pixels in the email.