Ed-Fi Implementation Usage Profile — POC (Tracks A + B)#1
Draft
touchdownllc wants to merge 2 commits into
Draft
Conversation
Scaffold the monorepo and implement Track A of the Ed-Fi Implementation Usage Profile POC: - edfi-profile-core: shared model, YAML parser/serializer, OpenAPI spec index, and validator — the single source of truth for profile semantics. - metaed-plugin-edfi-implementation-profile: overlay, stripped-spec, and coverage-report generators (shaped as a MetaEd plugin). - edfi-profile-cli: generate/validate commands; stripped spec is verified against OpenAPI 3.0 via swagger-parser. - Sample LEA worked example with pinned base spec and golden output files. - 28 passing tests: parser round-trip, validator rules, spec index, golden-file diffs, and OpenAPI round-trip validation.
Add Track B (browser authoring tool) and project documentation: - edfi-profile-studio: React + Vite SPA that loads a Swagger spec, marks up resources/properties via clickable widgets, validates live against the shared core, imports/exports profile YAML, and bundles the Ed-Fi 5.2 sample. Vite aliases edfi-profile-core to its TS source so the studio and plugin share one validation core with no drift. - Studio tests: UsagePicker component test (jsdom) and a store round-trip integration test (load spec -> mark up -> export -> re-parse + validate). - jest multi-project config (node + jsdom). - README, demo.sh, and docs: profile-format, extension-conventions, studio-walkthrough, design-rationale (incl. relationship to Ed-Fi Profiles and the AI/agent angle). Full suite: 36 tests green across both projects.
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.
Ed-Fi Implementation Usage Profile — POC
Two complementary tools that let an Ed-Fi implementer describe which resources and elements of the ODS/API are actually in use, converging on one profile format and one shared validation core. The canonical model/OpenAPI doc is never mutated — usage lives in a sidecar profile.
Track A — generator pipeline
edfi-profile-core— shared model, YAML parser/serializer (deterministic, idempotent round-trip), OpenAPISpecIndex, and validator. The single source of truth for profile semantics.metaed-plugin-edfi-implementation-profile— three generators, shaped as a MetaEd plugin:overlay.yaml) — OpenAPI Overlay 1.0, purely additivex-edfi-usageblocks.openapi-stripped.yaml) — complete, valid OpenAPI 3.0: removesnot-implementedpaths andnot-populatedproperties, fixesrequired, attachesx-edfi-usage, augments descriptions for Swagger UI.coverage.json+coverage.md).edfi-profile-cli—generate/validate; the stripped spec is verified against OpenAPI 3.0 withswagger-parser(hard acceptance criterion).Track B — Profile Studio
edfi-profile-studio— React + Vite SPA (no backend). Load a Swagger spec (bundled sample / URL / upload), mark up resources & properties via clickable widgets, live validation, import/export profile YAML. Vite aliasesedfi-profile-coreto its TS source so the studio and plugin share one validation core — no drift.Worked example
examples/sample-lea/— Sample LEA profile covering all five usage statuses, a self-contained curated Ed-Fi 5.2 base spec, and golden output files../demo.shruns the full pipeline.Tests — 36 passing across node + jsdom projects
Parser round-trip, validator rules (all four error classes), spec-index resolution, golden-file diffs, OpenAPI round-trip validation, studio store round-trip (load → mark up → export → re-parse + validate), and a
UsagePickercomponent test.Docs
README.md, plusdocs/: profile-format, extension-conventions, studio-walkthrough, design-rationale (incl. relationship to Ed-Fi Profiles and the AI/agent angle).Remaining manual step
The studio walkthrough has placeholders for screenshots/GIF — the build is verified; only the image capture (running the dev server in a browser) is left as a manual step.
https://claude.ai/code/session_01J5FeYLPp9Mi9ZYxD3pv87T
Generated by Claude Code