Skip to content

Conversation

@abrichr
Copy link
Member

@abrichr abrichr commented Jan 24, 2026

Summary

Add a GitHub Actions workflow and sync script to automatically update docs.openadapt.ai when sub-package READMEs change.

Components

In this repo (openadapt-ml):

  • .github/workflows/trigger-docs-update.yml: Workflow that triggers on push to main (when README.md, docs/**, or CHANGELOG.md changes). Sends a repository_dispatch event to the main OpenAdapt repo.

For the main OpenAdapt repo (reference files included):

  • scripts/sync_package_docs.py: Python script that fetches READMEs from sub-packages and transforms them into MkDocs-compatible docs. This should be copied to docs/_scripts/ in the main repo.

  • docs/workflows/sync-package-docs.yml: Reference workflow file that should be copied to .github/workflows/ in the main repo. Receives repository_dispatch events and creates PRs with updated docs.

Documentation:

  • docs/auto-docs-update.md: Complete setup guide explaining how the system works and how to configure it.

How It Works

openadapt-ml (push to main)
    |
    v
trigger-docs-update.yml (repository_dispatch)
    |
    v
OpenAdapt/sync-package-docs.yml
    |
    v
sync_package_docs.py (fetches README, transforms, updates docs/packages/ml.md)
    |
    v
PR created -> merged -> docs.yml deploys to GitHub Pages

Setup Required

After merging this PR:

  1. Create a PAT with contents:write permission on OpenAdaptAI/OpenAdapt
  2. Add as secret named DOCS_UPDATE_TOKEN to this repo (or as org secret)
  3. Copy files to main repo:
    • scripts/sync_package_docs.py -> docs/_scripts/sync_package_docs.py
    • docs/workflows/sync-package-docs.yml -> .github/workflows/sync-package-docs.yml

Test Plan

  • Verify workflow file syntax is valid
  • After setup, push a README change and verify docs update

Generated with Claude Code

abrichr and others added 2 commits January 16, 2026 23:44
Add comprehensive unified baseline adapters supporting Claude, GPT, and Gemini
models across multiple evaluation tracks:

Provider Abstraction (models/providers/):
- BaseAPIProvider ABC with common interface for all providers
- AnthropicProvider: Base64 PNG encoding, Messages API
- OpenAIProvider: Data URL format, Chat Completions API
- GoogleProvider: Native PIL Image support, GenerateContent API
- Factory functions: get_provider(), resolve_model_alias()
- Error hierarchy: ProviderError, AuthenticationError, RateLimitError

Baseline Module (baselines/):
- TrackType enum: TRACK_A (coords), TRACK_B (ReAct), TRACK_C (SoM)
- TrackConfig dataclass with factory methods for each track
- BaselineConfig with model alias resolution and registry
- PromptBuilder for track-specific system prompts and user content
- UnifiedResponseParser supporting JSON, function-call, PyAutoGUI formats
- ElementRegistry for element_id to coordinate conversion

Benchmark Integration:
- UnifiedBaselineAgent wrapping UnifiedBaselineAdapter for benchmarks
- Converts BenchmarkObservation -> adapter format -> BenchmarkAction
- Support for all three tracks via --track flag

CLI Commands (baselines/cli.py):
- run: Single model prediction with track selection
- compare: Multi-model comparison on same task
- list-models: Show available models and providers

All 92 tests pass. Ready for model comparison experiments.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add GitHub Actions workflow and sync script to automatically update
docs.openadapt.ai when sub-package READMEs change.

Components:
- .github/workflows/trigger-docs-update.yml: Triggers docs sync on push
- scripts/sync_package_docs.py: Syncs README to MkDocs format
- docs/auto-docs-update.md: Setup guide and documentation
- docs/workflows/sync-package-docs.yml: Reference workflow for main repo

When this is merged and the DOCS_UPDATE_TOKEN secret is configured,
pushing to main will trigger the main OpenAdapt repo to sync and
deploy updated documentation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

2 participants