Register a project
Registering puts your toolkit in the library's directory, with a landing page of its own. It is an agreement in principle: nothing in it is binding, and you don't need it to submit a solution.
-
Open the form
Fill in Register a toolkit in the working group's tracker, one issue per toolkit.
-
Add your links
Documentation, installation, tutorials and where users ask for help. Your landing page is built from them.
-
Keep it current
Edit the issue whenever the details change.
Submit a solution
A solution is a runnable implementation of one of the library's models. Keep the model and its calibration fixed; the method, the prose and the format are yours. Submit on behalf of a toolkit's project or as an individual.
-
Read the model
Start with its description and submission guide, such as buffer stock's.
-
Solve it
A notebook, a MyST document or another runnable format, reporting the results the description lists.
-
Add
metadata.ymlA short file: the authors and maintainers, the description version you follow, and your AI disclosure.
-
Open a pull request
Add your directory under
solutions/<model>/. A check names any missing field.
Stuck on a step? Open an issue or a draft pull request with what you have, and the library team will help bring your solution into the library.
Ask for help ↗solutions/buffer-stock/001-hark-egm/
001- The next free number among the model's solutions.
hark- Your toolkit, or your language if you use none.
egm- Your method, such as
vfioregm.
Your solution stays yours. You author and maintain it, and changes to it, by anyone, need a maintainer's approval. How submissions are reviewed is being settled in #6.
Propose a model
A model description is the template every solution of a model follows: the model, its calibration and the results each solution reports. The baseline set is a starting proposal, not a ceiling. Proposing a model is for domain experts: people who know the model and its literature well enough to state it precisely.
The specification is the contribution.
Solutions from different toolkits can be compared only when they solve the same problem. A gap in the description lets correct solutions disagree for reasons no one can trace, and every solution inherits it. So the library asks more of a description than of any one solution.
A good description is
- Complete
- Someone who hasn't read the source paper can implement the model from the description alone.
- Unambiguous
- Two people implementing it independently solve the same problem, with any free choice named.
- Correct
- Checked against its sources, with any departure from the paper stated and explained.
- Comparable
- Results are evaluated at fixed points, so correct solutions by any method agree.
- Solvable by more than one toolkit
- Nothing in it relies on a feature that only one toolkit has.
- A baseline
- A standard version of a model the field knows, kept as small as its purpose allows.
What it pins down
- Sources
- Model
- Calibration
- Conditions
- Numerical solution
- Results
- Checks
The buffer stock description states each of these and is the example to follow.
Submit a reference solution with it
One runnable solution that reports every result, as buffer stock has with HARK. It shows that the model can be solved, gives later solutions a baseline to verify against, and is the best test of the specification.
Open a pull request
Add the description under models/<model>/, following the buffer stock directory, and say what the model is, why it belongs and which toolkits could solve it. It starts as draft v0.1.
Versions
Each model description has its own version number, so every solution can say exactly which one it follows.
Draft
Until the working group releases it as 1.0. Every change to a draft raises the minor version.
Minor version
A touch-up: clearer wording, a corrected typo, an added note. The results are unchanged.
Major version
The model, the calibration or the reported results changed, so solutions re-run.
Each version has an entry in the model's changelog, and is tagged and released with its PDF.
AI and verification
Every description and solution says how much AI helped produce it and whether a person has verified it. Both describe the process: neither claims that a document is free of errors, and neither ranks documents, toolkits or submitters.
- No AINo AI was used.
- AI-editedPeople wrote it; AI suggested edits.
- AI-assistedAI drafted some or most of it; people edited it throughout.
- AI-generatedAI drafted it; people edited it lightly.
Report the highest category that applies to any substantial part, such as one section or the code. Choices about the model, the calibration and the results always belong to the authors.
A named person checked it end to end
Against its sources: a description against the papers it cites, a solution against its description. Verification belongs to one version, so a new version shows as not yet verified until someone checks it.
Human verified Not yet verified