# US/Canada Receivership Source Decision Packet

Use this packet to record source-by-source account, terms, payment, cost-control, authorized-import, and GitHub input decisions before enabling the remaining US/Canada production sources.

Generated at: 2026-07-20T08:29:54.271Z
Packet version: 1
Status: external_setup_required
Production ready: no
Source policy: first_party_only
Target countries: US, CA

## Summary

- Total sources: 5
- Ready sources: 0
- Billable sources: 3
- Terms-review sources: 2
- Legal-review sources: 2
- Import-handoff sources: 4
- Required GitHub commands: 19

## Missing Repository Inputs

### Required Secrets

- PACER_PASSWORD
- PACER_USERNAME

### Required Variables

- RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH
- RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED
- RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED
- RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH
- RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED
- RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED
- RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED
- RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT
- RECEIVERSHIP_OSB_BIA_IMPORT_PATH
- RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED
- RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD
- RECEIVERSHIP_PACER_COURT_ALLOWLIST
- RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD
- RECEIVERSHIP_PACER_COURT_IMPORT_PATH
- RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES
- RECEIVERSHIP_PACER_COURT_POLLING_ENABLED
- RECEIVERSHIP_PACER_DAILY_COST_CAP_USD

## Published Handoff Artifacts

- Source decision ledger template: `public/data/receivership/us-ca-source-decision-ledger-template.json`
- Source decision packet: `public/data/receivership/us-ca-source-decision-packet.md`
- External setup packet: `public/data/receivership/us-ca-production-setup-packet.md`
- Production setup checklist: `public/data/receivership/us-ca-production-setup.json`
- Production blocker ledger: `public/data/receivership/us-ca-production-blockers.json`
- GitHub environment handoff: `public/data/receivership/us-ca-production-environment.json`
- Source activation playbook: `public/data/receivership/us-ca-source-activation.json`

## Filled Ledger Draft

Create a non-secret filled-ledger working copy before changing GitHub Actions inputs:

```bash
npm run --silent print:receivership:us-ca:source-decision-ledger > receivership-us-ca-source-decision-ledger.filled.json
npm run print:receivership:us-ca:source-decision-ledger-github-commands
RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_PATH=receivership-us-ca-source-decision-ledger.filled.json npm run check:receivership:us-ca:source-decision-ledger
RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64="$(gzip -c receivership-us-ca-source-decision-ledger.filled.json | base64 | tr -d '\n')" npm run check:receivership:us-ca:source-decision-ledger
RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_PATH=receivership-us-ca-source-decision-ledger.filled.json npm run print:receivership:us-ca:source-decision-ledger-github-commands
RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_JSON="$ledger_json" npm run print:receivership:us-ca:source-decision-ledger-github-commands
RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64="$ledger_payload" npm run print:receivership:us-ca:source-decision-ledger-github-commands
gh workflow run receivership-us-ca-production-ready.yml --repo 'charliecf/charts.fyi' --ref main -f source_decision_ledger_gzip_base64="$(gzip -c receivership-us-ca-source-decision-ledger.filled.json | base64 | tr -d '\n')"
```

The draft intentionally omits credential values. Keep `approvedValue` empty for GitHub Secrets such as PACER credentials, and record only the non-secret approval, configured flag, cost-control value, import path, and verification evidence needed by the production gate. The GitHub command printer is self-guiding without a filled ledger, accepts filled ledgers from `RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_PATH`, `RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_JSON`, or `RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64`, turns approved non-secret ledger values into exact `gh variable set` commands, emits the compressed payload handoff for the strict production-ready workflow, includes a one-off manual workflow dispatch command, and leaves secrets as placeholder-guarded `gh secret set` commands that fail closed until the local `*_VALUE` shell variables are replaced.

## Decision Matrix

| Order | Source                          | Status              | Owner                                      | Decisions Required                                                                                 | Missing Inputs                                                                                                                                                                                                                             |
| ----- | ------------------------------- | ------------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1     | ca-bc-cso-new-cases             | terms_review        | operator_plus_legal_review                 | terms/legal approval, authorized import file, GitHub inputs, final verification                    | RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH, RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED, RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED                                                                                                                          |
| 2     | ca-ontario-courts-public-portal | terms_review        | operator_plus_legal_review                 | terms/legal approval, authorized import file, GitHub inputs, final verification                    | RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH, RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED, RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED                                                                                                                 |
| 3     | ca-osb-bia-insolvency-records   | skipped_credentials | operator_with_account_and_budget_authority | account/payment approval, cost controls, authorized import file, GitHub inputs, final verification | RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED, RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT, RECEIVERSHIP_OSB_BIA_IMPORT_PATH, RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED, RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD                                       |
| 4     | us-pacer-case-locator           | skipped_credentials | operator_with_account_and_budget_authority | account/payment approval, cost controls, GitHub inputs, final verification                         | PACER_PASSWORD, PACER_USERNAME, RECEIVERSHIP_PACER_DAILY_COST_CAP_USD                                                                                                                                                                      |
| 5     | us-pacer-court-polling          | skipped_credentials | operator_with_account_and_budget_authority | account/payment approval, cost controls, authorized import file, GitHub inputs, final verification | PACER_PASSWORD, PACER_USERNAME, RECEIVERSHIP_PACER_COURT_ALLOWLIST, RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD, RECEIVERSHIP_PACER_COURT_IMPORT_PATH, RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES, RECEIVERSHIP_PACER_COURT_POLLING_ENABLED |

## Guardrails

- Do not set account-confirmation, paid-search, terms-approved, polling-enabled, cost-cap, allowlist, or import-path variables until the matching account, legal, cost-control, and authorized-export decision is complete.
- Do not commit authorized court, PACER, or OSB export files unless the source terms explicitly allow redistribution.
- Keep PACER and OSB daily caps low until the source-health and production-ready gates are clean.

## 1. BC Court Services Online new cases

- Source ID: ca-bc-cso-new-cases
- Setup ID: setup:ca-bc-court-source
- Status: terms_review
- Queue owner: operator_plus_legal_review
- Workstream: terms_and_legal_review
- Billable: no
- Account/payment authority required: no
- Terms review required: yes
- Legal review required: yes
- Account or reference URL: https://justice.gov.bc.ca/cso/newCaseReport.do
- Action required: Complete BC Court Services Online public-reuse terms review, then enable the approved polling/import workflow and provide the authorized new-case report import file path.
- Why now: Non-billable terms/legal review can unblock an implemented collector or authorized import path before credentialed paid sources are configured.

### Decision Checklist

- [ ] Legal/terms owner has reviewed the official references.
- [ ] Operator is allowed to collect, save, and process the permitted source output.
- [ ] Any required usage flags are approved before enabling polling or imports.
- [ ] Confirm this source has no account/payment step.
- [ ] Obtain authorized BC CSO authorized new-case report export export.
- [ ] Store it at the path configured by RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH.
- [ ] Confirm accepted format: csv, json, ndjson.
- [ ] Run npm run check:receivership:us-ca:import-templates.
- [ ] Compare CSV rows against public/data/receivership/us-ca-import-template-bc-cso.csv.
- [ ] Required GitHub inputs are configured with approved values only.
- [ ] Final source and production verification commands pass.

### Decision Record

| Decision                     | Record                           |
| ---------------------------- | -------------------------------- |
| Decision owner               | TBD                              |
| Approval date                | TBD                              |
| Terms/legal outcome          | approve / decline / not required |
| Account/payment outcome      | approve / decline / not required |
| Cost cap/search cap/page cap | TBD                              |
| Authorized import file path  | TBD                              |
| GitHub inputs changed        | TBD                              |
| Verification evidence        | TBD                              |

### Official References

- BC CSO new case report: https://justice.gov.bc.ca/cso/newCaseReport.do
- BC CSO e-search usage agreement: https://justice.gov.bc.ca/cso/usageAgreement/index.do
- BC CSO FAQ and fee schedule: https://justice.gov.bc.ca/cso/help/faq.do

### Required Inputs

| Input                                  | Kind     | Required | Configured | Purpose                                                                              |
| -------------------------------------- | -------- | -------- | ---------- | ------------------------------------------------------------------------------------ |
| RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED  | variable | yes      | no         | Records that public-reuse terms have been approved for the BC CSO new-case workflow. |
| RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED | variable | yes      | no         | Enables the approved BC CSO new-case polling/import workflow after terms review.     |
| RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH     | variable | yes      | no         | Path to an authorized BC CSO new-case report export in JSON, NDJSON, or CSV form.    |

### Cost-Control Inputs

| Input | Kind | Required | Configured | Purpose |
| ----- | ---- | -------- | ---------- | ------- |
| n/a   | n/a  | n/a      | n/a        | n/a     |

### Missing Inputs

- RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH
- RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED
- RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED

### Activation Steps

- [ ] Review the BC CSO e-search usage agreement and confirm public-reuse terms for automated new-case monitoring.
- [ ] Confirm payment/account requirements for any paid file-detail or document retrieval workflow.
- [ ] Save authorized BC CSO new-case report rows as JSON, NDJSON, or CSV and point RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH at that file.
- [ ] Set RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED=true and RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED=true only after the review is complete.

### GitHub Setup Commands

```bash
RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH_VALUE='<path to authorized BC CSO new-case report export>'; if [ "$RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH_VALUE" = '<path to authorized BC CSO new-case report export>' ]; then echo 'Replace RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH_VALUE before setting RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH' >&2; false; else gh variable set RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_CA_BC_CSO_IMPORT_PATH_VALUE"; fi
RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED_VALUE='<true after approvals and controls are in place>'; if [ "$RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED_VALUE" = '<true after approvals and controls are in place>' ]; then echo 'Replace RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED_VALUE before setting RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED' >&2; false; else gh variable set RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_CA_BC_CSO_POLLING_ENABLED_VALUE"; fi
RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED_VALUE='<true after terms/legal review>'; if [ "$RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED_VALUE" = '<true after terms/legal review>' ]; then echo 'Replace RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED_VALUE before setting RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED' >&2; false; else gh variable set RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_CA_BC_CSO_TERMS_APPROVED_VALUE"; fi
```

### Source Verification

```bash
npm run check:receivership:us-ca:bc-cso
npm run check:receivership:us-ca:blockers
npm run check:receivership:us-ca:config
npm run check:receivership:us-ca:github-env
npm run check:receivership:us-ca:import-templates
npm run check:receivership:us-ca:production-blocker-issue
npm run check:receivership:us-ca:production-env
npm run check:receivership:us-ca:runbook
npm run check:receivership:us-ca:setup-packet
npm run check:receivership:us-ca:source-activation
npm run check:receivership:us-ca:source-decision-ledger
npm run check:receivership:us-ca:source-decision-ledger-template
npm run check:receivership:us-ca:source-decision-packet
npm run check:receivership:us-ca:source-health
npm run fetch:receivership:us-ca
npm run verify:receivership:us-ca
npm run verify:receivership:us-ca:production
```

### Ready When

- All required GitHub Actions Secrets and Variables for this source are configured.
- Any required account, paid-search, cost-control, or terms-review step is approved.
- The filled source decision ledger marks this source approved and ready, validates with npm run check:receivership:us-ca:source-decision-ledger, and is supplied to the production-ready workflow as RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64.
- Required first-party import files validate against public/data/receivership/us-ca-import-templates.json.
- The source health row is ok/fresh after the next US/Canada refresh.
- The row-producing source collector is implemented, not preflight-only.
- The strict production verifier exits successfully.

## 2. Ontario Courts Public Portal

- Source ID: ca-ontario-courts-public-portal
- Setup ID: setup:ca-on-court-source
- Status: terms_review
- Queue owner: operator_plus_legal_review
- Workstream: terms_and_legal_review
- Billable: no
- Account/payment authority required: no
- Terms review required: yes
- Legal review required: yes
- Account or reference URL: https://www.ontario.ca/page/search-court-cases-online
- Action required: Complete Ontario Courts Public Portal automation/reuse review and authorized import handoff before enabling this source. Missing: RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED=true after automation and reuse terms review, RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED=true after polling/import workflow approval, RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH pointing to an authorized JSON, NDJSON, or CSV court case/order export.
- Why now: Non-billable terms/legal review can unblock an implemented collector or authorized import path before credentialed paid sources are configured.

### Decision Checklist

- [ ] Legal/terms owner has reviewed the official references.
- [ ] Operator is allowed to collect, save, and process the permitted source output.
- [ ] Any required usage flags are approved before enabling polling or imports.
- [ ] Confirm this source has no account/payment step.
- [ ] Obtain authorized Ontario authorized court case/order export export.
- [ ] Store it at the path configured by RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH.
- [ ] Confirm accepted format: csv, json, ndjson.
- [ ] Run npm run check:receivership:us-ca:import-templates.
- [ ] Compare CSV rows against public/data/receivership/us-ca-import-template-ontario-courts.csv.
- [ ] Required GitHub inputs are configured with approved values only.
- [ ] Final source and production verification commands pass.

### Decision Record

| Decision                     | Record                           |
| ---------------------------- | -------------------------------- |
| Decision owner               | TBD                              |
| Approval date                | TBD                              |
| Terms/legal outcome          | approve / decline / not required |
| Account/payment outcome      | approve / decline / not required |
| Cost cap/search cap/page cap | TBD                              |
| Authorized import file path  | TBD                              |
| GitHub inputs changed        | TBD                              |
| Verification evidence        | TBD                              |

### Official References

- Ontario Courts Public Portal: https://www.ontario.ca/page/ontario-courts-public-portal
- Ontario court file and document access guidance: https://www.ontario.ca/document/access-court-files-documents-and-exhibits

### Required Inputs

| Input                                     | Kind     | Required | Configured | Purpose                                                                                 |
| ----------------------------------------- | -------- | -------- | ---------- | --------------------------------------------------------------------------------------- |
| RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED  | variable | yes      | no         | Records that Ontario court portal automation and public-reuse terms have been approved. |
| RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED | variable | yes      | no         | Enables Ontario court portal polling/import handoff after terms review.                 |
| RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH     | variable | yes      | no         | Path to an authorized Ontario court case/order export in JSON, NDJSON, or CSV form.     |

### Cost-Control Inputs

| Input | Kind | Required | Configured | Purpose |
| ----- | ---- | -------- | ---------- | ------- |
| n/a   | n/a  | n/a      | n/a        | n/a     |

### Missing Inputs

- RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH
- RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED
- RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED

### Activation Steps

- [ ] Review Ontario portal access, public court-file access guidance, and redistribution constraints for automated monitoring.
- [ ] Confirm the approved workflow needed for Commercial List and other receivership candidate discovery; Ontario court search-tool output cannot be saved, reproduced, or distributed unless the review authorizes the workflow.
- [ ] Save authorized Ontario court case/order records as JSON, NDJSON, or CSV and point RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH at that file.
- [ ] Set RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED=true and RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED=true only after the review is complete.

### GitHub Setup Commands

```bash
RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH_VALUE='<path to authorized Ontario court case/order export>'; if [ "$RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH_VALUE" = '<path to authorized Ontario court case/order export>' ]; then echo 'Replace RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH_VALUE before setting RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH' >&2; false; else gh variable set RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_CA_ON_COURTS_IMPORT_PATH_VALUE"; fi
RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED_VALUE='<true after approvals and controls are in place>'; if [ "$RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED_VALUE" = '<true after approvals and controls are in place>' ]; then echo 'Replace RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED_VALUE before setting RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED' >&2; false; else gh variable set RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_CA_ON_COURTS_POLLING_ENABLED_VALUE"; fi
RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED_VALUE='<true after terms/legal review>'; if [ "$RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED_VALUE" = '<true after terms/legal review>' ]; then echo 'Replace RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED_VALUE before setting RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED' >&2; false; else gh variable set RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_CA_ON_COURTS_TERMS_APPROVED_VALUE"; fi
```

### Source Verification

```bash
npm run check:receivership:us-ca:blockers
npm run check:receivership:us-ca:config
npm run check:receivership:us-ca:github-env
npm run check:receivership:us-ca:import-templates
npm run check:receivership:us-ca:production-blocker-issue
npm run check:receivership:us-ca:production-env
npm run check:receivership:us-ca:runbook
npm run check:receivership:us-ca:setup-packet
npm run check:receivership:us-ca:source-activation
npm run check:receivership:us-ca:source-decision-ledger
npm run check:receivership:us-ca:source-decision-ledger-template
npm run check:receivership:us-ca:source-decision-packet
npm run check:receivership:us-ca:source-health
npm run fetch:receivership:us-ca
npm run verify:receivership:us-ca
npm run verify:receivership:us-ca:production
```

### Ready When

- All required GitHub Actions Secrets and Variables for this source are configured.
- Any required account, paid-search, cost-control, or terms-review step is approved.
- The filled source decision ledger marks this source approved and ready, validates with npm run check:receivership:us-ca:source-decision-ledger, and is supplied to the production-ready workflow as RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64.
- Required first-party import files validate against public/data/receivership/us-ca-import-templates.json.
- The source health row is ok/fresh after the next US/Canada refresh.
- The row-producing source collector is implemented, not preflight-only.
- The strict production verifier exits successfully.

## 3. Canada OSB Bankruptcy and Insolvency Records Search

- Source ID: ca-osb-bia-insolvency-records
- Setup ID: setup:ca-osb-bia-insolvency-records
- Status: skipped_credentials
- Queue owner: operator_with_account_and_budget_authority
- Workstream: canada_paid_account_and_import
- Billable: yes
- Account/payment authority required: yes
- Terms review required: no
- Legal review required: no
- Account or reference URL: https://www.ic.gc.ca/app/scr/bsf-osb/ins/login.html?lang=eng
- Action required: Complete OSB Bankruptcy and Insolvency Records Search account, paid-search, cost-control, and authorized import setup before enabling this source. Missing: RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED=true after registering for OSB Bankruptcy and Insolvency Records Search, RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED=true after approving paid OSB searches, RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT, RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD, RECEIVERSHIP_OSB_BIA_IMPORT_PATH pointing to an authorized JSON, NDJSON, or CSV OSB search result/details export.
- Why now: National Canadian BIA coverage depends on paid OSB account setup plus an authorized saved-search import.

### Decision Checklist

- [ ] Confirm no additional terms/legal decision is required.
- [ ] Account/payment owner has approved the account-backed search or docket access.
- [ ] Daily spend/search/page caps are approved before any paid source is enabled.
- [ ] Obtain authorized OSB BIA authorized saved-search/details export export.
- [ ] Store it at the path configured by RECEIVERSHIP_OSB_BIA_IMPORT_PATH.
- [ ] Confirm accepted format: csv, json, ndjson.
- [ ] Run npm run check:receivership:us-ca:import-templates.
- [ ] Compare CSV rows against public/data/receivership/us-ca-import-template-osb-bia.csv.
- [ ] Required GitHub inputs are configured with approved values only.
- [ ] Final source and production verification commands pass.

### Decision Record

| Decision                     | Record                           |
| ---------------------------- | -------------------------------- |
| Decision owner               | TBD                              |
| Approval date                | TBD                              |
| Terms/legal outcome          | approve / decline / not required |
| Account/payment outcome      | approve / decline / not required |
| Cost cap/search cap/page cap | TBD                              |
| Authorized import file path  | TBD                              |
| GitHub inputs changed        | TBD                              |
| Verification evidence        | TBD                              |

### Official References

- OSB Bankruptcy and Insolvency Records Search: https://ised-isde.canada.ca/site/office-superintendent-bankruptcy/en/bankruptcy-and-insolvency-records-search/bankruptcy-and-insolvency-records-search
- OSB search instructions and costs: https://ised-isde.canada.ca/site/office-superintendent-bankruptcy/en/bankruptcy-and-insolvency-records-search/instructions

### Required Inputs

| Input                                     | Kind     | Required | Configured | Purpose                                                                                             |
| ----------------------------------------- | -------- | -------- | ---------- | --------------------------------------------------------------------------------------------------- |
| RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED    | variable | yes      | no         | Records that OSB Bankruptcy and Insolvency Records Search account access is active.                 |
| RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED | variable | yes      | no         | Records approval to run paid OSB BIA searches.                                                      |
| RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT   | variable | yes      | no         | Daily OSB BIA search count cap for cost control.                                                    |
| RECEIVERSHIP_OSB_BIA_IMPORT_PATH          | variable | yes      | no         | Path to an authorized official OSB saved search result/details export in JSON, NDJSON, or CSV form. |
| RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD    | variable | yes      | no         | Daily OSB BIA search budget cap in CAD.                                                             |

### Cost-Control Inputs

| Input                                   | Kind     | Required | Configured | Purpose                                          |
| --------------------------------------- | -------- | -------- | ---------- | ------------------------------------------------ |
| RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT | variable | yes      | no         | Daily OSB BIA search count cap for cost control. |
| RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD  | variable | yes      | no         | Daily OSB BIA search budget cap in CAD.          |

### Missing Inputs

- RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED
- RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT
- RECEIVERSHIP_OSB_BIA_IMPORT_PATH
- RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED
- RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD

### Activation Steps

- [ ] Register for OSB Bankruptcy and Insolvency Records Search access through the current GCKey or Sign-In Partner flow.
- [ ] Approve paid searches and configure a daily search limit plus CAD budget before enabling automation.
- [ ] Save authorized OSB search result/details exports as JSON, NDJSON, or CSV and point RECEIVERSHIP_OSB_BIA_IMPORT_PATH at that file.
- [ ] Set RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED=true, RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED=true, RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT, RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD, and RECEIVERSHIP_OSB_BIA_IMPORT_PATH.

### GitHub Setup Commands

```bash
RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED_VALUE='<true after account access is confirmed>'; if [ "$RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED_VALUE" = '<true after account access is confirmed>' ]; then echo 'Replace RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED_VALUE before setting RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED' >&2; false; else gh variable set RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_OSB_BIA_ACCOUNT_CONFIRMED_VALUE"; fi
RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT_VALUE='<approved daily search count limit>'; if [ "$RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT_VALUE" = '<approved daily search count limit>' ]; then echo 'Replace RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT_VALUE before setting RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT' >&2; false; else gh variable set RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_OSB_BIA_DAILY_SEARCH_LIMIT_VALUE"; fi
RECEIVERSHIP_OSB_BIA_IMPORT_PATH_VALUE='<path to authorized OSB BIA saved-search export>'; if [ "$RECEIVERSHIP_OSB_BIA_IMPORT_PATH_VALUE" = '<path to authorized OSB BIA saved-search export>' ]; then echo 'Replace RECEIVERSHIP_OSB_BIA_IMPORT_PATH_VALUE before setting RECEIVERSHIP_OSB_BIA_IMPORT_PATH' >&2; false; else gh variable set RECEIVERSHIP_OSB_BIA_IMPORT_PATH --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_OSB_BIA_IMPORT_PATH_VALUE"; fi
RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED_VALUE='<true after paid search approval>'; if [ "$RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED_VALUE" = '<true after paid search approval>' ]; then echo 'Replace RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED_VALUE before setting RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED' >&2; false; else gh variable set RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_OSB_BIA_PAID_SEARCH_APPROVED_VALUE"; fi
RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD_VALUE='<approved CAD daily search budget>'; if [ "$RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD_VALUE" = '<approved CAD daily search budget>' ]; then echo 'Replace RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD_VALUE before setting RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD' >&2; false; else gh variable set RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_OSB_BIA_SEARCH_BUDGET_CAD_VALUE"; fi
```

### Source Verification

```bash
npm run check:receivership:us-ca:blockers
npm run check:receivership:us-ca:config
npm run check:receivership:us-ca:github-env
npm run check:receivership:us-ca:import-templates
npm run check:receivership:us-ca:production-blocker-issue
npm run check:receivership:us-ca:production-env
npm run check:receivership:us-ca:runbook
npm run check:receivership:us-ca:setup-packet
npm run check:receivership:us-ca:source-activation
npm run check:receivership:us-ca:source-decision-ledger
npm run check:receivership:us-ca:source-decision-ledger-template
npm run check:receivership:us-ca:source-decision-packet
npm run check:receivership:us-ca:source-health
npm run fetch:receivership:us-ca
npm run verify:receivership:us-ca
npm run verify:receivership:us-ca:production
```

### Ready When

- All required GitHub Actions Secrets and Variables for this source are configured.
- Any required account, paid-search, cost-control, or terms-review step is approved.
- The filled source decision ledger marks this source approved and ready, validates with npm run check:receivership:us-ca:source-decision-ledger, and is supplied to the production-ready workflow as RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64.
- Required first-party import files validate against public/data/receivership/us-ca-import-templates.json.
- The source health row is ok/fresh after the next US/Canada refresh.
- The row-producing source collector is implemented, not preflight-only.
- The strict production verifier exits successfully.

## 4. PACER Case Locator

- Source ID: us-pacer-case-locator
- Setup ID: credentials:pacer-case-locator
- Status: skipped_credentials
- Queue owner: operator_with_account_and_budget_authority
- Workstream: pacer_account_and_cost_controls
- Billable: yes
- Account/payment authority required: yes
- Terms review required: no
- Legal review required: no
- Account or reference URL: https://pacer.uscourts.gov/find-case/search-national-index
- Action required: Complete PACER Case Locator credentials and daily cost-cap setup before enabling bounded PCL ingestion. Missing: PACER_USERNAME and PACER_PASSWORD, RECEIVERSHIP_PACER_DAILY_COST_CAP_USD. PACER_OTP and PACER_CLIENT_CODE are optional depending on account settings.
- Why now: National US bankruptcy backstop depends on PACER credentials and explicit daily cost controls.

### Decision Checklist

- [ ] Confirm no additional terms/legal decision is required.
- [ ] Account/payment owner has approved the account-backed search or docket access.
- [ ] Daily spend/search/page caps are approved before any paid source is enabled.
- [ ] Confirm no authorized import file is required for this source.
- [ ] Required GitHub inputs are configured with approved values only.
- [ ] Final source and production verification commands pass.

### Decision Record

| Decision                     | Record                           |
| ---------------------------- | -------------------------------- |
| Decision owner               | TBD                              |
| Approval date                | TBD                              |
| Terms/legal outcome          | approve / decline / not required |
| Account/payment outcome      | approve / decline / not required |
| Cost cap/search cap/page cap | TBD                              |
| Authorized import file path  | TBD                              |
| GitHub inputs changed        | TBD                              |
| Verification evidence        | TBD                              |

### Official References

- PACER Case Locator: https://pacer.uscourts.gov/find-case/search-national-index
- PACER registration FAQ: https://pacer.uscourts.gov/help/faqs/registration
- PACER policy and fee information: https://pacer.uscourts.gov/policy-procedures

### Required Inputs

