Skip to content

fix: doctor no longer fails CI over a missing store library; messages name the package - #44

Merged
babaliauskas merged 9 commits into
mainfrom
fix/store-dependency-messages
Oct 10, 2026
Merged

babaliauskas merged 9 commits into
mainfrom
fix/store-dependency-messages

Conversation

@babaliauskas

@babaliauskas babaliauskas commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Companion to evalshift/evalshift-sdk#15. Two problems with captures.store in 1.3.0:

  1. It broke CI. doctor's captures.store row returned fail when the store's client library was missing, compare exits 1 on any doctor fail, and the GitHub Action installs the bare evalshift package, so every Action run for a config naming captures.store went red, although a run on a committed suite never reads the bucket. The row now warns, naming the package to install. capture fetch / list / sync, which do need the library, still exit 1.
  2. Messages named pip extras. Every store message and doc now names the package: pip install boto3 / google-cloud-storage / azure-storage-blob azure-identity (both Azure packages in one command). The [s3]/[gcs]/[azure] extras still exist but are no longer documented. The scheme → module → package tables are byte-identical to the SDK's.

Also in this branch:

  • The SDK's object-store variable is now EVALSHIFT_CAPTURE_STORE (feat: an unusable EVALSHIFT_SINK raises at startup; messages name the package, not the extra evalshift-sdk#15), so the bucket has one name on both sides; the docs say SDK 0.5.0 reads EVALSHIFT_SINK, which keeps working on newer SDKs too.
  • Docs: DOCS.md (pipeline bullet, doctor reference, bucket paragraph), llms-full.txt (five blocks incl. the exit-code bullet), docs/configuration.md (captures Install column), docs/sdk.md, CHANGELOG Unreleased (Fixed + Changed).
  • A docs-currency tripwire (test_copy_names_packages_not_extras) fails if evalshift[s3]-style extras, "client extra" or "optional dependency" reappear in the prose files, docs/sdk.md, getting-started.md or agents.md.
  • The design spec and implementation plan for the SDK + CLI change: docs/superpowers/specs/2026-10-09-sink-dependency-loud-failure-design.md, docs/superpowers/plans/2026-10-09-sink-dependency-loud-failure.md.

Release

Version is not bumped here. Ship as 1.3.1; the action's bump workflow then opens its pin PR. Independent of the SDK PR (no server or action change).

Verification

ruff check, ruff format --check, mypy --strict src/evalshift_cli clean; pytest -m "not integration" → 2732 passed, coverage 95%; the pre-push CI mirror passed. Each task was reviewed individually and the whole branch (with the SDK PR) had a final review.

🤖 Generated with Claude Code

babaliauskas and others added 7 commits October 9, 2026 21:59
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…install

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It failed compare -- and so every GitHub Action run -- for a config that
names captures.store, although a run on a committed suite never reads the
bucket. The capture commands that need the library still exit 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er fails, over it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cs pages

- captures/remote.py: open_store()'s Raises: line for
  RemoteStoreUnavailable was 231 characters; wrap it to the file's
  ~100-column style.
- test_docs_currency.py: _INSTALL_COPY_FILES was missing
  docs/getting-started.md and docs/agents.md. Both exist and
  currently contain none of RETIRED_INSTALL_TERMS; add them so a
  regression there is caught.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
babaliauskas and others added 2 commits October 11, 2026 00:00
…SINK on SDK 0.5.0)

Matches the SDK rename in evalshift-sdk#15, so the bucket has one name
on both sides: EVALSHIFT_CAPTURE_STORE in the agent's environment and
captures.store in evalshift.yaml. Version notes say which SDK reads
which name. Also drops a leftover 'optional extras' phrase in sdk.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolves the CHANGELOG [Unreleased] conflict with #43: both Fixed entries kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@babaliauskas
babaliauskas merged commit d3e5770 into main Oct 10, 2026
4 checks passed
babaliauskas added a commit that referenced this pull request Oct 10, 2026
Resolves the conflicts with #44 (store library messages, doctor warns):
- doctor.py docstring and DOCS.md/llms-full.txt doctor text: exit 1 only
  on an invalid config or a blocking semantic/llm_judge model without a
  key; a missing store library is now a warning, naming the package.
- llms-full.txt doctor rows: #44's captures.store row plus this branch's
  evaluator keys row.
- CHANGELOG [Unreleased]: both branches' Added/Changed/Fixed entries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
babaliauskas added a commit that referenced this pull request Oct 10, 2026
Resolves the conflicts with #44 and #45:
- DOCS.md captures-store paragraph: main's package-name install wording
  (pip install boto3 / google-cloud-storage / azure-storage-blob
  azure-identity) plus this branch's capture sync --repair re-fetch clause.
- CHANGELOG [Unreleased]: this branch's Added/Fixed entries merged with
  main's Added/Changed/Fixed entries from #43, #44 and #45.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@babaliauskas babaliauskas mentioned this pull request Oct 11, 2026
3 tasks done
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