• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KarlNaumann / MacroStat
91%

Build:
DEFAULT BRANCH: master
Repo Added 03 Oct 2024 09:43AM UTC
Files 111
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • add-claude-github-actions-1773654701283
  • autograd
  • causality_graph
  • ci_migrate_to_gha
  • core_testing
  • diffprep
  • difftool_multiprocessing
  • difftools
  • docequations
  • documentation
  • ecoiopcex
  • ecoiopcexdocs
  • feat/estimation-module
  • feat/hetagent-infra
  • feat/mark0covid-port
  • feat/mark0covid-prior-state-separation
  • feat/parameter-constraints
  • feat/pichler-production-canonical
  • fix/ci-coveralls-schedule-skip
  • fix_nk3e
  • gl06
  • gl06_insout
  • insout_steadystate
  • iopc
  • iopc_docs
  • jacobian_comparison
  • kirmansants
  • master
  • model_pcex
  • model_pcex2
  • nk3e_shocks
  • parameter_shocks
  • pichler2022forecasting
  • sobol_sampler

08 Jun 2026 12:09PM UTC coverage: 91.115% (+0.3%) from 90.805%
27136632269

push

github

web-flow
feat(pichler): production canonical (#82)

* feat(causality): add MethodSpec foundation library

Port EIRINpy v0.11.0's MethodSpec system into MacroStat as a single
import-pure stdlib module. Two decorators (writes / requires) attach a
frozen MethodSpec to each behavior method declaring per-buffer literal
key sets plus a DYNAMIC sentinel for computed-key accesses. Zero
per-call cost: decorators set func.__method_spec__ and return the
function unwrapped.

lint_class walks the call graph from a chosen root, runs an AST
visitor over each reachable method, and emits one DriftEntry per
method classifying declared vs observed accesses (OK,
MISSING_DECORATOR, DRIFT, INDIRECT_WRITE, DYNAMIC_UNRESOLVED). The
visitor recognises self.<buffer>[K] subscripts on state / prior /
history / params / scenarios / hyper plus the scenario and params
kwarg-name magic guarded by the enclosing FunctionDef signature.
AugAssign targets are counted as both read and write via a one-pass
pre-walk. Mutator-call indirection is resolved through a public
_STATE_MUTATORS registry populated by register_mutator (idempotent,
raises on conflict).

R6d (check_non_buffer_attrs) enforces that subclasses of Behavior
only read tracked buffers, underscore-private caches, or names
already bound in their own __init__; writes outside __init__ and
initialize to non-buffer non-private attrs are banned regardless of
init binding (variant b — closes the canary-binding evasion). The
allowlist is auto-derived from each class's __init__ AST per the plan,
with a per-class cache.

First of five dispatches splitting the superseded
MethodSpecDecorators plan. No model retrofit in this dispatch;
downstream dispatches consume the stable library API.

* test(causality): cover MethodSpec foundation

Lock the public surface of writes/requires, lint_class, the mutator
registry, and the non-buffer attribute check so later edits and
model rollouts cannot break it without a red test. Fixtures sit at
module level becau... (continued)

601 of 642 branches covered (93.61%)

Branch coverage included in aggregate %.

340 of 367 new or added lines in 2 files covered. (92.64%)

3778 of 4164 relevant lines covered (90.73%)

5.44 hits per line

Relevant lines Covered
Build:
Build:
4164 RELEVANT LINES 3778 COVERED LINES
5.44 HITS PER LINE
Source Files on master
  • Tree
  • List 111
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27136632269 master feat(pichler): production canonical (#82) * feat(causality): add MethodSpec foundation library Port EIRINpy v0.11.0's MethodSpec system into MacroStat as a single import-pure stdlib module. Two decorators (writes / requires) attach a frozen Meth... push 08 Jun 2026 12:16PM UTC web-flow github
91.12
27136623475 feat/pichler-production-canonical Merge 59060cbd2 into 0364c99fa Pull #82 08 Jun 2026 12:16PM UTC web-flow github
91.12
26968959826 master ci: skip Coveralls upload on scheduled cron (#81) push 04 Jun 2026 05:47PM UTC web-flow github
90.8
26968833512 fix/ci-coveralls-schedule-skip Merge 6c09499ca into db01037a3 Pull #81 04 Jun 2026 05:45PM UTC web-flow github
90.8
26954691228 fix/ci-coveralls-schedule-skip ci: skip Coveralls upload on scheduled cron The coverage-finish job is already gated by 'if: github.event_name != schedule', so per-leg uploads on the nightly cron are orphaned (no aggregator consumes them). The 2026-06-04 nightly tick failed whe... push 04 Jun 2026 01:33PM UTC KarlNaumann github
90.8
26838554346 master refactor(Mark0COVID): use prior for lagged state reads (#80) * refactor(Mark0COVID): use prior for lagged reads The blanket "for k, v in self.prior.items(): self.state[k] = v.clone()" loop at the top of step() conflated state (the current writab... push 02 Jun 2026 06:09PM UTC web-flow github
90.8
26837602191 feat/mark0covid-prior-state-separation Merge b049aaf79 into 2676da7c1 Pull #80 02 Jun 2026 05:52PM UTC web-flow github
90.8
26812771375 master feat(ECO3IOPC): temperature propensity and docs (#79) * fix(government-bill-issuance): correct sign of interest payment on bill stock The Equations docstring on `government_bill_issuance` in both ECO3IOPC and IOPC subtracted the interest expense... push 02 Jun 2026 10:11AM UTC web-flow github
90.8
26797058458 master feat(Mark0COVID): port heterogeneous-agent ABM with COVID extensions (#78) push 02 Jun 2026 03:52AM UTC web-flow github
90.6
26776123050 feat/mark0covid-port Merge 735191a97 into 2def41b5f Pull #78 01 Jun 2026 07:18PM UTC web-flow github
90.6
See All Builds (108)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc