Governance remediation report
Date: 2026-06-14
Branch: development
Baseline: 563c94d
Related: Source compliance audit · Grant ingestion governance
Objective
Bring the repository into practical compliance with the current IKaC governance model without a large-scale historical reprocessing effort.
| Priority | Action | Status |
|---|---|---|
| 1 | Restore evidence chains for corpus-referenced grant sources | ✅ Done |
| 2 | Backfill governance status dimensions on existing grants | ✅ Done |
| 3 | Refresh stale packet refactor_prompt.md files |
✅ Done |
Not performed (per scope): graph export changes, Neo4j, CSV pipeline redesign, resource rewrites, faculty refactor merge, Grice pilot work, grant reprocessing, grant content edits beyond notes status suffixes.
Priority 1 — Evidence chain restoration
Problem
826 grants cite sources/inbox/2026-06-14-ors-annual-reports-2020-2025/uploads/*.pdf, but only refactor_prompt.md was tracked in git. Evidence paths were broken for clones and review.
Actions
Added to git (provenance only — no grant reprocessing):
| Path | Role |
|---|---|
uploads/ (6 PDFs) |
Primary evidence for all ORS-sourced grants |
metadata.yaml |
Intake provenance |
evidence_checklist.md |
Claim ledger |
refactor_output.md |
Refactor report (Phase 1 + 2 summary) |
submitter_notes.md, review_notes.md |
Human context |
extracted/ (11 files) |
Tier indices, intake summary, facility edges |
Verification
Post-remediation check on all 870 grants:
| Check | Result |
|---|---|
evidence_file paths missing on disk |
0 |
sources/ evidence paths untracked in git |
0 |
| Grant content modified | No |
RFUMS / DPU-RFU packets
Already fully tracked (2026-06-14-rfums-dpu-grants-from-2024-and-2023, 2026-06-13-rfums-depaul-2025-grant-awardees-pdf, 2026-06-13-dpu-rfu-awarded-projects). No additional evidence files required.
Not added (intentional)
| Item | Reason |
|---|---|
sources/Summary of DPU-RFU Awarded Projects 2026.pdf (repo root) |
Duplicate of packet copy under 2026-06-13-dpu-rfu-awarded-projects/ |
sources/inbox/2026-06-13-grice-lab-pilot/ |
Out of scope; not referenced by corpus |
sources/inbox/2026-06-13-kyle-grice-faculty-profile/ |
Superseded by -2 packet |
.neo4j/, graph/ |
Local artifacts |
Priority 2 — Governance status backfill
Script
scripts/backfill_grant_governance_notes.py — appends three status dimensions to grant notes when absent, inferring conservatively from existing fields (confidence, verification_status, people, related_resources, grant_resource_links.yaml, evidence paths).
Rules enforced: no new people, no new facility links, no new relationships, no changes to titles/amounts/evidence arrays.
Formatting note: For 178 backfilled grants, multiline folded notes: scalars were collapsed to a single line when appending status suffixes. Semantic note text is unchanged; only YAML line wrapping differs.
Results
| Metric | Count |
|---|---|
| Grants already with status fields (ORS Phase 2) | 692 |
| Grants backfilled | 178 |
| Skipped (ambiguous) | 0 |
| Total with governance notes | 870 / 870 |
Status distributions (178 backfilled grants)
| Dimension | Value | Count |
|---|---|---|
| grant_evidence_status | probable | 149 |
| verified | 28 | |
| needs_review | 1 | |
| person_identity_status | resolved | 171 |
| unresolved | 7 | |
| resource_links_status | not_supported | 167 |
| resolved | 11 |
Corpus-wide totals (870 grants)
| person_identity_status | Count |
|---|---|
| resolved | 171 |
| unresolved | 699 |
(699 = 692 ORS unresolved + 7 backfilled RFUMS/DPU-RFU primary PIs without person_id.)
Notable backfill cases
| Grant | grant_evidence_status | person_identity_status | Notes |
|---|---|---|---|
| GRA-027 | needs_review | resolved | Legacy seed; low confidence signals |
| GRA-035–039 | verified | unresolved | DPU-RFU / RFUMS external or unregistered DePaul PIs |
| GRA-001–029 (CSV seeds) | probable | resolved | Internal Grants Summary export |
| ORS resolved (GRA-046+) | probable/verified | resolved | Tier B listings + featured awards |
Ambiguous cases skipped
None — all 178 candidates had a clear primary PI (role: pi or first entry) and unambiguous resolution state.
Priority 3 — Packet prompt refresh
Documentation-only updates from sources/inbox/_template/refactor_prompt.md (2026-06-14 governance template). No refactors rerun. No corpus changes from prompts.
| Packet | Change |
|---|---|
2026-06-14-ors-annual-reports-2020-2025 |
Section A → source evaluation summary format; refresh header |
2026-06-14-rfums-dpu-grants-from-2024-and-2023 |
Full template + grant governance block |
2026-06-13-rfums-depaul-2025-grant-awardees-pdf |
Full template + grant governance block |
2026-06-13-dpu-rfu-awarded-projects |
Created refactor_prompt.md (was missing) |
2026-06-13-kyle-grice-faculty-profile-2 |
Full template + preserved URL snapshot block |
example-grice-lab |
Full template; verify-only target CSH-016 |
Helper script added for future refreshes: scripts/render_packet_refactor_prompt.py.
Validation
| Check | Result |
|---|---|
pytest (incl. tests/test_ors_grant_intake.py) |
See command output below |
mkdocs build --strict |
See command output below |
Remaining known gaps
| Gap | Severity | Recommended future work |
|---|---|---|
| 699 grants have unresolved PI (no PGL) | Expected | Faculty profile packets → resolve IDs → add PGL incrementally |
GRA-027 flagged needs_review |
Low | Human review of legacy seed evidence |
Kyle Grice -2 refactor_output uses old Section A format |
Low | Update on next faculty refactor (not now) |
| Grice lab pilot untracked / empty | Low | Complete or archive when lab intake resumes |
build_grants_layer.py requires person_id |
Medium | Phase 5 — shared grant intake common module |
| Graph export unresolved-grant handling | Medium | Phase 3 — export_graph_tables.py |
| Legacy resource pages (78) | Low | Packet workflow for new edits only; no bulk reprocess |
Governance fields in notes string, not schema |
Low | Optional schemas/grant.schema.yaml formalization |
Files changed (summary)
| Category | Files |
|---|---|
| Evidence restore | ORS packet uploads/, extracted/, metadata, checklists, notes |
| Corpus backfill | data/grants.yaml (notes only, 178 grants) |
| Prompt refresh | 6 × refactor_prompt.md |
| Tooling | scripts/backfill_grant_governance_notes.py, scripts/backfill_grant_governance_notes_inplace.py, scripts/render_packet_refactor_prompt.py |
| Reports | docs/reports/governance-remediation-report.md, docs/reports/source-compliance-audit.md |
Recommended next commit message (when approved)
Restore grant evidence chains and backfill governance status
Track ORS annual report packet artifacts, backfill grant status
dimensions on legacy rows, and refresh packet refactor prompts.
Stop before commit — awaiting human review of this report and git diff.