fix(metadata): rename form_* metadata files so filename matches the name field - #527
Open
RazvanZegheanu wants to merge 1 commit into
Open
fix(metadata): rename form_* metadata files so filename matches the name field#527RazvanZegheanu wants to merge 1 commit into
RazvanZegheanu wants to merge 1 commit into
Conversation
…ame field The OOB installer derives the ML package name it queries with from the metadata *filename* (strings.Split(fileName, "__")[0] in oobartifactsmanager.go:189), but ai-pkgmanager stores and filters on the metadata body's `name` field. For these 11 IRS-form packages the two disagreed -- filename `1040` vs name `form_1040` -- so the installer's lookup `GET /v1/mlpackages?name=1040` always returned empty, it took the "create" branch, and every version 2..N failed with HTTP 409 / respCode 20005 "MLPackage with name form_1040 already exists". Effect today: only version 1 of each of these packages ever installs; the rest are silently dropped on every install, including installs that pass (a 409 does not fail the job -- the gate is `succeedPkgList.IsEmpty() && len(errs) > 0`, an AND). The wasted work also contributes ~130 doomed creates + ~260 409s per attempt to the aicenter PostSync hook, which has been timing out AS installs on ETE PR-gate builds. Rename only: `1040__31__metadata.json` -> `form_1040__31__metadata.json` for all 139 affected files. No file contents change (139 files, 0 insertions, 0 deletions) -- in particular `name` and `displayName` are untouched, so nothing customer-visible changes: the catalog still shows `form_1040` / displayName `1040`, and existing ML Skills keep resolving. After this change all 65 packages satisfy filename == name, matching the convention the other 54 already follow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
andznui
approved these changes
Aug 13, 2026
irinel-birsan-uipath
approved these changes
Aug 13, 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.
What
Renames 139 metadata files so the filename prefix matches the
namefield inside the file, for the 11form_*IRS-form packages:Rename only — no file contents change (
139 files changed, 0 insertions(+), 0 deletions(-), allR100). In particularnameanddisplayNameare untouched.Why
The AI Center OOB installer derives the package name it queries with from the metadata filename —
strings.Split(fileName, "__")[0]inoobartifactsmanager.go:189— butai-pkgmanagerstores and filters on the metadata body'snamefield. The installer never parses the body; it passes it through as an opaque string.For these 11 packages the two disagreed (
1040vsform_1040), so:GET /v1/mlpackages?...&name=1040→ 0 hits (the row isname=form_1040)POST /v1/mlpackages→ 409{"respCode":20005,"respMsg":"MLPackage with name form_1040 already exists"}The other 54 packages already have
filename == name == displayNameand work correctly — this brings the remaining 11 in line.Impact today
succeedPkgList.IsEmpty() && len(errs) > 0, an AND, and plenty of other packages succeed).aicenterArgoPostSynchook exceeding its 20-minute budget and timing out Automation Suite installs on ETE PR-gate builds (def15144DO_NOT_FORCE_MERGE_IF_RED) — e.g. builds 13009164 (24.10) and 13017145 (2025.10.4).Why rename the files rather than change
namenameis user-visible — it's what the AI Center catalog shows and what deployed ML Skills / activities reference. Renamingform_1040→1040would be a breaking change for existing customers, and on an install that already hasform_1040rows the installer would create a second package rather than reconcile.Renaming the files achieves the same lookup fix with zero customer-visible impact: the catalog still shows
form_1040withdisplayName1040, and existing skills keep resolving.Blast radius checked
form_appears nowhere outsidemetadata/— no code, config, or test in theai-centermonorepo references these names.gpu/,database/,orchestrator/,platform/,patches/,language_version_metadata/) uses these prefixes.metadata_generate_new_du_versions.ps1matches^([a-zA-Z0-9_]+)__([0-9]+)__metadata\.json$— underscores already allowed, so it keeps working unchanged.blobmanager.go) parses blob paths (<name>/<version>/*.zip), a separate naming scheme — unaffected by this rename.aifabric-packaging/scripts/airgap-bundle/bundle.sh:97fetches metadata by operator-suppliedMODEL:VERSION:wget ".../metadata/${MODEL}__${VERSION}__metadata.json"It
exit 1s on a 404. Nothing hardcodes the model list (it comes from the bundle invocation), but anyone building an airgap bundle must now passform_1040:31instead of1040:31for these 11 packages. Worth calling out in the airgap runbook / release notes.Verification
Re-run after checkout:
displayNamepreserved (spot check):namedisplayNameform_1040form_10401040form_1040ScheduleCform_1040ScheduleC1040ScheduleCform_4506Tform_4506T4506TNotes
form_990is included for consistency but is currently filtered out before any POST by theisSupported/minAIFabricVersioncheck (itsimagePathisdu-semistructured:v22.10-10.10-rc01), so it is latent rather than actively failing.oob-model-tool.