This documents how we keep up with the NGI0 consortium requirements and make sure everything that needs to be done actually gets done. We also want to be able to make a quantitative report to NLnet at any given time.
This process description refers to various data sources; check the information architecture document for details.
-
Triage: Periodically (e.g. every 14-28 days) check “New Projects” and triage according to the project assessment checklist
-
Status update: Periodically (e.g. every 14-28 days) synchronize which projects are still active
- Close GitHub milestones where the project has no planned tasks any more
- Set the activity status in Notion accordingly, update the collaboration status
- Set the status in the NLnet dashboard
This needs to be done manually for now, but could potentially be automated.
-
Progress tracking: Keep notes related to management in the Notion project entries
- Tag updates with
@today
- List attendees when recording discussions or decisions
- Tag updates with
-
Timesheets: Review participants' timesheets in regular check-ins (e.g. weekly)
- Check that all entries have links to artefacts
- pull request, issue comment, publication, …
- Approve entries that pass the checks
- Check that all entries have links to artefacts
-
Invoices: When an invoice is submitted
- Check that the approved timesheet entries add up to the invoiced hours
- Check that VAT rules are followed
- Create a new entry in the Notion invoices table
- Add the PDF and enter invoice details, link the contract
- Export approved timesheet items, run cleanup script, import into global timesheets table
- Link the newly created invoice entry for all new items
- When everything checks out, send out approval
- NixOS Foundation has to trigger the transfer
-
Internal reporting: As part of preparing an NLnet management check-in, run the reporting script (TODO) to generate an overview
- Given the entire collection of projects for a fund, we want to be able to determine for each of them:
- the degree of completion
- relative to what was planned
- read open issues from the GitHub milestone for the project
- if issues have labels for deliverables, those are incomplete
- relative to what the project may need
- read the NGIpkgs data structure for the project
- relative to what was planned
- activity traces (pull requests, issue comments, …)
- related work in progress (open pull requests)
- planned future work (open/assigned issues in milestones)
- cost per project
- allocated amount, total amount paid, burn rate, runway
- the degree of completion
- Given the entire collection of projects for a fund, we want to be able to determine for each of them:
-
Reporting to the European Commission: Following reporting periods for each grant, generate financial reports and compile written reports
- For submitting reports, follow the instructions for using the EU tenders portal