> Redacted excerpt. Employer-identifying detail and job-search working notes have been removed. > The process structure and every self-correction are intact. The full document is not public. > Source: `docs/dual-positioning-review.md` (private repo). > > Companion to [/writing/agentic-delivery/](https://jasonstiltner.com/writing/agentic-delivery/). # Spec and amendments The site's content was rewritten between 2026-08-29 and 2026-08-31 by an AI coding agent (Claude Code) working from a written brief. The brief was amended twice. This is the structural record: what each section asked for, what shipped, what the agent corrected, and what was superseded. One commit per section. Full diffs are in `git log`; this is the review summary. ## Document structure | Document | Sections | Commits | |---|---|---| | Original brief | §1-§7 | 6 | | Amendment 1 | A1-A7 | 6 | | Amendment 2 | D0-D6 | 6 | | Amendment 3 | E1-E7 | 1 | Amendments are documents, not chat corrections. Each names the sections it supersedes. A superseded section is not deleted or edited — it stays in the record, marked, so that any claim on the live site can be traced back to the instruction that produced it. ## Original brief — §1-§7 - **§1 — Critical bugs.** Per-page canonical/OpenGraph metadata (a new `buildMetadata()` helper applied to all 12 routes), the root title template's doubled suffix, a broken internal link, and a stale `/tools` nav entry redirected away. - **§2 — Numeric and internal consistency.** Reconciled a pattern count that disagreed between the page body and its metadata; audited every headline statistic site-wide for cross-page agreement. - **§3 — Claim calibration.** A new `ProvenanceTag` component (simulated / production-deployed / peer-reviewed) applied to every results section; the three most extreme effect sizes each got a sentence framing them as internal comparisons inside a self-designed simulation rather than externally validated results; two dead placeholder links removed; "reproduce this" pointers added next to specific headline numbers rather than as a generic repo link at the page foot. - **§4 — Content cleanup.** Removed two "coming soon" stubs. Surfaced three fully-built project pages that were linked from nowhere — not nav, not the research index, not the sitemap. Unified the identity line across homepage, metadata, and JSON-LD. - **§5 — Ground-truth inventory.** A list of verified facts. Not a section that shipped code: the reference every other section was checked against. See "Fact inventory" below. - **§6 — Pattern-language upgrade.** Extended all 28 HALA patterns to a full Context → Problem → Forces → Solution → Implementation → Failure modes → Connections → Worked instance → When-not-to-use structure, and added a section engaging the central objection to the whole framework in-text rather than omitting it. - **§7 — Review artifacts.** This document and the open-questions list. ## Amendment 1 — A1-A7 Reconciled against the completed original-brief work by minimal diffs, per the amendment's own instruction: no template the original brief had touched (`buildMetadata()`, redirects, the root layout title) was touched again. This amendment changed page copy only. - **A1 — Hero legibility.** A compact numbers-only credentials band below the existing summary. - **A2 — Scope and impact.** A new About section translating the track record into four staff-evaluation axes, every line traceable to §5 or to this amendment's new facts. - **A3 — System-design legibility.** Reordered the Aegis hero so systems-architecture framing leads and the research connection supports it. Calibration caveats (single-node, no performance benchmarks, not deployed) were kept verbatim, not softened. - **A3.2 + A5 — Found outside the brief's scope.** The agentic-orchestration page carried two large pre-existing sections of explicit job-seeking language — a subheading reading "Why I'm Seeking Senior ML Engineering Roles," among others — live on the site, in direct violation of A5's own rule. Both sections were rewritten and the absence verified by grep. - **A4 — Search legibility.** Search terms embedded only where already true. - **A6 — Interview-prep notes.** Private, not published. - **A7 — Six-second scan test.** The built homepage screenshotted at 1280×800 and 390×844 with no scrolling, to check that a cold reader can answer three questions above the fold. ### The supersession note Quoted verbatim from the head of the Amendment 1 section: > **Note on Amendment 2 (below):** Amendment 2 superseded some facts asserted here — most > notably "founding-engineer tooling" in the A1 credentials band and "180+ hospitals… personal > reach" framing throughout. This section is left as the historical record of what shipped in > Amendment 1's commits; it is not the current state of the site. See Amendment 2 below for > what changed and why, and the live site / git log for ground truth. ## Amendment 2 — D0-D6 Corrected two wrong facts carried by the original brief and Amendment 1's copy, restructured every scale claim so it reads as the environment rather than as personal reach, and anonymized the current employer across every public surface. - **D1 — Fact corrections.** "First engineering hire" → "third engineer hired, first Staff Engineer," stated plainly rather than softened, corrected in all four places it appeared. HCA Healthcare named explicitly as the approved setting descriptor. Every bare "180+ hospitals" / "44M+ patient encounters" phrasing rewritten so the number attaches grammatically to the organisation or to "an environment," never to "I" or "my." - **D2 — Employer anonymity.** Removed a "(current employer, specifics confidential)" annotation, which was exactly the name-withheld meta-commentary D2 forbids, and replaced it with an approved descriptor stated plainly. - **D3 / D4 — Private-file handling and repo hygiene.** Not published. - **D6 — Verification.** Below. > **Note on Amendment 3 (below):** D2's anonymity rule was retired on 2026-09-11 when the > employer was named publicly. D2 stays in this record because it is what shipped and it is > what the eval results in `/process/evals/` were scored against; it is not the current state > of the site. ## Amendment 3 — E1-E7 (2026-09-11) Named the employer across every public surface and retired the anonymity machinery. Supersedes D2 entirely and revises D1's scale-claim handling. Written after the employer was named publicly on LinkedIn, with the site required to match it exactly, because recruiters check both. - **E1 — Anonymity retired.** Every "described but not named" construction replaced with the real names: Staff Engineer at GSV AI Labs, the AI division of the private equity firm Greater Sum Ventures. The hard employer-anonymity section was removed from the chatbot's system prompt. The code-level output filter that enforced it (`employerFilter.ts`) is retained but is now inert by configuration — the machinery is generic and was a shipped, measured control, so it is switched off rather than deleted. - **E2 — Present-tense employment.** Homepage hero, credentials band, and `/about` now state the role, employer, parent firm, and products in the present tense, matching LinkedIn without contradicting it. Third engineering hire and first Staff Engineer, stated plainly; never "founding engineer." - **E3 — Scale claims removed rather than re-attributed.** "44M+ patient encounters" was cut from `/about` outright rather than rephrased again — D1 had already rewritten it twice to attach to the organisation, and a claim that needs that much handling to be honest is better gone. "24 platforms, six $1B+" was removed from the homepage because it had never been re-verified; it is now absent from the site and from the eval set. - **E4 — Two entries found misattributed.** The Intelligence Control Layer and the Adversarial Intelligence Platform were tagged `Production` and credited to the current role. Both are personal design specifications that predate it; nothing was implemented and no repository exists. Both entries were compressed to honest one-liners, both carry a dated correction, and both now carry no facet at all, because no facet describes a checkable claim about an unimplemented design. - **E5 — Why the claim audit missed them.** The two entries shared a "built under employer confidentiality" note explaining why neither had a repo, a number, or a limitations section. That note is why they were the only two entries the September 2026 seven-page claim audit did not check: with no repo and no figure to grep for, the note supplied a reason for the absence and the entries were passed over. An exemption from verification should never be grantable by a shared constant, and the constant is gone. - **E6 — HALA's relationship to HCA Healthcare restated.** The page and its generated PDF said the patterns were designed from "deployment experience." They were inspired by observation only. Both now state explicitly that HALA was never proposed, piloted, or used at HCA Healthcare and that nothing in the document describes an HCA system. - **E7 — Eval instruments recalibrated with the site.** Seven golden-set items and the entire `off_corpus_employment` red-team category graded against rules that E1 and E4 inverted. They were rewritten, one item was added to score the assistant on citing the E4 correction, and the item that asked for the employer's name moved from out-of-scope to a normal lookup — keeping its `O`-prefixed id so the inversion stays visible. The published pass-rate tables were **not** rewritten: they are correct measurements against superseded instruments, and they now carry a note saying so. ## Corrections the agent made to its own instructions Four, quoted verbatim. Each is a case where the brief asserted something that did not survive being checked, and the agent said so in the record rather than implementing it. **§1, on the canonical-URL bug:** > **Correction to the brief:** `/about/` was *not* already correct — it had the same > homepage-canonical-fallback bug as the others; only `/writing/hala/` was. **§1, on the rendering claim:** > **Correction to the brief:** the "prerender/SSR is broken" claim didn't hold up — > `npm run build` confirmed every route, including the old `/research/hala`, was already fully > static-prerendered with real body content in the server HTML. No output-mode change was > needed. **§2, on the brief's own arithmetic:** > **revised the brief's own example.** The brief assumed v1 = 18 patterns, "+6 new" (which > doesn't reconcile with 28 either — 18+6=24). The data's own `isNew` flags (the actual > per-pattern source of truth) show **8** patterns flagged new, not 6. So the reconciled > version history now reads v1.0 = 20 patterns, v2.0 = +8 new = 28 total. This is the > internally consistent reading; flagged for your awareness since it isn't the number the brief > itself suggested. **§3, on a claim the agent had made earlier in the same session:** > **Correction to my own plan:** I initially told you (based on an earlier grep) that no > p < 10⁻⁷² existed on the site — I'd missed the literal `-72` markup in > `SelfSelectionSection.tsx` on the first pass. It's fixed now. A fifth correction, made after the fact and against this document itself, is at the end of D6. ## Fact inventory §5 supplied a list of verified facts, and the standing instruction was: **don't assert what isn't covered.** The consequence is visible in the [open questions](https://jasonstiltner.com/process/open-questions.md) list — where the brief asked for something §5 didn't support, the agent flagged it instead of filling the gap. Two representative cases: - Asked to reflect a work history, it declined to build a dated timeline because the source's own ordering was ambiguous, and asked for the real order instead of guessing one. - Given a version-history example in the brief, it found the numbers didn't reconcile and derived the correct ones from the data's own per-item flags. See §2 above. ## D6 — Verification Grep results, one line per target, run against the whole repo excluding `node_modules`/`.next`: | Target | Hits before | Hits after (published surfaces) | Hits after (private, gitignored) | |---|---|---|---| | `first engineering hire` / `founding engineer` | 6 (site) + 2 (notes) | 0 | 2 (correction commentary only) | | `Fortune 50` | 0 | 0 | 0 | | impact-phrased `44M`/`186`/`180+` | 11 (site) | 0 (2 remaining, both environment-scoped) | — | | ML-flavored feedback-platform copy | 1 (About, blended paragraph) | 0 | — | | current employer / parent / branded product names | 0 in published surfaces; 0 in history up to that commit | 0 | 2 files (by design) | | `(current employer, specifics confidential)` / name-withheld phrasing | 1 | 0 | — | **Attestation:** no headline or body claim on the live site phrases HCA Healthcare's or the current employer's organizational scale as personal impact — every hospital-scale number is grammatically attached to "HCA Healthcare" or to "an environment," never to "I"/"my"; no public surface (page copy, metadata, JSON-LD, OG tags, alt text, the regenerated PDF, or file names) names the current employer, its parent, or a branded product of theirs. ### Correction (2026-09-01) Quoted verbatim from the source document: > As originally written, this section spelled the three target strings out in full in order to > record that they appeared nowhere, and the table above asserted "0 everywhere (incl. git > history)." Committing that sentence wrote the strings into a tracked file and into git > history, so the claim was false from the moment it was recorded. The grep was accurate; > writing its result down invalidated it. Found on 2026-09-01 while vetting this document for > publication, two days after it was committed. The wording above now describes the check > without naming its targets, and the history claim is scoped to the commits that preceded it. > Per the decision of 2026-09-01, history is not rewritten. No published surface was ever > affected: `src/` and `public/` were clean before and after, and remain so. > > The general rule this produces: **a verification record must not name what it certifies > absent, or the check must be re-run after the record is written.** The first is cheaper and > is what was applied here. ## What was removed from this excerpt Five things, by category, so the shape of the omission is visible: 1. Detail that identifies the current employer by description rather than by name. 2. Working notes for a job search — resume drafts, interview-prep material, and the open questions attached to them. 3. One personal-history item the source explicitly instructs is not to be asserted anywhere. 4. The method used to probe repository visibility. 5. The three redacted employer strings themselves. Nothing was removed because it was unflattering. Every correction, every unmet bar, and every finding the process made against itself is above.