ART (art-tseries) — Box-Jenkins-Treadway model-building toolkit + MCP server; includes the atsw umbrella meta-package. Part of the ATSW suite.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 35 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
ar_factorization
-
batch_build
-
boxcox_analysis
-
build_model
-
compare_versions
-
confirm_and_estimate
-
create_inp
-
estimate_and_diagnose
-
export_guion
-
formal_tests
-
full_report
-
generate_forecast
-
get_out_report
-
guided_identification
-
identification_analysis
-
intervention_analysis
-
load_data
-
meg_frequency
-
meg_reformulate
-
model_equation_display
-
model_histogram
-
overparameterization_analysis
-
preliminary_outlier_scan
-
preview_data
-
record_version
-
save_identification_report
-
seasonal_analysis
-
seasonal_param_analysis
-
series_info
-
sps_dashboard
-
suggest_intervention_form
-
test_interventions
-
test_seasonal_simplification
-
unit_root_analysis
-
update_and_forecast
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 1a3b0de · analyzer v33 · 4d ago
skills & prompt files 1
- agent-rules davidesg-art-python-1a3b0de/AGENTS.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 86
filesystem 29
- fs davidesg-art-python-1a3b0de/atsw-suite/src/atsw/mcp_install.py :25
import shutil - fs davidesg-art-python-1a3b0de/bugs/BUG-0015-repro/repro.py :35
import pathlib - fs davidesg-art-python-1a3b0de/bugs/BUG-0016-repro/repro.py :37
import pathlib - fs davidesg-art-python-1a3b0de/bugs/BUG-0020-repro/repro.py :30
t = open(os.path.join(d, hit[-1])).read().splitlines() - fs davidesg-art-python-1a3b0de/research/sf_meg/final_table.py :98
with open(emit_json, "w") as fh: - fs davidesg-art-python-1a3b0de/research/sf_meg/shinfuller_arf_harmonic_table.py :122
json.dump(results, open(OUT, "w")) - fs davidesg-art-python-1a3b0de/src/art/bugs.py :28
from pathlib import Path - fs davidesg-art-python-1a3b0de/src/art/diagnosis.py :592
with open(path, 'w', encoding='utf-8') as fh: - fs davidesg-art-python-1a3b0de/src/art/full_report.py :114
with open(path, 'w', encoding='utf-8') as fh: - fs davidesg-art-python-1a3b0de/src/art/guion.py :86
with open(path, encoding="utf-8") as f: - fs davidesg-art-python-1a3b0de/src/art/identification.py :574
with open(path, 'w', encoding='utf-8') as f: - fs davidesg-art-python-1a3b0de/src/art/mcp_server.py :387
"""Save figure to /tmp and open with xdg-open (non-blocking).""" - fs davidesg-art-python-1a3b0de/src/art/model_detection.py :711
with open(path, 'w', encoding='utf-8') as f: - fs davidesg-art-python-1a3b0de/src/art/pipeline.py :82
with open(path, "w") as fh: - fs davidesg-art-python-1a3b0de/src/art/seasonal_detection.py :455
with open(path, 'w', encoding='utf-8') as f: - fs (weak) davidesg-art-python-1a3b0de/tests/test_annual_i0_precipitation_controls.py :45
for line in open(path, encoding="utf-8", errors="replace").read().splitlines()[1:]: - fs (weak) davidesg-art-python-1a3b0de/tests/test_bug_0001_mu_collapse.py :46
os.remove(tmp) - fs (weak) davidesg-art-python-1a3b0de/tests/test_bug_0015_0016_policy_domain_and_d_cap.py :71
src = open(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), - fs (weak) davidesg-art-python-1a3b0de/tests/test_bug_0018_annual_series.py :102
header = open(path).read().splitlines()[8] - fs (weak) davidesg-art-python-1a3b0de/tests/test_dcd_crit_provenance.py :26
with open(_JSON) as fh: - fs (weak) davidesg-art-python-1a3b0de/tests/test_full_report.py :98
with open(out, encoding="utf-8") as f: - fs (weak) davidesg-art-python-1a3b0de/tests/test_golden_pipeline.py :42
with open(_SERIES_JSON) as fh: - fs (weak) davidesg-art-python-1a3b0de/tests/test_guion.py :133
with open(path) as f: - fs (weak) davidesg-art-python-1a3b0de/tests/test_identification.py :101
html = open(out).read() - fs (weak) davidesg-art-python-1a3b0de/tests/test_mcp_server.py :193
os.unlink(tmp) - fs (weak) davidesg-art-python-1a3b0de/tests/test_meg_hybrid_chile.py :34
txt = open(out_path, encoding="latin-1").read() - fs (weak) davidesg-art-python-1a3b0de/tests/test_rescaling_invariant.py :57
os.unlink(tmp) - fs (weak) davidesg-art-python-1a3b0de/tests/test_thesis_i2_chile_colombia.py :59
open(dst, "w", encoding="utf-8").write( - fs davidesg-art-python-1a3b0de/tools/gen_tools_md.py :67
open(dest, "w", encoding="utf-8").write(render(mod_name, server))
shell / exec 2
- shell davidesg-art-python-1a3b0de/atsw-suite/src/atsw/mcp_install.py :26
import subprocess - shell davidesg-art-python-1a3b0de/src/art/mcp_server.py :397
target=lambda: subprocess.Popen(["xdg-open", path],
tool registrations 35
- create_inp davidesg-art-python-1a3b0de/src/art/mcp_server.py :465
- series_info davidesg-art-python-1a3b0de/src/art/mcp_server.py :538
- boxcox_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :575
- seasonal_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :605
- unit_root_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :634
- identification_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :666
- preliminary_outlier_scan davidesg-art-python-1a3b0de/src/art/mcp_server.py :701
- model_equation_display davidesg-art-python-1a3b0de/src/art/mcp_server.py :755
- estimate_and_diagnose davidesg-art-python-1a3b0de/src/art/mcp_server.py :787
- model_histogram davidesg-art-python-1a3b0de/src/art/mcp_server.py :837
- overparameterization_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :868
- formal_tests davidesg-art-python-1a3b0de/src/art/mcp_server.py :1042
- ar_factorization davidesg-art-python-1a3b0de/src/art/mcp_server.py :1130
- meg_reformulate davidesg-art-python-1a3b0de/src/art/mcp_server.py :1211
- meg_frequency davidesg-art-python-1a3b0de/src/art/mcp_server.py :1292
- seasonal_param_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :1410
- test_seasonal_simplification davidesg-art-python-1a3b0de/src/art/mcp_server.py :1460
- intervention_analysis davidesg-art-python-1a3b0de/src/art/mcp_server.py :1504
- test_interventions davidesg-art-python-1a3b0de/src/art/mcp_server.py :1534
- full_report davidesg-art-python-1a3b0de/src/art/mcp_server.py :1587
- save_identification_report davidesg-art-python-1a3b0de/src/art/mcp_server.py :1632
- guided_identification davidesg-art-python-1a3b0de/src/art/mcp_server.py :1769
- confirm_and_estimate davidesg-art-python-1a3b0de/src/art/mcp_server.py :2156
- record_version davidesg-art-python-1a3b0de/src/art/mcp_server.py :2346
- export_guion davidesg-art-python-1a3b0de/src/art/mcp_server.py :2421
- compare_versions davidesg-art-python-1a3b0de/src/art/mcp_server.py :2515
- suggest_intervention_form davidesg-art-python-1a3b0de/src/art/mcp_server.py :2700
- build_model davidesg-art-python-1a3b0de/src/art/mcp_server.py :2942
- batch_build davidesg-art-python-1a3b0de/src/art/mcp_server.py :3150
- generate_forecast davidesg-art-python-1a3b0de/src/art/mcp_server.py :3334
- update_and_forecast davidesg-art-python-1a3b0de/src/art/mcp_server.py :3398
- sps_dashboard davidesg-art-python-1a3b0de/src/art/mcp_server.py :3508
- preview_data davidesg-art-python-1a3b0de/src/art/mcp_server.py :3628
- load_data davidesg-art-python-1a3b0de/src/art/mcp_server.py :3736
- get_out_report davidesg-art-python-1a3b0de/src/art/mcp_server.py :3868
declared dependencies 8
- mcp@>=1.0,<2
- fue@>=0.1.10
- pyfug@>=2.0
- numpy@>=1.24
- matplotlib@>=3.7
- scipy@>=1.10
- statsmodels@>=0.14
- pytest@>=7