Skip to content

Add an unactivated v2 household prompt contract for issue 165 - #173

Draft
MaxGhenis wants to merge 3 commits into
mainfrom
codex/issue165-prompt-contract-v2
Draft

Add an unactivated v2 household prompt contract for issue 165#173
MaxGhenis wants to merge 3 commits into
mainfrom
codex/issue165-prompt-contract-v2

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Related to #165. This is an unactivated household prompt-contract slice, not
completion of issue 165 or a new benchmark board. The published v1 builder
omits integer inputs and uses a generic disability label. The new, explicitly
opt-in policybench.prompt_contract_v2 renderer exposes supported integer SSDI
duration, separate disability gates, and absent/unknown provenance while leaving
the published v1 and board files unchanged.

The renderer freezes the take-up/weekly-hours conventions, labels employer-paid
premiums, preserves numeric precision, rejects incompatible supported values,
and marks unsupported scalar fields without guessing their meaning or units.
It pins version 2.0.0 to the new module's source SHA-256 and a complete rendering
of the existing scenario 074 fixture. It imports no engine or v1 prompt helper,
performs no calculation, and is not imported by an evaluator.

Validation

  • 76 dedicated tests pass, including all 100 frozen public household fixtures,
    source/golden identity, program labels, unknown provenance, and invalid inputs.
  • 20 existing v1 prompt tests pass. Both suites run under an artifact harness
    that refuses network access and actual PolicyEngine package imports.
  • New-module statement coverage: 96% (208/216 statements).
  • Installed Python 3.10.19 and 3.12.14 reproduce all 100 fixture renderings and
    the exact golden; pytest ran on installed Python 3.14.0.
  • Repository-wide Ruff lint and format checks pass.
  • All 286 preexisting files other than the authorized Vercel configuration match
    the fetched base by SHA-256. Existing Vercel settings are preserved.

Scope and gates

Four new paths contain the v2 module, its tests, its golden fixture, and
dedicated documentation. The sole additional change adds an exact-branch
Vercel deployment exclusion to app/vercel.json. No cost ledger, cost
schema/reporting, supervisor,
v1 contract, reference, board, or migration file changes are included. Local
contract validation made no model calls, household microsimulations, reference
regeneration, or publication. Normal existing CI is separately authorized.

The new module is a partial fact contract. It does not define requested outputs,
answer schemas, or marital-unit mappings. Unknown values/provenance and
unsupported inputs remain blockers for later evaluation. Suitable data and real
per-fact provenance, engine assumption checks, and the standing reference
sensitivity/exclusion gate remain future work. All existing approvals remain
required. An independent host review of 0c9bbfc found one P3
single-line-validation defect (PB-CONTRACT-001). This head fixes it and adds
10 regression cases; the contract identity/golden header is intentionally
updated and the fixture body is unchanged.

app/vercel.json disables automatic deployment only for
codex/issue165-prompt-contract-v2. The live project root is app. The
configuration validates against the official Vercel schema; there are no
matching true rules. main, the cost branch, and other branches retain the
default deployment behavior. No remote project settings changed.

All normal hosted checks passed for 94c474f: lint, test, app, and paper.
No Vercel deployment was created for the exact branch/head. This draft remains
unactivated and unmerged; all existing review and CI gates remain required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant