Repository navigation
Lab PI types, RFA import, award deletion, and a Compose fix for fresh servers - #2
Merged
Merged
Conversation
The scheduler service shared the web image but had no build section, so on a fresh machine Compose tried to pull grant-tracker:latest from Docker Hub and failed with "pull access denied". Move the build into the shared service config and set pull_policy: never so Compose always builds the image locally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01446i9MHUqpAxy63YiJgDuq
- New person types: "Lab PI (lab head)" for the head of this lab and "Principal investigator (other lab)" for MPI partners, separate from external collaborators. - Only one Lab PI (enforced in the database), linked to an Owner login and assignable only by an Owner; editors cannot change or delete it. - The Lab PI joins every new, imported or cloned application's team with the role implied by "My role", and follows later role changes. - Effort and Current & Pending default to the Lab PI. - Profile page "This is me" button; the first owner created from .env gets a Lab PI record automatically. - Demo data and README updated; tests added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01446i9MHUqpAxy63YiJgDuq
Point the app at an announcement and it pre-fills a new Opportunity for review. Sources are merged by confidence: - Grants.gov public API for federal numbers, plus the NIH Guide notice - Rule-based extraction tuned for NIH Guide, NSF and foundation layouts (due-date tables, LOI rules, NIH standard dates, budget, project period, institutes, eligibility, limited submission, contact) - Optional Claude extraction when ANTHROPIC_API_KEY is set The review form highlights auto-filled fields, shows each value's source, warns about duplicates, matches funders by domain or name and offers to create a missing funder on save. Link fetching rejects private addresses, caps size and checks every redirect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01446i9MHUqpAxy63YiJgDuq
Owners can delete an award record created by mistake from the award's menu. The confirmation lists what is deleted and kept, warns when the award holds real data (award number, account, later NoAs, spending, completed tasks), requires typing DELETE, and moves the application back to its status before Awarded (or keeps it Awarded for a fresh record). Generated reporting and award-setup tasks can be removed with it; tasks added by hand are kept. Dates set by the award change are cleared when moving back to a pending or pre-submission status. Applications that still carry an award after leaving Awarded are flagged. Awards gain an Ended status (project period over, before close-out), a quick status menu, and a prompt to mark an award ended once its end date has passed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01446i9MHUqpAxy63YiJgDuq
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
mainup to date with four commits pushed to this branch after #1 merged. This is the code currently running locally (eaa9ccc), and the production deploy at funding.gofflab.org restores a database built on it.Changes
619ed41Compose builds the app image for every service. On a fresh machine the scheduler tried to pullgrant-tracker:latestfrom Docker Hub and failed with "pull access denied". The build now lives in the shared service config withpull_policy: never.25042f0Lab PI and principal investigator person types. There is one Lab PI per lab, enforced in the database and linked to an Owner. The Lab PI joins new, imported and cloned application teams, and Effort and Current & Pending default to them. Adds migration0003_person_lab_pi_and_pi_types.92fb480Import opportunities from an RFA link, number, file or text. Uses the Grants.gov API and the NIH Guide, rule-based extraction for NIH, NSF and foundation layouts, and optional Claude extraction whenANTHROPIC_API_KEYis set. Adds theanthropicdependency and two new.env.exampleentries.eaa9cccAward deletion with safeguards, and an Ended award status. Adds migration0004_award_status_ended.Testing
CI (tests,
check --deploy, migration check, Docker build) passed on every commit, including the headeaa9ccc. The branch merges intomainwith no conflicts.🤖 Generated with Claude Code
https://claude.ai/code/session_01SAPwFhRyU83ey74tK1cYbJ
Generated by Claude Code