diff --git a/CHANGELOG.md b/CHANGELOG.md index 021917edb..c752244b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,12 @@ If you have forked this template, see the **Upgrading** section at the bottom fo --- -## v1.9.0 (in progress) — 2026-05-20 +## v1.9.0 — 2026-05-20 A **guide-refresh + ecosystem catch-up** minor release shipped in five passes against the plan at `quality_reports/plans/2026-05-20_v1.9.0-guide-refresh.md` (local-only; not tracked in git per the standard `quality_reports/plans/*` ignore rule). No breaking changes. +**Inventory at release: 36 skills, 16 agents, 26 rules, 6 hooks** (was 30 / 14 / 24 / 6 at v1.8.0). The release adds 6 skills (`/humanize`, `/prompt`, `/prompt-only`, `/compress-session`, `/promote-memory`, `/stata-replication`), 2 agents (`humanize-auditor`, `promote-memory-council`), and 2 rules (`model-routing.md`, `stata-code-conventions.md`). + ### Pass 1 (PR #114, merged 2026-05-20) — guide refresh mechanical corrections Eight mechanical corrections that bring the guide in line with Anthropic shipments through May 2026 (Weeks 17–20), reframe three lingering "automatic orchestrator" mentions, refresh the clo-author citation to its current MAS v2 architecture, and add a Models / API section to TROUBLESHOOTING covering the 2026-06-15 Sonnet 4 + Opus 4 retirement and the Agent SDK credit-pool split. No new skills, agents, rules, or hooks. On-disk inventory unchanged. @@ -257,6 +259,42 @@ User-driven expansion of the template to support Stata-first projects (correctio - `quarto render guide/workflow-guide.qmd` — clean render - `python3 scripts/quality_score.py guide/workflow-guide.qmd` — 100/100 [EXCELLENCE] +### Pass 5 — verification follow-ups: SDK credit awareness + Anthropic engineering-post citations (2026-05-20) + +Closes the v1.9.0 cycle with two small but load-bearing additions: + +#### K — Agent SDK credit-pool split (2026-06-15) + +Already partially shipped in **Pass 1** (TROUBLESHOOTING "Models and API" section) and **Pass 2A** (Cost-Conscious Composition callout in the guide). Pass 5 confirms the coverage is complete — the `/coarse-review` skill is a Claude Code plugin (not in this template's `.claude/skills/`), so no SKILL.md callout was needed; the TROUBLESHOOTING entry and the guide callout already document the cutover, the affected pattern (`claude -p` headless subprocesses), and the diagnostic ("check the Agent SDK credit balance separately if `/coarse-review` fails with credit-exhaustion errors even though your interactive session works"). **K is closed.** + +#### L — Anthropic engineering-post citations + +- **Apr 8, 2026 — "Scaling Managed Agents: Decoupling the brain from the hands."** Already cited as primary-source endorsement of the architect/editor split in `.claude/rules/model-routing.md` (Pass 3B) and in the guide's Cost-Conscious Composition section (Pass 2A). No additional citation needed. +- **Apr 23, 2026 — "An update on recent Claude Code quality reports."** New callout added to the guide between the "Mandatory Verification" / "Don't Skip Verification" section and "Creating Your Own Domain Reviewer." Frames the post as a reminder that **model quality can regress** and that the template's verification patterns (`/verify-claims` with forked verifier, `/audit-reproducibility` with `passport.yaml`, cross-artifact review, HIGH-WARN gate-refuse, `/review-paper --variance N`) all assume drift rather than treating any specific checkpoint as a stable baseline. + +#### Verification — Pass 5 (and final v1.9.0) + +- `./scripts/check-surface-sync.sh` — 26/26 assertions pass; counts at release: **36 skills / 16 agents / 26 rules / 6 hooks** +- `./scripts/check-skill-integrity.py` — all checks pass +- `quarto render guide/workflow-guide.qmd` — clean render +- `python3 scripts/quality_score.py guide/workflow-guide.qmd` — 100/100 [EXCELLENCE] + +### Release summary + +| Pass | PR | Net additions to disk | What it shipped | +|---:|---:|---|---| +| 1 | #114 | 0 | Mechanical guide refresh, Anthropic Apr–May 2026 catch-up, clo-author v26.05 citation, Models / API TROUBLESHOOTING section | +| 2A | #115 | 0 | Poli-sci breadth woven into guide body, Cost-Conscious Composition subsection | +| 2B | #116 | 0 | Pattern 16: Preregistration and Submission Discipline | +| 2C | #117 | 0 | `/review-paper --variance N` reviewer-disposition variance mode | +| 2D | #118 | +1 skill, +1 agent | `/humanize` detect-and-flag for AI-voice tells | +| 3A | #119 | +2 skills, +1 template | `passport.yaml` claims provenance, HIGH-WARN claim-faithfulness gate, `/prompt` + `/prompt-only` port from Blattman | +| 3B | #120 | +2 skills, +1 agent, +1 rule | Model-routing rule (70/20/10), `/compress-session`, `/promote-memory` five-critic council | +| 4 | #121 | +1 skill, +1 rule | Stata expansion: `/stata-replication`, `stata-code-conventions.md`, `audit-reproducibility` source-language coverage, stata-mcp ecosystem entry | +| 5 | (this PR) | 0 | Apr 23 Anthropic post citation in verification section; closes SDK-credit awareness loop | + +**Total v1.9.0 additions:** 6 skills, 2 agents, 2 rules, 1 reference, 1 template. No breaking changes. All count-bearing surfaces verified in sync. Provenance: every addition traceable to the research-grounded plan at `quality_reports/plans/2026-05-20_v1.9.0-guide-refresh.md` (local-only). + --- ## v1.8.0 — 2026-04-27 diff --git a/docs/workflow-guide.html b/docs/workflow-guide.html index 1b5866970..908c42aa5 100644 --- a/docs/workflow-guide.html +++ b/docs/workflow-guide.html @@ -3265,6 +3265,27 @@
Anthropic publicly acknowledged a model-quality regression in their Apr 23, 2026 engineering post “An update on recent Claude Code quality reports”. The post identifies three contributing changes and is unusually candid about the limits of internal evals. Implication for our workflow: do not treat any given model checkpoint as a stable baseline.
+The defences in this template all assume model quality drifts:
+/verify-claims with the Chain-of-Verification forked-verifier (the verifier cannot self-confirm even if the orchestrator’s checkpoint regressed)./audit-reproducibility with passport.yaml (numeric claims are anchored to specific script output values, not to the model’s recall of the values)./commit (Pass 3A I) — a fabricated citation or numerical contradiction blocks the commit even if the model “feels confident.”Anthropic’s post is also a useful reminder that running /review-paper --variance N (Pass 2C E) is the empirical answer to “should I trust this output?” — a single point estimate of model quality on a single task hides variance that the template’s adversarial-review patterns surface.
At session end — add a final section with what was accomplished, open questions, and unresolved issues.
Git records what; session logs record why. A commit message says “Update Lecture 5 TikZ diagrams.” A session log says “Redesigned the TWFE decomposition diagram because the DA challenge revealed students couldn’t trace the path from weights to bias. Considered a table format but chose a flow diagram because it shows directionality.”
Incremental logging is the key. A 4-hour session that only logs at the start and end loses everything in the middle. Appending decisions as they happen means auto-compression can never erase them — they are already on disk.
@@ -4535,7 +4556,7 @@Claude writes all three log entries automatically — no need to ask.
For multi-project academics, start each week by asking Claude to read all session logs from the past week and synthesize a status report with priorities and open questions. The session log infrastructure already captures what you need — the weekly review is just a synthesis prompt: “Read all session logs from this week. Summarize: what was accomplished, what’s blocked, what should I prioritize next?”
Natural-language task → Claude picks a skill: “Translate Lecture 5 to Quarto” → Claude invokes /translate-to-quarto, and that skill runs the orchestrator pattern (translate → verify → review → fix → score) internally.
Explicit skill call: /qa-quarto Lecture5 — you specifically want the adversarial critic-fixer loop, nothing else.
A stronger variant: when Claude reviews its own work in the same conversation, it suffers confirmation bias — it has internalized its own reasoning and will systematically find the work acceptable. The fix: spawn a new agent via the Task tool with NO access to the original conversation. Give it only the artifact and a critique prompt. The fresh agent has no sunk cost in the work and will be ruthless.
@@ -5205,7 +5226,7 @@-
+-@@ -5214,7 +5235,7 @@+@@ -5440,7 +5461,7 @@For a production-grade paper pipeline, a dedicated fork takes these same skills and wraps them in full research infrastructure: 6 worker-critic agent pairs plus specialized agents (data-engineer, referees, verifier), simulated blind peer review, weighted aggregate scoring, journal targeting, and R&R response routing. If your primary output is research papers, see The Ecosystem for details.
5.10.1.2 Pre-Submission Checklist
-+-@@ -5449,7 +5470,7 @@+Documentation:
@@ -5498,7 +5519,7 @@
-
+-@@ -5507,7 +5528,7 @@+A key principle that maps directly to this workflow: separate scientific reasoning from computational execution. Humans design diagnostic templates (what to measure); AI handles execution (how to run it).
This is the template-executor architecture — and you are already using it:
@@ -5603,7 +5624,7 @@5.10.2.4 How Existing Agents Support This
The
/slide-excellenceskill already invokes the pedagogy-reviewer and slide-auditor, which enforce many of these principles automatically. To enforce all of them — including title-as-assertion and MB/MC smoothness — customize the domain-reviewer agent (.claude/agents/domain-reviewer.md) with rhetoric-of-decks lenses. The orchestrator will then apply them during every review cycle without manual invocation.-+-@@ -5612,7 +5633,7 @@+@@ -6405,7 +6426,7 @@For the complete philosophical treatment — from Aristotle’s three modes of persuasion through neuroaesthetics and the Netflix analogy — see The Rhetoric of Decks. The repository includes a full essay, example Beamer decks with professional color palettes, a
theme_rhetoric()ggplot2 theme, and a tested deck generation prompt for Claude Code.-
+-@@ -6414,7 +6435,7 @@++For capabilities beyond file editing and shell commands — web search during literature review, database queries for replication, or reference manager integration (Zotero, Mendeley) — Claude Code supports MCP servers. Configure them in
.claude/settings.jsonunder"mcpServers". Start with skills and agents first; add MCP when you need external integrations.diff --git a/guide/workflow-guide.html b/guide/workflow-guide.html index 1b5866970..908c42aa5 100644 --- a/guide/workflow-guide.html +++ b/guide/workflow-guide.html @@ -3265,6 +3265,27 @@ In Econ 730, verification caught unverified TikZ diagrams that would have deployed with overlapping labels, broken SVGs in Quarto slides that wouldn’t display, and R scripts with missing intercept terms that produced silently wrong estimates.
++ +++NoteModel quality can regress — verification is the only durable defence ++++Anthropic publicly acknowledged a model-quality regression in their Apr 23, 2026 engineering post “An update on recent Claude Code quality reports”. The post identifies three contributing changes and is unusually candid about the limits of internal evals. Implication for our workflow: do not treat any given model checkpoint as a stable baseline.
+The defences in this template all assume model quality drifts:
++
+- +
/verify-claimswith the Chain-of-Verification forked-verifier (the verifier cannot self-confirm even if the orchestrator’s checkpoint regressed).- +
/audit-reproducibilitywithpassport.yaml(numeric claims are anchored to specific script output values, not to the model’s recall of the values).- The cross-artifact review rule (a paper’s claims are checked against the code that produced them, not against the model’s intuition about whether they’re “plausible”).
+- HIGH-WARN gate-refuse on
+/commit(Pass 3A I) — a fabricated citation or numerical contradiction blocks the commit even if the model “feels confident.”Anthropic’s post is also a useful reminder that running
+/review-paper --variance N(Pass 2C E) is the empirical answer to “should I trust this output?” — a single point estimate of model quality on a single task hides variance that the template’s adversarial-review patterns surface.@@ -4517,7 +4538,7 @@ During implementation — append to the log as you work. Every time a design decision is made, a problem is discovered, or the approach deviates from the plan, write a 1-3 line entry immediately. This is the most important behavior: context gets compressed as the session progresses, and decisions that live only in the conversation will be lost.
At session end — add a final section with what was accomplished, open questions, and unresolved issues.
-+@@ -4526,7 +4547,7 @@-
+Git records what; session logs record why. A commit message says “Update Lecture 5 TikZ diagrams.” A session log says “Redesigned the TWFE decomposition diagram because the DA challenge revealed students couldn’t trace the path from weights to bias. Considered a table format but chose a flow diagram because it shows directionality.”
Incremental logging is the key. A 4-hour session that only logs at the start and end loses everything in the middle. Appending decisions as they happen means auto-compression can never erase them — they are already on disk.
@@ -4535,7 +4556,7 @@
Claude writes all three log entries automatically — no need to ask.
-+@@ -4544,7 +4565,7 @@-
+@@ -4657,7 +4678,7 @@For multi-project academics, start each week by asking Claude to read all session logs from the past week and synthesize a status report with priorities and open questions. The session log infrastructure already captures what you need — the weekly review is just a synthesis prompt: “Read all session logs from this week. Summarize: what was accomplished, what’s blocked, what should I prioritize next?”
-
+-@@ -4666,7 +4687,7 @@+Natural-language task → Claude picks a skill: “Translate Lecture 5 to Quarto” → Claude invokes
/translate-to-quarto, and that skill runs the orchestrator pattern (translate → verify → review → fix → score) internally.Explicit skill call:
@@ -4898,7 +4919,7 @@/qa-quarto Lecture5— you specifically want the adversarial critic-fixer loop, nothing else.-
+-@@ -4907,7 +4928,7 @@+A stronger variant: when Claude reviews its own work in the same conversation, it suffers confirmation bias — it has internalized its own reasoning and will systematically find the work acceptable. The fix: spawn a new agent via the Task tool with NO access to the original conversation. Give it only the artifact and a critique prompt. The fresh agent has no sunk cost in the work and will be ruthless.
@@ -5205,7 +5226,7 @@-
+-@@ -5214,7 +5235,7 @@+@@ -5440,7 +5461,7 @@For a production-grade paper pipeline, a dedicated fork takes these same skills and wraps them in full research infrastructure: 6 worker-critic agent pairs plus specialized agents (data-engineer, referees, verifier), simulated blind peer review, weighted aggregate scoring, journal targeting, and R&R response routing. If your primary output is research papers, see The Ecosystem for details.
5.10.1.2 Pre-Submission Checklist
-+-@@ -5449,7 +5470,7 @@+Documentation:
@@ -5498,7 +5519,7 @@
-
+-@@ -5507,7 +5528,7 @@+A key principle that maps directly to this workflow: separate scientific reasoning from computational execution. Humans design diagnostic templates (what to measure); AI handles execution (how to run it).
This is the template-executor architecture — and you are already using it:
@@ -5603,7 +5624,7 @@5.10.2.4 How Existing Agents Support This
The
/slide-excellenceskill already invokes the pedagogy-reviewer and slide-auditor, which enforce many of these principles automatically. To enforce all of them — including title-as-assertion and MB/MC smoothness — customize the domain-reviewer agent (.claude/agents/domain-reviewer.md) with rhetoric-of-decks lenses. The orchestrator will then apply them during every review cycle without manual invocation.-+-@@ -5612,7 +5633,7 @@+@@ -6405,7 +6426,7 @@For the complete philosophical treatment — from Aristotle’s three modes of persuasion through neuroaesthetics and the Netflix analogy — see The Rhetoric of Decks. The repository includes a full essay, example Beamer decks with professional color palettes, a
theme_rhetoric()ggplot2 theme, and a tested deck generation prompt for Claude Code.-
+-@@ -6414,7 +6435,7 @@+For capabilities beyond file editing and shell commands — web search during literature review, database queries for replication, or reference manager integration (Zotero, Mendeley) — Claude Code supports MCP servers. Configure them in
.claude/settings.jsonunder"mcpServers". Start with skills and agents first; add MCP when you need external integrations.diff --git a/guide/workflow-guide.qmd b/guide/workflow-guide.qmd index 10ad3870f..0789acfa1 100644 --- a/guide/workflow-guide.qmd +++ b/guide/workflow-guide.qmd @@ -473,6 +473,21 @@ The verification protocol (`.claude/rules/verification-protocol.md`) requires th In Econ 730, verification caught unverified TikZ diagrams that would have deployed with overlapping labels, broken SVGs in Quarto slides that wouldn't display, and R scripts with missing intercept terms that produced silently wrong estimates. ::: +::: {.callout-note} +## Model quality can regress — verification is the only durable defence + +Anthropic publicly acknowledged a model-quality regression in [their Apr 23, 2026 engineering post "An update on recent Claude Code quality reports"](https://www.anthropic.com/engineering). The post identifies three contributing changes and is unusually candid about the limits of internal evals. Implication for our workflow: do not treat any given model checkpoint as a stable baseline. + +The defences in this template all assume **model quality drifts**: + +- **`/verify-claims`** with the Chain-of-Verification forked-verifier (the verifier cannot self-confirm even if the orchestrator's checkpoint regressed). +- **`/audit-reproducibility`** with `passport.yaml` (numeric claims are anchored to specific script output values, not to the model's recall of the values). +- **The cross-artifact review rule** (a paper's claims are checked against the code that produced them, not against the model's intuition about whether they're "plausible"). +- **HIGH-WARN gate-refuse on `/commit`** (Pass 3A I) — a fabricated citation or numerical contradiction blocks the commit even if the model "feels confident." + +Anthropic's post is also a useful reminder that running `/review-paper --variance N` (Pass 2C E) is the empirical answer to "should I trust this output?" — a single point estimate of model quality on a single task hides variance that the template's adversarial-review patterns surface. +::: + ## Creating Your Own Domain Reviewer {#sec-domain-reviewer} The template includes `domain-reviewer.md` --- a skeleton for building a substance reviewer specific to your field. For example, in Econ 730, the domain reviewer caught that a slide claimed "$\hat{\beta}$ is consistent under parallel trends" while the cited paper (Callaway and Sant'Anna, 2021) actually requires a *conditional* parallel trends assumption --- a subtle but critical distinction that no grammar or layout checker would flag.