You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Harden id()-keyed posterior caches with weakrefs (ProxySVAR, MaxShare, LongRunRestriction) #203
From review of #200. Three schemes now key memoisation on id(posterior) (ProxySVAR on main, MaxShare on #200, LongRunRestriction on #183). If a dead posterior's address is reused by a new object of matching shape, a stale cached result returns silently (did not reproduce in 200 forced GC attempts, but the exposure is real). Approach: store weakref.ref(posterior) as a validity token (dead ref ⇒ cache miss) in one pass across all three schemes after both branches merge. Files: src/impulso/identification.py. Related: #186 (spectral-radius dedupe).
Main-branch half is up as the PR above: _PosteriorCache + ProxySVAR ported. The MaxShare (#200) and LongRunRestriction (#183) adoptions are one-liners recorded in the helper's docstring — I'll fold them into each branch's post-merge rebase rather than stacking two more PRs now. This issue closes when both adoptions land.
Activity
thomaspinder commentedon Jul 29, 2026
Main-branch half is up as the PR above:
_PosteriorCache+ ProxySVAR ported. The MaxShare (#200) and LongRunRestriction (#183) adoptions are one-liners recorded in the helper's docstring — I'll fold them into each branch's post-merge rebase rather than stacking two more PRs now. This issue closes when both adoptions land.refactor(identification): adopt _PosteriorCache (#203)
refactor(identification): adopt _PosteriorCache (#203)
refactor(identification): adopt _PosteriorCache (#203)
feat(identification): long-run (Blanchard-Quah) structural restrictio…
refactor(identification): adopt _PosteriorCache (#203)