Add CI workflow and bump Sonnet to 4.6 #3

Merged
amoussa1229 merged 3 commits from chore/ci-workflow-sonnet-bump into main 2026-05-15 17:21:43 +00:00

3 commits

Author SHA1 Message Date
Adam Moussa
2bb8365972 Fix golden-set collection when provider keys are absent
CI's `pytest --collect-only` was exiting 5 (no tests collected) because
the test module used `pytest.skip(..., allow_module_level=True)` at
import time — skipped modules never enter the collection phase.

Switch to a per-test `skipif` marker driven by ANTHROPIC_API_KEY +
COMPOSIO_API_KEY presence, and lazy-import `graph.router_node` inside
the test body so module import works without COMPOSIO_API_KEY.

Result: 21 tests collect in both environments; live tests run only
when both keys are present. Verified locally with env -i.
2026-05-15 13:18:04 -04:00
Adam Moussa
3638d6ba96 Bump Sonnet model ID to claude-sonnet-4-6
claude-sonnet-4-20250514 reaches EOL 2026-06-15. Bumping ahead of the
deadline while the centralized models.py constant makes it a one-line
change. Smoke-tested via run.py --route-only — no deprecation warning,
router behavior unchanged.
2026-05-15 13:14:18 -04:00
Adam Moussa
fb5dbb20ee Add CI workflow and ignore .DS_Store
Closes the no-CI gap surfaced in the post-merge retrospective. The org
reusable workflows live under Sea-Haven-Industries and assume SAM/CDK
projects — orchestrator is a personal CLI tool with neither, so this is
a standalone workflow on the same conventions (actions/checkout@v6,
Python 3.12, ruff).

- lint job: ruff check + ruff format --check.
- test-collect job: installs requirements + runs `pytest --collect-only`.
  Catches import errors and golden-set test discovery regressions without
  needing live ANTHROPIC/COMPOSIO secrets — full pytest stays a local
  pre-push responsibility.

Also adds .DS_Store to the local .gitignore (also covered by the user
global gitignore, but belt-and-suspenders).
2026-05-15 13:13:41 -04:00