Repository navigation
Conversation
policyengine-comparables-review is the operating procedure for the gate policyengine-app-v2 CI enforces: search every producer on the scorecard's list, stage what is found under the harvest rules, compare with the analysis's own figures, and explain every gap over the threshold. Ships a Subfleet research brief and /comparables-review, and makes the review a required step in /deploy-dashboard, /new-tool, /create-dashboard, report-logger drafts and the writing checklist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Max, 2026-10-21: "even if we've already published something, we should do a fresh comp review before big pushes like newsletters". Adds the Before a push section and the prepromotion search kind to the comparables review, and makes the freshness check a required first step of /generate-content and the content orchestrator, and of the writing checklist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The background job gets a writable workspace and gh push access, and the brief covers every search kind, pushes a draft PR even with an unexplained gap, and writes a pending cause that cites its issue. The skill lists the record's fields, the evasions never to use, a reviewer checklist, US sign conventions and fiscal years, the calculator path, and the commands as CI runs them. A pending gap blocks a push. Dashboards are reviewed before they are public. The brief is renamed search-brief.md, and the catalog manifest is regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
basis_note and program_note, the price base, unstated basis or prices, percent figures, range dashes, one-sided bounds, and hashing the documents annotations cite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/new-tool and /deploy-dashboard review before anything is public, wire the zone through appZoneRoutes.ts, and use a registry template app-v2 accepts. The tracker route is reviewed too, as a tracker record. The skill states the listing-day, banner and proxied-page rules, the deployments field, record's latest-search default, report's tolerance of unexplained gaps, the Python 3.12 suite, and that window totals are not compared yet. The brief repins after superseding estimates. The catalog manifest is rebuilt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The operating procedure for PolicyEngine's pre-publish comparables gate: before an analysis is listed on policyengine.org, or featured in a newsletter, social campaign, webinar or press push, every external estimate of what it estimates is found, recorded in PolicyEngine/policyengine-scorecard, compared with the analysis's own figures, and every gap over the threshold is explained.
What it adds
skills/policyengine-comparables-review/: the review, step by step.data/comparables/producers.json, stage what is found, compare like with like or set a claim beside its nearest estimate with a stated mismatch, and explain every gap over the threshold with a cited cause.pe_missingtrue, bases support causes,none_foundspot-checked, hashes recomputed).registry.kind: tracker).deployments,record's latest-search default,reportrunning while gaps are unexplained, and that window totals are staged, not compared.uv run, CI's test dependencies), including committing every feed the build rewrites.references/search-brief.md: a self-contained brief for running the search as a background job, for any agent with web search, a writable workspace andghpush access (PolicyEngine's internal Subfleet lanes need-s workspace-write). It covers all four search kinds, pushes a draft PR even when a gap is unexplained, and writes a pending cause that cites its tracking issue./comparables-review: the Claude command./deploy-dashboardruns the review before anything is public, wires the zone throughappZoneRoutes.tsand uses a registry template app-v2 accepts;/new-toolkeeps the repository private and undeployed until the review merges;/create-dashboard's next steps, report-logger's draft research posts, thepolicyengine-writingchecklist,policyengine-tools,policyengine-content,/generate-contentand the content orchestrator (freshness before a push),/reform-pipeline(both routes reviewed, the tracker route before dispatch),policyengine-prior-scoresandpresets/scorekeepers.yaml(the scorecard list is the one this review must cover),docs/when-to-use.mdand the skills README.dashboard/src/data/manifest.jsonis regenerated so the guide's command check sees/comparables-review.scripts/build_manifest.pyorders some lists differently on each run, so most of that file's diff is reordering; main's copy was already out of date.Companion PRs and merge order
Checks
uv run pytest --ignore=tests/test_skill_examples.py: 178 passed.scripts/build_claude_wrapper.py: builds; the skill,references/search-brief.mdandcommands/comparables-review.mdare present.After merge, policyengine-app-v2's ai-agents stats need refreshing (24 skills, 36 agents, 21 commands, 8 bundles): PolicyEngine/policyengine-app-v2#1397.
🤖 Generated with Claude Code