Skip to content

chore(test): live marker + CI guard for LLM/API discipline (pass 2 L3)#32

Merged
silversurfer562 merged 1 commit into
mainfrom
test/pass-2-llm-discipline
May 13, 2026
Merged

chore(test): live marker + CI guard for LLM/API discipline (pass 2 L3)#32
silversurfer562 merged 1 commit into
mainfrom
test/pass-2-llm-discipline

Conversation

@silversurfer562
Copy link
Copy Markdown
Member

Summary

Layer 3 of test-strategy pass 2. Three small changes — same shape as L1 (attune-help #8) and L2 (attune-rag #16).

  • pyproject.toml — register the live marker (joins existing e2e from pass 1); extend addopts to deselect both (-ra -m 'not e2e and not live')
  • .github/workflows/tests.yml — add CI guard step in the python matrix job asserting ANTHROPIC_API_KEY is unset for default suite. Frontend Vitest job doesn't need it.
  • sidecar/tests/README.md — swap inline LLM-mocking section for a pointer to testing-conventions.md in the attune workspace umbrella.

Prerequisite

Depends on Smart-AI-Memory/attune#4 (workspace testing-conventions.md) for the README pointer to resolve.

Test plan

  • pytest --cov locally — 492 passing, 82.89% branch coverage; gate (fail_under = 77) holds
  • ruff check clean
  • CI matrix passes on py3.10–3.13
  • Frontend Vitest job still passes
  • CI guard does NOT fire (would only fire if a secret were wired into the wrong job)

🤖 Generated with Claude Code

Layer 3 of test-strategy pass 2:

- pyproject.toml: register the `live` pytest marker (joins the
  existing `e2e` marker); extend addopts to deselect both
  (`-ra -m 'not e2e and not live'`). attune-gui makes no LLM calls
  directly (heavy lifting is in attune-author and attune-rag); the
  marker is reserved so future tests have a consistent home.
- tests.yml: add a CI guard step (in the python matrix job) that
  fails fast if ANTHROPIC_API_KEY is set in the default test
  environment. Regression alarm, not routine — GitHub Actions
  secrets aren't exposed unless explicitly named in env:, so this
  only fires if someone wires a secret into the wrong job. The
  frontend Vitest job doesn't need it.
- sidecar/tests/README.md: replace the inline LLM-mocking section
  with a pointer to testing-conventions.md in the attune workspace
  umbrella.

Verified locally: 492 passing + 3 deselected + 1 xfailed;
coverage gate (`fail_under = 77`) holds at 82.89% branch coverage.
(3 cowork tests fail locally due to cwd-dependent fixtures that
pass in CI — not caused by these changes.)

Spec: /Users/patrickroebuck/attune/specs/test-strategy-pass-2/

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@silversurfer562 silversurfer562 merged commit f184b0d into main May 13, 2026
5 checks passed
@silversurfer562 silversurfer562 deleted the test/pass-2-llm-discipline branch May 13, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant