Skip to content

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

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.