-
Notifications
You must be signed in to change notification settings - Fork 4
Description
We currently have a JSON schema files committed to the repository that is:
- Manually generated from our Pydantic models
- Duplicated because they are also deployed in Github Pages: this can create a potential source of truth conflict
This duplication can lead to divergence between the schema used in tests and deployed. While the schema serves as a reference for users implementing their own workflows, storing it in the test directory is probably not appropriate location for documentation.
Proposed Solution
- Audit** all test files to determine if JSON schemas are actually useful in any test
- If not used in tests: Remove the file from the repository and update documentation to reference the deployed schema instead
- If used in tests: Refactor tests to generate the schema dynamically from Pydantic models
- Update README with clear references to where users can find authoritative schema documentation
Tasks
- Audit test files
- Search codebase for all references to these JSON schemas
- Document which tests (if any) actually import or use this file
- Document which tests only reference it as an example
Decision point: Based on audit results, if not really useful
- Remove these JSON schema and their reference in the tests
- Add section to README to document the JSON Schema Reference (link to them if not already present, pros, how to use them in productions, transformations, jobs)
If they are actually needed, then we need to follow: #39 (comment)
Done criteria
No duplicate schema files
-
The schema exists in exactly one authoritative location: generated and deployed to GitHub Pages
-
No static schema files are committed to the repository
-
Tests cannot fail due to stale schema files
-
Tests validate the actual current implementation, not historical artifacts
Documentation is clear
- README has a dedicated section explaining where to find workflow schemas
- Direct link to deployed schema on GitHub Pages
- Clear examples for users implementing their own workflows