[ADMINAPI-1427] PRD: ODS Admin API 2.3 - #393
Conversation
| @@ -33,79 +33,9 @@ This guide will walk you through the steps to add three scopes (edfi_admin_api/f | |||
| * **Description**: (Optional) Provide a description for the scope. | |||
| 3. Click the `Save` button to create the scope `edfi_admin_api/full_access`. | |||
|
|
|||
| #### Step 5: Create Scope edfi_admin_api/tenant_access | |||
There was a problem hiding this comment.
We backed out the Admin Console specific changes that introduced additional scopes.
There was a problem hiding this comment.
I removed Open API specs that we don't need to keep in the repository any longer.
There was a problem hiding this comment.
Pull request overview
This PR adds a reverse-engineered Product Requirements Document (PRD) for ODS Admin API 2.3 and removes a large set of legacy/cancelled “Admin Console” design and generated OpenAPI documentation artifacts to reduce confusion and keep the docs aligned with the current product direction.
Changes:
- Added a comprehensive PRD for ODS Admin API 2.3 (functional + non-functional requirements, personas/JTBD, architecture notes).
- Removed Admin Console/worker removal docs, design docs, and generated OpenAPI files that are no longer relevant.
- Small documentation + editor configuration tweaks (auth docs wording, markdown lint UL style rule).
Reviewed changes
Copilot reviewed 21 out of 24 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/PRD-ODS-Admin-API-2.3.md | Adds a PRD describing Admin API/Management API behavior and requirements for 2.3. |
| docs/Instance-Worker-Removal.md | Removes legacy documentation for cancelled instance worker endpoint removal work. |
| docs/Healthcheck-Worker-Removal.md | Removes legacy documentation for cancelled healthcheck worker endpoint removal work. |
| docs/design/Integrate-Instance-Management.md | Removes Admin Console/worker integration design doc (Quartz-based). |
| docs/design/INTEGRATE-HEALTHCHECK-SERVICE.md | Removes Admin Console healthcheck service integration design doc. |
| docs/design/auth/README.md | Updates auth design narrative to reflect current Admin App/IdP direction. |
| docs/design/auth/KEYCLOAK.md | Updates Keycloak instructions to reflect the current single-scope model. |
| docs/design/adminconsole/WORKER-CRON-PROCEES.md | Removes Admin Console worker cron-in-container design doc. |
| docs/design/adminconsole/TENANT-DATA.md | Removes Admin Console tenant API design doc. |
| docs/design/adminconsole/SQL-SERVER-SUPPORT.md | Removes Admin Console instance-management SQL Server support design doc. |
| docs/design/adminconsole/readme.md | Removes Admin Console overall architecture/design entrypoint doc. |
| docs/design/adminconsole/notes.md | Removes Admin Console notes/persistence/auth brainstorming doc. |
| docs/design/adminconsole/INSTANCE-DATA.md | Removes Admin Console instance/worker endpoint and data model design doc. |
| docs/design/adminconsole/HEALTH-CHECK-WORKER.md | Removes Admin Console health check worker design doc. |
| docs/design/adminconsole/developer.md | Removes Admin Console EF migration/developer instructions doc. |
| docs/design/adminconsole/APIS-FOR-ADMIN-CONSOLE.md | Removes Admin Console endpoint catalog and system context doc. |
| docs/design/adminconsole/admin-api-adminconsole-2.3.yaml | Removes generated/curated Admin Console OpenAPI YAML artifact. |
| docs/design/adminconsole/admin-api-adminconsole-2.3-summary.md | Removes generated Admin Console OpenAPI summary markdown. |
| docs/design/ADMINAPI-1284-adminconsole-definition-removal.md | Removes analysis/design doc for Admin Console definition removal. |
| docs/api-specifications/openapi-yaml/admin-api-console-2.3.0-pre.yaml | Removes pre-release Admin Console OpenAPI spec artifact. |
| docs/api-specifications/openapi-yaml/admin-api-2.3.0-pre.yaml | Removes pre-release Admin API OpenAPI spec artifact. |
| .vscode/settings.json | Adjusts markdownlint unordered-list style rule to “consistent”. |
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adopt persona definitions and shared job-to-be-done language from the approved Admin App v4.0 PRD (Platform host sysadmin, Operator, Vendor Application Administrator) for consistency across the two products, while keeping Admin API-specific personas and jobs distinct. Clarifies existing requirements (e.g. claim set transfer, ODS instance scope, credential distribution boundary) without adding new functionality.
…ented ones Verified each SHOULD-worded requirement against current source. Requirements with confirmed implementations (Swagger versioning, self-contained auth, query sorting/filtering, 409 conflicts, Docker/IIS migration guides, prod Swagger/registration gating, structured error logs, tenant caching, HTTP examples) are now SHALL. Removed NFR-SEC-9 (no rate limiting exists on /connect/register or /connect/token) and NFR-OBS-6 (no APM/tracing integration exists, and the entry only described an absence rather than a testable requirement). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Reviewing Section 5, "System architecture" (lines 399-413) — the biggest lean-into-solution. The table lists actual source file names ( Specific FR/NFR lines that prescribe a solution rather than a capability:
Judgment calls left as-is — these read as "how" but are really public contract that a Management API requirements doc legitimately needs to pin down: Review by Claude Code + Sonnet 5 |
I have addressed all of these review comments. |
|
The E2E tests were passing earlier. There is a single test failing, related to creating an Application. Since I haven't changed any source code - only documentation - this is rather strange, and it seems to be a flaky test. |
Co-authored-by: stephenfuqua <9324390+stephenfuqua@users.noreply.github.com>
NFR-SEC-2 named the wrong OAuth scope (admin_api/full_access instead of edfi_admin_api/full_access). NFR-SDLC-2 now clarifies that 100% unit test coverage is the objective, not the 2.3 release's actual state. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.