fix: align override configuration format with APIOps Toolkit#102
Merged
Conversation
Copilot created this pull request from a session on behalf of
petehauge
June 1, 2026 21:57
View session
Copilot AI
added a commit
that referenced
this pull request
Jun 1, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI
added a commit
that referenced
this pull request
Jun 1, 2026
Merged decision from GitHubExpert coordination: PR #102 title and description updated to reflect real scope (override format alignment, issue #96). Title update deferred due to API token scope limitations. - Added orchestration log entry - Added session log entry - Merged decision inbox into decisions.md - Updated scribe history Closes #96 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot
AI
changed the title
chore: merge main to fix workspace extractor test
Align override configuration format with APIOps toolkit schema
Jun 1, 2026
petehauge
reviewed
Jun 1, 2026
Copilot
AI
changed the title
Align override configuration format with APIOps toolkit schema
Restore relevant environment-overrides guidance while preserving Toolkit list schema
Jun 1, 2026
Copilot stopped work on behalf of
petehauge due to an error
June 1, 2026 23:16
petehauge
approved these changes
Jun 2, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR aligns apiops-cli override configuration parsing, templates, documentation, and test coverage with the APIOps Toolkit override schema (list items with name + properties), to support reusing existing toolkit-style override files (Fixes #96).
Changes:
- Normalizes toolkit-style override YAML sections into the internal keyed-map shape and rejects keyed-map section shapes with explicit validation errors.
- Updates override templates and multiple docs to show toolkit-compatible override structure.
- Extends unit/integration tests to cover toolkit normalization, invalid/mixed formats, and publish round-trip behavior with overrides.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/lib/config-loader.ts |
Adds override YAML normalization + validation for toolkit list format. |
src/templates/configs/override-config.ts |
Updates generated override template examples to - name / properties. |
tests/unit/lib/config-loader.test.ts |
Adds unit tests for normalization, invalid shapes, and fallback behavior. |
tests/unit/templates/configs/config-templates.test.ts |
Updates template assertions to match toolkit list-format examples. |
tests/integration/all-resource-types/run-roundtrip-test.ps1 |
Updates integration override generation to toolkit list format and adds compare transcript logging. |
docs/commands/publish.md |
Updates publish override examples and guidance to toolkit structure. |
docs/reference/configuration.md |
Updates configuration reference snippet to toolkit structure. |
docs/guides/environment-overrides.md |
Reworks overrides guide to document toolkit-compatible list format and rules. |
docs/guides/migration-from-v1.md |
Updates migration guidance to state v1 publisher config maps directly to v2 overrides. |
docs/getting-started.md |
Updates getting-started override example YAML to toolkit structure. |
specs/quickstart.md |
Updates quickstart override example YAML to toolkit structure. |
.squad/decisions.md |
Adds a decision record related to PR metadata correction. |
.squad/agents/scribe/history.md |
Records scribe processing of PR metadata correction coordination. |
.squad/agents/githubexpert/history.md |
Adds GitHubExpert learnings/history entries related to PR metadata correction + merge process. |
.devcontainer/devcontainer-lock.json |
Adds devcontainer feature lockfile for reproducible devcontainer provisioning. |
petehauge
pushed a commit
that referenced
this pull request
Jun 5, 2026
Restore Key Vault secret naming tip, add correct/wrong naming examples, and fix dry-run filename consistency to use configuration.prod.yaml across all docs. Closes #96 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
petehauge
approved these changes
Jun 5, 2026
Record team updates and merge orchestration execution. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merged decision from GitHubExpert coordination: PR #102 title and description updated to reflect real scope (override format alignment, issue #96). Title update deferred due to API token scope limitations. - Added orchestration log entry - Added session log entry - Merged decision inbox into decisions.md - Updated scribe history Closes #96 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add validation error when override YAML top-level is not a mapping - Fix docs: add APIOps Toolkit hyperlink in environment-overrides guide - Fix docs: note that gateway/subscription overrides are not supported - Fix docs: rename overrides.prod.yaml → configuration.prod.yaml in getting-started.md and specs/quickstart.md for consistency"
The config-loader now expects namedValues and loggers as arrays
of { name, properties } objects instead of keyed maps.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore Key Vault secret naming tip, add correct/wrong naming examples, and fix dry-run filename consistency to use configuration.prod.yaml across all docs. Closes #96 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The rebase onto main left expectedCallSequence defined but unused — main's refactored assertion uses expectedTypes with deduplication. Renamed the variable and removed the duplicate NamedValue entry that conflicts with the firstSeenInOrder filter. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
27c46e8 to
48809b4
Compare
EMaher
approved these changes
Jun 6, 2026
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
Fixes the override file format in apiops-cli to match the existing APIOps Toolkit format, ensuring users can reuse their existing override files as a drop-in replacement.
Closes #96
Key Changes
src/lib/config-loader.ts— Accept the APIOps Toolkit override section format (list-based) in addition to the existing format; normalize on loadsrc/templates/configs/override-config.ts— Update generated override templates to use the toolkit-compatible list formatdocs/guides/environment-overrides.md,docs/reference/configuration.md,docs/getting-started.md,docs/commands/publish.md— Align all override examples and documentation to the toolkit formatdocs/guides/migration-from-v1.md,specs/quickstart.md— Normalize APIOps naming (Toolkit/CLI, not v1/v2)tests/unit/lib/config-loader.test.ts,tests/unit/templates/configs/config-templates.test.ts— Harden tests for override config normalization and format compatibilityAlso Includes
main(brings in workspace extractor test fix from Fix unit test failure in workspace tests #93, integration-test workflow cleanup from Removing skip teardown option from integration test workflow #91, air-gapped docs from docs: add air-gapped apiops setup walkthroughs for GitHub Actions and Azure DevOps #77)