Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ The Community Library is an open-source library of baseline models in computatio
For each model the library documents the model statement and the calibration, so that implementations in different toolkits can be compared side by side.
Each implementation is authored and maintained by the project that built the toolkit and is open to review by the community.

The library is hosted by QuantEcon and published at **<https://quantecon.github.io/community-library/>**. It is run in collaboration with the [SCE Working Group 1 on Language and Formal Semantics](https://github.com/econ-ark/sce-wg-1).
The library is hosted by QuantEcon and published at **<https://quantecon.github.io/community-library/>**. It is run in collaboration with the [SCE Working Group 1 on Language and Semantics](https://github.com/econ-ark/sce-wg-1).
This repository holds the community website and the notebooks submitted by participating projects.

## How it works

The working group provides a set of baseline models. Each participating project chooses as many as its toolkit can solve — several or just one — and completes the model's template notebook in its own toolkit: the code, plus commentary where its method differs. The completed notebook is its tutorial. Baseline templates (a PDF and a notebook per model, with the model statement and explanatory text already written) are distributed from the working group website.
The working group provides a set of baseline models. Each participating project chooses as many as its toolkit can solve — several or just one — and writes its solution in its own toolkit and format: the code, plus commentary where its method differs. That notebook is its tutorial. Each model has a shared model description, published as a page and a PDF, that pins the model, its calibration and what each solution reports, and leaves the method to the project.

Four models seed the set:
Buffer-stock saving comes first; four more are proposed:

| Baseline model | Model class |
| --- | --- |
| Buffer-stock saving | Consumption–saving under income risk |
| Aiyagari · Krusell–Smith | Incomplete-markets heterogeneous agents |
| A two-asset HANK model | Heterogeneous-agent New Keynesian |
| A small New Keynesian DSGE model | Representative-agent DSGE |
Expand All @@ -29,7 +30,7 @@ Four models seed the set:
| `docs/index.html` | the page |
| `docs/site.css` | design tokens and components |
| `docs/site.js` | contents-rail scrollspy |
| `docs/sce-wg1-2026-10-01.html` | the Project B talk to SCE Working Group 1 (1 October 2026): a self-contained reveal.js deck, rendered from its Quarto source in `presentations/2026-10-01-sce-wg1-community-library/` of QuantEcon/project-community-library |
| `docs/sce-wg1-2026-10-01.html` | the Project B talk to SCE Working Group 1 (1 October 2026), a self-contained reveal.js deck |
| `docs/assets/` | images |

`.github/workflows/publish.yml` checks the site on every push and pull request — local references resolve, in-page anchors resolve, and the contents rail is still wired to its sections — then deploys `docs/` to GitHub Pages from `main`. Pull requests get the same checks plus the built site as a downloadable artifact, so a change can be reviewed rendered.
Expand All @@ -38,7 +39,7 @@ Publishing requires **Settings → Pages → Build and deployment → Source: Gi

## Status

The repository structure, contribution guidelines, and the first baseline templates are in preparation. Until then, discussion happens in the [working group issue tracker](https://github.com/econ-ark/sce-wg-1/issues).
The repository structure, contribution guidelines, and the first model descriptions are in preparation; the buffer-stock saving description and a HARK solution are in review in #5. Until then, discussion happens in the [working group issue tracker](https://github.com/econ-ark/sce-wg-1/issues).

## Licensing

Expand Down
67 changes: 40 additions & 27 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ <h2>Hosted by QuantEcon</h2>
<div class="host-rule" aria-hidden="true"></div>
<span class="eyebrow">Working alongside</span>
<ul class="alongside">
<li><strong>SCE Working Group 1</strong> — publishes the baseline set and templates.</li>
<li><strong>SCE Working Group 1</strong> — publishes the baseline set and its model descriptions.</li>
</ul>
</div>
</div>
Expand Down Expand Up @@ -100,7 +100,7 @@ <h2>Hosted by QuantEcon</h2>
<li><a href="#why" data-navlink="why"><span class="n">01</span>Why</a></li>
<li><a href="#library" data-navlink="library"><span class="n">02</span>The library</a></li>
<li><a href="#how" data-navlink="how"><span class="n">03</span>How it works</a></li>
<li><a href="#templates" data-navlink="templates"><span class="n">04</span>Templates</a></li>
<li><a href="#descriptions" data-navlink="descriptions"><span class="n">04</span>Descriptions</a></li>
<li><a href="#ask" data-navlink="ask"><span class="n">05</span>The ask</a></li>
<li><a href="#governance" data-navlink="governance"><span class="n">06</span>Who does what</a></li>
<li><a href="#roadmap" data-navlink="roadmap"><span class="n">07</span>Roadmap</a></li>
Expand Down Expand Up @@ -154,12 +154,25 @@ <h3>Community first, corpus second</h3>
<span class="n">02</span>
<h2>The library</h2>
</div>
<p class="section-lede">The working group publishes a set of baseline models. Each project chooses as many as its toolkit can solve — several or just one — and submits a tutorial for each. Four models seed the set.</p>
<p class="section-lede">The working group publishes a set of baseline models. Each project chooses as many as its toolkit can solve — several or just one — and submits a tutorial for each. Buffer-stock saving comes first; four more are proposed.</p>

<div class="models">
<div class="models-head">
<span class="eyebrow">Baseline set · v0 proposal</span>
<span class="eyebrow">Implementations · template</span>
<span class="eyebrow">Implementations · description</span>
</div>

<div class="model">
<div class="model-name">
<h3>Buffer-stock saving</h3>
<p class="model-class">Consumption–saving under income risk</p>
</div>
<div class="slots" aria-label="Three implementation slots: HARK, in review, and two open">
<a class="slot is-filled" href="https://github.com/QuantEcon/community-library/pull/5" title="HARK's solution, in review in pull request #5">HARK · in review</a>
<span class="slot">open</span>
<span class="slot">open</span>
</div>
<div class="model-template">description ⟨draft⟩</div>
</div>

<div class="model">
Expand All @@ -172,7 +185,7 @@ <h3>Aiyagari · Krusell–Smith</h3>
<span class="slot">open</span>
<span class="slot">open</span>
</div>
<div class="model-template">template ⟨draft⟩</div>
<div class="model-template">description ⟨planned⟩</div>
</div>

<div class="model">
Expand All @@ -185,7 +198,7 @@ <h3>A two-asset HANK model</h3>
<span class="slot">open</span>
<span class="slot">open</span>
</div>
<div class="model-template">template ⟨draft⟩</div>
<div class="model-template">description ⟨planned⟩</div>
</div>

<div class="model">
Expand All @@ -198,7 +211,7 @@ <h3>A small New Keynesian DSGE model</h3>
<span class="slot">open</span>
<span class="slot">open</span>
</div>
<div class="model-template">template ⟨draft⟩</div>
<div class="model-template">description ⟨planned⟩</div>
</div>

<div class="model">
Expand All @@ -211,15 +224,15 @@ <h3>A baseline agent-based macro model</h3>
<span class="slot">open</span>
<span class="slot">open</span>
</div>
<div class="model-template">template ⟨draft⟩</div>
<div class="model-template">description ⟨planned⟩</div>
</div>

<a class="models-cta" href="https://github.com/econ-ark/sce-wg-1/issues">
<span>Propose a model — the set is a starting proposal, not a ceiling.</span>
<span class="go">open an issue ↗</span>
</a>
</div>
<p class="footnote">Open slots fill as projects join — one per participating toolkit. A model earns its place in the set by being solved; each row's template pins what has to line up.</p>
<p class="footnote">Open slots fill as projects join — one per participating toolkit. A model earns its place in the set by being solved; each row's description pins what has to line up.</p>
</section>

<section class="section" id="how" data-spy="how">
Expand All @@ -243,12 +256,12 @@ <h3>An author's-choice showcase</h3>
<p class="aside-note">Both are published in the toolkit's own notation — no house dialect — with per-model metadata, honest notes on tradeoffs, and CI that runs each implementation and flags breakage.</p>
</section>

<section class="section" id="templates" data-spy="templates">
<section class="section" id="descriptions" data-spy="descriptions">
<div class="section-head">
<span class="n">04</span>
<h2>Baseline templates</h2>
<h2>Model descriptions</h2>
</div>
<p class="section-lede">Each model in the set gets a baseline template: a precise statement of what the model <em class="term">is</em> — enough that results line up across toolkits — without prescribing how it should be solved.</p>
<p class="section-lede">Each model in the set gets a model description: a precise statement of what the model <em class="term">is</em> — enough that results line up across toolkits — without prescribing how it should be solved.</p>

<div class="steps">
<div class="step">
Expand All @@ -263,19 +276,19 @@ <h3>Projects choose models</h3>
</div>
<div class="step">
<span class="n">03</span>
<h3>A template notebook each</h3>
<p>Published as a PDF and a notebook, model statement and explanatory text already written.</p>
<h3>A description each</h3>
<p>Published as a page and a PDF: the model, its calibration, and what each solution reports.</p>
</div>
<div class="step">
<span class="n">04</span>
<h3>Implementations line up</h3>
<p>Each project completes the notebook in its own toolkit — and that notebook is its tutorial.</p>
<p>Each project writes its solution in its own toolkit and format — and that notebook is its tutorial.</p>
</div>
</div>

<div class="panels">
<div class="panel">
<span class="eyebrow">The template pins</span>
<span class="eyebrow">The description pins</span>
<ul>
<li>Functional forms, timing conventions, normalizations</li>
<li>Parameter values, and where they come from</li>
Expand All @@ -285,7 +298,7 @@ <h3>Implementations line up</h3>
</ul>
</div>
<div class="panel is-secondary">
<span class="eyebrow">The template leaves free</span>
<span class="eyebrow">The description leaves free</span>
<ul>
<li>Solution method and algorithm</li>
<li>Grids, discretization, basis functions</li>
Expand All @@ -296,7 +309,7 @@ <h3>Implementations line up</h3>
</div>
</div>

<p class="section-note">Divergence beyond tolerance is documented and attributed to method — a result of the exercise, not a failure of it. A project that cannot match one element of a template contributes with a documented deviation rather than dropping out. <strong class="flag">Phase 1 publishes no timings and no ranking of toolkits.</strong></p>
<p class="section-note">Divergence beyond tolerance is documented and attributed to method — a result of the exercise, not a failure of it. A project that cannot match one element of a description contributes with a documented deviation rather than dropping out. <strong class="flag">Phase 1 publishes no timings and no ranking of toolkits.</strong></p>
</section>

<section class="section" id="ask" data-spy="ask">
Expand All @@ -309,7 +322,7 @@ <h2>The ask</h2>
<h3>What each project provides</h3>
<ul class="ask-list">
<li>Agreement in principle to take part.</li>
<li>By <strong class="flag">end of 2026</strong>, at least one baseline model solved against its template, so results line up side by side.</li>
<li>By <strong class="flag">end of 2026</strong>, at least one baseline model solved against its description, so results line up side by side.</li>
<li>An author's-choice showcase tutorial highlighting where the toolkit is strongest.</li>
<li>Both contributions authored and maintained by the project — CC-BY for text, an OSI-approved licence for code.</li>
</ul>
Expand All @@ -335,7 +348,7 @@ <h2>Who does what</h2>
<div class="role is-host">
<span class="eyebrow">Host</span>
<h3>QuantEcon</h3>
<p>Publishes and maintains the library, sets editorial standards for what goes in, and builds the shared tooling: local-run handlers for MATLAB, Octave and Julia, schema validators, converters between output formats.</p>
<p>Publishes and maintains the library, sets editorial standards for what goes in, and develops shared tooling in consultation with the projects, as part of <a href="https://quantecon.org/infrastructure/">QuantEcon's open-source infrastructure</a>.</p>
</div>
<div class="role">
<span class="eyebrow">Authors</span>
Expand All @@ -345,7 +358,7 @@ <h3>Participating projects</h3>
<div class="role">
<span class="eyebrow">Baseline set</span>
<h3>SCE Working Group 1</h3>
<p>Builds and releases the baseline set and templates. The library is run in collaboration with the group; QuantEcon attends as a member to see where it can assist the group's semantics work.</p>
<p>Builds and releases the baseline set and its model descriptions. The library is run in collaboration with the group; QuantEcon attends as a member to see where it can assist the group's semantics work.</p>
</div>
<div class="role">
<span class="eyebrow">Semantics</span>
Expand All @@ -371,7 +384,6 @@ <h3>Phase 1 · Community library</h3>
<li>Open-source repository, PRs welcome.</li>
<li>Per-project tutorials and per-model metadata.</li>
<li>CI runs the implementations and flags breakage.</li>
<li>An AI advisor MVP built on the corpus.</li>
</ul>
</div>
<div class="phase is-later">
Expand All @@ -384,6 +396,7 @@ <h3>Phase 2 · Reference standard</h3>
<li>Cross-toolkit validation reports: where do the same model's outputs diverge?</li>
<li>Library models expressed in a shared semantic representation, building on Econ-ARK's DP schema.</li>
<li>Documentation of that design, plus a how-to tutorial.</li>
<li>Exploring an AI advisor built on the corpus.</li>
</ul>
</div>
</div>
Expand Down Expand Up @@ -425,16 +438,16 @@ <h2>Contribute</h2>

<div class="meta-grid">
<div>
<span class="eyebrow">Templates</span>
<p>Distributed from this site — a PDF and a notebook per baseline model, versioned and credited to their author.</p>
<span class="eyebrow">Model descriptions</span>
<p>Published with the library — a page and a PDF per baseline model, versioned and credited to their authors.</p>
</div>
<div>
<span class="eyebrow">Licensing</span>
<p>CC-BY on text; an OSI-approved licence on code.</p>
</div>
<div>
<span class="eyebrow">Discussion</span>
<p>Open questions on templates and the baseline set are settled in the <a href="https://github.com/econ-ark/sce-wg-1/issues">working group issue tracker</a>.</p>
<p>Open questions on model descriptions and the baseline set are settled in the <a href="https://github.com/econ-ark/sce-wg-1/issues">working group issue tracker</a>.</p>
</div>
</div>
</section>
Expand Down Expand Up @@ -467,10 +480,10 @@ <h2>Bring your toolkit into the library.</h2>
<li><a href="https://github.com/QuantEcon/community-library">Repository</a></li>
<li><a href="https://econ-ark.github.io/sce-wg-1/">SCE WG1</a></li>
<li><a href="https://econ-ark.github.io/cef_venice_2026/">CEF 2026</a></li>
<li><span class="tbd">Code of conduct ⟨tbd⟩</span></li>
<li><a href="https://econ-ark.github.io/sce-wg-1/code-of-conduct.html">Code of conduct</a></li>
</ul>
</div>
<p class="footer-note">The Community Library is hosted by QuantEcon. It is run in collaboration with SCE Working Group 1 on Language and Formal Semantics, which publishes the baseline set and templates and leads the semantics track alongside Econ-ARK.</p>
<p class="footer-note">The Community Library is hosted by QuantEcon. It is run in collaboration with SCE Working Group 1 on Language and Semantics, which publishes the baseline set and its model descriptions and leads the semantics track alongside Econ-ARK.</p>
<p class="footer-legal">© 2026 QuantEcon · CC-BY on text, OSI-approved licences on code</p>
</div>
</footer>
Expand Down
12 changes: 11 additions & 1 deletion docs/site.css
Original file line number Diff line number Diff line change
Expand Up @@ -495,8 +495,18 @@ a:hover { color: var(--qe-blue-dark); text-decoration: underline; }
color: #999;
}

/* A slot a project has filled: solid where the open ones are dashed, and a
link to the solution or the pull request that adds it. */
.slot.is-filled {
border-style: solid;
border-color: var(--qe-blue);
color: var(--qe-blue);
}
a.slot.is-filled:visited { color: var(--qe-blue); }
a.slot.is-filled:hover { background: var(--qe-blue); color: #fff; text-decoration: none; }

.model-template {
flex: 0 0 118px;
flex: 0 0 170px;
text-align: right;
font-family: var(--mono);
font-size: .72rem;
Expand Down
Loading