| Input                                 | Kind     | Required | Configured | Purpose                                    |
| ------------------------------------- | -------- | -------- | ---------- | ------------------------------------------ |
| PACER_USERNAME                        | secret   | yes      | no         | PACER account username.                    |
| PACER_PASSWORD                        | secret   | yes      | no         | PACER account password.                    |
| RECEIVERSHIP_PACER_DAILY_COST_CAP_USD | variable | yes      | no         | Daily PACER Case Locator spend cap in USD. |

### Cost-Control Inputs

| Input                                 | Kind     | Required | Configured | Purpose                                    |
| ------------------------------------- | -------- | -------- | ---------- | ------------------------------------------ |
| RECEIVERSHIP_PACER_DAILY_COST_CAP_USD | variable | yes      | no         | Daily PACER Case Locator spend cap in USD. |

### Missing Inputs

- PACER_PASSWORD
- PACER_USERNAME
- RECEIVERSHIP_PACER_DAILY_COST_CAP_USD

### Activation Steps

- [ ] Register or confirm a PACER account and billing responsibility.
- [ ] Set PACER_USERNAME and PACER_PASSWORD; add PACER_TOTP_SECRET, PACER_OTP, and PACER_CLIENT_CODE if the account requires them.
- [ ] Run npm run check:pacer before enabling billable Case Locator searches.

### GitHub Setup Commands

```bash
PACER_PASSWORD_VALUE='<PACER password>'; if [ "$PACER_PASSWORD_VALUE" = '<PACER password>' ]; then echo 'Replace PACER_PASSWORD_VALUE before setting PACER_PASSWORD' >&2; false; else gh secret set PACER_PASSWORD --app actions --repo 'charliecf/charts.fyi' --body "$PACER_PASSWORD_VALUE"; fi
PACER_USERNAME_VALUE='<PACER username>'; if [ "$PACER_USERNAME_VALUE" = '<PACER username>' ]; then echo 'Replace PACER_USERNAME_VALUE before setting PACER_USERNAME' >&2; false; else gh secret set PACER_USERNAME --app actions --repo 'charliecf/charts.fyi' --body "$PACER_USERNAME_VALUE"; fi
RECEIVERSHIP_PACER_DAILY_COST_CAP_USD_VALUE='<approved USD daily cap>'; if [ "$RECEIVERSHIP_PACER_DAILY_COST_CAP_USD_VALUE" = '<approved USD daily cap>' ]; then echo 'Replace RECEIVERSHIP_PACER_DAILY_COST_CAP_USD_VALUE before setting RECEIVERSHIP_PACER_DAILY_COST_CAP_USD' >&2; false; else gh variable set RECEIVERSHIP_PACER_DAILY_COST_CAP_USD --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_PACER_DAILY_COST_CAP_USD_VALUE"; fi
PACER_CLIENT_CODE_VALUE='<optional PACER client code>'; if [ "$PACER_CLIENT_CODE_VALUE" = '<optional PACER client code>' ]; then echo 'Replace PACER_CLIENT_CODE_VALUE before setting PACER_CLIENT_CODE' >&2; false; else gh secret set PACER_CLIENT_CODE --app actions --repo 'charliecf/charts.fyi' --body "$PACER_CLIENT_CODE_VALUE"; fi
PACER_OTP_VALUE='<one-time PACER MFA code>'; if [ "$PACER_OTP_VALUE" = '<one-time PACER MFA code>' ]; then echo 'Replace PACER_OTP_VALUE before setting PACER_OTP' >&2; false; else gh secret set PACER_OTP --app actions --repo 'charliecf/charts.fyi' --body "$PACER_OTP_VALUE"; fi
PACER_TOTP_SECRET_VALUE='<optional PACER TOTP seed>'; if [ "$PACER_TOTP_SECRET_VALUE" = '<optional PACER TOTP seed>' ]; then echo 'Replace PACER_TOTP_SECRET_VALUE before setting PACER_TOTP_SECRET' >&2; false; else gh secret set PACER_TOTP_SECRET --app actions --repo 'charliecf/charts.fyi' --body "$PACER_TOTP_SECRET_VALUE"; fi
```

### Source Verification

```bash
npm run check:pacer
npm run check:receivership:us-ca:blockers
npm run check:receivership:us-ca:config
npm run check:receivership:us-ca:github-env
npm run check:receivership:us-ca:import-templates
npm run check:receivership:us-ca:production-blocker-issue
npm run check:receivership:us-ca:production-env
npm run check:receivership:us-ca:runbook
npm run check:receivership:us-ca:setup-packet
npm run check:receivership:us-ca:source-activation
npm run check:receivership:us-ca:source-decision-ledger
npm run check:receivership:us-ca:source-decision-ledger-template
npm run check:receivership:us-ca:source-decision-packet
npm run check:receivership:us-ca:source-health
npm run fetch:receivership:us-ca
npm run verify:receivership:us-ca
npm run verify:receivership:us-ca:production
```

### Ready When

- All required GitHub Actions Secrets and Variables for this source are configured.
- Any required account, paid-search, cost-control, or terms-review step is approved.
- The filled source decision ledger marks this source approved and ready, validates with npm run check:receivership:us-ca:source-decision-ledger, and is supplied to the production-ready workflow as RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64.
- Required first-party import files validate against public/data/receivership/us-ca-import-templates.json.
- The source health row is ok/fresh after the next US/Canada refresh.
- The row-producing source collector is implemented, not preflight-only.
- The strict production verifier exits successfully.

## 5. PACER specific-court docket polling

- Source ID: us-pacer-court-polling
- Setup ID: setup:us-pacer-court-polling
- Status: skipped_credentials
- Queue owner: operator_with_account_and_budget_authority
- Workstream: pacer_court_polling_and_import
- Billable: yes
- Account/payment authority required: yes
- Terms review required: no
- Legal review required: no
- Account or reference URL: https://pacer.uscourts.gov/find-case
- Action required: Complete PACER court-specific credentials, court allowlist, cost controls, polling approval, and authorized docket import setup before enabling this source. Missing: PACER_USERNAME and PACER_PASSWORD, RECEIVERSHIP_PACER_COURT_ALLOWLIST, RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD, RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES, RECEIVERSHIP_PACER_COURT_POLLING_ENABLED=true after credentials, allowlist, and cost controls are approved, RECEIVERSHIP_PACER_COURT_IMPORT_PATH pointing to an approved JSON, NDJSON, or CSV CM/ECF docket export.
- Why now: Court-specific PACER polling is the narrowest and most expensive remaining path, so it should run after account, allowlist, import, and cap decisions are settled.

### Decision Checklist

- [ ] Confirm no additional terms/legal decision is required.
- [ ] Account/payment owner has approved the account-backed search or docket access.
- [ ] Daily spend/search/page caps are approved before any paid source is enabled.
- [ ] Obtain authorized PACER court-specific CM/ECF docket export export.
- [ ] Store it at the path configured by RECEIVERSHIP_PACER_COURT_IMPORT_PATH.
- [ ] Confirm accepted format: csv, json, ndjson.
- [ ] Run npm run check:receivership:us-ca:import-templates.
- [ ] Compare CSV rows against public/data/receivership/us-ca-import-template-pacer-court.csv.
- [ ] Required GitHub inputs are configured with approved values only.
- [ ] Final source and production verification commands pass.

### Decision Record

| Decision                     | Record                           |
| ---------------------------- | -------------------------------- |
| Decision owner               | TBD                              |
| Approval date                | TBD                              |
| Terms/legal outcome          | approve / decline / not required |
| Account/payment outcome      | approve / decline / not required |
| Cost cap/search cap/page cap | TBD                              |
| Authorized import file path  | TBD                              |
| GitHub inputs changed        | TBD                              |
| Verification evidence        | TBD                              |

### Official References

- PACER find a case: https://pacer.uscourts.gov/find-case
- PACER registration FAQ: https://pacer.uscourts.gov/help/faqs/registration
- PACER policy and fee information: https://pacer.uscourts.gov/policy-procedures

### Required Inputs

| Input                                       | Kind     | Required | Configured | Purpose                                                                                         |
| ------------------------------------------- | -------- | -------- | ---------- | ----------------------------------------------------------------------------------------------- |
| PACER_USERNAME                              | secret   | yes      | no         | PACER account username.                                                                         |
| PACER_PASSWORD                              | secret   | yes      | no         | PACER account password.                                                                         |
| RECEIVERSHIP_PACER_COURT_ALLOWLIST          | variable | yes      | no         | Court IDs approved for court-specific PACER docket polling.                                     |
| RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD | variable | yes      | no         | Daily court-specific PACER spend cap in USD.                                                    |
| RECEIVERSHIP_PACER_COURT_IMPORT_PATH        | variable | yes      | no         | Path to an approved court-specific PACER CM/ECF docket export in JSON, NDJSON, or CSV form.     |
| RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES   | variable | yes      | no         | Maximum court-specific PACER docket pages per run.                                              |
| RECEIVERSHIP_PACER_COURT_POLLING_ENABLED    | variable | yes      | no         | Enables court-specific PACER docket polling after credentials and cost controls are configured. |

### Cost-Control Inputs

| Input                                       | Kind     | Required | Configured | Purpose                                            |
| ------------------------------------------- | -------- | -------- | ---------- | -------------------------------------------------- |
| RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD | variable | yes      | no         | Daily court-specific PACER spend cap in USD.       |
| RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES   | variable | yes      | no         | Maximum court-specific PACER docket pages per run. |

### Missing Inputs

- PACER_PASSWORD
- PACER_USERNAME
- RECEIVERSHIP_PACER_COURT_ALLOWLIST
- RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD
- RECEIVERSHIP_PACER_COURT_IMPORT_PATH
- RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES
- RECEIVERSHIP_PACER_COURT_POLLING_ENABLED

### Activation Steps

- [ ] Register or confirm a PACER account and billing responsibility for court-specific CM/ECF access.
- [ ] Choose the bankruptcy court allowlist and set a daily cost cap plus docket-page cap.
- [ ] Save approved court-specific CM/ECF docket exports as JSON, NDJSON, or CSV and point RECEIVERSHIP_PACER_COURT_IMPORT_PATH at that file.
- [ ] Set RECEIVERSHIP_PACER_COURT_ALLOWLIST, RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD, RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES, and RECEIVERSHIP_PACER_COURT_POLLING_ENABLED=true only after cost controls are reviewed.

### GitHub Setup Commands

```bash
PACER_PASSWORD_VALUE='<PACER password>'; if [ "$PACER_PASSWORD_VALUE" = '<PACER password>' ]; then echo 'Replace PACER_PASSWORD_VALUE before setting PACER_PASSWORD' >&2; false; else gh secret set PACER_PASSWORD --app actions --repo 'charliecf/charts.fyi' --body "$PACER_PASSWORD_VALUE"; fi
PACER_USERNAME_VALUE='<PACER username>'; if [ "$PACER_USERNAME_VALUE" = '<PACER username>' ]; then echo 'Replace PACER_USERNAME_VALUE before setting PACER_USERNAME' >&2; false; else gh secret set PACER_USERNAME --app actions --repo 'charliecf/charts.fyi' --body "$PACER_USERNAME_VALUE"; fi
RECEIVERSHIP_PACER_COURT_ALLOWLIST_VALUE='<comma-separated approved PACER court IDs>'; if [ "$RECEIVERSHIP_PACER_COURT_ALLOWLIST_VALUE" = '<comma-separated approved PACER court IDs>' ]; then echo 'Replace RECEIVERSHIP_PACER_COURT_ALLOWLIST_VALUE before setting RECEIVERSHIP_PACER_COURT_ALLOWLIST' >&2; false; else gh variable set RECEIVERSHIP_PACER_COURT_ALLOWLIST --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_PACER_COURT_ALLOWLIST_VALUE"; fi
RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD_VALUE='<approved USD daily cap>'; if [ "$RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD_VALUE" = '<approved USD daily cap>' ]; then echo 'Replace RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD_VALUE before setting RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD' >&2; false; else gh variable set RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_PACER_COURT_DAILY_COST_CAP_USD_VALUE"; fi
RECEIVERSHIP_PACER_COURT_IMPORT_PATH_VALUE='<path to approved PACER court docket export>'; if [ "$RECEIVERSHIP_PACER_COURT_IMPORT_PATH_VALUE" = '<path to approved PACER court docket export>' ]; then echo 'Replace RECEIVERSHIP_PACER_COURT_IMPORT_PATH_VALUE before setting RECEIVERSHIP_PACER_COURT_IMPORT_PATH' >&2; false; else gh variable set RECEIVERSHIP_PACER_COURT_IMPORT_PATH --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_PACER_COURT_IMPORT_PATH_VALUE"; fi
RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES_VALUE='<approved maximum docket pages per run>'; if [ "$RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES_VALUE" = '<approved maximum docket pages per run>' ]; then echo 'Replace RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES_VALUE before setting RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES' >&2; false; else gh variable set RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_PACER_COURT_MAX_DOCKET_PAGES_VALUE"; fi
RECEIVERSHIP_PACER_COURT_POLLING_ENABLED_VALUE='<true after approvals and controls are in place>'; if [ "$RECEIVERSHIP_PACER_COURT_POLLING_ENABLED_VALUE" = '<true after approvals and controls are in place>' ]; then echo 'Replace RECEIVERSHIP_PACER_COURT_POLLING_ENABLED_VALUE before setting RECEIVERSHIP_PACER_COURT_POLLING_ENABLED' >&2; false; else gh variable set RECEIVERSHIP_PACER_COURT_POLLING_ENABLED --repo 'charliecf/charts.fyi' --body "$RECEIVERSHIP_PACER_COURT_POLLING_ENABLED_VALUE"; fi
PACER_CLIENT_CODE_VALUE='<optional PACER client code>'; if [ "$PACER_CLIENT_CODE_VALUE" = '<optional PACER client code>' ]; then echo 'Replace PACER_CLIENT_CODE_VALUE before setting PACER_CLIENT_CODE' >&2; false; else gh secret set PACER_CLIENT_CODE --app actions --repo 'charliecf/charts.fyi' --body "$PACER_CLIENT_CODE_VALUE"; fi
```

### Source Verification

```bash
npm run check:receivership:us-ca:blockers
npm run check:receivership:us-ca:config
npm run check:receivership:us-ca:github-env
npm run check:receivership:us-ca:import-templates
npm run check:receivership:us-ca:production-blocker-issue
npm run check:receivership:us-ca:production-env
npm run check:receivership:us-ca:runbook
npm run check:receivership:us-ca:setup-packet
npm run check:receivership:us-ca:source-activation
npm run check:receivership:us-ca:source-decision-ledger
npm run check:receivership:us-ca:source-decision-ledger-template
npm run check:receivership:us-ca:source-decision-packet
npm run check:receivership:us-ca:source-health
npm run fetch:receivership:us-ca
npm run verify:receivership:us-ca
npm run verify:receivership:us-ca:production
```

### Ready When

- All required GitHub Actions Secrets and Variables for this source are configured.
- Any required account, paid-search, cost-control, or terms-review step is approved.
- The filled source decision ledger marks this source approved and ready, validates with npm run check:receivership:us-ca:source-decision-ledger, and is supplied to the production-ready workflow as RECEIVERSHIP_US_CA_SOURCE_DECISION_LEDGER_GZIP_BASE64.
- Required first-party import files validate against public/data/receivership/us-ca-import-templates.json.
- The source health row is ok/fresh after the next US/Canada refresh.
- The row-producing source collector is implemented, not preflight-only.
- The strict production verifier exits successfully.

## Final Verification

Run these commands after every source decision has been recorded and applied:

```bash
npm run fetch:receivership:us-ca
npm run check:receivership:us-ca:production-env
npm run check:receivership:us-ca:github-env
npm run check:receivership:us-ca:import-templates
npm run check:receivership:us-ca:blockers
npm run check:receivership:us-ca:production-blocker-issue
npm run check:receivership:us-ca:setup-packet
npm run check:receivership:us-ca:source-decision-ledger
npm run check:receivership:us-ca:source-decision-ledger-template
npm run check:receivership:us-ca:source-decision-packet
npm run check:receivership:us-ca:source-activation
npm run check:receivership:us-ca:source-health
npm run check:receivership:us-ca:runbook
npm run verify:receivership:us-ca:production
```

Production-ready workflow: .github/workflows/receivership-us-ca-production-ready.yml
Refresh workflow: .github/workflows/receivership-us-ca.yml
