OMDS (oh-my-datascience) — data-science guardrails for coding agents: train/test leakage and metric-misuse checks, code-graph lineage, an experiment ledger and episodic memory, as portable Agent Skills + CLIs, an optional MCP server, and a Claude Code plugin. Includes E-GDS, an offline GEPA pipeline optimizer with gated promotion.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 9 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
codegraph_blame
-
codegraph_context
-
codegraph_lineage
-
dstools_ledger_show
-
guardrails_check
-
memory_add
-
memory_recall
-
sessionpad_append
-
sessionpad_show
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 44a6176 · analyzer v33 · 2w ago
skills & prompt files 12
- prompt-file spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/prompts/coder.md
- prompt-file spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/prompts/planner.md
- prompt-file spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/prompts/reflector.md
- skill spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/skills/calibrate/SKILL.md
- skill spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/skills/target_encode/SKILL.md
- skill spkc83-omds-44a6176/skills/eda/SKILL.md
- skill spkc83-omds-44a6176/skills/evaluation/SKILL.md
- skill spkc83-omds-44a6176/skills/feature-engineering/SKILL.md
- skill spkc83-omds-44a6176/skills/leakage-audit/SKILL.md
- skill spkc83-omds-44a6176/skills/model-training/SKILL.md
- skill spkc83-omds-44a6176/skills/reporting/SKILL.md
- skill spkc83-omds-44a6176/skills/visualization/SKILL.md
danger signals1
- dynamic code execution eval()/exec() spkc83-omds-44a6176/python/omds/src/omds/slm/repl_worker.py :117
exec(compile(code, "<cell>", "exec"), namespace)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 313
filesystem 91
- fs (weak) spkc83-omds-44a6176/benchmarks/tabular_multiclass/make_data.py :24
from pathlib import Path - fs (weak) spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/pipeline_main.py :28
from pathlib import Path - fs (weak) spkc83-omds-44a6176/benchmarks/tabular_multiclass/workspace_seed/stages/model.py :25
from pathlib import Path - fs spkc83-omds-44a6176/hooks/guardrails_post_edit.py :40
import shutil - fs spkc83-omds-44a6176/python/omds/hatch_build.py :29
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/_cli.py :22
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/cli.py :17
import shutil - fs spkc83-omds-44a6176/python/omds/src/omds/cli_support.py :41
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/codegraph/build.py :16
from pathlib import Path, PurePosixPath - fs spkc83-omds-44a6176/python/omds/src/omds/codegraph/model.py :12
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/codegraph_cli.py :47
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/config.py :1
from pathlib import Path
show 28 more
- fs spkc83-omds-44a6176/python/omds/src/omds/dstools/ledger.py :34
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/dstools/plots.py :11
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/evolution/components.py :33
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/evolution/engine.py :92
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/evolution/evaluator.py :75
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/evolution/promote.py :54
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/guardrails_cli.py :44
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/install.py :32
import shutil - fs spkc83-omds-44a6176/python/omds/src/omds/kernel_hook.py :30
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/llm/registry.py :13
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/memory/sessionpad.py :13
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/memory/store.py :12
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/memory_store_cli.py :37
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/analysis.py :34
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/aml.py :61
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/credit_risk.py :59
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/evaluation.py :101
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/fraud.py :68
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/insurance.py :52
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/leakage.py :107
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/quant.py :57
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/reproducibility.py :51
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/scoring.py :53
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/simplex_transforms.py :31
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/packs/target_leakage.py :49
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/ontology/static_check.py :26
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/runtime/skills.py :22
from pathlib import Path - fs spkc83-omds-44a6176/python/omds/src/omds/runtime/task.py :19
from pathlib import Path
51 more not shown — this panel samples each group; the count above is the real total.
shell / exec 21
- shell spkc83-omds-44a6176/hooks/guardrails_post_edit.py :41
import subprocess - shell spkc83-omds-44a6176/python/omds/src/omds/cli.py :18
import subprocess - shell spkc83-omds-44a6176/python/omds/src/omds/codegraph_cli.py :46
import subprocess - shell spkc83-omds-44a6176/python/omds/src/omds/evolution/promote.py :53
import subprocess - shell (weak) spkc83-omds-44a6176/python/omds/src/omds/sandbox/envclone.py :17
import subprocess - shell (weak) spkc83-omds-44a6176/python/omds/src/omds/sandbox/exec.py :61
import subprocess - shell spkc83-omds-44a6176/python/omds/src/omds/slm/repl.py :57
import subprocess - shell (weak) spkc83-omds-44a6176/python/omds/tests/mcp/test_plugin_bundle.py :32
import subprocess - shell (weak) spkc83-omds-44a6176/scripts/verify_install.py :39
import subprocess - shell (weak) spkc83-omds-44a6176/tests/benchmarks/test_seed_workspace.py :31
import subprocess - shell (weak) spkc83-omds-44a6176/tests/codegraph/test_codegraph_cli.py :2
import subprocess - shell (weak) spkc83-omds-44a6176/tests/e2e/test_full_loop.py :49
import subprocess
show 9 more
- shell (weak) spkc83-omds-44a6176/tests/evolution/test_components.py :5
import subprocess - shell (weak) spkc83-omds-44a6176/tests/evolution/test_engine.py :28
import subprocess - shell (weak) spkc83-omds-44a6176/tests/evolution/test_evaluator.py :12
import subprocess - shell (weak) spkc83-omds-44a6176/tests/evolution/test_gates.py :17
import subprocess - shell (weak) spkc83-omds-44a6176/tests/evolution/test_promote.py :22
import subprocess - shell (weak) spkc83-omds-44a6176/tests/guardrails/test_autostart.py :22
import subprocess - shell (weak) spkc83-omds-44a6176/tests/sandbox/test_envclone.py :5
import subprocess - shell (weak) spkc83-omds-44a6176/tests/test_cli_run.py :11
import subprocess - shell (weak) spkc83-omds-44a6176/tests/test_packaging.py :24
import subprocess
network 8
- net spkc83-omds-44a6176/python/omds/src/omds/llm/client.py :14
import httpx - net spkc83-omds-44a6176/python/omds/src/omds/slm/probe.py :28
import httpx - net (weak) spkc83-omds-44a6176/python/omds/tests/slm/test_ollama_smoke.py :48
import httpx - net (weak) spkc83-omds-44a6176/python/omds/tests/slm/test_probe.py :12
import httpx - net (weak) spkc83-omds-44a6176/scripts/verify_install.py :42
import urllib.error - net (weak) spkc83-omds-44a6176/tests/llm/test_client.py :3
import httpx - net (weak) spkc83-omds-44a6176/tests/llm/test_registry.py :3
import httpx - net (weak) spkc83-omds-44a6176/tests/sandbox/test_exec.py :148
"import socket\n"
database 1
- db spkc83-omds-44a6176/python/omds/src/omds/memory/store.py :10
import sqlite3
tool registrations 9
- codegraph_lineage spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_codegraph.py :19
- codegraph_blame spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_codegraph.py :29
- codegraph_context spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_codegraph.py :39
- dstools_ledger_show spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_dstools.py :18
- guardrails_check spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_guardrails.py :14
- memory_add spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_memory.py :22
- memory_recall spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_memory.py :32
- sessionpad_append spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_sessionpad.py :21
- sessionpad_show spkc83-omds-44a6176/python/omds/src/omds/mcp_tools_sessionpad.py :33
declared dependencies 1
- omds@*