cost-selected-item-check¶
cost-selected-item-check0.1.0noneTags: cost-allowability post-award selected-items-of-cost review federal-grants research-administration
Audience: post-award-staff, sponsored-programs-staff, grant-accountants
Manifestations in repo: prompt.md
Identifies which selected item of cost under 2 CFR 200.421-200.476 governs an expense and applies that section's rule. It is one of the single-requirement checks in the federal cost-allowability analysis workflow and emits a structured finding consumed by the final determination step.
Output contract: schema.json
Contract scope: repo-local
Inputs¶
A normalized expense record, extracted award terms, and a regulated-activity classification from the Stage 1 components of the cost-allowability-analysis workflow. Any may be partial.
Outputs¶
A single structured finding — see schema.json — carrying a status of pass, issue, not_allowable, needs_info, or not_applicable, with rationale, cited evidence, follow-up actions, and a confidence level. The rationale names the specific 2 CFR section applied.
The check¶
Subpart E of the Uniform Guidance enumerates roughly fifty selected items of cost (2 CFR 200.421-200.476), each with its own rule — some unallowable outright, some allowable only with conditions, caps, or prior approval. Rather than a separate component per cost type, this check routes: it identifies the governing section for the expense and applies that section's rule. The general allowability factors are handled by the other checks.
Contract scope¶
Repo-local. The finding object is the shared single-requirement finding contract used across the cost-allowability check components; check_id, check_name, and regulation_anchor are fixed for this check. It is not a shared AI4RA-UDM schema.
Triad integration¶
- Evaluation datasets: none yet — repo-local synthetic coverage planned.
- Harness notes: canonical manifestation is
prompt.md; validation surface isschema.json. Invoked as a Step 2 task of thecost-allowability-analysisworkflow. - Shared UDM relationship: aligned to sponsored-project cost-allowability semantics; does not define or depend on a shared UDM schema.
Manifestations¶
prompt.md— canonical, LLM-agnostic prompt
Evals¶
See evals/.
Provenance¶
Created 2026-05-21 as the selected-items-of-cost router in the federal cost-allowability analysis component set, anchored to 2 CFR 200.421-200.476.
Contract scope¶
-
Output format:
json_object -
Contract scope:
repo_local_single_requirement_finding_contract -
Validation surfaces:
json_schema -
Schema entrypoints:
# -
Notes: Repo-local single-requirement allowability finding for the selected items of cost check (2 CFR 200.421-200.476). Routes an expense to its governing selected-item section and emits the shared cost-allowability finding object.
-
Machine-readable catalog entry:
component_catalog.json
Triad integration¶
-
UDM alignment:
repo_local_single_requirement_finding_contract— Aligns to sponsored-project cost-allowability semantics; the finding object is a prompt-library contract shared across the cost-allowability check components, not a shared UDM schema. -
Evaluation datasets: no shared
evaluation-data-setscatalog entry recorded yet; current references are repo-local eval artifacts. -
Harness notes: Validate JSON output against schema.json. Canonical invocation surface is prompt.md. Invoked as a Step 2 task of the workflows/cost-allowability-analysis Vandalizer workflow.
Prompt body¶
Source: prompt.md.
Show prompt
Selected Items of Cost Check¶
Purpose: Identify which selected item of cost under 2 CFR 200.421-200.476 governs an expense and apply that section's rule.
Expected input: A normalized expense record, extracted award terms, and a regulated-activity classification.
Expected output: One structured finding conforming to
schema.json.
This component is a single-requirement check in the federal cost-allowability analysis workflow. It applies the selected-item-of-cost rule only.
Prompt¶
You are a federal cost-allowability reviewer performing one specific check: Selected Items of Cost under 2 CFR 200.421 through 200.476. Review one expense and return a single structured finding for this check only — do not evaluate any other allowability requirement.
Return only a single JSON object conforming to the finding contract. No prose, Markdown, comments, or code fences.
Input¶
You receive a normalized expense record, extracted award terms, and a regulated-activity classification, produced by the upstream steps of the cost-allowability analysis workflow. Any of these may be partial or missing.
What this check evaluates¶
Whether the cost complies with the specific rule for its selected item of cost. Subpart E of the Uniform Guidance enumerates the selected items of cost at 2 CFR 200.421 through 200.476 — roughly fifty specific cost items, each with its own allowability rule. Examples:
-
Unallowable outright — alcoholic beverages (200.423); entertainment costs (200.438); fundraising (200.442); lobbying (200.450); fines and penalties (200.441); bad debts; goods or services for personal use.
-
Allowable only with conditions, caps, or prior approval — advertising and public relations (200.421); conferences (200.432); equipment and other capital expenditures (200.439); participant support costs (200.456); travel costs (200.475); memberships, subscriptions, and professional activity costs (200.454); compensation and fringe benefits (200.430, 200.431).
-
Allowable as ordinary costs when no selected-item section restricts the expense type.
Identify the selected-item section that best fits this expense and apply that section's rule. Name the specific section you applied in the rationale.
This check applies the selected-item rule only. The general allowability factors — reasonableness, allocability, period of performance, documentation, prior approval, consistent treatment, and award-terms conformance — are covered by the other checks.
Decision rule¶
Set status to exactly one of:
-
pass— a selected-item section applies and the expense satisfies that section's rule, or no selected-item section restricts this expense type. -
issue— a selected-item section applies and the expense is allowable only if a condition (documentation, allocation, prior approval, or a cap) is met, and that condition is unconfirmed. -
not_allowable— the applicable selected-item section makes this cost type unallowable, or the expense violates that section's rule. -
needs_info— a selected-item section may apply but there is not enough detail about the expense to identify the section or apply its rule. -
not_applicable— no selected item of cost in 2 CFR 200.421-200.476 governs this expense type.
Use the most conservative status the evidence supports. Never record pass when the evidence needed to satisfy the requirement is absent — that is needs_info.
Evidence and non-fabrication¶
-
Ground every finding in the supplied evidence. Populate
evidencewith shortsource_label/detailpairs (e.g.,expense:description,expense:expense_category_hint). -
Name the applied 2 CFR section in
rationale(for example "200.475 Travel costs"). -
Do not invent section rules or caps. If you cannot identify the governing section from the supplied detail, that is
needs_info, neverpass.
Output¶
Emit the finding object:
-
check_id— "cost-selected-item" -
check_name— "Selected Items of Cost" -
regulation_anchor— "2 CFR 200.421-200.476" -
expense_id— the expense reference from the input, or null -
status— one of the values above -
summary— one sentence stating the outcome, including the applied section -
rationale— the evidence-grounded reasoning, naming the applied 2 CFR section -
evidence— array of {source_label, detail} -
follow_up_actions— concrete actions needed before the cost is approved or charged; empty array when none -
confidence— "high", "medium", or "low", reflecting evidence completeness
Produce the finding now.
Output schema¶
Source: schema.json.
Show schema.json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/AI4RA/prompt-library/components/cost-selected-item-check/schema.json",
"title": "Selected Items of Cost Check \u2014 Finding",
"description": "Structured single-requirement allowability finding for the selected items of cost check (2 CFR 200.421-200.476). Part of the federal cost-allowability analysis workflow.",
"version": "0.1.0",
"type": "object",
"additionalProperties": false,
"required": [
"check_id",
"check_name",
"regulation_anchor",
"status",
"summary",
"rationale",
"evidence",
"follow_up_actions",
"confidence"
],
"properties": {
"check_id": {
"const": "cost-selected-item",
"description": "Stable identifier for this check."
},
"check_name": {
"const": "Selected Items of Cost",
"description": "Human-readable check name."
},
"regulation_anchor": {
"const": "2 CFR 200.421-200.476",
"description": "Primary regulatory anchor for this check."
},
"expense_id": {
"type": [
"string",
"null"
],
"description": "Expense reference carried from the input."
},
"status": {
"type": "string",
"enum": [
"pass",
"issue",
"not_allowable",
"needs_info",
"not_applicable"
],
"description": "Outcome of this check."
},
"summary": {
"type": "string",
"minLength": 1,
"description": "One-sentence statement of the outcome, including the applied section."
},
"rationale": {
"type": "string",
"minLength": 1,
"description": "Evidence-grounded reasoning behind the status, naming the applied 2 CFR section."
},
"evidence": {
"type": "array",
"description": "Evidence relied on. May be empty only when status is not_applicable.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source_label",
"detail"
],
"properties": {
"source_label": {
"type": "string",
"minLength": 1,
"description": "Short source label, e.g. expense:description."
},
"detail": {
"type": "string",
"minLength": 1,
"description": "Concise summary of what the source shows."
}
}
}
},
"follow_up_actions": {
"type": "array",
"description": "Concrete actions needed before the cost is approved or charged. Empty array when none.",
"items": {
"type": "string",
"minLength": 1
}
},
"confidence": {
"type": "string",
"enum": [
"high",
"medium",
"low"
],
"description": "Reviewer confidence in this finding."
}
}
}
Changelog¶
Source: CHANGELOG.md.
All notable changes to this component. Versions follow semver: MAJOR for output-contract breaks, MINOR for backward-compatible additions, PATCH for wording or clarity.
[0.1.0] — 2026-05-21¶
- Initial experimental release.
- Single-requirement check that routes an expense to the governing selected item of cost in 2 CFR 200.421-200.476 and applies that section's rule.
- Emits the shared cost-allowability finding object (
status,summary,rationale,evidence,follow_up_actions,confidence) withcheck_id"cost-selected-item"; the rationale names the applied section. - Section rules are applied from the prompt's enumeration of key sections plus model knowledge; a bundled selected-items reference is a planned enhancement.
- No eval cases yet — status
experimentaluntil at least one golden finding is added underevals/cases/.