FrankX copy follows a single posture defined in `starlight-design-intelligence/brand-packs/frankx/POINT_OF_VIEW.md`: **hope with receipts**. Public writing speaks founder-to-founder with direct technical mechanism, observable proof, and explicit boundaries.

## The six FrankX stances (`POINT_OF_VIEW.md`) [#the-six-frankx-stances-point_of_viewmd]

Every flagship essay, product page, or [AI Architect newsletter issue](/frankx/ai-architect-newsletter) anchors its argument in one of six verified stances:

| Stance | Core claim | Required proof | Boundary ("Never say") |
|---|---|---|---|
| **1. One person can now build what a team built** | A single operator with well-run agents can ship products, research, and revenue loops that previously required several people. | A named artifact with its build time, cost, and the checks it passed. | Weekend millionaire promises or any income/earnings claim. |
| **2. From vibe coding to agentic engineering** | Prompting a demo is a good start; durable products require version control, tests, evals, cost caps, permissions, and a human stop switch. | A before-and-after on a real build showing what broke and which check caught it. | Dismissing vibe coders; show them the next engineering rung instead. |
| **3. Explore with curiosity, build your own defenses** | The capability that gives a founder leverage also gives attackers leverage; operators and families need account security, data ownership, and verification habits. | A concrete defense a reader can apply today, the threat it answers, and its limits. | Doom framing, job-loss fear hooks, or untested security advice. |
| **4. The frontier is a shared project** | No single lab or company gets AI right alone; study primary lab releases, credit them, test them, and report what works. | Linked and dated primary sources (papers, system cards, release notes). | Tribal model wars ("X just killed Y") or unattributed forecasts. |
| **5. Ambition is welcome when earned by value** | Building revenue and wealth with AI tools is a valid goal when the money follows technology and design buyers would miss. | What the product does for a named buyer and its honest price once live. | Passive-income promises, fake scarcity, or earnings screenshots as proof. |
| **6. AI will help us find answers we could not find alone** | The largest long-term return comes from science, medicine, energy, climate, and education. | A cited discovery, benchmark, or workflow with clear separation between measured results and open problems. | Medical advice, miracle cures, or treating speculative science as settled. |

### Rules for discussing AGI and frontier forecasts [#rules-for-discussing-agi-and-frontier-forecasts]

When a piece covers AGI or superintelligence, `POINT_OF_VIEW.md` enforces eight calibration rules:

1. **Attribute every forecast** with the forecaster's name, date, and venue.
2. **Pair every capability claim with its physical, data, regulatory, or cost bottleneck.**
3. **Prefer scenario ranges** (plateau, continue, accelerate) over single dates.
4. **State both error costs** (acting too early vs. waiting too long) before advising.
5. **Separate primary source summaries from interpretation** on the page.
6. **Disclose commercial interest** beside the claim, including FrankX products.
7. **Argue from observable effects** rather than unprovable claims about consciousness.
8. **Document changed views** by quoting the earlier position and the new evidence.

## Order of truth and editorial tests (`COPY.md`) [#order-of-truth-and-editorial-tests-copymd]

On any high-value page, the first 120 words must establish three things in order:

1. Why this page exists for this reader.
2. What Frank actually saw, made, tested, or learned.
3. The smallest honest proposition for a next move.

Before copy ships, it must pass four editorial tests defined in `brand-packs/frankx/COPY.md`:

- **Name-swap test:** Replace the person or product name. If the paragraph still works unchanged, it is generic and cannot ship.
- **Builder-taxonomy test:** Remove words like `agent`, `skill`, `infrastructure`, `ecosystem`, `sovereign`, `substrate`, and `authority graph`. If the meaning disappears, the sentence was hiding behind taxonomy.
- **Concrete-anchor test:** Every important claim needs one observable anchor (an artifact, commit, decision, metric, quotation, or working behavior).
- **Deletion test:** Delete the grandest adjective and most abstract noun. If the line improves, keep the deletion.

All public headings and interface labels use **sentence case**. Frank's title is always **AI Architect** (never expanded variants), and Arcanea lore terms (`Luminor`, `Guardians`, `Gates`, `Shinkami`) are quarantined from FrankX surfaces.

## Mechanical voice & anti-slop gates in CI [#mechanical-voice--anti-slop-gates-in-ci]

Two deterministic Node scripts enforce these rules automatically in local pre-push checks and GitHub Actions:

### 1. `check-frankx-voice.mjs` (`starlight-design-intelligence`) [#1-check-frankx-voicemjs-starlight-design-intelligence]

Run `node scripts/check-frankx-voice.mjs <file>` (or pass `--template` when linting specimen templates with bracket slots). The linter masks fenced code blocks and checks prose line-by-line against 11 line rules and 2 document-level rules:

| Rule ID | Severity | What it catches |
|---|---|---|
| `em-dash` | `error` | Any em dash (`U+2014`) in FrankX prose. |
| `unattributed-forecast` | `error` | Frontier/AGI future claims missing an attribution verb, named source, and statement date. |
| `income-claim` | `error` | Passive-income phrases, multi-figure income promises, or "quit your day job" hooks. |
| `inevitability` | `error` | Fear or inevitability framing ("no stopping this", "left behind", "adapt or die"). |
| `unpopular-opinion` | `error` | Lines opening with `Unpopular opinion:`. |
| `arcanea-diction` | `error` | Arcanea proper nouns (`Arcanea`, `Arcanean`, `Luminor`, `Luminors`) leaking into FrankX copy. |
| `unfilled-slot` | `error` | Unfilled `[bracket slots]` in non-template copy. |
| `numbered-opener` | `error` | Document opening with `7 lessons/tips/ways...` or `1/n` thread headers. |
| `golden-age-repeat` | `error` | Using the phrase "golden age" more than once in a single piece. |
| `arcanea-name-check` | `warn` | Ambiguous canon words (`Lumina`, `Nero`) for human confirmation. |
| `hype-verb` | `warn` | Hype verbs (`unlock`, `reimagine`, `elevate`, `10x your`) that lack a measurable object. |
| `contrast-formula` | `warn` | Rhetorical negative parallelisms (`not just X, but Y` or `X, not Y`). |
| `stock-phrase` | `warn` | Stock model tells (`delve`, `tapestry`, `in today's fast-paced`, `ever-evolving landscape`). |

### 2. `audit-ai-slop.mjs` (`frankx.ai-vercel-website`) [#2-audit-ai-slopmjs-frankxai-vercel-website]

Inside `frankx.ai-vercel-website`, `pnpm run ai-slop:audit:strict` runs `node scripts/audit-ai-slop.mjs --strict` across `app/`, `components/`, `content/`, and `lib/` (paired with `node scripts/audit-editorial-signals.mjs` for weighted prose signal scoring):

```bash
# Fail-closed CI check across app/, components/, content/, and lib/
pnpm run ai-slop:audit:strict

# Inspect weighted editorial signals on a specific blog post
node scripts/audit-editorial-signals.mjs --strict --file content/blog/example.mdx
```
