You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: stabilize the package — version, CI, connector discovery (#13)
* fix: single-source __version__ from package metadata
The package reported three different versions: __init__ said 0.6.0, the REST
app said 0.5.0, while the installed package was 0.7.3. A library that lies
about its own version to users and agents is a credibility hit.
Read it once, from importlib.metadata.version("model-ledger"), and drive the
REST app's version off the same value. Falls back to "0.0.0+unknown" only when
running from a source tree with no install.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* ci: lint + types + tests on src across 3.10–3.13; honest coverage gate
The repo had no CI that ran the test suite, ruff, or mypy — a contributor
could merge red, and the configured 90% coverage gate never executed (nothing
ran --cov). The 3.10–3.13 support claim in the classifiers was untested.
- .github/workflows/ci.yml:
* quality job (3.12): ruff check, ruff format --check, mypy src/, and
pytest with the coverage gate.
* tests job: full suite on 3.10/3.11/3.13 (3.12 covered by quality).
* minimal permissions (contents: read), concurrency-cancel.
- pyproject: lower the never-enforced fail_under from 90 to an honest 70
(real coverage ~74%); ratchet upward as tests are added.
Verified locally: ruff/format/mypy clean, 714 passed / 11 skipped, 74.35%.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat: run config-drivable connectors from the discover tool
The creed is "the MCP server is the product," yet discover(source_type=
"connector") raised NotImplementedError — an agent told to "scan my platforms"
hit a hard wall. Now:
- `rest` and `prefect` connectors are pure-config, so they run directly from
connector_config through the discover tool.
- `sql` and `github` need a live connection / parser callable that can't be
expressed as JSON; discover returns an actionable message in
DiscoverOutput.errors pointing to the SDK instead of raising.
- Any connector failure (bad config, unknown name, missing connector_name) is
returned in `errors` — the agent always gets a usable response, never a crash.
Refactors the add/connect/summarize flow into a shared `_ingest` helper used by
the inline, file, and connector paths. Updates the agent guide to match.
Tests: 6 new connector tests (graceful errors + a config-driven ingest path).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Vignesh Narayanaswamy <Vigneshn@squareup.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments