Skip to content

ARMonetaryPolicyHABC: four-notebook exposition layer; promote Draft -> Formalized (PR #66 layout) - #77

Open
iremdesdemir wants to merge 25 commits into
econ-ark:masterfrom
iremdesdemir:armonetarypolicyhabc-exposition-layer
Open

ARMonetaryPolicyHABC: four-notebook exposition layer; promote Draft -> Formalized (PR #66 layout)#77
iremdesdemir wants to merge 25 commits into
econ-ark:masterfrom
iremdesdemir:armonetarypolicyhabc-exposition-layer

Conversation

@iremdesdemir

Copy link
Copy Markdown

Summary

Promote models/We-Would-Like-In-Econ-ARK/ARMonetaryPolicyHABC from Draft to Formalized tier by adding the full four-notebook exposition layer on top of the paper-grounded formalization layer. Models the canonical layout of #66 (the Benhabib worked example praised by @llorracc as "the most polished and best-written entry in the cohort, and the only one with the full canonical file structure").

Stacked on #72#76

This PR is stacked on top of:

  1. Formalize and finalize armonetarypolicyhabc: revisions from Claude Opus 4.7 review #72 (armonetarypolicyhabc-formalize-finalize → master): the formalization-layer scaffold (bellman-excerpt.md, dolo-plus-draft.yaml, verification.md, matsya-session.txt, AGENTS.md, self.bib).
  2. ARMonetaryPolicyHABC: paper-grounded verification (Algan & Ragot 2009) — closes PR-#72 deferred item #2 #76 (armonetarypolicyhabc-paper-grounded → master, stacked on Formalize and finalize armonetarypolicyhabc: revisions from Claude Opus 4.7 review #72): the paper-grounded rewrite of verification.md against Algan & Ragot (2009) Review of Economic Dynamics 13(2), pp. 295–316, with paper-equation cross-references.

The diff below will auto-shrink to the 4 exposition-layer commits (Layer A 1/4 → 4/4 listed below) once #72 and #76 merge. Recommended merge order: #72#76#66's-style-formalized-promotion-here.

Layer A — Exposition layer (4 commits)

Mirrors PR #66's Layer A grouping. Each commit is independently reviewable.

  1. ecdbd80 Primer-tier bib infrastructuremyst.yml + references.bib (22 entries: Sidrauski 1967, Tobin 1965, Phelps 1973, Friedman 1969, Bewley 1980/1983, Aiyagari 1994/1995, İmrohoroğlu 1989/1992, Huggett 1993, Erosa–Ventura 2002, Akyol 2004, Chari–Christiano–Kehoe 1996, Correia–Teles 1996, Lagos–Wright 2005, Williamson 2008, Heer–Maussner 2007, Chiu–Molico 2008, Algan–Challe–Ragot 2008) + subsequent-literature.bib (14 entries: Doepke–Schneider 2006, Ragot 2014, Challe et al. 2017, McKay–Reis 2016, McKay–Nakamura–Steinsson 2016, Kaplan–Moll–Violante 2018, Auclert 2019, Werning 2015, Gornemann–Kuester–Nakajima 2016, Sterk–Tenreyro 2018, Auclert–Rognlie–Straub 2024, Ragot 2018, Bayer et al. 2019, Auclert–Rognlie 2018).

  2. ab403d6 Four-notebook exposition layer:

    • _intro.ipynb — citation, DOI, JEL codes (E21, E41, E52), open-access HAL preprint pointer, and the required 3-sentence pitch (what the paper uniquely does / why Econ-ARK cares / what a REMARK would enable) under the "Pitch — why this paper is in the ballpark" heading. Satisfies the Draft-tier compliance gate from CONTRIBUTING.md (master commit 849c63b).
    • _prior-literature.ipynb — 5 prior-literature citations (within the 3–6 bound from CONTRIBUTING.md commit 2f0c04f), each the canonical reference for one of the building blocks Algan–Ragot synthesise (Sidrauski 1967 / Aiyagari 1994 / Bewley 1983 / İmrohoroğlu 1992 / Erosa–Ventura 2002).
    • _summary.ipynb — paper digest: Overview (the four channels of long-run inflation non-neutrality), The Model (households with explicit recursive Bellman, firms, government, monetary policy, market equilibria), Results, Conclusion. Adapted from the S. Y. Toraman 2020 single-notebook digest with explicit credit; model statement aligned notation-by-notation with bellman-excerpt.md and dolo-plus-draft.yaml.
    • _subsequent-literature.ipynb — three threads: HANK (KMV 2018, McKay–Nakamura–Steinsson 2016, McKay–Reis 2016, Bayer et al. 2019), redistribution channel (Auclert 2019, Doepke–Schneider 2006, Gornemann et al. 2016, Sterk–Tenreyro 2018), money-demand / financial-frictions (Ragot 2014, Challe et al. 2017, Werning 2015, Ragot 2018).
  3. ff4e7b2 index.md tier flip + {include} wiring — flips frontmatter tier: draft → tier: formalized; preserves has_formalization_layer: true; appends updated_by entry dated 2026-04-28; rewires the body with four {include} directives in the canonical order (intro → prior-literature → summary → subsequent-literature). Mirrors PR Benhabib, Bisin, and Luo (2019): Formalized-tier ballpark entry #66 commit f2c767a.

  4. ae233b1 Demote Toraman 2020 digest to docs/legacy-drafts/; sync AGENTS.md — the analogue of PR Benhabib, Bisin, and Luo (2019): Formalized-tier ballpark entry #66's f21c5e2 ("delete legacy BBL_summary.ipynb"), but with demotion rather than deletion to preserve authorship credit (the Toraman digest is the acknowledged narrative source for the canonical _summary.ipynb). Updates docs/legacy-drafts/README.md with the new third row and an exposition-side rule analogous to the existing Bellman-side rule. Resyncs AGENTS.md Formalization-status into four blocks (Formalization / Exposition / Bibliography / Site config).

Iteration outcome

This is purely an exposition-layer build; no formalization-layer equations changed. The two # unresolved: flags in dolo-plus-draft.yaml (CES-with-leisure utility kernel; row-stochastic matrix literal idiom) are unchanged from PR #76 — both are dolo-plus spec gaps, not paper gaps, per the PR-#66 lesson. Closing them requires locating canonical dolo-plus examples (a focused Matsya turn), not rereading Algan–Ragot.

Formalized-tier deliverables (per PR #66's checklist)

File Status
_intro.ipynb with 3-sentence pitch
Four-notebook Primer exposition
bellman-excerpt.md (post-Matsya iteration) ✓ (PR #72)
dolo-plus-draft.yaml with inline # unresolved: flags ✓ (PR #72)
verification.md (paper-grounded) ✓ (PR #76)
matsya-session.txt = topics2026-armonetarypolicyhabc ✓ (PR #72)
AGENTS.md ✓ (resynced this PR)
references.bib + self.bib + subsequent-literature.bib
myst.yml
index.md with tier: formalized + {include} wiring

Known outstanding items

Listed in bellman-excerpt.md → "Open issues" and now also condensed into index.md's "Known outstanding items" section:

  1. CES-with-leisure utility kernel. YAML uses a separable CRRA + log-money + convex-labour-disutility workaround under an inline # unresolved: flag, with the paper's canonical CES-aggregator-times-leisure-power form (paper eq. 15) transcribed verbatim in docs/legacy-drafts/arg2009-bellman-excerpt.md. Closing this is a focused Matsya turn (locate a canonical dolo-plus example with a CES inner aggregator), not a paper-rereading task.
  2. Markov-chain matrix literal. The 3×3 productivity-process transition matrix is documented in the YAML's parameters: comment block (paper §3.3.2) but left as P_e: '@in R+' because the @in StochasticMatrix idiom has no precedent in the canonical dolo-plus corpus.
  3. Paper .mmd. The Pandoc/MathPix-converted HAL open-access preprint is not committed in this PR; deferred to a follow-up. Per the PR Benhabib (2019): remove paper PDF (AER copyright) #75 lesson (which removed Benhabib_et_al_2019.pdf for AER copyright), the publisher PDF will not be committed; only the open-access preprint .mmd will land in a follow-up.

Items 1 and 2 are inline-flagged per CONTRIBUTING.md line 44 and are explicitly not blocking for the Formalized-tier promotion (PR #66's terminal: and calibration_family: blocks are the precedent).

Test plan

  • Review the four exposition notebooks in render order (intro → prior-literature → summary → subsequent-literature) to confirm narrative flow and {cite}-resolution against the bib files.
  • Spot-check _summary.ipynb's recursive household problem against bellman-excerpt.md: same notation, same arrival/decision/continuation perch decomposition, same borrowing-constraint convention a' ≥ 0.
  • Confirm _intro.ipynb's 3-sentence pitch satisfies CONTRIBUTING.md's Draft-tier compliance gate.
  • Confirm _prior-literature.ipynb's 5 citations are within the 3–6 bound from CONTRIBUTING.md commit 2f0c04f.
  • Verify index.md frontmatter (tier: formalized, has_formalization_layer: true) renders the correct tier badge and that the CI mechanical Formalized check at CONTRIBUTING.md §"Automated checks at Formalized" passes.
  • Review docs/legacy-drafts/README.md to confirm the Toraman-digest row clearly documents the authorship-provenance rationale for demotion-vs-deletion.
  • Decide whether to land as one PR after Formalize and finalize armonetarypolicyhabc: revisions from Claude Opus 4.7 review #72 + ARMonetaryPolicyHABC: paper-grounded verification (Algan & Ragot 2009) — closes PR-#72 deferred item #2 #76 merge, or as a stacked sequence.

🤖 Generated with Cursor

Introduces the initial formalization artifacts on top of the existing
summary notebook: modular Bellman statement with symbol table and perch
decomposition, a two-stage dolo-plus draft with unresolved/workaround
flags, a verification paragraph, an AGENTS brief, and the Matsya session
record. This is the baseline that the Opus 4.7 review will critique.

Made-with: Cursor
Records the exact prompt, the full model response, and an accept / edit
/ reject log with one-line reasoning per suggestion. Supports the Class
12 assignment deliverable and is the basis for the subsequent
implementation commits on this branch.

Made-with: Cursor
Implements accepted items 3, 4, 6 (row), 5 (row), and 8 (for the excerpt)
from docs/opus-review.md:

- Split the symbol table into "in scope" and "out of scope" so every
  referenced object (CES parameters sigma/eta/omega/psi, aggregates
  K/alpha/delta/Y/G, monetary Omega/Pi_inf/tau) has a row or is
  explicitly deferred.
- Rename Markov kernel Pi to P_e to remove the collision with
  inflation Pi_inf on the aggregate side.
- Document the m vs m_d convention used in the YAML.
- Update mu description to reflect that the net transfer can be
  negative under the inflation-tax redistribution channel (verify
  sign rule against the paper).
- Label the identity movers in both stages explicitly as "identity
  (degenerate)" so reviewers can tell intentional identity from an
  omission.

Made-with: Cursor
Implements accepted items 4, 5, 6, 7, and 8 for docs/dolo-plus-draft.yaml
from docs/opus-review.md:

- Rename Markov kernel from Pi to P_e in both stages' exogenous blocks
  to remove the collision with inflation Pi_inf on the aggregate side.
- Declare P_e in each stage's parameters block (it was previously
  referenced but undeclared — a parse-time or semantics-time bug).
- Change mu domain from R+ to R so the inflation-tax redistribution
  channel is not silently truncated for households whose net transfer
  is negative.
- Add a one-line comment on controls documenting the m_d-vs-m
  convention (control name differs from the symbol-table entry in
  docs/bellman-excerpt.md).
- Add "# degenerate: identity" comments above the two identity
  transitions so readers can tell intentional identity from omission,
  per CONTRIBUTING.md.

Made-with: Cursor
Implements accepted item 9 from docs/opus-review.md:

- Add an explicit "Scope (household block only)" bullet so a later
  agent does not rediscover that aggregate production, resource
  constraint, asset-market clearing, money growth, and inflation-tax
  mechanics are intentionally out of the current YAML.
- Add a "Notation: Markov P_e vs inflation Pi_inf" bullet documenting
  the rename and telling future edits which symbol to keep.
- Split the utility / q' / a_min / mu / P_e items so each is actionable
  on its own.
- Reorganize "Common next tasks" to cite the deferred items in
  docs/accept-edit-reject.md (exposition-layer refactor, paper-grounded
  verification rewrite, conditional EGM paragraph).

Made-with: Cursor
Implements the partial edit for accepted item 2 from
docs/opus-review.md:

- Extend the verification paragraph to cover the additional edits
  applied in this PR (P_e rename, mu domain, degenerate-mover labels).
- Add an explicit "Note on paper-grounding" sentence stating that the
  paper PDF / .mmd is not yet in-repo and that all accept / edit /
  reject claims are currently grounded in the summary notebook and
  docs/arg2009-*.md excerpts.
- Point at docs/accept-edit-reject.md item 2 as the deferred paper-
  grounded rewrite.

Made-with: Cursor
Implements the partial edit for accepted item 1 from
docs/opus-review.md.

The full four-notebook exposition layout (_intro, _prior-literature,
_summary, _subsequent-literature) plus bib files is out of scope for
this formalize-finalize PR. The stub provides:

- required Draft-tier frontmatter (tier, schema_type, about, keywords,
  econ_ark_topic, jel, difficulty, has_formalization_layer,
  ballpark_contributor);
- an explicit statement that the file is a stub and that full
  exposition refactor is deferred (tracked as item 1 in
  docs/accept-edit-reject.md);
- a file-manifest pointing at the formalization-layer artifacts and
  review deliverables currently in the directory;
- a "Next promotion steps" list naming the concrete gaps to Primer
  and Formalized.

Made-with: Cursor
Fulfills Class 12 deliverable 5: state the tier the item now reaches.

The item is claimed at Draft tier (with substantially advanced
Formalized-layer artifacts). Promotion to Primer / Formalized is
blocked on the deferred items in docs/accept-edit-reject.md (full
four-notebook exposition layout, bib files, paper PDF/.mmd, paper-
grounded verification rewrite).

Made-with: Cursor
Focused single-question Matsya turn (--no-think) against session
topics2026-armonetarypolicyhabc. Matsya reviewed the current
(q, e) -> decision -> (a, m, e) -> shock -> (q', e') decomposition
against the cons_stage + noport_stage canonical pattern.

Verdicts:
- m_d / m split:               CANONICAL (matches c / a in cons_stage)
- Stage 2 identity dcsn->cntn: CANONICAL (matches noport_stage)
- e passthrough:               CANONICAL (standard state threading)
- no values_marginal:          CANONICAL (VFI-only; omit empty groups)
- Stage 2 exogenous location:  CANONICAL (post-decision timing)
- multi-control budget:        PROVISIONAL (recommend eliminating one
                               control via the budget identity)
- @in StochasticMatrix:        UNRESOLVED (no precedent; use @dist
                               MarkovChain(P_e) on the exogenous block
                               instead; declare P_e as a plain parameter)

Subsequent commits implement the PROVISIONAL and UNRESOLVED fixes and
update docs/bellman-excerpt.md + docs/verification.md accordingly.

Made-with: Cursor
Two fixes directly adopted from docs/matsya-evaluate-turn.txt:

Fix A (Matsya Question 3, UNRESOLVED -> resolved):
  - drop the non-canonical `P_e: '@in StochasticMatrix'` type
    annotation (no precedent in dolo-plus canonical examples)
  - declare P_e as plain `@in R+` in both stages' parameters
  - row-stochastic semantics are already carried by the existing
    `@dist MarkovChain(P_e)` annotation on the exogenous block

Fix B (Matsya Flag C, PROVISIONAL -> resolved):
  - eliminate `a_next` from controls: three free controls (c, m_d, l)
    is the canonical encoding, matching `a = w - c` in cons_stage.md
  - add the budget identity `a = q + w*e*l + mu - c - m_d` to
    dcsn_to_cntn_transition so illiquid savings is pinned there
  - update Bellman max to `max_{c, m_d, l}` (was `max_{c, m_d, l, a_next}`)

docs/bellman-excerpt.md synced:
  - Stage 1 decision-perch note records three free controls + pinned a'
  - Decision->continuation narrative explains the budget identity
  - Symbol table relabels a' as "poststate (pinned by budget)"
  - Symbol table relabels P_e as plain parameter with the @dist note
  - Compact Bellman equation updated: max over (c, m, l) with budget
    identity broken out as a separate constraint (not inside the max)

Matsya's CANONICAL verdicts are unchanged by these edits:
  m_d/m split, e passthrough, Stage 2 identity dcsn->cntn, absence of
  values_marginal, and Stage 2 exogenous location all retain their
  previous (canonical) form.

Made-with: Cursor
Restructures verification.md to make the single most-important
distinction from the worked-example Round 10 lesson explicit:

  - Paper gaps close by reading the paper (or ingesting the .mmd).
  - Dolo-plus spec gaps close by locating a canonical example or
    consulting a dolo-plus maintainer.

New structure:
  - Accept / edit / reject on stage structure, symbol conventions,
    and utility kernel — each line says which kind of gap (if any)
    remains.
  - A "Paper gaps vs. dolo-plus spec gaps" table with one row per
    open issue, labeled by gap type and next action.
  - A "Note on paper-grounding" explicitly partitioning paper-side
    vs. spec-side grounding for each claim.

Also records which issues Matsya's Evaluate turn closed:
  - @in StochasticMatrix idiom (spec gap, now closed)
  - Multi-control budget (spec gap, now closed; 3 free controls
    with a_next pinned by budget identity)
And which it confirmed were already canonical:
  - two-stage decision -> shock decomposition
  - m_d / m control-vs-poststate split

Made-with: Cursor
Mirrors the "Lessons learned" section of the Benhabib worked example
for this ballpark item. Eighteen lessons grouped by theme:

  - Workflow and discipline (branch scope, commit scope, verbatim
    recording of AI prompts and responses)
  - Starting below Draft tier (realistic scope; scaffold vs review
    vs implementation commit separation)
  - Matsya interaction (one session across assignments; --no-think +
    compact focused prompts; two flavors of critique)
  - Writing bellman-excerpt.md (pre-empt critiques; name degenerate
    movers; partition household vs aggregate scope)
  - Writing dolo-plus-draft.yaml (flag workarounds; paper-vs-spec
    gap distinction; inline comments at the offending line)
  - Symbol-collision hygiene (Pi -> P_e rename case study)
  - AI-review-plus-implementation rhythm (Opus for broad review;
    Matsya for focused syntactic questions; tier assessment after
    each pass)

Made-with: Cursor
Updates to match the post-Matsya state of the ballpark item:

  - "Read first" list now points at docs/matsya-evaluate-turn.txt,
    docs/opus-review.md, and docs/verification.md as the AI iteration
    log a future contributor should read before editing equations.
  - "Formalization status" reflects that the YAML uses three free
    controls (c, m_d, l) with a' pinned by the budget identity, and
    that P_e is now declared plain per Matsya Evaluate Q3.
  - "Known model features" adds a dedicated bullet on the three-
    controls / budget-identity pattern so future contributors do not
    regress to a four-control encoding.
  - "P_e calibration" bullet updated to note the plain declaration +
    @dist MarkovChain(P_e) idiom.
  - "Workflow reminders" now includes a Matsya prompt style line
    (single focused question, --no-think, compact prompt, verdict
    format) and a pointer to docs/lessons-learned.md for reusable
    patterns from this pass.

Made-with: Cursor
Updates the Formalized-checklist rows to reflect the Matsya
Evaluate turn (docs/matsya-evaluate-turn.txt):

  - bellman-excerpt.md row now notes the three-free-controls
    pattern with a' pinned by budget (Matsya Flag C).
  - dolo-plus-draft.yaml row cites the 4 CANONICAL verdicts and
    the two non-canonical fixes (dropped @in StochasticMatrix,
    pinned a' via budget identity).
  - verification.md row moves from "Not satisfied" to "Partially
    satisfied" — paper vs. spec gaps are now partitioned; spec
    gaps closed; paper-grounded rewrite still deferred.

Preamble updated to credit both the Opus 4.7 review and the
Matsya Evaluate turn as inputs to the tier assessment.

Made-with: Cursor
demote pre-iteration Bellman drafts to docs/legacy-drafts/

Addresses two of the structural concerns raised on PR econ-ark#72:

1. File location.
   The four files that CONTRIBUTING.md §"Formalized" requires at the
   item root (alongside AGENTS.md) so that the automated mechanical
   check finds them — bellman-excerpt.md, dolo-plus-draft.yaml,
   verification.md, matsya-session.txt — were incorrectly nested under
   docs/ in the first round of this PR. They are now at the item root.
   Iteration history (Opus prompt/review, Matsya Evaluate transcript,
   accept-edit-reject log, lessons-learned, tier-assessment) stays
   under docs/ because that is iteration scaffolding, not the
   Formalized deliverable itself.

2. Single Bellman excerpt.
   CONTRIBUTING.md line 52: "bellman-excerpt.md is the single evolving
   artifact ... not two separate files for 'before Matsya' and 'after
   Matsya.'" The two pre-iteration drafts that violated this rule —
   arg2009-bellman-excerpt.md and arg2009-improved-stage-description.md
   — are demoted to docs/legacy-drafts/, with a README that documents
   why they are kept (verbatim CES utility transcription; record of
   the four-control-to-three-control iteration step) and why they are
   not at the item root.

Cross-reference updates land in the same commit so the documentation
graph remains internally consistent: AGENTS.md, index.md,
docs/accept-edit-reject.md, docs/lessons-learned.md, and
docs/tier-assessment.md now point at the new locations and add an
explicit "post-PR-econ-ark#72 review" path note where it helps a future
reader.

The verbatim Opus prompt and Opus review under docs/ are intentionally
NOT edited — they are the deliverable record of the AI conversation
and any retroactive path edit would falsify them. The bridge note in
docs/accept-edit-reject.md handles the path-name shift for future
readers.

Substantive content of the Bellman / YAML / verification triple is
unchanged in this commit; the utility-kernel inline-flag tightening
(third structural concern from the PR review) lands in the next
commit so it is reviewable on its own.

Re: review on PR econ-ark#72.
dolo-plus-draft.yaml

Addresses the third structural concern raised on PR econ-ark#72: the YAML
utility kernel is a separable CRRA + labor-disutility placeholder, but
the paper (Algan-Ragot 2009) uses CES-with-leisure. The first round of
this PR carried only a one-line `# workaround:` flag pointing at a
legacy excerpt — that was insufficient given how large the
paper-vs-YAML gap is.

This commit replaces that flag with an explicit `# unresolved:` block
on the `cntn_to_dcsn_mover` `Bellman:` block (per CONTRIBUTING.md
line 44 idiom) that:

  (a) names the paper's canonical CES-with-leisure functional form
      verbatim at the line, with all four parameters
      (sigma, eta, omega, psi);
  (b) cites the source of the transcription (paper "Model" /
      "Households" section + the verbatim copy preserved in
      docs/legacy-drafts/arg2009-bellman-excerpt.md);
  (c) lists the two exact ways to close the deferral — replace the
      separable kernel with the CES-leisure form (and add the four
      parameters), or keep the workaround and justify it in
      verification.md by citing the calibration regime in the paper
      under which separability and CES coincide; and
  (d) cross-references where the deferral is tracked
      (verification.md, docs/accept-edit-reject.md item econ-ark#2).

A reviewer no longer has to chase a separate caveats file to know
whether the YAML's separable kernel is wrong, deliberately simplified,
or just pending.

Companion text changes:

  - AGENTS.md "Utility" bullet: now says the YAML's `# unresolved:`
    block "spells out the canonical CES-with-leisure form and the
    two ways to close the deferral," instead of the previous bare
    "flagged as `# workaround:`".
  - verification.md "Accept / edit / reject — utility kernel"
    paragraph: same upgrade in language.
  - docs/tier-assessment.md Formalized row for `dolo-plus-draft.yaml`:
    appends a sentence noting the post-PR-econ-ark#72 tightening.
  - docs/lessons-learned.md: adds lesson 16, "Make every
    `# unresolved:` flag explicit at the line itself," generalizing
    the rule the PR-econ-ark#72 review surfaced. Renumbers the subsequent
    entries.

Re: review on PR econ-ark#72.
Made-with: Cursor
…me, pages, HAL preprint) and add self.bib

The repo had `doi: TBD`, `journal: TBD`, and minimal author info in
`index.md`/`AGENTS.md`. This commit fills those in from the published
paper. The publication year stays **2009** (the canonical wording across
this item, the directory slug `ARMonetaryPolicyHABC`, and the legacy-draft
filenames `arg2009-*.md`); the DOI suffix `red.2009.05.001` and HAL
preprint timestamp also support 2009 as the available-online year.

Citation:

  Algan, Yann, and Xavier Ragot (2009), "Monetary policy with
  heterogeneous agents and borrowing constraints," Review of Economic
  Dynamics 13(2), pp. 295-316. DOI: 10.1016/j.red.2009.05.001. HAL
  preprint hal-01170621v1.

Concretely:

  - `index.md` frontmatter: `doi`, `journal`, `volume`, `issue`,
    `pages`, and the HAL preprint URL filled in. JEL updated from the
    speculative `[E21, E52, D31]` to the paper's stated codes `[E2, E5]`.
    `year: 2009` retained.
  - `AGENTS.md` "Paper" section: TBDs replaced with the full citation,
    DOI, HAL link, BibTeX pointer, JEL codes, and a paper-grounded short
    summary that names the relevant paper sections (eqs. 15-22; quarterly
    period; `a' >= 0` borrowing rule) the formalization layer encodes.
  - `self.bib` (new): BibTeX entry for the paper itself with citekey
    `algan2009monetary`, all bibliographic fields, and a `note` that
    records the print volume / available-online provenance.

Directory slug `ARMonetaryPolicyHABC` and legacy-draft filenames
`arg2009-*.md` are deliberately not renamed: the directory is a slug
(no semantic content), and renaming the legacy-drafts filenames would
churn the PR-econ-ark#72 commit history just landed.

Bibliographic prerequisite for the next commit which rewrites
verification.md to cite specific paper equations.

Re: PR-econ-ark#72 review deferred item econ-ark#2.
Made-with: Cursor
…n & Ragot 2009)

Closes deferred item econ-ark#2 from PR-econ-ark#72 review and from
`docs/accept-edit-reject.md` ("Rewrite verification.md to cite specific
equations from the paper PDF/.mmd"). Every paper-side claim now cites a
specific equation, page, or section of the paper (paper §3.1.1 p. 7-8;
eqs. (15)-(22); calibration §3.3 p. 11-12). The HAL preprint
(`hal-01170621v1`) was used as the verification source.

Substantive resolutions newly grounded in the paper text:

  - Utility kernel: paper eq. (15) transcribed verbatim with its
    calibration `(sigma=1, eta=0.5, omega=0.988, psi=2)`. The YAML's
    separable workaround is now flagged against the actual paper form,
    not against an unread-paper placeholder.
  - Borrowing limit: paper eq. (17) gives `a_{t+1}^i >= 0` directly, so
    `a_min = 0` is the canonical value. The previous "`a_min` is TBD"
    paper gap is closed; only the YAML edit (substituting 0 for the
    placeholder) remains, tracked separately.
  - Transfer `mu`: domain `R` (not `R+`) is justified by paper §4.2,
    where the four redistribution schemes — in particular the
    Phelps-effect scheme of §4.2.4 — can deliver a net negative
    transfer to high-money-balance households. This closes the
    "transfer sign rule TBD" paper gap.
  - Markov productivity calibration: paper §3.3.2 p. 11-12 fixes
    `p_{l,l} = p_{h,h} = 0.9750`, `p_{m,m} = 0.9925`, with structural
    restrictions `p_{l,h} = p_{h,l} = 0` and productivity ratios
    `e_h/e_m = 4.64`, `e_m/e_l = 5.65`. The previous "`P_e` numerical
    entries TBD" paper gap is closed; only the YAML substitution
    remains.
  - Symbol convention: paper writes the productivity transition matrix
    as `Q` (paper p. 7); we kept our `P_e` for `Pi`-collision avoidance
    and mnemonic clarity, now documented as a deliberate deviation.

Two new tables make the mapping explicit:

  1. "Paper gaps vs. dolo-plus spec gaps — current status" partitions
     each open issue into paper-gap / spec-gap / both, with the
     post-paper status and the next concrete action.
  2. "Paper-equation -> formalization mapping" gives a single source of
     truth: each paper equation -> the row in `bellman-excerpt.md` ->
     the line in `dolo-plus-draft.yaml`. A future contributor or AI
     agent can use this as the canonical reconciliation reference.

Out of scope, by design (and re-affirmed in this rewrite): paper
§3.1.2-§3.1.4 (firms, government, money supply law). The YAML and
`bellman-excerpt.md` encode the household block only, per `AGENTS.md`
"Scope" bullet.

Re: PR-econ-ark#72 review deferred item econ-ark#2.
Made-with: Cursor
…olo-plus-draft.yaml

verification.md (HEAD~1) closed three paper gaps (`a_min`, `mu` sign,
Markov calibration). This commit propagates those closures into the
YAML inline comments so a reader of the YAML alone can see the resolved
status without cross-referencing.

Resolutions:

  - `a_min`: paper eq. (17), p. 8 gives `a_{t+1}^i >= 0` directly. The
    `# unresolved:` flag is replaced with a `# resolved (paper eq. (17),
    p. 8):` comment, and the placeholder `'@in R'` is replaced with the
    fixed value `0`. The space `Xa: '@def R+'` already encoded the same
    restriction; the scalar is kept for parameter-API consistency.
  - `P_e` calibration: paper §3.3.2, p. 11-12 gives the full 3x3
    Markov calibration:
      p_{l,h} = p_{h,l} = 0
      p_{l,l} = p_{h,h} = 0.9750
      p_{m,m} = 0.9925
      productivity ratios e_h/e_m = 4.64, e_m/e_l = 5.65
    plus moments (annual autocorr 0.91, sd 0.22, Gini 0.72, share
    constrained 6%). This calibration is now documented in a `# resolved
    (paper §3.3.2, p. 11-12)` block at the decision-stage `P_e`
    parameter, with a brief `# resolved` note at the shock stage that
    points to the canonical block. The numerical 3x3 substitution into
    the parameter slot is left as a small follow-up touch (paper
    parameters block matrix-literal idiom is a minor spec question).
  - `Xe`: paper-grounded ratios documented next to the existing `'@def
    {0.5, 1.0, 1.5}'` placeholder. The substitution `Xe: '@def
    {1/5.65, 1.0, 4.64}' = {0.177, 1.0, 4.64}` is left as the same
    follow-up touch as the `P_e` numerical substitution.
  - `arvl_to_dcsn_transition`: the `# unresolved:` flag pointing to "verify
    against Algan-Ragot" is replaced with a `# paper analogue (paper eq.
    (16))` block that spells out the correspondence
      `R * a` <-> `(1+r_t) a_t`,
      `(1+r_m) * m` <-> `m_{t-1}/Pi_t`
    and notes that `(1+r_m) = 1/Pi` is required at any non-stationary
    equilibrium (deferred until the aggregate / monetary block enters
    scope).
  - Shock-stage exogenous block / `P_e` parameter: each gets a brief
    `# resolved` note that cross-references the decision-stage block
    (single-source-of-truth — duplicate calibration text would just
    drift).

The only remaining `# unresolved:` block in this YAML is the
utility-kernel CES-with-leisure deferral, which is the deliberate
spec-side gap (locating a canonical dolo-plus example with a CES inner
aggregator under a CRRA outer wrapper) tracked as deferred item #1 in
docs/accept-edit-reject.md. Per `CONTRIBUTING.md` line 44, the inline
flag now spells out the paper form (eq. (15)) verbatim.

Re: PR-econ-ark#72 review deferred item econ-ark#2 (and econ-ark#4: replace placeholder
`(R, r_m, P_e, a_min)` with paper values where possible).
Made-with: Cursor
…pt-edit-reject.md

The previous three commits on this branch (HEAD~2..HEAD) close
deferred item econ-ark#2 ("Rewrite verification.md against the published
paper, not the summary"):

  HEAD~2  bibliographic enrichment + self.bib (year 2009)
  HEAD~1  paper-grounded verification.md rewrite
  HEAD    paper-grounded `# unresolved:` closures in dolo-plus-draft.yaml

This commit reflects that closure in the accept/edit/reject log:

  - Row econ-ark#2 in the suggestions table changes from "Edit (deferred)" to
    "Closed (paper-grounded)" with a one-paragraph status note
    summarizing which paper gaps closed and which YAML flags were
    propagated. The "Target file(s)" cell is widened to include
    `dolo-plus-draft.yaml` and `self.bib`, both of which the closure
    touched.
  - The "Top 3-5 selected for implementation" footer is updated with a
    post-PR-econ-ark#72 status section that:
      - records econ-ark#2 as closed and points at the branch / commits as the
        single source of truth,
      - re-affirms #1 (full exposition refactor) as still deferred,
      - states explicitly that the publication year stays 2009 (per
        ballpark-contributor decision; consistent with the directory
        slug, legacy-draft filenames, and DOI suffix),
      - identifies the only outstanding paper-vs-formalization deferral
        as the utility-kernel CES encoding, and classifies it as a
        spec-side (not paper-side) gap because eq. (15) is now in the
        YAML / bellman-excerpt verbatim.

This file is verbatim Class-12 review history; the original 2009 vs
2010 / paper-not-in-repo phrasings are preserved upstream of the
update note so the conversation record remains intact (per
docs/legacy-drafts/README.md convention).

Re: PR-econ-ark#72 review deferred item econ-ark#2.
Made-with: Cursor
…references.bib + subsequent-literature.bib)

First commit of the four-notebook exposition layer. Models the canonical
Benhabib_et_al_2019 layout from PR econ-ark#66 ("the only [PR] with the full
canonical file structure" per llorracc's class-wide review):

- myst.yml: project-level config wiring index.md to all three bib files.
  Project title, single TOC entry (index.md). MyST will render only
  cited entries in the published bibliography per the
  CONTRIBUTING.md superset rule (commit 0d02d6f on master).
- references.bib: 22 BibTeX entries for papers cited by Algan-Ragot
  (2009) and the prior-literature notebook (Sidrauski 1967, Tobin 1965,
  Phelps 1973, Friedman 1969, Bewley 1980/1983, Aiyagari 1994/1995,
  Imrohoroglu 1989/1992, Huggett 1993, Erosa-Ventura 2002, Akyol 2004,
  Chari-Christiano-Kehoe 1996, Correia-Teles 1996, Lagos-Wright 2005,
  Williamson 2008, Heer-Maussner 2007, Chiu-Molico 2008,
  Algan-Challe-Ragot 2008).
- subsequent-literature.bib: 14 BibTeX entries for the post-2009
  HA-monetary literature (Doepke-Schneider 2006, Ragot 2014,
  Challe-Matheron-Ragot-Rubio-Ramirez 2017, McKay-Reis 2016,
  McKay-Nakamura-Steinsson 2016, Kaplan-Moll-Violante 2018,
  Auclert 2019, Werning 2015, Gornemann-Kuester-Nakajima 2016,
  Sterk-Tenreyro 2018, Auclert-Rognlie-Straub 2024, Ragot 2018,
  Bayer-Lutticke-Pham-Dao-Tjaden 2019, Auclert-Rognlie 2018).

Verified locally: yaml.safe_load(myst.yml) parses cleanly.

This is Layer A commit 1/4 of mirroring PR econ-ark#66's structure for
ARMonetaryPolicyHABC. Layer A commits 2-4 follow:
- 2/4: the four exposition notebooks
- 3/4: index.md tier flip + {include} wiring
- 4/4: legacy notebook demotion + AGENTS.md sync

Made-with: Cursor
…or-literature / summary / subsequent-literature)

Layer A commit 2/4. The four canonically-named exposition notebooks
that CONTRIBUTING.md's Primer-tier (and inherited Formalized-tier)
section requires, modelled on the Benhabib_et_al_2019 worked example
(PR econ-ark#66) and resolved against the bib infrastructure committed in
1/4.

- ARMonetaryPolicyHABC_intro.ipynb: citation, DOI, JEL codes (E21,
  E41, E52), open-access HAL preprint pointer, and the required
  3-sentence pitch ("what the paper uniquely does / why Econ-ARK
  cares / what a REMARK would enable") under the
  "Pitch -- why this paper is in the ballpark" heading. Satisfies
  the Draft-tier compliance gate from CONTRIBUTING.md (commit
  849c63b on master, "Benhabib intro: add required 3-sentence pitch").

- ARMonetaryPolicyHABC_prior-literature.ipynb: 5 prior-literature
  citations (within the 3-6 bound from CONTRIBUTING.md commit
  2f0c04f, "Specify citation count bound for Primer prior-literature
  notebook"). Each citation is the canonical reference for one of
  the building blocks Algan-Ragot synthesise: Sidrauski 1967
  (money-in-the-utility), Aiyagari 1994 (Bewley-Aiyagari household
  block), Bewley 1983 (Friedman-rule failure under incomplete
  markets), Imrohoroglu 1992 (money in incomplete markets +
  welfare-cost-of-inflation), Erosa-Ventura 2002 (inflation as
  regressive consumption tax). Includes a "How Algan-Ragot extends
  these antecedents" closing paragraph.

- ARMonetaryPolicyHABC_summary.ipynb: paper digest. Adapted from the
  S. Y. Toraman 2020 single-notebook ballpark digest (preserved
  in docs/legacy-drafts/ in 4/4 with explicit credit). Sections:
  Overview (the four channels of long-run inflation non-neutrality),
  The Model (households with explicit recursive Bellman, firms,
  government, monetary policy, market equilibria), Results
  (individual policy responses, aggregate policy responses,
  sensitivity), Conclusion. The model statement is aligned with
  bellman-excerpt.md and dolo-plus-draft.yaml at the item root --
  same notation, same perch decomposition, same borrowing-constraint
  convention -- so a reader following the index.md TOC sees a single
  consistent statement.

- ARMonetaryPolicyHABC_subsequent-literature.ipynb: post-2009
  HA-monetary literature organised in three threads -- HANK
  (Kaplan-Moll-Violante 2018, McKay-Nakamura-Steinsson 2016,
  McKay-Reis 2016, Bayer et al. 2019), redistribution channel
  (Auclert 2019, Doepke-Schneider 2006, Gornemann et al. 2016,
  Sterk-Tenreyro 2018), money demand and financial frictions in
  incomplete markets (Ragot 2014, Challe et al. 2017, Werning 2015,
  Ragot 2018). Closes with "Why the Algan-Ragot framework remains
  relevant" highlighting the two distinctive features (MIU + long-run
  cross-sectional focus) that complement the HANK programme.

All four notebooks parse cleanly via json.load (verified locally).

Made-with: Cursor
…lude} for the four notebooks

Layer A commit 3/4. Mirrors PR econ-ark#66 commit f2c767a ("Benhabib: address
Formalized-tier review fixes" -- specifically the index.md frontmatter
flip from tier: primer / has_formalization_layer: false to
tier: formalized / has_formalization_layer: true).

Frontmatter changes:
- tier: draft -> tier: formalized. With the four-notebook exposition
  layer (commit 2/4) sitting on top of the paper-grounded formalization
  layer (PR econ-ark#76 -- bellman-excerpt.md + dolo-plus-draft.yaml +
  verification.md + matsya-session.txt + AGENTS.md + self.bib all at
  the item root with paper-equation cross-references), this item now
  matches the Formalized-tier checklist at CONTRIBUTING.md
  lines 332-365. Promotion gates satisfied per the rubric llorracc
  applied to PR econ-ark#66:
    [x] _intro.ipynb with 3-sentence pitch
    [x] Four-notebook Primer exposition
    [x] bellman-excerpt.md (post-Matsya iteration)
    [x] dolo-plus-draft.yaml with inline workaround flags
    [x] verification.md
    [x] matsya-session.txt
    [x] AGENTS.md
- has_formalization_layer: stays true (already correct since the
  formalization layer landed on master earlier in this stack).
- updated_by: appends a 2026-04-28 entry documenting the
  Draft -> Formalized promotion.

Body changes:
- Four {include} directives, in the order intro -> prior-literature ->
  summary -> subsequent-literature (matches the canonical order at
  CONTRIBUTING.md and the rendering order in the Benhabib worked
  example index.md).
- "What is in this item" section restructured into three blocks:
  Exposition layer, Formalization layer, Bibliography. Each entry
  is a one-liner pointing at the file.
- "Iteration / review artifacts" block updated to reflect the new
  legacy-drafts contents (4/4 will move ToramanSY into it).
- "Known outstanding items" section condensed to the two genuine
  open `# unresolved:` flags in the YAML (CES-with-leisure utility
  kernel; row-stochastic matrix literal idiom). Both are spec-side
  not paper-side, per the PR-econ-ark#66 lesson "spec gaps not paper gaps."

Made-with: Cursor
…ocs/legacy-drafts/; sync AGENTS.md

Layer A commit 4/4. Resolves the analogue of the BBL_summary.ipynb /
Benhabib_et_al_2019_summary.ipynb co-existence problem that PR econ-ark#66
hit (commit f21c5e2: "Delete legacy BBL_summary.ipynb. The canonical
Benhabib_et_al_2019_summary.ipynb [...] carries the same content with
cleaner formatting"). Same issue applies here: with the canonical
ARMonetaryPolicyHABC_summary.ipynb committed in 2/4, an auto-discovery
tool that globs `*_summary.ipynb` would otherwise pick up both files.

Difference vs. PR econ-ark#66's resolution: I demote rather than delete. The
PR econ-ark#66 BBL file was AI-generated and had no authorship attribution
distinct from the canonical file; the ToramanSY file is a 2020
student-prepared digest with a real author whose narrative voice is
preserved verbatim and whose model-statement wording is the
acknowledged source for the canonical summary. Demotion preserves
authorship provenance; the canonical _summary.ipynb cites the legacy
notebook explicitly in its preamble.

Changes:
- git mv ToramanSY_AlganRagot2009_Summary.ipynb -> docs/legacy-drafts/
  (single rename; `git status` shows it as a rename, not as
  delete-plus-add).
- docs/legacy-drafts/README.md: extend the table to a third row
  describing the Toraman file (provenance, what it carries that the
  canonical file does not, why it is kept). Generalise the README
  preamble from "Bellman drafts" to "drafts" since the directory now
  hosts both Bellman-side and exposition-side legacy material.
  Extend the "Why they should not be promoted back" section with the
  exposition-side analogue rule (one canonical _summary.ipynb at the
  item root, by analogy to one canonical bellman-excerpt.md), with
  forward-reference to the PR econ-ark#66 -> PR econ-ark#75 lesson.
- AGENTS.md:
  - "If a user asks to work on this item": new bullet 4 listing the
    four-notebook exposition layer; old "Paper source" bullet
    renumbered 5 and updated with the AER-copyright lesson from
    PR econ-ark#75.
  - "Formalization status": rewritten from a single five-file list
    into four blocks (Formalization-layer / Exposition-layer /
    Bibliography / Site config) plus the iteration-history block
    under docs/. Adds the PR econ-ark#66 -> PR econ-ark#75 cross-reference for the
    "exactly one summary notebook at the item root" rule.
  - "Common next tasks": refocused around the two remaining genuine
    `# unresolved:` flags (CES-with-leisure utility; Markov-matrix
    literal idiom) plus the .mmd commit and the post-Formalized
    REMARK precursor. Removes the now-completed item about
    "refactor exposition layer" (which this PR closes) and the now-
    completed item about "rewrite verification.md to cite specific
    equations" (closed in PR econ-ark#76).

Made-with: Cursor
… to _intro.ipynb (CONTRIBUTING.md §"Authorship and provenance")

Closes the only Draft-tier gate that the four-commit exposition stack
left open: CONTRIBUTING.md lines 244-247 / line 277 / line 388 all
require the intro notebook to carry visible "Original ballpark
author" and "Updated by" lines, not just the citation/DOI/pitch.

- Original ballpark author: S. Y. Toraman (2020), the author of the
  legacy single-notebook digest now under
  docs/legacy-drafts/ToramanSY_AlganRagot2009_Summary.ipynb. The
  Toraman digest is the original ballpark presence for this paper
  in this repo and the acknowledged narrative source for the model
  statement in the canonical _summary.ipynb.
- Updated by: Irem Desdemir, 2026-04-28, with a one-line summary of
  the refactor (legacy single-notebook -> canonical four-notebook
  exposition layer + Formalized-tier promotion on top of PR econ-ark#76,
  modelled on the Benhabib_et_al_2019 worked example of PR econ-ark#66).

This brings the item cleanly through every box in the CONTRIBUTING.md
Draft / Primer / Formalized qualifying checklists and through the
universal pre-merge checklist at line 380-389.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant