Court Clerk Operations — Closeout and Financial Reconciliation
Purpose
Prepare court closeout, disposition, and financial-reconciliation packets by cross-referencing local case materials against the Court Operations Portal API and producing a structured JSON answer that follows an answer-template schema.
When to use
The user is acting as a deputy clerk or court officer and needs to:
- Reconcile hearing notes, audit memos, finance queue extracts, or petition summaries against the live case-management system.
- Produce a clerk-ready JSON output matching a provided answer-template schema.
- Identify audit conflicts, stale fee amounts, unsupported charges, and missing identifiers.
- Decide which cases should be posted (disposed with signed orders) and which must be held (pending, continued, deferred, or unsigned).
Workflow
Step 1 — Read the prompt
From the user's prompt extract:
- Role context — which court, which docket type (criminal sentencing, traffic violation, post-sentencing field packet, etc.).
- Target identifiers — case numbers, citation numbers, or petition IDs to be processed.
- Relevant portal endpoints — the prompt lists which
GET /api/* endpoints are useful for this task. Only use endpoints the prompt names.
- Local payload files — every referenced payload under
input/payloads/ that the prompt mentions. Read every one of them.
Step 2 — Read every local payload
Read each payload file completely. These are the local materials the clerk assembled before portal reconciliation. Typical payload types:
| Payload |
Typical content |
hearing_notes.md |
Bench notes with defendant names, DOBs, counsel, pleas, sentences, and judge remarks. May contain shorthand, nicknames, or carry-forward errors. |
clerk_audit_memo.md |
Exceptions flagged by the audit clerk — identity mismatches, stale fee amounts, departure disputes, unsigned orders. |
finance_queue_extract.json |
Pre-loaded financial records from the queue. May contain draft amounts, incorrect counsel labels, or stale fee schedules. |
sentencing_intake_facts.json |
Conviction details, sentence components, probation terms, release dates. |
form_field_excerpt.json |
Form field groups and placeholder rules for jurisdiction-specific forms. |
payment_petition_budget.json |
Petitioner income, obligations, requested payment terms, intake limits. |
petition_summaries.json |
Multi-petition intake summaries with balances, requested terms, and counter notes. |
sentencing_probation_notes.json |
Disposition notes, charge details, probation report dates, missing identifier lists. |
hearing_closeout_note.md |
Traffic/citation closeout notes with plea, finding, payment-plan approvals. |
local_form_excerpt.md |
Local form labels, account-reference rules, and fee-policy notes. |
finance_memo_and_worksheet.csv |
Row-per-case worksheet with name, DOB, counsel code, outcome, costs, fines, and supervisor notes. |
Step 3 — Read the answer template
Every task includes input/payloads/answer_template.json. Read it before querying the portal. It defines:
required_top_level_keys — the sections you must return.
ordering_rules — sort order for each section (typically by case number ascending).
- Enums — every constrained value the output may use. Never output a value outside the declared enums.
- Field types — currency (two-decimal number), dates (ISO YYYY-MM-DD), datetimes (ISO YYYY-MM-DDTHH:MM:SS), strings, integers, booleans.
placeholder_rule — the exact placeholder string to use for missing values (e.g. "TBD from case file").
The answer template is the output contract. Construct every key and value exactly as it prescribes.
Step 4 — Query the Court Operations Portal
Connect to the portal using the base URL from the environment configuration. Reference portal-api-reference.md for the full endpoint catalog. For each target case, citation, or petition, fetch the authoritative records.
Query strategy:
- Fetch jurisdiction metadata if the prompt lists
/api/jurisdictions and you need to confirm court codes or fee-schedule links.
- Fetch each target case from
/api/cases (or /api/citations for traffic matters).
- For each case, fetch
/api/charges to get the current charge records — these are authoritative for what was actually filed, amended, or dismissed.
- Fetch
/api/docket-entries to confirm whether final orders were signed and entered.
- Fetch
/api/fee-schedules to get current fee amounts — do not rely on stale amounts from local worksheets.
- Fetch
/api/payment-policies when the task involves payment plans, installment orders, or account-fee decisions.
- Fetch
/api/forms when form IDs, labels, or field mappings need to match current portal versions.
- Fetch
/api/financial-petitions when petition IDs need cross-referencing.
- Use
/api/search as a fallback for verifying defendant identity, DOB, or counsel when the direct record is ambiguous.
Important: The portal is the source of truth for case status, charge records, current fee schedules, and form metadata. Local payloads are evidence but may carry stale, draft, or erroneous values.
Step 5 — Reconcile and resolve conflicts
For each target matter, compare the local payloads against the portal records. Apply these rules in order:
Conflict resolution hierarchy
- Portal record (CMS) — authoritative for: case status, current charges, fee schedule amounts, form IDs and labels, docket entry dates.
- Hearing notes / bench record — override pre-loaded queue values when the judge's oral pronouncement contradicts a draft worksheet. A judge's statement in open court controls the sentence, plea, and disposition.
- Corroborating memo — resolves identity mismatches (name, DOB, counsel) and flags stale departure labels or draft status entries.
- Unsigned orders — if the final disposition order was not signed, do not post financial entries. Mark the case as
hold_unsigned_order, exclude_pending, or the equivalent enum from the answer template.
Specific conflict categories
| Conflict |
Resolution |
| Identity mismatch (name spelling, DOB difference) |
Use the portal CMS identity. Flag in audit findings. |
| Counsel mislabel (e.g. "APD" copied as public defender but defense memo says appointed private) |
Classify per the corroborating memo or judge's on-record clarification. Do not post a public-defender user fee for non-PD counsel. |
| Stale fee amount (e.g. drug assessment from an old schedule) |
Replace with the current fee schedule amount from the portal. Flag the stale value in audit findings. |
| Departure dispute (draft says "departure" but judge said "top-of-range, no departure") |
Remove the departure label. Mark no_departure or equivalent enum. |
| Amended charge (original count amended to a different offense) |
Use the amended conviction charge from the hearing notes, not the original filed charge. |
| DOB genuinely missing (bench card blank, not in portal) |
Use the placeholder exactly as specified in the answer template (e.g. "TBD from case file"). Do not borrow a DOB from similarly named defendants. |
Step 6 — Financial reconciliation
For each disposed case, build the fee reconciliation using current portal fee schedules, not local worksheet amounts:
- Start from the sentence pronounced in the hearing notes (fine, costs, assessments).
- Cross-check each fee line against the current portal fee schedule.
- Replace any stale amount with the current schedule value.
- Exclude fees that have no support in the hearing record, current policy, or portal schedule — common unsupported fees include:
- Late-payment fees (no triggering event in the record)
- Collection referral fees (no referral in the record)
- DMV notice/reinstatement fees (no DMV referral in the record)
- Returned-check fees (no returned payment in the record)
- Account-management / service charges (not in current policy)
- Restitution (no restitution order)
- Court-appointed-attorney fees (not ordered)
- Traffic-school program fees (not ordered)
- Hold financial entry for any case without a signed final order.
Step 7 — Assemble the output
Build the JSON output to match the answer template exactly:
- Section order: Follow
required_top_level_keys in order.
- Item order: Sort by the field specified in
ordering_rules (typically case_number or citation_number ascending).
- Enums only: Every constrained field must use one of the allowed enum values. Do not substitute prose, free text, or invented values.
- Currency: Numbers, not strings, rounded to exactly two decimal places. Use
0.00 not 0 or "0.00".
- Dates: ISO 8601
YYYY-MM-DD. Use null where the template allows null for dates (e.g. no disposition date for pending cases).
- Datetimes: ISO 8601 local
YYYY-MM-DDTHH:MM:SS.
- Placeholders: Use the exact placeholder string (e.g.
"TBD from case file") for genuinely missing identifiers — SSN, driver's license number, addresses, phone numbers, probation officer names, office locations. Never invent these values.
- Register totals: Sum across disposed cases only. Exclude held/pending cases from financial totals.
Step 8 — Verify completeness
Before returning the output, check:
Operating principles
Always
- Use the portal as the source of truth for case status, charges, fee schedules, and form metadata.
- Use hearing notes to override draft/queue values when the judge's oral pronouncement differs.
- Use the exact enum values from the answer template — never invent, paraphrase, or substitute.
- Hold financial entry for any case without a signed final order.
- Exclude fees that lack support in the hearing record, current policy, or portal schedule.
- Use the declared placeholder for genuinely missing identifiers.
Never
- Never invent a DOB, name, SSN, address, phone number, driver's license number, probation officer, or office location.
- Never borrow a DOB or identifier from a similarly named defendant.
- Never post a public-defender user fee when counsel is confirmed as appointed-private or retained.
- Never carry forward a stale fee amount when a current portal schedule is available.
- Never add late fees, collection fees, DMV fees, account-management fees, restitution, or other charges unless the hearing record or current portal policy explicitly supports them.
- Never output a value outside the answer template's declared enums.
- Never wrap the JSON output in markdown code fences unless the template explicitly allows it.
Supporting files
portal-api-reference.md — Full catalog of Court Operations Portal endpoints and their behavior.
1---2name: self-attempt-01-573description: Court Clerk Operations — Closeout and Financial Reconciliation4---5# Court Clerk Operations — Closeout and Financial Reconciliation67## Purpose89Prepare court closeout, disposition, and financial-reconciliation packets by cross-referencing local case materials against the Court Operations Portal API and producing a structured JSON answer that follows an answer-template schema.1011## When to use1213The user is acting as a deputy clerk or court officer and needs to:1415- Reconcile hearing notes, audit memos, finance queue extracts, or petition summaries against the live case-management system.16- Produce a clerk-ready JSON output matching a provided answer-template schema.17- Identify audit conflicts, stale fee amounts, unsupported charges, and missing identifiers.18- Decide which cases should be **posted** (disposed with signed orders) and which must be **held** (pending, continued, deferred, or unsigned).1920## Workflow2122### Step 1 — Read the prompt2324From the user's prompt extract:2526- **Role context** — which court, which docket type (criminal sentencing, traffic violation, post-sentencing field packet, etc.).27- **Target identifiers** — case numbers, citation numbers, or petition IDs to be processed.28- **Relevant portal endpoints** — the prompt lists which `GET /api/*` endpoints are useful for this task. Only use endpoints the prompt names.29- **Local payload files** — every referenced payload under `input/payloads/` that the prompt mentions. Read every one of them.3031### Step 2 — Read every local payload3233Read each payload file completely. These are the local materials the clerk assembled before portal reconciliation. Typical payload types:3435| Payload | Typical content |36|---|---|37| `hearing_notes.md` | Bench notes with defendant names, DOBs, counsel, pleas, sentences, and judge remarks. May contain shorthand, nicknames, or carry-forward errors. |38| `clerk_audit_memo.md` | Exceptions flagged by the audit clerk — identity mismatches, stale fee amounts, departure disputes, unsigned orders. |39| `finance_queue_extract.json` | Pre-loaded financial records from the queue. May contain draft amounts, incorrect counsel labels, or stale fee schedules. |40| `sentencing_intake_facts.json` | Conviction details, sentence components, probation terms, release dates. |41| `form_field_excerpt.json` | Form field groups and placeholder rules for jurisdiction-specific forms. |42| `payment_petition_budget.json` | Petitioner income, obligations, requested payment terms, intake limits. |43| `petition_summaries.json` | Multi-petition intake summaries with balances, requested terms, and counter notes. |44| `sentencing_probation_notes.json` | Disposition notes, charge details, probation report dates, missing identifier lists. |45| `hearing_closeout_note.md` | Traffic/citation closeout notes with plea, finding, payment-plan approvals. |46| `local_form_excerpt.md` | Local form labels, account-reference rules, and fee-policy notes. |47| `finance_memo_and_worksheet.csv` | Row-per-case worksheet with name, DOB, counsel code, outcome, costs, fines, and supervisor notes. |4849### Step 3 — Read the answer template5051Every task includes `input/payloads/answer_template.json`. Read it before querying the portal. It defines:5253- **`required_top_level_keys`** — the sections you must return.54- **`ordering_rules`** — sort order for each section (typically by case number ascending).55- **Enums** — every constrained value the output may use. **Never output a value outside the declared enums.**56- **Field types** — currency (two-decimal number), dates (ISO YYYY-MM-DD), datetimes (ISO YYYY-MM-DDTHH:MM:SS), strings, integers, booleans.57- **`placeholder_rule`** — the exact placeholder string to use for missing values (e.g. "TBD from case file").5859The answer template **is** the output contract. Construct every key and value exactly as it prescribes.6061### Step 4 — Query the Court Operations Portal6263Connect to the portal using the base URL from the environment configuration. Reference `portal-api-reference.md` for the full endpoint catalog. For each target case, citation, or petition, fetch the authoritative records.6465**Query strategy:**66671. Fetch jurisdiction metadata if the prompt lists `/api/jurisdictions` and you need to confirm court codes or fee-schedule links.682. Fetch each target case from `/api/cases` (or `/api/citations` for traffic matters).693. For each case, fetch `/api/charges` to get the current charge records — these are authoritative for what was actually filed, amended, or dismissed.704. Fetch `/api/docket-entries` to confirm whether final orders were signed and entered.715. Fetch `/api/fee-schedules` to get **current** fee amounts — do not rely on stale amounts from local worksheets.726. Fetch `/api/payment-policies` when the task involves payment plans, installment orders, or account-fee decisions.737. Fetch `/api/forms` when form IDs, labels, or field mappings need to match current portal versions.748. Fetch `/api/financial-petitions` when petition IDs need cross-referencing.759. Use `/api/search` as a fallback for verifying defendant identity, DOB, or counsel when the direct record is ambiguous.7677**Important:** The portal is the **source of truth** for case status, charge records, current fee schedules, and form metadata. Local payloads are evidence but may carry stale, draft, or erroneous values.7879### Step 5 — Reconcile and resolve conflicts8081For each target matter, compare the local payloads against the portal records. Apply these rules in order:8283#### Conflict resolution hierarchy84851. **Portal record (CMS)** — authoritative for: case status, current charges, fee schedule amounts, form IDs and labels, docket entry dates.862. **Hearing notes / bench record** — override pre-loaded queue values when the judge's oral pronouncement contradicts a draft worksheet. A judge's statement in open court controls the sentence, plea, and disposition.873. **Corroborating memo** — resolves identity mismatches (name, DOB, counsel) and flags stale departure labels or draft status entries.884. **Unsigned orders** — if the final disposition order was **not signed**, do not post financial entries. Mark the case as `hold_unsigned_order`, `exclude_pending`, or the equivalent enum from the answer template.8990#### Specific conflict categories9192| Conflict | Resolution |93|---|---|94| **Identity mismatch** (name spelling, DOB difference) | Use the portal CMS identity. Flag in audit findings. |95| **Counsel mislabel** (e.g. "APD" copied as public defender but defense memo says appointed private) | Classify per the corroborating memo or judge's on-record clarification. Do not post a public-defender user fee for non-PD counsel. |96| **Stale fee amount** (e.g. drug assessment from an old schedule) | Replace with the current fee schedule amount from the portal. Flag the stale value in audit findings. |97| **Departure dispute** (draft says "departure" but judge said "top-of-range, no departure") | Remove the departure label. Mark `no_departure` or equivalent enum. |98| **Amended charge** (original count amended to a different offense) | Use the amended conviction charge from the hearing notes, not the original filed charge. |99| **DOB genuinely missing** (bench card blank, not in portal) | Use the placeholder exactly as specified in the answer template (e.g. "TBD from case file"). Do **not** borrow a DOB from similarly named defendants. |100101### Step 6 — Financial reconciliation102103For each disposed case, build the fee reconciliation using **current portal fee schedules**, not local worksheet amounts:1041051. Start from the sentence pronounced in the hearing notes (fine, costs, assessments).1062. Cross-check each fee line against the current portal fee schedule.1073. Replace any stale amount with the current schedule value.1084. **Exclude** fees that have no support in the hearing record, current policy, or portal schedule — common unsupported fees include:109 - Late-payment fees (no triggering event in the record)110 - Collection referral fees (no referral in the record)111 - DMV notice/reinstatement fees (no DMV referral in the record)112 - Returned-check fees (no returned payment in the record)113 - Account-management / service charges (not in current policy)114 - Restitution (no restitution order)115 - Court-appointed-attorney fees (not ordered)116 - Traffic-school program fees (not ordered)1175. **Hold** financial entry for any case without a signed final order.118119### Step 7 — Assemble the output120121Build the JSON output to match the answer template exactly:122123- **Section order**: Follow `required_top_level_keys` in order.124- **Item order**: Sort by the field specified in `ordering_rules` (typically `case_number` or `citation_number` ascending).125- **Enums only**: Every constrained field must use one of the allowed enum values. Do not substitute prose, free text, or invented values.126- **Currency**: Numbers, not strings, rounded to exactly two decimal places. Use `0.00` not `0` or `"0.00"`.127- **Dates**: ISO 8601 `YYYY-MM-DD`. Use `null` where the template allows null for dates (e.g. no disposition date for pending cases).128- **Datetimes**: ISO 8601 local `YYYY-MM-DDTHH:MM:SS`.129- **Placeholders**: Use the exact placeholder string (e.g. `"TBD from case file"`) for genuinely missing identifiers — SSN, driver's license number, addresses, phone numbers, probation officer names, office locations. Never invent these values.130- **Register totals**: Sum across disposed cases only. Exclude held/pending cases from financial totals.131132### Step 8 — Verify completeness133134Before returning the output, check:135136- [ ] Every target case/citation appears in the output.137- [ ] Every `required_top_level_key` section is present.138- [ ] Every required field within each item is populated.139- [ ] All enum-constrained fields use declared values.140- [ ] Sort order matches the template's `ordering_rules`.141- [ ] Currency values are numbers with two decimal places.142- [ ] Dates are ISO format or null where allowed.143- [ ] No invented identifiers — missing fields use the declared placeholder.144- [ ] Held/pending cases are not included in register/financial totals.145- [ ] Unsupported fees are listed in the exclusions section with reason codes.146147## Operating principles148149### Always150151- Use the portal as the source of truth for case status, charges, fee schedules, and form metadata.152- Use hearing notes to override draft/queue values when the judge's oral pronouncement differs.153- Use the exact enum values from the answer template — never invent, paraphrase, or substitute.154- Hold financial entry for any case without a signed final order.155- Exclude fees that lack support in the hearing record, current policy, or portal schedule.156- Use the declared placeholder for genuinely missing identifiers.157158### Never159160- Never invent a DOB, name, SSN, address, phone number, driver's license number, probation officer, or office location.161- Never borrow a DOB or identifier from a similarly named defendant.162- Never post a public-defender user fee when counsel is confirmed as appointed-private or retained.163- Never carry forward a stale fee amount when a current portal schedule is available.164- Never add late fees, collection fees, DMV fees, account-management fees, restitution, or other charges unless the hearing record or current portal policy explicitly supports them.165- Never output a value outside the answer template's declared enums.166- Never wrap the JSON output in markdown code fences unless the template explicitly allows it.167168## Supporting files169170- `portal-api-reference.md` — Full catalog of Court Operations Portal endpoints and their behavior.