Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-31 04:51 UTC

wrmsr / om

My python monorepo.

PythonBSD-3-Clause★ 7 stars⑂ 0 forkssince Apr 2023View on GitHub ↗

wrmsr/om holds a health index of 48 out of 100, placing it in the At risk band. It scores highest on AI Readiness (77/100) and lowest on Security (21/100). It was last updated today. A single contributor accounts for most of its recent work.

48
overall / 100
At risk

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

48
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

wrmsrPersonal account
92 followers240 public repossince Jan 2011

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
PyPIomdev0.0.352,7585850 days ago
PyPIomllm0.0.35-90 days ago
PyPIomcore0.0.3580480 days ago
PyPIomxtra0.0.35-690 days ago
PyPIominfra0.0.352,5165850 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

60Moderate · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
35.3/36Commit cadence — 51/52 weeks with commits
18/18Commit volume — 4,075 commits in the last year
0/10OpenSSF Scorecard: Maintained — no data
Inputs used
commits_last_year4,075
human_commit_share1
days_since_last_push0
active_weeks_last_year51
How it's scored
0/27Ships releases — no releases published
0/36Release recency — no releases
0/27Release cadence — no releases
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count0

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

38At risk · 18% of overall
How it's scored
12.6/60Stars — 7 stars
0/25Forks — 0 forks
0/15Watchers — 1 watchers
Inputs used
forks0
stars7
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (BSD-3-Clause)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
How it's scored
50.5/80Monthly downloads — 6,078 downloads/month across pypi
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesomdev, omllm, omcore, omxtra, ominfra
dependents
ecosystemspypi
total_downloads
monthly_downloads6,078
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

52Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0/22.5Commit distribution — top contributor authored 100% of commits
1.4/13.5Contributor breadth — 1 contributors
0/10OpenSSF Scorecard: Contributors — no data
Inputs used
bus_factor1
contributors_sampled1
top_contributor_share1
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
14.2/25Owner reach — 92 followers of wrmsr
25/25Track record — 240 public repos, account ~15 yr old
Inputs used
followers92
owner_typeUser
is_verified
owner_loginwrmsr
public_repos240
account_age_days5,678
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.
How it's scored
25/25Published & resolvable — 5 package(s) on pypi
35/35Publish recency — latest publish 0 days ago
20/20Version history — 585 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesomdev, omllm, omcore, omxtra, ominfra
ecosystemspypi
any_deprecatedno
min_days_since_publish0

Engineering Quality

Are baseline engineering and documentation practices in place?

61Moderate · 20% of overall
How it's scored
24/24CI workflows — 1 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — no data
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configno
has_precommit_configno

Documentation

50Moderate
How it's scored
30/30README
0/25Documentation directory
0/15Documentation / homepage site
10/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepage
has_readmeyes
has_docs_dirno
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

21Critical · 16% of overall
How it's scored
0/30Security policy (SECURITY.md)
0/25Dependabot config
0/25Dependency lockfiles — published library — lockfiles are an application concern, not expected
0/20CodeQL workflow
Inputs used
sourcefile_signals
lockfilesCargo.lock
manifestspyproject.toml, requirements-ci.txt, requirements-dev.txt, requirements-ext.txt, requirements-frz.txt, requirements.txt
has_codeql_workflowno
has_security_policyno
has_dependabot_configno
Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories9
affected_packages4
assessed_packages371
unassessed_packages69
affected_by_severityhigh 1, moderate 2, unknown 1
direct_affected_packages0
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 371 resolved dependencies against OSV. 69 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

77Good · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 90 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.9
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes3,068
How it's scored
18/18One-command bootstrap — Makefile, omdev/pyproject/tests/skeleton/Makefile
22/22Automated tests
0/11Lint / format config
11/11Static type checking — omcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed
10/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — no data
Inputs used
has_nixno
has_testsyes
lockfilesCargo.lock
has_dockerfileyes
typed_languageno
bootstrap_filesMakefile, omdev/pyproject/tests/skeleton/Makefile
has_devcontainerno
has_linter_configno
typecheck_configsomcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed
agent_commit_share0
toolchain_manifestsomdev/rs/_boilerplate/Cargo.toml, x/ommlds/nanochat/rustbpe/Cargo.toml
dependency_bot_commit_share0
How it's scored
27/45Type-checkable code — Python with type-check config (omcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed)
54.3/55Manageable file sizes — 61/4,878 source files over 60KB
Inputs used
primary_languagePython
largest_source_bytes1,397,928
source_files_sampled4,878
oversized_source_files61
How it's scored
40/40API schema (OpenAPI/GraphQL/proto) — omxtra/specs/proto/tests/examples/addressbook.proto
0/20MCP server
40/40Runnable examples — demos, examples, notebooks, samples
Inputs used
example_dirsdemos, examples, notebooks, samples
has_mcp_signalno
api_schema_filesomxtra/specs/proto/tests/examples/addressbook.proto

Key facts

7GitHub stars
1contributors
4,075commits, last 12 months
0days since last push
0releases
1bus factor
0open issues
PyPIpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Could not fetch pypi package 'omdev.cexts._boilerplate' from its registry
  • Could not fetch pypi package 'omcore._check' from its registry
  • Could not fetch pypi package 'omxtra.collections.stl._stl' from its registry
  • deps.dev does not index pypi:omdev@0.0.35; advisories assessed against the repository dependency graph instead
  • OpenSSF Scorecard did not return a usable result (2026/07/31 04:51:10 Warning: PATs stored in env variables GITHUB_AUTH_TOKEN and GITHUB_TOKEN differ. Scorecard will use the former.); skipping Scorecard checks

More detail

Direct dependencies 9
RegistryPackageVersion constraintManifest
PyPIomcore== 0.0.36.pkg/omcore-cext/pyproject.toml
PyPIomdev== 0.0.36.pkg/omdev-cext/pyproject.toml
PyPIomdev== 0.0.36.pkg/omdev-cli/pyproject.toml
PyPIomdev== 0.0.36.pkg/omdev-rs/pyproject.toml
PyPIomcore== 0.0.36.pkg/omdev/pyproject.toml
PyPIomcore== 0.0.36.pkg/ominfra/pyproject.toml
PyPIomcore== 0.0.36.pkg/omllm/pyproject.toml
PyPIomxtra== 0.0.36.pkg/omxtra-cext/pyproject.toml
PyPIomcore== 0.0.36.pkg/omxtra/pyproject.toml
All dependencies 440

Full resolved dependency set from the GitHub dependency graph: 3 direct and 437 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
PyPIomcore0.0.36direct
PyPIomdev0.0.36direct
PyPIomxtra0.0.36direct
crates.ioahash0.8.12indirect
crates.ioaho-corasick1.1.4indirect
crates.ioarc-swap1.8.2indirect
crates.ioautocfg1.5.0indirect
crates.iobit-set0.8.0indirect
crates.iobit-vec0.8.0indirect
crates.iocastaway0.2.4indirect
crates.iocfg-if1.0.4indirect
crates.iocompact_str0.9.0indirect
crates.iocrossbeam-deque0.8.6indirect
crates.iocrossbeam-epoch0.9.18indirect
crates.iocrossbeam-utils0.8.21indirect
crates.iodary_heap0.3.8indirect
crates.ioeither1.15.0indirect
crates.ioequivalent1.0.2indirect
crates.iofancy-regex0.16.2indirect
crates.iogetrandom0.3.4indirect
crates.iohashbrown0.17.0indirect
crates.ioheck0.5.0indirect
crates.ioindexmap2.14.0indirect
crates.ioindoc2.0.7indirect
crates.ioitoa1.0.15indirect
crates.iolibc0.2.184indirect
crates.iolibc0.2.188indirect
crates.iolog0.4.29indirect
crates.iomemchr2.7.6indirect
crates.iomemoffset0.9.1indirect
crates.ioonce_cell1.21.4indirect
crates.ioportable-atomic1.13.1indirect
crates.ioportable-atomic1.14.0indirect
crates.ioproc-macro21.0.106indirect
crates.ioproc-macro21.0.107indirect
crates.iopyo30.27.2indirect
crates.iopyo30.29.0indirect
crates.iopyo3-build-config0.27.2indirect
crates.iopyo3-build-config0.29.0indirect
crates.iopyo3-ffi0.27.2indirect
crates.iopyo3-ffi0.29.0indirect
crates.iopyo3-log0.13.3indirect
crates.iopyo3-macros0.27.2indirect
crates.iopyo3-macros0.29.0indirect
crates.iopyo3-macros-backend0.27.2indirect
crates.iopyo3-macros-backend0.29.0indirect
crates.ioquote1.0.45indirect
crates.ioquote1.0.47indirect
crates.ior-efi5.3.0indirect
crates.iorayon1.12.0indirect
crates.iorayon-core1.13.0indirect
crates.ioregex-automata0.4.13indirect
crates.ioregex-syntax0.8.8indirect
crates.iorustversion1.0.22indirect
crates.ioryu1.0.20indirect
crates.iostatic_assertions1.1.0indirect
crates.iosyn2.0.117indirect
crates.iosyn2.0.119indirect
crates.iotarget-lexicon0.13.5indirect
crates.iounicode-ident1.0.24indirect
crates.iounindent0.2.4indirect
crates.ioversion_check0.9.5indirect
crates.iowasip21.0.1+wasi-0.2.4indirect
crates.iowit-bindgen0.46.0indirect
crates.iozerocopy0.8.27indirect
crates.iozerocopy-derive0.8.27indirect
PyPIaiohappyeyeballs2.7.1indirect
PyPIaiohttp3.14.3indirect
PyPIaiohttp-jinja21.6indirect
PyPIaiomysqlindirect
PyPIaiomysql0.3.2indirect
PyPIaiosignal1.4.0indirect
PyPIaiosqliteindirect
PyPIaiosqlite0.22.1indirect
PyPIannotated-doc0.0.5indirect
PyPIantlr4-python3-runtime4.13.2indirect
PyPIanyioindirect
PyPIanyio4.14.2indirect
PyPIanyio4.8.0indirect
PyPIapswindirect
PyPIapsw3.53.4.0indirect
PyPIasgiref3.12.1indirect
PyPIasn1crypto1.5.1indirect
PyPIast-serialize0.6.0indirect
PyPIastpretty3.0.0indirect
PyPIasttokensindirect
PyPIasttokens3.0.2indirect
PyPIasyncpgindirect
PyPIasyncpg0.30.0indirect
PyPIasyncpg0.31.0indirect
PyPIasyncpg-stubs0.31.3indirect
PyPIasyncsshindirect
PyPIasyncssh2.24.0indirect
PyPIattrs26.1.0indirect
PyPIbasedpyright1.39.9indirect
PyPIbcrypt5.0.0indirect
PyPIbitsandbytes0.50.0indirect
PyPIblackindirect
PyPIblack26.5.1indirect
PyPIblobfile3.2.0indirect
PyPIboto31.43.60indirect
PyPIbotocore1.43.60indirect
PyPIbotocore-stubs1.43.14indirect
PyPIbrotliindirect
PyPIbrotli1.2.0indirect
PyPIbuildindirect
PyPIbuild1.5.0indirect
PyPIcbor2indirect
PyPIcbor26.1.3indirect
PyPIcertifi2026.7.22indirect
PyPIcffi2.1.0indirect
PyPIcharset-normalizer3.4.9indirect
PyPIclick8.4.2indirect
PyPIcloudpickleindirect
PyPIcloudpickle3.1.2indirect
PyPIcontourpy1.3.3indirect
PyPIcramjam2.11.0indirect
PyPIcryptographyindirect
PyPIcryptography49.0.0indirect
PyPIcycler0.12.1indirect
PyPIcython3.2.9indirect
PyPIdatasets5.0.0indirect
PyPIddgs9.14.4indirect
PyPIdebugpy1.8.21indirect
PyPIdecorator5.3.1indirect
PyPIdeno2.9.4indirect
PyPIdiffusers0.39.0indirect
PyPIdill0.4.1indirect
PyPIdiskcache5.6.3indirect
PyPIdocutilsindirect
PyPIdocutils0.23indirect
PyPIdocutils-stubs0.0.22indirect
PyPIduckdbindirect
PyPIduckdb1.5.5indirect
PyPIexecnet2.1.2indirect
PyPIexecutingindirect
PyPIexecuting2.2.1indirect
PyPIfake-useragent2.2.0indirect
PyPIfilelock3.32.2indirect
PyPIflake87.3.0indirect
PyPIflake8-pyproject1.2.4indirect
PyPIflatbuffers25.12.19indirect
PyPIfonttools4.63.0indirect
PyPIfrozenlist1.8.0indirect
PyPIfsspec2026.4.0indirect
PyPIgguf0.19.0indirect
PyPIgoogle-api-core2.33.0indirect
PyPIgoogle-api-python-client2.198.0indirect
PyPIgoogle-auth2.56.2indirect
PyPIgoogle-auth-httplib20.4.0indirect
PyPIgoogle-cloud-compute1.50.0indirect
PyPIgoogleapis-common-protos1.75.0indirect
PyPIgprof2dotindirect
PyPIgprof2dot2025.4.14indirect
PyPIgreenletindirect
PyPIgreenlet3.5.4indirect
PyPIgrpcio1.83.0indirect
PyPIgrpcio-status1.83.0indirect
PyPIguppy33.1.7indirect
PyPIh110.16.0indirect
PyPIh24.4.0indirect
PyPIhf-xet1.5.2indirect
PyPIhpack4.2.0indirect
PyPIhttpcore1.0.9indirect
PyPIhttplib20.32.0indirect
PyPIhttpxindirect
PyPIhttpx0.28.1indirect
PyPIhuggingface-hubindirect
PyPIhuggingface-hub1.24.0indirect
PyPIhyperframe6.1.0indirect
PyPIid1.6.1indirect
PyPIidna3.18indirect
PyPIimageio2.37.4indirect
PyPIimportlib-metadata9.0.0indirect
PyPIiniconfig2.3.0indirect
PyPIinvoke3.0.3indirect
PyPIipythonindirect
PyPIipython9.15.0indirect
PyPIipython-pygments-lexers1.1.1indirect
PyPIjaraco-classes3.4.0indirect
PyPIjaraco-context6.1.2indirect
PyPIjaraco-functools4.6.0indirect
PyPIjedi0.20.0indirect
PyPIjinja2indirect
PyPIjinja23.1.6indirect
PyPIjmespath1.1.0indirect
PyPIjoblib1.5.3indirect
PyPIjson50.15.0indirect
PyPIkeyring25.7.0indirect
PyPIkiwisolver1.5.0indirect
PyPIlazy-loader0.5indirect
PyPIlibrt0.13.0indirect
PyPIlinkify-it-py2.1.0indirect
PyPIllama-cpp-pythonindirect
PyPIllama-cpp-python0.3.34indirect
PyPIlxml6.1.1indirect
PyPIlxml-stubs0.5.1indirect
PyPIlz4indirect
PyPIlz44.4.5indirect
PyPImarkdown-it-pyindirect
PyPImarkdown-it-py4.2.0indirect
PyPImarkupsafeindirect
PyPImarkupsafe3.0.3indirect
PyPImatplotlib3.11.1indirect
PyPImatplotlib-inline0.2.2indirect
PyPImccabe0.7.0indirect
PyPImdit-py-pluginsindirect
PyPImdit-py-plugins0.6.1indirect
PyPImdurl0.1.2indirect
PyPImemrayindirect
PyPImemray1.19.3indirect
PyPImlxindirect
PyPImlx0.32.0indirect
PyPImlx-lmindirect
PyPImlx-lm0.31.3indirect
PyPImlx-metal0.32.0indirect
PyPImore-itertools11.1.0indirect
PyPImpmath1.3.0indirect
PyPImsgpack1.2.1indirect
PyPImultidict6.7.1indirect
PyPImultiprocess0.70.19indirect
PyPImwparserfromhellindirect
PyPImwparserfromhell0.7.2indirect
PyPImypyindirect
PyPImypy2.3.0indirect
PyPImypy-extensions1.1.0indirect
PyPImysql-connector-pythonindirect
PyPImysql-connector-python9.7.0indirect
PyPImysqlclientindirect
PyPImysqlclient2.2.8indirect
PyPInarwhals2.24.0indirect
PyPInetworkx3.6.1indirect
PyPInh30.3.6indirect
PyPInodeenv1.10.0indirect
PyPInodejs-wheel-binaries24.16.0indirect
PyPInumpy2.5.1indirect
PyPIobjgraph3.6.2indirect
PyPIominfra0.0.36indirect
PyPIomllm0.0.36indirect
PyPIonnxruntime1.28.0indirect
PyPIopencv-python5.0.0.93indirect
PyPIorjsonindirect
PyPIorjson3.11.9indirect
PyPIoutcome1.3.0.post0indirect
PyPIpackaging26.2indirect
PyPIpandas3.0.5indirect
PyPIparamikoindirect
PyPIparamiko5.0.0indirect
PyPIparso0.8.7indirect
PyPIpathspec1.1.1indirect
PyPIpcppindirect
PyPIpcpp1.30indirect
PyPIpexpect4.9.0indirect
PyPIpg8000indirect
PyPIpg80001.31.5indirect
PyPIpillowindirect
PyPIpillow12.3.0indirect
PyPIplatformdirs4.11.0indirect
PyPIplaywright1.61.0indirect
PyPIpluggy1.6.0indirect
PyPIpprintpp0.4.0indirect
PyPIprimp1.3.1indirect
PyPIpriority2.0.0indirect
PyPIprompt-toolkit3.0.53indirect
PyPIpropcache0.5.2indirect
PyPIproto-plus1.28.2indirect
PyPIprotobuf7.35.1indirect
PyPIpsutilindirect
PyPIpsutil7.2.2indirect
PyPIpsycopgindirect
PyPIpsycopg3.3.4indirect
PyPIpsycopg2indirect
PyPIpsycopg22.9.12indirect
PyPIptyprocess0.7.0indirect
PyPIpudb2025.1.5indirect
PyPIpure-eval0.2.3indirect
PyPIpy-cpuinfo9.0.0indirect
PyPIpyarrow25.0.0indirect
PyPIpyasn10.6.4indirect
PyPIpyasn1-modules0.4.2indirect
PyPIpyclipper1.4.0indirect
PyPIpycodestyle2.14.0indirect
PyPIpycparserindirect
PyPIpycparser3.0indirect
PyPIpycryptodomex3.23.0indirect
PyPIpydantic-monty0.0.19indirect
PyPIpydantic-monty-runtime0.0.19indirect
PyPIpyee13.0.1indirect
PyPIpyflakes3.4.0indirect
PyPIpygmentsindirect
PyPIpygments2.20.0indirect
PyPIpyinstrument5.1.2indirect
PyPIpyjwt2.13.0indirect
PyPIpymysqlindirect
PyPIpymysql1.2.0indirect
PyPIpynacl1.6.2indirect
PyPIpyopenssl26.3.0indirect
PyPIpyparsing3.3.2indirect
PyPIpyproject-hooks1.2.0indirect
PyPIpyright1.1.411indirect
PyPIpytesseractindirect
PyPIpytesseract0.3.13indirect
PyPIpytestindirect
PyPIpytest8.3.4indirect
PyPIpytest9.1.1indirect
PyPIpytest-benchmark5.2.3indirect
PyPIpytest-clarity1.0.1indirect
PyPIpytest-mock3.15.1indirect
PyPIpytest-stress1.0.1indirect
PyPIpytest-subprocess1.6.0indirect
PyPIpytest-timeout2.4.0indirect
PyPIpytest-xdist3.8.0indirect
PyPIpython-dateutil2.9.0.post0indirect
PyPIpython-snappyindirect
PyPIpython-snappy0.7.3indirect
PyPIpytokens0.4.1indirect
PyPIpytz2026.3.post1indirect
PyPIpyyamlindirect
PyPIpyyaml6.0.2indirect
PyPIpyyaml6.0.3indirect
PyPIrapidocr-onnxruntimeindirect
PyPIrapidocr-onnxruntime1.4.4indirect
PyPIreadme-renderer45.0indirect
PyPIregex2026.7.19indirect
PyPIrequests2.34.2indirect
PyPIrequests-toolbelt1.0.0indirect
PyPIrfc39862.0.0indirect
PyPIrichindirect
PyPIrich15.0.0indirect
PyPIripgrep15.1.0indirect
PyPIruff0.16.0indirect
PyPIs3transfer0.19.2indirect
PyPIsafetensors0.8.0indirect
PyPIscikit-image0.26.0indirect
PyPIscikit-learn1.9.0indirect
PyPIscipy1.18.0indirect
PyPIscramp1.4.15indirect
PyPIsegnoindirect
PyPIsegno1.6.6indirect
PyPIsentence-transformers5.6.0indirect
PyPIsentencepiece0.2.2indirect
PyPIsetuptools83.0.0indirect
PyPIshapely2.1.2indirect
PyPIshellingham1.5.4indirect
PyPIsix1.17.0indirect
PyPIsniffioindirect
PyPIsniffio1.3.1indirect
PyPIsnowflake-connector-pythonindirect
PyPIsnowflake-connector-python4.7.1indirect
PyPIsocksio1.0.0indirect
PyPIsortedcontainers2.4.0indirect
PyPIsqlalchemyindirect
PyPIsqlalchemy2.0.51indirect
PyPIsqlean-pyindirect
PyPIsqlean-py3.50.4.5indirect
PyPIsqlite-vec0.1.9indirect
PyPIstack-data0.6.3indirect
PyPIsympy1.14.0indirect
PyPItavily-python0.7.26indirect
PyPItextualindirect
PyPItextual8.2.8indirect
PyPItextual-devindirect
PyPItextual-dev1.8.0indirect
PyPItextual-serve1.1.3indirect
PyPItextual-speedupsindirect
PyPItextual-speedups0.2.1indirect
PyPIthreadpoolctl3.6.0indirect
PyPItifffile2026.7.14indirect
PyPItiktoken0.13.0indirect
PyPItinygradindirect
PyPItokenizers0.22.2indirect
PyPItomlkit0.15.1indirect
PyPItorchindirect
PyPItorch2.13.0indirect
PyPItorchvision0.28.0indirect
PyPItqdm4.70.0indirect
PyPItraitlets5.15.1indirect
PyPItransformersindirect
PyPItransformers5.11.0indirect
PyPItree-sitter0.26.0indirect
PyPItree-sitter-bash0.25.1indirect
PyPItree-sitter-css0.25.0indirect
PyPItree-sitter-go0.25.0indirect
PyPItree-sitter-html0.23.2indirect
PyPItree-sitter-java0.23.5indirect
PyPItree-sitter-javascript0.25.0indirect
PyPItree-sitter-json0.24.8indirect
PyPItree-sitter-markdown0.5.1indirect
PyPItree-sitter-python0.25.0indirect
PyPItree-sitter-regex0.25.0indirect
PyPItree-sitter-rust0.24.2indirect
PyPItree-sitter-sql0.3.11indirect
PyPItree-sitter-toml0.7.0indirect
PyPItree-sitter-xml0.7.0indirect
PyPItree-sitter-yaml0.7.2indirect
PyPItrino0.338.0indirect
PyPItrioindirect
PyPItrio0.33.0indirect
PyPItrio-asyncioindirect
PyPItwineindirect
PyPItwine7.0.0indirect
PyPItyper0.27.0indirect
PyPItypes-awscrt0.34.1indirect
PyPItypes-boto31.43.60indirect
PyPItypes-docutils0.22.3.20260724indirect
PyPItypes-greenlet3.5.0.20260518indirect
PyPItypes-paramiko5.0.0.20260724indirect
PyPItypes-psutil7.2.2.20260518indirect
PyPItypes-pygments2.20.0.20260728indirect
PyPItypes-pymysql1.2.0.20260724indirect
PyPItypes-pyyaml6.0.12.20260724indirect
PyPItypes-regex2026.7.19.20260720indirect
PyPItypes-s3transfer0.16.0indirect
PyPItypes-setuptools83.0.0.20260724indirect
PyPItypes-ujson5.10.0.20250822indirect
PyPItyping-extensions4.16.0indirect
PyPItzlocal5.4.4indirect
PyPIuc-micro-py2.0.0indirect
PyPIujsonindirect
PyPIujson5.13.0indirect
PyPIunicorn2.1.4indirect
PyPIuritemplate4.2.0indirect
PyPIurllib32.7.0indirect
PyPIurwid4.0.8indirect
PyPIurwid-readline0.15.1indirect
PyPIuvindirect
PyPIuv0.12.0indirect
PyPIuvicorn0.51.0indirect
PyPIwatchdog6.0.0indirect
PyPIwcwidth0.8.2indirect
PyPIwheelindirect
PyPIwheel0.47.0indirect
PyPIwikitextparserindirect
PyPIwikitextparser1.0.2indirect
PyPIwsproto1.3.2indirect
PyPIxxhash3.8.1indirect
PyPIyappi1.7.6indirect
PyPIyarl1.24.5indirect
PyPIzipp4.1.0indirect
PyPIzstandard0.25.0indirect
Dependency advisories 4

This repository publishes no package the index resolves, so its own dependency graph was assessed — 371 packages, which also include development and test pins that never ship: 4 carry known advisories, of which 0 are direct. 69 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
pyo30.27.2indirecthigh40.29.0
diskcache5.6.3indirectmoderate2
pytest8.3.4indirectmoderate29.0.3
crossbeam-epoch0.9.18indirectunknown10.9.20

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 54773,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C": 106587,
        "C++": 306513,
        "CSS": 5200,
        "GDB": 60,
        "HTML": 4945,
        "Java": 40274,
        "Rust": 60748,
        "ANTLR": 14750,
        "Jinja": 7633,
        "Shell": 9022,
        "Python": 29236729,
        "Clojure": 1802,
        "PLpgSQL": 1515,
        "Makefile": 13302,
        "Dockerfile": 13080,
        "JavaScript": 13418,
        "Vim Script": 92,
        "Jupyter Notebook": 1188
      },
      "pushed_at": "2026-07-31T04:49:43Z",
      "created_at": "2023-04-25T22:05:37Z",
      "owner_type": "User",
      "updated_at": "2026-07-31T04:49:53Z",
      "description": "My python monorepo.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "BSD-3-Clause",
      "default_branch": "master",
      "license_spdx_raw": "BSD-3-Clause",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": "http://wrmsr.com/",
      "name": "wrmsr",
      "type": "User",
      "login": "wrmsr",
      "company": null,
      "location": "San Frandisco",
      "followers": 92,
      "avatar_url": "https://avatars.githubusercontent.com/u/559096?v=4",
      "created_at": "2011-01-12T09:06:47Z",
      "is_verified": null,
      "public_repos": 240,
      "account_age_days": 5678
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-3-Clause",
      "raw_spdx": "BSD-3-Clause",
      "file_present": true,
      "scorecard_found": null,
      "profile_has_license": true
    },
    "activity": {
      "releases": [],
      "recent_commits": [
        {
          "oid": "b286a1be2ce1a98596e5912ebca432d341991b48",
          "body": "…ies.",
          "is_bot": false,
          "headline": "Bump all package versions to 0.0.36 and align inter‑package dependenc…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T04:49:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc02e7871c02d67ac933c7098caa056fa1181402",
          "body": "Upgrade tinygrad submodule to the latest commit.",
          "is_bot": false,
          "headline": "Bump boto3, botocore, and types-boto3 to 1.43.60",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T04:29:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4734c625789e1972bb35b91af1e8274ceaad398f",
          "body": "… and add proper shutdown semantics to ImmediateExecutor\n\n* Capture and validate return values in async and sync commands, returning a boolean check instead of raw results.\n* Simplify and correct parser class configuration: iterate over MRO directly, delete duplicate entries correctly, and merge ann\n[…]\ncellation logic in `wait_futures` and `wait_dependent_futures`.\n* Add extensive tests covering inheritance precedence, async command validation, executor behavior, and edge cases for futures handling.",
          "is_bot": false,
          "headline": "Fix async CLI return handling, refine Argparse parser MRO processing,…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T04:04:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5cb4d01a3fce21ed05e9a000d3035d0629ce5211",
          "body": "Validate ManifestLoader configuration types, fix class‑key parsing edge cases, and expand tests for config merging, manifest loading, and private class handling.",
          "is_bot": false,
          "headline": "Improve asyncio_maybe_timeout handling and add timeout tests",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:57:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33e8ce0b7eae42656ca945dcee2ff6039c8c0667",
          "body": "…ndling\n\nReplace the manual loop in `ConditionDeque.pop` with `cond.wait_for` and raise `TimeoutError` on timeout. Added unit tests covering FnTarget runner chaining, SequentialWait progression, and ConditionDeque behavior including timeout, `if_empty` callback, and thread‑synchronised push.",
          "is_bot": false,
          "headline": "Add tests for targets, waiting and ConditionDeque; fix pop timeout ha…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:52:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "438ce242bfd80e63e2f989baae4d4542aeec9996",
          "body": "- Permit port 0 in TcpSocketBinder validation and add tests for default ephemeral ports.\n- Add optional no‑close behavior to StandardSocketHandler.\n- Use SocketWriter when write buffer size is zero, fixing buffer handling.\n- Introduce unit tests for socket binding, handlers, IO pair behavior, and datetime utilities.",
          "is_bot": false,
          "headline": "Allow zero port and improve socket handling",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:47:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ea4c8ca96dafb55e12419f60392ceb8b702d05d",
          "body": "Create threads with isolated contextvars, replace rmtree with safe unlink for temporary files, delete callback entries on keyed exit‑stack removal, and add tests for LinuxOsRelease, path checks, temp file cleanup, and keyed exit‑stack reuse.",
          "is_bot": false,
          "headline": "Fix variant ID key case and strengthen path containment logic",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:43:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a9026b73aa2f265596bef9eee3ff78166f11fe3",
          "body": "Update Bind placeholder detection, add validation to iterables.chunk, refine recursion limiting logic, and extend test coverage for builders, genmachine, guard, pairs, pipes, cells, class dictionary helpers, datetimes, iterables, and recursion.",
          "is_bot": false,
          "headline": "Fix DebugFnBuilder sys path flag and improve GenMachine.close robustness",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:35:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b0c106535ef428803cdfa2aac0b5c21b2b522e6",
          "body": "Remove unnecessary Py_DECREF in StrongCache dispatch and add tests for strong‑cache reference ownership and uncached‑miss handling.",
          "is_bot": false,
          "headline": "Replace manual timedelta to seconds conversion with total_seconds()",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:20:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08027702b0b779bd6cc7948311582ddd7fea388e",
          "body": "…tilities, progress bar, decoding, and indent writer.\n\nTests cover global timer context and decorator, ANSI color palette bounds, term coloring selection, progress bar behavior for empty and small sequences, and proper decoding of multibyte offsets. Also correct the bounds check in _clamp_ofs, handle zero‑total progress bars safely, select struct format based on raw input length, and fix newline offset handling in IndentWriter.",
          "is_bot": false,
          "headline": "Add extensive unit tests and fix edge‑case bugs in timers, terminal u…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T03:00:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "876b7a9b509df3ccdeb1b1b6097b572245186a53",
          "body": "Improve rendering by escaping strings and attribute values, remove unused dataclass imports, fix lifecycle manager recursion order, correct pwgen CLI character class selection, and add tests for content removal, rendering, lifecycle dependencies, and password generation.",
          "is_bot": false,
          "headline": "Add strict mode to Dom.remove and enforce content presence",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T02:57:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee54ee90f2fd818bab44b18433c640b6cbf19791",
          "body": "…ests\n\n- Initialize depth‑first traversal with root in seen set and use safe dict.get for immediate dominators.\n- Replace recursive DFS with explicit stack in dominator tree construction.\n- Simplify DOT graph creation, correctly escape IDs, and improve make_simple handling.\n- Strengthen iterator uti\n[…]\npling histogram, and Stats (empty data defaults, percentile bounds, bin count checks, trim behavior).\n- Introduce C‑style division/modulus utilities with zero‑divisor handling and corresponding tests.",
          "is_bot": false,
          "headline": "Fix bugs across graph, iterator, and math modules and add extensive t…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T02:10:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "09d7d43f5580a172eab1d0e4909e466d88d160e8",
          "body": "Add tests for distribution, bytes codecs, chain codec, and registry; improve CodecRegistry.register to detect duplicate names atomically.",
          "is_bot": false,
          "headline": "Validate bin count in distribute_evenly and add tests",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T02:08:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed376d1f54fd99961a046f19259851d852d9f397",
          "body": "Correct IdentityWeakSet discard handling, OrderedSet pop behavior, ProxySet operator overloads, SortedListDict deletion and value iteration, SkipList descending iteration edge cases, and add comprehensive tests for frozen, identity, ordered, proxy, mappings, ranked, skiplist, and utils.",
          "is_bot": false,
          "headline": "Fix FrozenDict reuse logic, hashing, and update methods",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T02:05:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e06221fe2299faacaa7cec79288ccaafaa4480f5",
          "body": "Synchronize all package versions and internal dependencies to the new 0.0.35 release.",
          "is_bot": false,
          "headline": "Bump version to 0.0.35",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-31T01:59:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3053c41834007f1d36928ad950f06847377dc40f",
          "body": "Introduce a zero‑dependency Redis client built as a non‑HTTP pipeline, including command encoder, response decoder, client handlers, and a demo script for synchronous and asynchronous drivers. Add comprehensive unit tests covering address parsing, fragmented replies, end‑to‑end client behavior, and error handling. Mark `_IoPipelineAsgiStepResult` with a TypeAlias comment.",
          "is_bot": false,
          "headline": "Add RESP2 Redis client pipeline example and tests",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T23:44:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4fe8afd8ca7852b6e915dd52e1fbfb7fcb1cbf0",
          "body": null,
          "is_bot": false,
          "headline": "Add nginx and redis to development and system dependency sets",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T23:18:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c710628970e5d42fa4d95fd929f26f9fab6be02a",
          "body": "…tor fast‑path\n\nIntroduce `ElementCollection.provision_plan` cached per key and integrate a fast‑path in `AsyncInjectorImpl` that directly executes compiled plans. Refactor `impl/plans.py` to use async‑native two‑colored nodes, add `is_degenerate` handling, and make `ProvisionPlan.provide` async. Update imports, proxy loading, and tests (planning demo, GC, plan parity) to exercise the new compiler and fast‑path behavior. Adjust documentation and TODO notes accordingly.",
          "is_bot": false,
          "headline": "Add async‑native provision‑plan compiler with per‑key cache and injec…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T23:15:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38e00cd38c0cc295bdfcb5bc7918cd1a44b8f81a",
          "body": "Inject permissions manager to enable permission handling in the command suite.",
          "is_bot": false,
          "headline": "Add PermissionsCommand to UI command manager",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T23:12:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "925b860b15304d5909e2cfc466a04af73790b33e",
          "body": "…parsing\n\nIntroduce _IoPipelineHttpResponseReaderState to manage pending data and end-of-response detection, and _raise_http_response_aborted to surface aborts as HttpClientError. Extend both async and sync pipeline clients to handle IoPipelineHttpResponseAborted messages and enforce proper read sem\n[…]\nlicit default ports, and construct accurate Host headers. Add comprehensive unit tests for request preparation, response streaming, and abort scenarios. Include new permissions command implementation.",
          "is_bot": false,
          "headline": "Add response abort handling, response reader state, and improved URL …",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T23:05:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "07f00773edcc5d4b38266846dd32e012f66c651d",
          "body": "…prompting\n\nIntroduce an InputPermissionAsker class and switch to StandardPermissionDecider with ASK rules for filesystem permissions, importing the new decider and updating the permission handling logic accordingly.",
          "is_bot": false,
          "headline": "Add fdio client comparability note and enable interactive permission …",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T22:46:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4dd875bcf39bd5d935d75760b4da51817546f2e0",
          "body": "Introduce `ProvisionPlan` and `ProvisionPlanCompiler` to compile static provision plans, update `OnceProvisionMap.provide` to accept an optional compute function for compiled scopes, refactor the planning demo to use the new API, and add a full test suite (`test_plans.py`) covering memoization, singleton sharing, scoped caching, cycle detection, unbound keys, listener fallback, parent delegation, cross‑boundary coherence, and compiler reuse.",
          "is_bot": false,
          "headline": "Add experimental provision‑plan compiler",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T22:23:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0cef492244e8455e1b0eda0cbbdd0110d056bd52",
          "body": "…P pipelines\n\nIntroduce CanByteStreamBuffer types and ByteStreamBuffers utilities, update compressors, decompressors, aggregators, chunking, websocket handling, and related tests to work with segmented buffers. Drivers (asyncio, fdio, sync, pure) now emit SegmentedByteStreamBuffer instances instead of raw bytes, and decoders adopt mutable buffers without unnecessary copying. This refactors the codebase to a unified, zero‑copy byte buffer model.",
          "is_bot": false,
          "headline": "Replace BytesLike usage with ByteStreamBuffer abstractions across HTT…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T22:16:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9972669f1abc0f78698521d086e22b564cce33ff",
          "body": "Rename `SimplePermissionsManager` to `StandardPermissionsManager` throughout the codebase. Introduce a `PermissionRequestor` alias and a new `PermissionAsker` interface. Update `PermissionDecider` signatures to accept a requestor, add a `StandardPermissionDecider` implementation, and modify all permission checks in tools and UI to pass the execution context (`ctx`). This enhances permission handling with explicit requestor awareness.",
          "is_bot": false,
          "headline": "Refactor permission system to use requestor context and rename manager",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T22:15:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "008bf020ef52773be8a2a4cbe7dccb1ac082eb6b",
          "body": "…ring\n\nIntroduce `Plan` and `PlanCompiler` to statically compile injection graphs, allocate slot‑based memoization, handle singleton and delimited scopes, detect cycles at compile time, and fall back to interpreter for unsupported providers. Includes a self‑test suite and benchmarking demo to verify semantics and measure performance.",
          "is_bot": false,
          "headline": "Add experimental provision‑plan compiler with shape/link/execute laye…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T21:50:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2039195635702927a0b4daed6668aa51040491c8",
          "body": "Introduce a tiny, dependency‑free SVG rendering library that supports grouped bar charts, legends, axes, and automatic layout. Includes data models, scaling utilities, and a benchmark_dashboard helper to generate client and server benchmark SVG files.",
          "is_bot": false,
          "headline": "Add SVG dashboard renderer and benchmark generator",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T21:47:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "912c1ba5fc1ff6cae39a34c92ad2ab0243d8ea7e",
          "body": "Use a Protocol to define the callable signature, improving type checking and readability.",
          "is_bot": false,
          "headline": "Replace ProvisionListener type alias with Protocol",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T21:35:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd90d729f59dbd1ff5a851a60098e3f9caf708c5",
          "body": "Introduce `read_batch_max_bytes` and `read_batch_max_reads` in the driver configs, validate their values, and modify the read loops of asyncio, fdio, pure, and sync drivers to respect these limits. The changes ensure input flushing occurs before EOF, handle partial read errors correctly, and update related tests to cover the new behavior.",
          "is_bot": false,
          "headline": "Add configurable read batch limits to I/O pipeline drivers",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T21:31:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91c26dcf11879f5145848c96fda7aa1d90b05c31",
          "body": "…tions for request handling and scope entry\n\nImplemented a non‑generator `_RequestGuard` and inlined request‑frame logic in `_try_provide` to eliminate contextmanager overhead. Added manual async context manager `_Entry` in `DelimitedScopeImpl` and `_AsyncScopeEntry` wrapper for `async_enter_scope`, removing `contextlib` usage and importing `types`. Updated imports accordingly and streamlined source‑stack handling. These changes improve hot‑path performance.",
          "is_bot": false,
          "headline": "Replace generator‑based context managers with manual class implementa…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T21:18:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "610da5825e5bf7221ca844f0334ace027bc8a973",
          "body": "Introduce a self‑contained benchmark module with latency and memory tests, auto‑calibrating iteration counts, async support, JSON output, and optional cProfile profiling. Provides a command‑line interface to run, filter, and profile benchmarks, helping detect performance regressions and memory leaks.",
          "is_bot": false,
          "headline": "Add DIY benchmarking and profiling suite for omcore.inject",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T21:01:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd6b55d62b33dd97d6f94bae0a9de25f80ff1a9d",
          "body": "Add `target_factory` and `case_runner` parameters to `_run_client_suite`, defaulting to a fresh Nginx fixture for each case to prevent state leakage. Update documentation to reflect the new behavior. Introduce tests that verify a new target is created for every client case and that an external base URL is reused across cases.",
          "is_bot": false,
          "headline": "Refresh client target per case and make client suite injectable",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T20:42:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06666b0f4c3336675e612431696fc46c39660a6b",
          "body": "Introduce DelimitedScope as the new unit‑of‑work scope, implement ContextVar‑backed opening policies, and update the injector to validate scope registration, prevent redeclaration in child injectors, and enforce eager bindings to be local to their scope. Add new error types (ScopeAlreadyRegisteredError, ScopeNotRegisteredError, ScopeEagerNonLocalError) and adjust default scopes handling. Update documentation, tests, and utility functions to use the new DelimitedScope API.",
          "is_bot": false,
          "headline": "Replace SeededScope with DelimitedScope and add contextual scope support",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T20:35:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad116fe8eb4b4c6892601be4dd1491a5ed8b83cf",
          "body": "Introduce a new bench module providing client and server benchmark implementations, utilities for parsing, partitioning, and result handling, along with a comprehensive test suite covering core functionality.",
          "is_bot": false,
          "headline": "Add self-contained HTTP pipeline benchmarks and tests",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T19:23:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "893d3578e7e716f8d4b35598dbe5a38d0e028450",
          "body": "Implemented PermissionRules collection, deciders, FS, shell, and URL matchers, managers, and marshaling support. Replaced the old PermissionGranter with PermissionDecider in filesystem, read, and bash tools, introduced SimplePermissionsManager and a default deny decider, and updated the UI accordingly while removing the obsolete PermissionGranter module and adding comprehensive tests.",
          "is_bot": false,
          "headline": "Add modular permissions system and migrate tools to PermissionDecider",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T19:20:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96680ace6af894fc3bb558d05af54d9141c70e7a",
          "body": null,
          "is_bot": false,
          "headline": "Bump nginx to 1.31.3 and nginx_vts to 0.2.6",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T18:56:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "778af450813dd2b66244ba007d12a2d7e4c9cc5e",
          "body": "Simplify runner creation by using the default asyncio.Runner, which already creates a fresh event loop.",
          "is_bot": false,
          "headline": "Remove redundant loop_factory argument from asyncio.Runner",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T18:11:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b2150668e22252872d8f197aca5a72b9ad5ba81",
          "body": "…rencing inj, and asyncio coalescing; refactor pipeline driver attribute declarations\n\nExtended test suite now covers:\n- Verification that injector keys are not type‑checked and can return any bound value.\n- A late‑binding example using a custom getter type that avoids importing the injection machin\n[…]\ner`, `PureIoPipelineDriver`, `SyncSocketIoPipelineDriver`) have been cleaned up by consolidating and reordering attribute definitions, removing duplicated declarations, and simplifying initialization.",
          "is_bot": false,
          "headline": "Add injector tests for type‑unchecked keys, late binding without refe…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T18:02:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1b14ad656f1a68db607b27e9246e87c53cf460a3",
          "body": "…cs, and tunnel mode\n\nIntroduce `is_interim` on response heads and a new `tunnel` body mode. Update the HTTP client pipeline to skip interim responses, correctly process HEAD and CONNECT requests, and reject conflicting Transfer‑Encoding/Content‑Length headers. Implement a client‑aware response deco\n[…]\nndler to manage interim and final response states. Add comprehensive tests for these behaviors and fix the WebSocket client upgrade handler to consume the HTTP response end after a successful upgrade.",
          "is_bot": false,
          "headline": "Add proper handling for interim (1xx) responses, HEAD/CONNECT semanti…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T05:12:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b6ccabc280eb6f8088c396859bd6081a0dd6f9ff",
          "body": "Implement weak reference handling for bound cached methods, including a fallback strong holder for non‑weakrefable objects, new cache spec flags, descriptor adjustments, and code‑gen changes. Add comprehensive tests for weak binding behavior, element‑collection garbage collection, and update related documentation and TODO entries.",
          "is_bot": false,
          "headline": "Add weak‑instance caching with pinning and strong_instance option",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T04:49:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f9fda2c49986888109d7acb0780d12543e9f7c2",
          "body": "…internal constants, add dead‑injector detection, and support weak‑parent private injectors. Update late binding to use weak refs, adjust seeded‑scope manager and child handling, and add comprehensive GC hygiene tests.",
          "is_bot": false,
          "headline": "Fix reference‑cycle leaks by weak‑ref‑ing injector relationships and …",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T03:59:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d657a17e8b29b6cf0205a53e7f78577701ff604",
          "body": "…class\n\nMoved the file to `omcore/diag`, merged a split comment line, replaced `# pragma: no cover` with `# noqa`, and added an `other: ta.Any` attribute to the inline test class.",
          "is_bot": false,
          "headline": "Rename refcycles module, tighten comments, and add type hint to test …",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T02:18:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a74f61becfef595287915b0a02e78a83b94b9452",
          "body": "Switches all uses of `uuid.uuid4()` to the newer `uuid.uuid7()` to obtain time‑ordered, sortable identifiers across tagging, multipart encoding, storage journaling, linecache reservations, and LLM backend tool call IDs.",
          "is_bot": false,
          "headline": "Replace uuid4 with uuid7 for UUID generation",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T01:09:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d108ef4bee28cee0f3a705fa0e390a85dbc71566",
          "body": null,
          "is_bot": false,
          "headline": "Bump package versions to 0.0.34 across all components.",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T00:08:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1a70eaf08371c0b3cb109d5597493a762c9526c",
          "body": null,
          "is_bot": false,
          "headline": "Add transformers to backend dependency skip list",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-30T00:04:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87fac6d8d22ebcf89d158d8f89e1679ece2dd879",
          "body": "Replace the pipdeptree module call in the Makefile, drop pipdeptree from dev and frozen requirements, and remove obsolete packages (Flask stack, blinker, installer, itsdangerous, nab‑*, tomli, truststore, Werkzeug, etc.) while adjusting build version.",
          "is_bot": false,
          "headline": "Use x.pipdeptree for the dep‑tree target and prune unused dependencies",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T23:54:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8f8f68b4947805627bd77180aead1fd6468ad56",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade filelock to 3.32.2 and bump tinygrad submodule",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T23:48:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3fd8fd19136c18384ba27744a195eff16c40c10",
          "body": "Drop the type:ignore on session.verify and session.pip_proxy assignments, and add a try/except to import stdlib_pkgs from pip._internal.metadata.base for pip 26.2+, falling back to the previous location.",
          "is_bot": false,
          "headline": "Remove unnecessary type:ignore comments and improve stdlib_pkgs import",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T23:47:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81f20644e6a81b5fd12155bc1db1f1fdf044d604",
          "body": "Introduce CommandContext and CommandClass with full argparse handling, replace ui_text_to_rich_text with text_to_rich_text, add QuitSignal/RaiseQuitSignal, ensure MarkdownText writes a trailing newline, update CommandsManager to use TextDisplayer, add Echo and Quit simple commands, and integrate command handling into Session and the bare UI.",
          "is_bot": false,
          "headline": "Refactor command architecture and UI utilities",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T23:34:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9df7f67b4f86d8b4e77a00d4a6a9d9b5ad568ad",
          "body": "Add multi‑scope seed discussion to the TODO and refactor the UI module (display, json, rich, text) and related tests to use the new Text, TextStyle, and TextDisplayer names throughout the codebase.",
          "is_bot": false,
          "headline": "Rename UiText API to Text and update all references",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T23:02:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14af4de74aa963dd6fe3cd049e3ea82a6ada05f6",
          "body": "Introduce base Command classes with argument parsing, error handling, and a CommandsManager that parses text input, resolves commands, and executes them with UI feedback. This provides a structured command infrastructure for the harness.",
          "is_bot": false,
          "headline": "Add command framework to harness",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T22:55:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c50d40548cb7eba79be18ff9f5bec1a3f8366128",
          "body": "…ending‑removal semantics\n\nDocument the required removal contract, reentrant decode handling, and test coverage for inbound/outbound topology mutations.",
          "is_bot": false,
          "headline": "Add comprehensive TODO describing dynamic decoder removal and Netty p…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T22:47:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e2882752e4c371bb201e6db2695719f337cdf53",
          "body": "…bda with inj.target\n\nIntroduce `ScopeFrozenError` and a `freeze()` method for `SeededScopeImpl`, adding a frozen flag and guard in provision. Extend `OnceProvisionMap` with a `has()` check and use it to enforce frozen behavior. Ensure async injector initialization before `provide_kwargs` and `injec\n[…]\ndings with the preferred `inj.target` across the codebase, updating imports, docs, and tests. Add new tests for frozen scopes and adjust documentation regarding collection ordering and lambda binding.",
          "is_bot": false,
          "headline": "Add frozen‑scope support and request‑sharing fixes; replace typed_lam…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T22:44:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2da874e09190a88b6b6facf57d2bdafe39756dfc",
          "body": "…xpose in UI package\n\nIntroduce MarkdownUiText class as a placeholder for markdown rendering and update imports accordingly.",
          "is_bot": false,
          "headline": "Add UiTextDisplayer abstraction with Nop and Print implementations; e…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T22:40:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f91dd94fc66b990531bfd777b9660b66b522267",
          "body": "…xamples, and common patterns\n\nInclude tests for graph shapes, failure paths, scopes, multibindings, overrides, lifecycle management, and real‑world composition patterns.",
          "is_bot": false,
          "headline": "Add extensive injector test suite covering adversarial cases, usage e…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T22:03:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb603ecff1091f3d36688f48d5810d7373b405e2",
          "body": "Update documentation to include the pure driver as a reference implementation, adjust fdio and sync drivers to use the flow service’s auto‑read logic, introduce a deterministic PureIoPipelineDriver, add extensive conformance and pure‑driver unit tests, and enable heap scheduler to accept an injected clock for deterministic timing.",
          "is_bot": false,
          "headline": "Add pure no‑I/O driver and comprehensive driver conformance tests",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T21:58:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96b178a21d79551313800b611846fc05cd0716fe",
          "body": "Introduce a new “interop” package with modules for llama‑cpp, mlx, tavily, tinygrad, torch, and transformers, including utilities for hacks, function creation, name generation, patching, tokenization, generation, loading, and streaming. Extend the project dependencies to include llama‑cpp‑python, mlx, mlx‑lm, tinygrad, torch, and transformers, and rename the huggingface group to “interop”. Add corresponding tests, fixtures, and helper scripts.",
          "is_bot": false,
          "headline": "Add interop support for multiple backends and update dependencies",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T21:57:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a50cc8b8b060d8a1b3c4de4c6dff82825d5c0591",
          "body": "Implemented a new `Session` class that holds an `Agent` and forwards prompts, added the corresponding import, and updated the UI to use `Session.prompt` instead of calling the agent directly. Also renamed agent imports to `agn` and adjusted related references.",
          "is_bot": false,
          "headline": "Add Session wrapper in harness and integrate it into the bare UI",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T21:29:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09d855eed21a87f88a34101d08cfd61e79982de8",
          "body": "Refactor TurnLoop to build the LLM context in a dedicated method and add a verbose CLI flag for conditional event output.",
          "is_bot": false,
          "headline": "Add error handling to tool execution and expose errors in ToolResult",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T21:22:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68427b27abb94ea2d600e02d4afc1654ed7ba7f2",
          "body": "Expose the new LlmAiStreamEvent, emit it while iterating over llm.StreamBackend streams, and switch the bare UI example to use the streaming backend with event logging.",
          "is_bot": false,
          "headline": "Add LlmAiStreamEvent and stream handling in TurnLoop",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T20:56:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54d1b8db4465cbb699065e5a262029ae914b6879",
          "body": "Add a cached RichMarkdown configuration, import typing, lang, and Rich UI utilities, adjust permission prompt formatting, and remove stray debug printing.",
          "is_bot": false,
          "headline": "Render AI text content with Rich Markdown",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T20:41:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9606d7600ffa4c4c25c1124172023df7ca24339",
          "body": "Upgrade pgvector to 0.8.6, bump boto3, botocore, types‑boto3 to 1.43.59, and update APSW. Refine event handling to print only AiMessage objects and advance the tinygrad submodule reference.",
          "is_bot": false,
          "headline": "Bump pgvector image and update core dependencies",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T20:32:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8714f408e7eaabf906bf4955802c8fe6c6c0331",
          "body": "Remove unused static _run_* helper methods and the functools import, using check.isinstance within the lambdas to invoke the appropriate instance method directly.",
          "is_bot": false,
          "headline": "Replace timeout callbacks with inline lambdas",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T20:28:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "965bbb670f732f689aae44c17361346f46d74c9b",
          "body": "Introduce DESIGN.md detailing architecture, lifecycle, flow control, scheduling, and driver contracts. Update README with a link to the design doc and clean up the TODO list accordingly.",
          "is_bot": false,
          "headline": "Add comprehensive pipeline design documentation",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T20:14:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "518a02695c82b05e624c2a936c832737d00a5fe7",
          "body": "Add listener logic to record write activity when a FlushOutput completes successfully, introduce WRITE_ACTIVITY_STATES, update documentation, and extend tests to cover flush completion handling, failure cases, and interaction with idle timers.",
          "is_bot": false,
          "headline": "Track successful FlushOutput as write activity",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T20:00:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04308935dfad716c00add68fc7d0b1c07c79f373",
          "body": "Include tests for immediate and streaming backends using SyncAsyncHttpClient and lang.sync_await to verify synchronous execution.",
          "is_bot": false,
          "headline": "Add sync test cases for OpenAI completions backends",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T19:58:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57e9abf0c47e0fd4497963a02b777e892c701af4",
          "body": "Implement a new handler that schedules and cancels write deadlines for FlushOutput and FinalOutput fences, emits TimeoutIoPipelineError on expiry, and integrates with pipeline scheduling. Extend tests for sync, asyncio, and fdio drivers to cover timeout behavior and remove obsolete TODO comments.",
          "is_bot": false,
          "headline": "Add WriteTimeoutIoPipelineHandler with outbound timeout enforcement",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T19:37:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed9309b44d708c43cce5e90fa66ca3d8dbb44f82",
          "body": "…eyed elements concatenate\n\nUpdate ElementCollection to apply overrides by whole‑bucket replacement for keyed elements while concatenating unkeyed ones. Add detailed docstring to `override` explaining the behavior. Adjust tests to reflect the new override logic (remove xfails, add cases for set/map multi‑bindings and eager handling). Clean up imports and TODO notes related to validation.",
          "is_bot": false,
          "headline": "Fix override semantics: per‑key elements now replace wholesale, non‑k…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T19:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b476a13a331256f008f9fe1fbe940677b9ee03f",
          "body": "Introduce a non‑blocking `drain_socket` helper for tests and a new `TestFdioSslIoPipelineHandlerShutdownTimeout` class that verifies TLS shutdown timeout handling, timer scheduling, error propagation, and proper driver cleanup.",
          "is_bot": false,
          "headline": "Add TLS shutdown timeout test and socket drain helper",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T19:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c40884503c57c337082e9324d414a518869240be",
          "body": "These tests capture the intended semantics for set, map, eager bindings, and non‑keyed elements, which currently fail because the override implementation replaces per‑key element lists wholesale (see TODO.md).",
          "is_bot": false,
          "headline": "Add xfail tests for override merging behavior and edge cases",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:59:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db6fa95fcbbba86c7438c55df0c58d19f305ec15",
          "body": "Introduce a RecordingSelectFdioPoller to capture poll timeouts and a new TestFdioSslIoPipelineHandlerTimeout verifying TLS handshake timeout handling with FdioManager. Add InputPermissionGranter that prompts the user for permission instead of using a constant granter.",
          "is_bot": false,
          "headline": "Add FDIO TLS handshake timeout test and interactive permission granter",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:55:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef682bc973b26b324cec62099fc121e0e2d68c31",
          "body": "The `in_` argument now accepts a scope name (`str`) as well as a `Scope` instance, enabling configuration by string identifiers.",
          "is_bot": false,
          "headline": "Allow string values for `in_` scope parameter in bind()",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:49:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e1ccd2de628eadc51d7cedeaefd9cc8af7ff0f0",
          "body": "…ivers\n\nRefactor the fdio and sync socket pipeline drivers to use a new common `HeapIoPipelineSchedulingService` instead of duplicated internal scheduler implementations. Update driver code to call `run_due()` and adjust imports accordingly. Add comprehensive heap scheduler unit tests and a new FDIO HTTP server timeout test covering partial request handling and timeout propagation. Update related test expectations and clean up TODO entries.",
          "is_bot": false,
          "headline": "Extract shared heap‑based scheduling service and integrate it into dr…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:46:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bded591d6230fe627f0e7d9185424b404c5745e7",
          "body": "Introduce a generic `ScopeImpl` with class methods (`scope_cls`, `eager_point`, `auto_elements`), replace `make_scope_impl` usage with a new `get_scope_impl` lookup, update element collection and eager‑point checks accordingly, and restructure the scope implementation registry.",
          "is_bot": false,
          "headline": "Refactor scope handling to generic class‑based implementation",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:45:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c4e51c5ec8dbaf39558171609bb611073ae130b",
          "body": null,
          "is_bot": false,
          "headline": "--",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:39:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f06b3674b3c3d110395e02bf4d23127259a737e",
          "body": "Introduce `_has_init` flag and async helpers in `InputManager` to import `readline` only when stdin is a TTY. Use the manager for all prompts, handling `EOFError` to exit cleanly, and rename the backend variable for clarity. This prevents unnecessary imports and improves graceful shutdown.",
          "is_bot": false,
          "headline": "Add lazy readline initialization and robust input handling",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:19:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cc73da71e2a87dae4a345cab14d81dc02393c6c",
          "body": "Introduces a lock‑protected `input` method that runs `input()` in a background thread, enabling safe concurrent usage in asynchronous contexts.",
          "is_bot": false,
          "headline": "Add async InputManager with thread‑offloaded input handling",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T18:15:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94c8367358b450452404a5200d7e0125c3c9f7ef",
          "body": "…e in IoPipelineDriverSocketFdioHandler with timer support, deadline handling, cancellation, and manager wake‑up.",
          "is_bot": false,
          "headline": "Add fdio HTTP ping server demo and tests; implement scheduling servic…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T17:46:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d62be7b6ea8f38920d71778bd1f8fef3ffa251e5",
          "body": "Introduce PermissionGranter and ConstantPermissionGranter, expose them in the agent package, update LsTool, ReadTool, and BashTool to require a PermissionGranter and enforce permission checks, and wire a constant granter into the bare UI.",
          "is_bot": false,
          "headline": "Add permission granter infrastructure and integrate it into tools",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T17:42:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc7e23681d378e22d8c6733295bd0da34ccdad6f",
          "body": "Eliminate `omcore.lang.cached_function` wrappers and related imports from dummy, filesystem, and shell tools. Update all callers—including tests and the bare UI—to import the tool classes (`GetWeatherTool`, `LsTool`, `ReadTool`, `BashTool`) and invoke `.tool()` on instantiated objects, simplifying the tool registration flow.",
          "is_bot": false,
          "headline": "Remove cached tool factories and use tool class instances directly",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T17:30:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41a58aa0537b6c75cf24abdef8464f0e0a924429",
          "body": "Introduce `next_deadline` and `on_timeout` abstract methods, compute poll timeout from the earliest handler deadline, validate caller‑provided timeout, invoke `on_timeout` when due, clean up closed handlers, adjust poller unregister behavior, and add extensive unit tests for the new functionality.",
          "is_bot": false,
          "headline": "Add deadline handling and timeout callbacks to FDIO manager and handlers",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T17:24:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1bcd521045da099a42a9707e115ec7948e3358ca",
          "body": "Introduce -S/--start-col and -E/--end-col options with validation and end‑line adjustment, add optional argument logging, and include a regression test for docstring wrapping.",
          "is_bot": false,
          "headline": "Add column support to docwrap CLI",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T17:23:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13691e20f006a93f6f3788d847ec795be9425d31",
          "body": "This updates the submodule reference from a17387d6a to 3803f1583, bringing in recent changes and fixes.",
          "is_bot": false,
          "headline": "Upgrade tinygrad submodule to newer commit",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T16:40:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3df3b73164386ff5a2ebdcb62ba373e52f7eb36c",
          "body": "…ful shutdown\n\nReplace the previous non‑completable FinalOutput with a dataclass implementing Completable[None]. Adjust pipeline contexts to return the message, add helper methods to finish the Completable on success or error, and update asyncio, fdio, and sync drivers to invoke these helpers during drain and close. Refactor handlers and tests to track and assert the FinalOutput’s completion state, ensuring proper graceful termination without premature aborts.",
          "is_bot": false,
          "headline": "Make FinalOutput a Completable and integrate its lifecycle into grace…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T04:52:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e70584ddc9fcbdf990cc1913a66c27761d3e965",
          "body": "… fields class‑level defaults\n\nIntroduce a WeakKeyDictionary cache for dataclass ClassReflection in `reflect_tool_params`, add stricter type checks and return a `Sequence`. Move `_active` and `_active_used` to class attributes in `SegmentedByteStreamBuffer` to define default state more cleanly.",
          "is_bot": false,
          "headline": "Cache dataclass reflection for tool parameters and make active buffer…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T04:51:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e618472858f15c37166be5687126ed581eae3f98",
          "body": "…ernal `_ref` accesses\n\nRefactor pipeline code to use the new `ref` property, introduce a local `pipeline` variable for state checks, and update propagation, error handling, and handler lookup logic accordingly.",
          "is_bot": false,
          "headline": "Expose public `ref` on `IoPipelineHandlerContext` and replace all int…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T04:36:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e92316c781ae115a6c1321205c5522ea1a265670",
          "body": "- Added AbortedIoPipelineError and made IoPipelineFlowMessages.FlushOutput implement Completable, ensuring it signals success only after all prior output leaves pipeline buffers.\n- Refactored Completable binding/unbinding, unified finish logic, and aggregated listener exceptions without leaking inte\n[…]\nsted SSL handler to queue pending FlushOutput messages and emit them in order.\n- Extended tests to verify immediate completion without a writer, proper ordering, listener behavior, and abort handling.",
          "is_bot": false,
          "headline": "Make FlushOutput a Completable and improve completion lifecycle handling",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T04:31:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d35916f1fccc6cfa50cb463462d79ad1af414512",
          "body": "…ression/TLS pipelines\n\nIntroduce a _TimeoutResponseIoPipelineHandler and a new backpressure test that validates a 504 Gateway Timeout response drains correctly over slow TLS gzip streams. Add reference‑cycle tests for active HTTP compression and TLS handlers, and update pipeline TODOs to reflect timeout scheduling work.",
          "is_bot": false,
          "headline": "Add timeout response integration test and ensure no cyclic GC in comp…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T03:22:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f18c24b77c23868491addbd3a0eb35d05e5f0b5",
          "body": "…cies accordingly.",
          "is_bot": false,
          "headline": "Bump all package versions to 0.0.33 and update inter‑package dependen…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T03:21:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71263fb6c8856bab183e0ac0837137cd4a6adc4b",
          "body": "Update test helpers to instantiate the lexer via its Config wrapper, matching the new initialization API.",
          "is_bot": false,
          "headline": "Use JsonStreamLexer.Config for lexer construction in tests",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T03:05:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "79fd97883e88a5fbf2dbb97651d5fe3495e6ee50",
          "body": "…f ownership and schedule_context API\n\nReplace direct imports of dataclasses with package-relative imports, refactor HttpHeaders, decoder/encoder, SSL handler, and various pipeline components to store non‑owning weak references. Add a new `schedule_context` method to `IoPipelineScheduling` and updat\n[…]\nUpdate caches, handler contexts, and driver implementations accordingly. Add comprehensive tests to verify that pipeline topology, handlers, and active timers do not require cyclic garbage collection.",
          "is_bot": false,
          "headline": "Break reference cycles in pipeline core and drivers, introduce weakre…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T02:57:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c97f8715ee2572c73537c09318179f5110b1ac7",
          "body": "…tructors\n\nIntroduce frozen, kw‑only Config dataclasses for JsonStreamLexer, JsonStreamParser, and JsonValueBuilder, replace multiple keyword arguments with a single config object, and update internal attribute accesses accordingly. Adjust package initialization, utilities, and tests to use the new Config classes and enable code generation, while adding formatting and linting directives.",
          "is_bot": false,
          "headline": "Add Config dataclasses to streaming JSON components and refactor cons…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T02:00:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1896980e1147d9c3b79a61f0b36c60878eed054f",
          "body": "…enchmark\n\nReplace function‑based reflect_tool_fn usage for the dummy weather and bash tools with ToolClass subclasses, introducing explicit name, params_cls, description, and execute methods. Add a new benchmark suite for the streaming JSON parser that measures performance across feeding modes against stdlib C and pure‑python decoders.",
          "is_bot": false,
          "headline": "Refactor tools to class‑based implementation and add JSON streaming b…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T01:45:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe001156402e608cf9f0e011a7acc22af370490b",
          "body": "Introduce a lightweight PackedPosition type and unpack_position helper, store it in Token as packed_pos, and expose a .position property. Update the JSON stream lexer to emit packed tuples and adjust the parser to use the new property, improving token creation performance.",
          "is_bot": false,
          "headline": "Replace Position with packed tuple for token positions",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T01:36:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5d879367f8bc2db11ea42e8ddb3f2a39c6d0f25",
          "body": "Introduce a unified `_fail` path that marks the driver as FAILED and closes resources, track a closing writer, and handle transport read/write errors as driver failures. Add a `_ReadFailedCommand` to propagate read exceptions, wrap command execution, output handling, and scheduling with fail logic, \n[…]\nfely repeatable. Apply analogous improvements to the fdio and sync drivers. Expand the test suite with lifecycle, error‑propagation, and draining‑abort scenarios, and update documentation accordingly.",
          "is_bot": false,
          "headline": "Add robust failure handling and idempotent close to I/O pipeline drivers",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T01:24:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "22ecaa976624dddc4ac4afc1787a98e45915c8c3",
          "body": "Cover eager formatting, streaming modes (including buffered and small read buffers), line mode, JSON5 input handling, and error cases to ensure correct output and exit codes.",
          "is_bot": false,
          "headline": "Add comprehensive tests for the JSON CLI tool",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T01:19:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b64faca5d5896b2898e3ce8106daac78ca7f9f0c",
          "body": "Convert ls and read tools into ToolClass subclasses, simplify tool construction via .tool(), expose ToolClass in package init, and adjust description handling accordingly.",
          "is_bot": false,
          "headline": "Refactor filesystem tools to use the new ToolClass abstraction",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T01:17:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f367d4de2630214100da99b74eee8dfbea59c6e8",
          "body": "…d position tracking and suspendable input handling\n\nIntroduce new buffer management (_more, _read_chars, _consume_to) and fast‑path for single‑character buffers, simplify token scanning, fix string/number/identifier/comment parsing, improve error handling, and update utils and parser to correctly flush EOF and suppress secondary errors during context exit.",
          "is_bot": false,
          "headline": "Refactor streaming JSON lexer to use a single buffer with offset‑base…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T01:08:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d1632851bb3b10cbc1a5a336038e0d01dcd48a0",
          "body": "Introduce a drain task, request/cancel logic, and a DrainCompletedCommand to manage writer.drain() without blocking the driver. Queue output messages while a drain is pending, update writability checks, and ensure proper cleanup on shutdown and failure. Extend tests to verify non‑blocking behavior, coalesced drains, and error propagation.",
          "is_bot": false,
          "headline": "Add asynchronous drain handling and coalescing for output writes",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T00:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "333700a30094befedb0402b7994fe1f4621cffaf",
          "body": "… utilities\n\nExpose instantiate_tool_params and reflect_tool_params in the agent package and implement a generic cached wrapper that builds llm.Tool instances and executes them with proper parameter handling.",
          "is_bot": false,
          "headline": "Add abstract ToolClass base for LLM tools and expose param reflection…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T00:44:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "063a0fdd14829c07e0138a513ee88b0aec9b4efd",
          "body": "…boto3 to 1.43.58, upgrade uv to 0.12.0, and update the tinygrad submodule.\n\nRefresh cached model metadata and align frozen requirements with the new dependency versions.",
          "is_bot": false,
          "headline": "Bump MySQL Docker image to 9.7.2, upgrade boto3, botocore, and types‑…",
          "author_name": "wrmsr",
          "author_login": "wrmsr",
          "committed_at": "2026-07-29T00:28:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 0,
      "commits_last_year": 4075,
      "latest_release_at": null,
      "latest_release_tag": null,
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 51,
      "days_since_latest_release": null,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "omdev",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "Intended Audience :: Developers",
            "Operating System :: OS Independent",
            "Operating System :: POSIX",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.14"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/omdev/",
          "is_deprecated": false,
          "latest_version": "0.0.35",
          "repository_url": "https://github.com/wrmsr/om",
          "versions_count": 585,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 2758,
          "first_published_at": "2024-08-27T16:05:04.836569Z",
          "latest_published_at": "2026-07-31T04:49:25.882405Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "omllm",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "Intended Audience :: Developers",
            "Operating System :: OS Independent",
            "Operating System :: POSIX",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.14"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/omllm/",
          "is_deprecated": false,
          "latest_version": "0.0.35",
          "repository_url": "https://github.com/wrmsr/om",
          "versions_count": 9,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2026-07-14T19:33:15.590147Z",
          "latest_published_at": "2026-07-31T04:49:26.649241Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "omcore",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "Intended Audience :: Developers",
            "Operating System :: OS Independent",
            "Operating System :: POSIX",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.14"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/omcore/",
          "is_deprecated": false,
          "latest_version": "0.0.35",
          "repository_url": "https://github.com/wrmsr/om",
          "versions_count": 8,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 804,
          "first_published_at": "2026-07-14T20:45:31.052768Z",
          "latest_published_at": "2026-07-31T04:49:14.561944Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "omxtra",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "Intended Audience :: Developers",
            "Operating System :: OS Independent",
            "Operating System :: POSIX",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.14"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/omxtra/",
          "is_deprecated": false,
          "latest_version": "0.0.35",
          "repository_url": "https://github.com/wrmsr/om",
          "versions_count": 69,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2026-02-06T19:29:52.615753Z",
          "latest_published_at": "2026-07-31T04:49:17.544445Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "ominfra",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "Intended Audience :: Developers",
            "Operating System :: OS Independent",
            "Operating System :: POSIX",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.14"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/ominfra/",
          "is_deprecated": false,
          "latest_version": "0.0.35",
          "repository_url": "https://github.com/wrmsr/om",
          "versions_count": 585,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 2516,
          "first_published_at": "2024-08-27T16:05:07.031671Z",
          "latest_published_at": "2026-07-31T04:49:20.380559Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 7,
      "watchers": 1,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos",
        "examples",
        "notebooks",
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile",
        "omdev/pyproject/tests/skeleton/Makefile"
      ],
      "api_schema_files": [
        "omxtra/specs/proto/tests/examples/addressbook.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "omcore/py.typed",
        "omdev/py.typed",
        "ominfra/py.typed",
        "omllm/py.typed",
        "omxtra/py.typed",
        "x/pipdeptree/py.typed"
      ],
      "toolchain_manifests": [
        "omdev/rs/_boilerplate/Cargo.toml",
        "x/ommlds/nanochat/rustbpe/Cargo.toml"
      ],
      "largest_source_bytes": 1397928,
      "source_files_sampled": 4878,
      "oversized_source_files": 61,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 3068
    },
    "dependencies": {
      "manifests": [
        "pyproject.toml",
        "requirements-ci.txt",
        "requirements-dev.txt",
        "requirements-ext.txt",
        "requirements-frz.txt",
        "requirements.txt"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "pyo3",
            "direct": false,
            "version": "0.27.2",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-36hh-v3qg-5jq4",
              "GHSA-chgr-c6px-7xpp",
              "RUSTSEC-2026-0176",
              "RUSTSEC-2026-0177"
            ],
            "fixed_version": "0.29.0",
            "advisory_count": 4,
            "oldest_advisory_days": 49
          },
          {
            "name": "diskcache",
            "direct": false,
            "version": "5.6.3",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-w8v5-vhqr-4h9v",
              "PYSEC-2026-2447"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": 169
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "8.3.4",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 6.8,
            "advisory_ids": [
              "GHSA-6w46-j5rx-g56g",
              "PYSEC-2026-1845"
            ],
            "fixed_version": "9.0.3",
            "advisory_count": 2,
            "oldest_advisory_days": 189
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.18",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0204"
            ],
            "fixed_version": "0.9.20",
            "advisory_count": 1,
            "oldest_advisory_days": 24
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1,
          "unknown": 1,
          "moderate": 2
        },
        "advisory_count": 9,
        "affected_count": 4,
        "assessed_count": 371,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 69,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "omcore",
          "manifest": ".pkg/omcore-cext/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omdev",
          "manifest": ".pkg/omdev-cext/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omdev",
          "manifest": ".pkg/omdev-cli/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omdev",
          "manifest": ".pkg/omdev-rs/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omcore",
          "manifest": ".pkg/omdev/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omcore",
          "manifest": ".pkg/ominfra/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omcore",
          "manifest": ".pkg/omllm/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omxtra",
          "manifest": ".pkg/omxtra-cext/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        },
        {
          "name": "omcore",
          "manifest": ".pkg/omxtra/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "== 0.0.36"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "omcore",
            "direct": true,
            "version": "0.0.36",
            "ecosystem": "pypi"
          },
          {
            "name": "omdev",
            "direct": true,
            "version": "0.0.36",
            "ecosystem": "pypi"
          },
          {
            "name": "omxtra",
            "direct": true,
            "version": "0.0.36",
            "ecosystem": "pypi"
          },
          {
            "name": "ahash",
            "direct": false,
            "version": "0.8.12",
            "ecosystem": "crates"
          },
          {
            "name": "aho-corasick",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "arc-swap",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "autocfg",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "bit-set",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "bit-vec",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "castaway",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "cfg-if",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "compact_str",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-deque",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.18",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-utils",
            "direct": false,
            "version": "0.8.21",
            "ecosystem": "crates"
          },
          {
            "name": "dary_heap",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "crates"
          },
          {
            "name": "either",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "equivalent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "fancy-regex",
            "direct": false,
            "version": "0.16.2",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "heck",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "indoc",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": false,
            "version": "1.0.15",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": false,
            "version": "0.2.184",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": false,
            "version": "0.2.188",
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": false,
            "version": "0.4.29",
            "ecosystem": "crates"
          },
          {
            "name": "memchr",
            "direct": false,
            "version": "2.7.6",
            "ecosystem": "crates"
          },
          {
            "name": "memoffset",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": false,
            "version": "1.21.4",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": "1.0.106",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": "1.0.107",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3",
            "direct": false,
            "version": "0.27.2",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-build-config",
            "direct": false,
            "version": "0.27.2",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-build-config",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-ffi",
            "direct": false,
            "version": "0.27.2",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-ffi",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-log",
            "direct": false,
            "version": "0.13.3",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-macros",
            "direct": false,
            "version": "0.27.2",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-macros",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-macros-backend",
            "direct": false,
            "version": "0.27.2",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-macros-backend",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": "1.0.45",
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": "1.0.47",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "rayon",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "rayon-core",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "regex-automata",
            "direct": false,
            "version": "0.4.13",
            "ecosystem": "crates"
          },
          {
            "name": "regex-syntax",
            "direct": false,
            "version": "0.8.8",
            "ecosystem": "crates"
          },
          {
            "name": "rustversion",
            "direct": false,
            "version": "1.0.22",
            "ecosystem": "crates"
          },
          {
            "name": "ryu",
            "direct": false,
            "version": "1.0.20",
            "ecosystem": "crates"
          },
          {
            "name": "static_assertions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "2.0.117",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "2.0.119",
            "ecosystem": "crates"
          },
          {
            "name": "target-lexicon",
            "direct": false,
            "version": "0.13.5",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-ident",
            "direct": false,
            "version": "1.0.24",
            "ecosystem": "crates"
          },
          {
            "name": "unindent",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "version_check",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "crates"
          },
          {
            "name": "wasip2",
            "direct": false,
            "version": "1.0.1+wasi-0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen",
            "direct": false,
            "version": "0.46.0",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy",
            "direct": false,
            "version": "0.8.27",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy-derive",
            "direct": false,
            "version": "0.8.27",
            "ecosystem": "crates"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp-jinja2",
            "direct": false,
            "version": "1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "aiomysql",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiomysql",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosignal",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosqlite",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiosqlite",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-doc",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "antlr4-python3-runtime",
            "direct": false,
            "version": "4.13.2",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apsw",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "apsw",
            "direct": false,
            "version": "3.53.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asgiref",
            "direct": false,
            "version": "3.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "asn1crypto",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ast-serialize",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "astpretty",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asttokens",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "asttokens",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "asyncpg",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "asyncpg",
            "direct": false,
            "version": "0.30.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asyncpg",
            "direct": false,
            "version": "0.31.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asyncpg-stubs",
            "direct": false,
            "version": "0.31.3",
            "ecosystem": "pypi"
          },
          {
            "name": "asyncssh",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "asyncssh",
            "direct": false,
            "version": "2.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "basedpyright",
            "direct": false,
            "version": "1.39.9",
            "ecosystem": "pypi"
          },
          {
            "name": "bcrypt",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "bitsandbytes",
            "direct": false,
            "version": "0.50.0",
            "ecosystem": "pypi"
          },
          {
            "name": "black",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "black",
            "direct": false,
            "version": "26.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "blobfile",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": false,
            "version": "1.43.60",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.43.60",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore-stubs",
            "direct": false,
            "version": "1.43.14",
            "ecosystem": "pypi"
          },
          {
            "name": "brotli",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "brotli",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "build",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "build",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cbor2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cbor2",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.7.22",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "contourpy",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "cramjam",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "49.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cycler",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cython",
            "direct": false,
            "version": "3.2.9",
            "ecosystem": "pypi"
          },
          {
            "name": "datasets",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ddgs",
            "direct": false,
            "version": "9.14.4",
            "ecosystem": "pypi"
          },
          {
            "name": "debugpy",
            "direct": false,
            "version": "1.8.21",
            "ecosystem": "pypi"
          },
          {
            "name": "decorator",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "deno",
            "direct": false,
            "version": "2.9.4",
            "ecosystem": "pypi"
          },
          {
            "name": "diffusers",
            "direct": false,
            "version": "0.39.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dill",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "diskcache",
            "direct": false,
            "version": "5.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.23",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils-stubs",
            "direct": false,
            "version": "0.0.22",
            "ecosystem": "pypi"
          },
          {
            "name": "duckdb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "duckdb",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "execnet",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "executing",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "executing",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fake-useragent",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.32.2",
            "ecosystem": "pypi"
          },
          {
            "name": "flake8",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flake8-pyproject",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "pypi"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.12.19",
            "ecosystem": "pypi"
          },
          {
            "name": "fonttools",
            "direct": false,
            "version": "4.63.0",
            "ecosystem": "pypi"
          },
          {
            "name": "frozenlist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2026.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gguf",
            "direct": false,
            "version": "0.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.33.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-python-client",
            "direct": false,
            "version": "2.198.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.56.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth-httplib2",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-compute",
            "direct": false,
            "version": "1.50.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": false,
            "version": "1.75.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gprof2dot",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "gprof2dot",
            "direct": false,
            "version": "2025.4.14",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.83.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": false,
            "version": "1.83.0",
            "ecosystem": "pypi"
          },
          {
            "name": "guppy3",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h2",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hf-xet",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "hpack",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "httplib2",
            "direct": false,
            "version": "0.32.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": "1.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hyperframe",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "id",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.18",
            "ecosystem": "pypi"
          },
          {
            "name": "imageio",
            "direct": false,
            "version": "2.37.4",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "invoke",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": false,
            "version": "9.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython-pygments-lexers",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-classes",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-functools",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jedi",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": false,
            "version": "25.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "kiwisolver",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lazy-loader",
            "direct": false,
            "version": "0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "librt",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "linkify-it-py",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "llama-cpp-python",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "llama-cpp-python",
            "direct": false,
            "version": "0.3.34",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml-stubs",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "lz4",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "lz4",
            "direct": false,
            "version": "4.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": "3.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib-inline",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mccabe",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mdit-py-plugins",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mdit-py-plugins",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "memray",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "memray",
            "direct": false,
            "version": "1.19.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mlx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mlx",
            "direct": false,
            "version": "0.32.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mlx-lm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mlx-lm",
            "direct": false,
            "version": "0.31.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mlx-metal",
            "direct": false,
            "version": "0.32.0",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mpmath",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "multiprocess",
            "direct": false,
            "version": "0.70.19",
            "ecosystem": "pypi"
          },
          {
            "name": "mwparserfromhell",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mwparserfromhell",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mysql-connector-python",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mysql-connector-python",
            "direct": false,
            "version": "9.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mysqlclient",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mysqlclient",
            "direct": false,
            "version": "2.2.8",
            "ecosystem": "pypi"
          },
          {
            "name": "narwhals",
            "direct": false,
            "version": "2.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nh3",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "pypi"
          },
          {
            "name": "nodeenv",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "nodejs-wheel-binaries",
            "direct": false,
            "version": "24.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "objgraph",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ominfra",
            "direct": false,
            "version": "0.0.36",
            "ecosystem": "pypi"
          },
          {
            "name": "omllm",
            "direct": false,
            "version": "0.0.36",
            "ecosystem": "pypi"
          },
          {
            "name": "onnxruntime",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opencv-python",
            "direct": false,
            "version": "5.0.0.93",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.9",
            "ecosystem": "pypi"
          },
          {
            "name": "outcome",
            "direct": false,
            "version": "1.3.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "paramiko",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "paramiko",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "parso",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pcpp",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pcpp",
            "direct": false,
            "version": "1.30",
            "ecosystem": "pypi"
          },
          {
            "name": "pexpect",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pg8000",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pg8000",
            "direct": false,
            "version": "1.31.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.61.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pprintpp",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "primp",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "priority",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prompt-toolkit",
            "direct": false,
            "version": "3.0.53",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "proto-plus",
            "direct": false,
            "version": "1.28.2",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "7.35.1",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg2",
            "direct": false,
            "version": "2.9.12",
            "ecosystem": "pypi"
          },
          {
            "name": "ptyprocess",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pudb",
            "direct": false,
            "version": "2025.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pure-eval",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "py-cpuinfo",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "25.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyclipper",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pycodestyle",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pycryptodomex",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-monty",
            "direct": false,
            "version": "0.0.19",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-monty-runtime",
            "direct": false,
            "version": "0.0.19",
            "ecosystem": "pypi"
          },
          {
            "name": "pyee",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyflakes",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyinstrument",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pymysql",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pymysql",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pynacl",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyopenssl",
            "direct": false,
            "version": "26.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyproject-hooks",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyright",
            "direct": false,
            "version": "1.1.411",
            "ecosystem": "pypi"
          },
          {
            "name": "pytesseract",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytesseract",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "8.3.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-benchmark",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-clarity",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-mock",
            "direct": false,
            "version": "3.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-stress",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-subprocess",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-timeout",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-xdist",
            "direct": false,
            "version": "3.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-snappy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-snappy",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytokens",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2026.3.post1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "rapidocr-onnxruntime",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rapidocr-onnxruntime",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "readme-renderer",
            "direct": false,
            "version": "45.0",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2026.7.19",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.34.2",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-toolbelt",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3986",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ripgrep",
            "direct": false,
            "version": "15.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "s3transfer",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "pypi"
          },
          {
            "name": "safetensors",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-image",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scramp",
            "direct": false,
            "version": "1.4.15",
            "ecosystem": "pypi"
          },
          {
            "name": "segno",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "segno",
            "direct": false,
            "version": "1.6.6",
            "ecosystem": "pypi"
          },
          {
            "name": "sentence-transformers",
            "direct": false,
            "version": "5.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sentencepiece",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "83.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "shapely",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "shellingham",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "snowflake-connector-python",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "snowflake-connector-python",
            "direct": false,
            "version": "4.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "socksio",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": false,
            "version": "2.0.51",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlean-py",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlean-py",
            "direct": false,
            "version": "3.50.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlite-vec",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "pypi"
          },
          {
            "name": "stack-data",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sympy",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tavily-python",
            "direct": false,
            "version": "0.7.26",
            "ecosystem": "pypi"
          },
          {
            "name": "textual",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "textual",
            "direct": false,
            "version": "8.2.8",
            "ecosystem": "pypi"
          },
          {
            "name": "textual-dev",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "textual-dev",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "textual-serve",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "textual-speedups",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "textual-speedups",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "threadpoolctl",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tifffile",
            "direct": false,
            "version": "2026.7.14",
            "ecosystem": "pypi"
          },
          {
            "name": "tiktoken",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tinygrad",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tokenizers",
            "direct": false,
            "version": "0.22.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tomlkit",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "torchvision",
            "direct": false,
            "version": "0.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.70.0",
            "ecosystem": "pypi"
          },
          {
            "name": "traitlets",
            "direct": false,
            "version": "5.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": false,
            "version": "5.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-bash",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-css",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-go",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-html",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-java",
            "direct": false,
            "version": "0.23.5",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-javascript",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-json",
            "direct": false,
            "version": "0.24.8",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-markdown",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-python",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-regex",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-rust",
            "direct": false,
            "version": "0.24.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-sql",
            "direct": false,
            "version": "0.3.11",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-toml",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-xml",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tree-sitter-yaml",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "trino",
            "direct": false,
            "version": "0.338.0",
            "ecosystem": "pypi"
          },
          {
            "name": "trio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "trio",
            "direct": false,
            "version": "0.33.0",
            "ecosystem": "pypi"
          },
          {
            "name": "trio-asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "twine",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "twine",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "types-awscrt",
            "direct": false,
            "version": "0.34.1",
            "ecosystem": "pypi"
          },
          {
            "name": "types-boto3",
            "direct": false,
            "version": "1.43.60",
            "ecosystem": "pypi"
          },
          {
            "name": "types-docutils",
            "direct": false,
            "version": "0.22.3.20260724",
            "ecosystem": "pypi"
          },
          {
            "name": "types-greenlet",
            "direct": false,
            "version": "3.5.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-paramiko",
            "direct": false,
            "version": "5.0.0.20260724",
            "ecosystem": "pypi"
          },
          {
            "name": "types-psutil",
            "direct": false,
            "version": "7.2.2.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pygments",
            "direct": false,
            "version": "2.20.0.20260728",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pymysql",
            "direct": false,
            "version": "1.2.0.20260724",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pyyaml",
            "direct": false,
            "version": "6.0.12.20260724",
            "ecosystem": "pypi"
          },
          {
            "name": "types-regex",
            "direct": false,
            "version": "2026.7.19.20260720",
            "ecosystem": "pypi"
          },
          {
            "name": "types-s3transfer",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "types-setuptools",
            "direct": false,
            "version": "83.0.0.20260724",
            "ecosystem": "pypi"
          },
          {
            "name": "types-ujson",
            "direct": false,
            "version": "5.10.0.20250822",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tzlocal",
            "direct": false,
            "version": "5.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "uc-micro-py",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ujson",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ujson",
            "direct": false,
            "version": "5.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "unicorn",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "uritemplate",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urwid",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "pypi"
          },
          {
            "name": "urwid-readline",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "uv",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "uv",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "pypi"
          },
          {
            "name": "watchdog",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": "0.47.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wikitextparser",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wikitextparser",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "wsproto",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "xxhash",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "yappi",
            "direct": false,
            "version": "1.7.6",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.24.5",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 440,
        "direct_count": 3,
        "indirect_count": 437
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "wrmsr",
          "commits": 14002,
          "avatar_url": "https://avatars.githubusercontent.com/u/559096?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock"
      ],
      "scorecard": null,
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-31T04:50:53Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/wrmsr/om",
    "host": "github.com",
    "name": "om",
    "owner": "wrmsr"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 48,
      "inputs": {
        "security": 21,
        "vitality": 60,
        "community": 38,
        "governance": 52,
        "engineering": 61
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 60,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "commits_last_year": 4075,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 51
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "51/52 weeks with commits",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 51
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "4075 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 4075
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "critical",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "releases_count": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "no releases published",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases_published",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 38,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "forks": 0,
              "stars": 7,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "7 stars",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (BSD-3-Clause)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-3-Clause"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 63,
            "inputs": {
              "packages": [
                "omdev",
                "omllm",
                "omcore",
                "omxtra",
                "ominfra"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 6078
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "6,078 downloads/month across pypi",
                "points": 50.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 6078,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 52,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 62,
            "inputs": {
              "followers": 92,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "wrmsr",
              "public_repos": 240,
              "account_age_days": 5678
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "92 followers of wrmsr",
                "points": 14.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 92,
                      "login": "wrmsr"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "240 public repos, account ~15 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 240
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 15
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "omdev",
                "omllm",
                "omcore",
                "omxtra",
                "ominfra"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "5 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 5,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "585 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 585
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 61,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "critical",
        "name": "Security",
        "value": 21,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dependency_lockfiles"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "source": "file_signals",
              "lockfiles": [
                "Cargo.lock"
              ],
              "manifests": [
                "pyproject.toml",
                "requirements-ci.txt",
                "requirements-dev.txt",
                "requirements-ext.txt",
                "requirements-frz.txt",
                "requirements.txt"
              ],
              "has_codeql_workflow": false,
              "has_security_policy": false,
              "has_dependabot_config": false
            },
            "components": [
              {
                "key": "security_policy_security_md",
                "name": "Security policy (SECURITY.md)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "dependabot_config",
                "name": "Dependabot config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "dependency_lockfiles",
                "name": "Dependency lockfiles",
                "detail": "published library — lockfiles are an application concern, not expected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "lockfiles_not_expected",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "codeql_workflow",
                "name": "CodeQL workflow",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 371 resolved dependencies against OSV; 69 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 371
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 69
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 9,
              "affected_packages": 4,
              "assessed_packages": 371,
              "unassessed_packages": 69,
              "affected_by_severity": "high 1, moderate 2, unknown 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 371,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 2
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 77,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.9,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 3068
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "90 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 90,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile",
                "omdev/pyproject/tests/skeleton/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "omcore/py.typed",
                "omdev/py.typed",
                "ominfra/py.typed",
                "omllm/py.typed",
                "omxtra/py.typed",
                "x/pipdeptree/py.typed"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "omdev/rs/_boilerplate/Cargo.toml",
                "x/ommlds/nanochat/rustbpe/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, omdev/pyproject/tests/skeleton/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, omdev/pyproject/tests/skeleton/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "omcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "omcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 1397928,
              "source_files_sampled": 4878,
              "oversized_source_files": 61
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (omcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "omcore/py.typed, omdev/py.typed, ominfra/py.typed, omllm/py.typed, omxtra/py.typed, x/pipdeptree/py.typed",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "61/4878 source files over 60KB",
                "points": 54.3,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 4878,
                      "oversized": 61
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "demos",
                "examples",
                "notebooks",
                "samples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "omxtra/specs/proto/tests/examples/addressbook.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "omxtra/specs/proto/tests/examples/addressbook.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "omxtra/specs/proto/tests/examples/addressbook.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "demos, examples, notebooks, samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos, examples, notebooks, samples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Could not fetch pypi package 'omdev.cexts._boilerplate' from its registry",
    "Could not fetch pypi package 'omcore._check' from its registry",
    "Could not fetch pypi package 'omxtra.collections.stl._stl' from its registry",
    "deps.dev does not index pypi:omdev@0.0.35; advisories assessed against the repository dependency graph instead",
    "OpenSSF Scorecard did not return a usable result (2026/07/31 04:51:10 Warning: PATs stored in env variables GITHUB_AUTH_TOKEN and GITHUB_TOKEN differ. Scorecard will use the former.); skipping Scorecard checks"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-31T04:51:43.342565Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/wrmsr/om.svg",
  "full_name": "wrmsr/om",
  "license_state": "standard",
  "license_spdx": "BSD-3-Clause"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsPyPI.