Repository navigation
Preserve partial API updates and reliably track package failures - #2048
Merged
David Pine (IEvangelist) merged 6 commits intoNov 4, 2026
Merged
David Pine (IEvangelist) merged 6 commits into
David Pine (IEvangelist) merged 6 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…iled on aborts Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Critical carry-forward flaws can delete failed packages’ existing API data, misclassify successful packages as failed, and leave validation rejecting stale or duplicate outputs.
5 open issues
Stage committed artifacts for failed packages before publication · New Exclude carried-forward packages from TypeScript staleness checks · New Preserve per-package statuses for completed batches · New Retry unresolved or stale API outputs on subsequent runs · New Allow TypeScript carry-forward failures to reach the continuation · New
What changed in this PR
This PR aims to let integration-data updates continue when individual packages fail API generation, while keeping unrelated validation failures blocking.
Changes:
- Records package failure reasons and adds preservation logic for existing C# API files.
- Passes failed package names to validation and adds a tolerance regression test.
- Reports generation failures in update PRs and a dedicated tracking issue.
| File | Description |
|---|---|
src/tools/PackageJsonGenerator/generate-package-json.ps1 |
Makes package failures non-fatal and adds failure details and preservation logic. |
src/frontend/tests/unit/validate-generated-api-data.vitest.test.ts |
Adds a regression case for failed-package validation tolerance. |
src/frontend/scripts/validate-generated-api-data.ts |
Exempts named failed packages from C# missing/stale checks. |
src/frontend/scripts/update-integration-data.ps1 |
Collects failures, passes validation exemptions, and adds PR reporting. |
.github/workflows/update-integration-data.yml |
Creates, updates, or closes an API-generation failure tracking issue. |
Review effort: Balanced
Contributor
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
Persist exact package failures for CI and retries, retain matching last-good API artifacts, and report diagnostics independently of publication. Exercise the real orchestration and validation paths with isolated package-generation fixtures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Honor per-package results when a completed batch returns its expected failure exit code. Keep missing completion, incomplete statuses, and crashes fatal; allow restore-only failures to reach diagnostics and preservation. Add direct batch reconciliation regressions and an all-package-failure orchestration case. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
David Pine (IEvangelist)
deleted the
ievangelist-validate-tolerate-failed-packages
branch
November 4, 2026 13:12
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
Fix the complete package-failure path exposed by updater run 41827585564, rather than only suppressing its next validation error. Merge current
maininto this branch to resolve the conflict left by the squash merge of #2047.src/frontend/src/data/api-generation-failures.json. Both the updater and the generated data PR's CI use these narrowly deferred updates; other identity, provenance, exported-module, and declaration checks remain strict.Third-party links and affiliations
None. Example URLs in tests are non-network fixture data.
Validation
From
src/frontend:node node_modules\vitest\vitest.mjs run --config vitest.structured-data.config.ts— passed: 121 tests across 6 files, including 12 issue/orchestration regression tests.node node_modules\eslint\bin\eslint.js scripts\report-api-generation-failures.mjs scripts\validate-generated-api-data.ts tests\unit\integration-data-updater.vitest.test.ts tests\unit\validate-generated-api-data.vitest.test.ts vitest.structured-data.config.ts --max-warnings 0— passed.node node_modules\tsx\dist\cli.mjs scripts\validate-generated-api-data.ts— passed on current committed API artifacts: 210 catalog identities and 140 TypeScript modules.From the repository root:
pwsh -NoProfile -File tests\PackageJsonGenerator.Tests\generate-package-json.Tests.ps1— passed: catalog-filter regression plus completed partial-batch, crash, and incomplete-output checks.[System.Management.Automation.Language.Parser]::ParseFile(...)for all three modified generator/orchestrator PowerShell scripts — passed: no parse errors.git diff --cached --check— passed before each commit.No local production build or full live package regeneration was run. GitHub CI and an updater run on
mainafter merge are still required before calling the live workflow fixed. The workflow was not dispatched on this PR branch, because doing so can update the real auto-merge data PR.