Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #131 +/- ##
==========================================
- Coverage 86.86% 86.38% -0.49%
==========================================
Files 33 33
Lines 1599 1579 -20
Branches 467 458 -9
==========================================
- Hits 1389 1364 -25
- Misses 210 215 +5
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Implement matches endpoint that converts YYYY-MM-DD date to yyyyMMdd format, looks up team API key, and delegates to KsiClient. Router included in main app. TDD: tests written first, all 15 pass.
- Create tests/test_handler.py with 7 Mangum handler tests - Test Lambda event handling, response format, routing, and error cases - Validate OpenAPI spec completeness (6 endpoints present) - All 35 tests pass, no LSP errors - Evidence: task-8-handler-tests.txt, task-8-openapi-validation.txt, task-8-openapi-spec.json
Create clock-api/v3/AGENTS.md with full API documentation including endpoints, architecture, development setup, and testing patterns. Update root AGENTS.md to reference v3 and mark legacy APIs. Update infra/AGENTS.md with clock-api-v3 Lambda entry. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Remove the .sisyphus internal tracking folder from the repository while keeping it locally. Update .gitignore to prevent it from being tracked in the future. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Remove nested .sisyphus from clock-api/v3/ and update .gitignore to recursively ignore any .sisyphus directories found in the project. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- Migrate weather.ts to use v3 fetchWeather endpoint - Migrate getAvailableMatches action to use v3 adapter with team_id - Add teamId field to screen config in ListenersState - Update reducer to handle new data shape - Migrate MatchesOnPitch component (all 3 methods) to v3 API - Remove search-for-player feature from Team.tsx All API calls now use v3 endpoints with team_id parameter. Fallback to team_id 2492 (Víkingur in Analyticom API).
- Fix TypeScript types in v3-api.ts (use ListenersState['screens']) - Update lambda-example.ts to match new AvailableMatches shape - Add numeric id fields to all debug players - Replace 'as any' with proper type assertion All ESLint errors resolved, build and lint pass cleanly.
…olution - KsiClient now accepts api_key in constructor - All methods use self.api_key (no per-method parameter) - get_ksi_client dependency resolves key automatically - Router endpoints no longer manually call get_ksi_api_key - Tests updated to match new dependency pattern Eliminates repetitive api_key = get_ksi_api_key(team_id) in every endpoint. All 33 tests pass.
|
Deployed to staging: https://staging.irdn.is |
|
Deployed to staging: https://staging.irdn.is |
|
Deployed to staging: https://staging.irdn.is |
|
Deployed to staging: https://staging.irdn.is |
|
Deployed to staging: https://staging.irdn.is |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace the fragile SOAP + HTML scraping Lambda functions with a clean FastAPI v3 API wrapping the Analyticom KSI REST API. Consolidates match data and weather into a single Lambda deployed behind API Gateway.
clock-api/v3/with 6 endpoints (health, matches, lineups, events, match info, weather)/v3/{proxy+}What's New
API Endpoints
GET/v3/healthGET/v3/{team_id}/matches/{date}GET/v3/{team_id}/matches/{match_id}/lineupsGET/v3/{team_id}/matches/{match_id}/eventsGET/v3/{team_id}/matches/{match_id}/infoGET/v3/weather?lat=&lon=Key Design Decisions
/vikes-match-clock/ksi-api-key/{team_id})What's NOT Changed
match-report,match-report-v2,weather)generate-api-typesscript + generated types for future use)Pre-merge Checklist
sandbox-deploylabel to test in staging firstTest Results