feat: add dedicated ab-status skill for Asset Bundle checks#27
Merged
Conversation
Pull Request Test Coverage Report for Build 23664961964Details
💛 - Coveralls |
Splits AB conversion checks out of dcl-consistency into its own skill. Reverts dcl-consistency to its original Catalyst-only scope. The new ab-status skill provides a comprehensive diagnostic workflow: 1. Resolves entity on Catalyst (scenes, worlds, wearables, emotes) 2. Checks AB registry status with entity ID cross-validation 3. Checks conversion queue position per platform 4. Infers active conversion status 5. Validates main.crdt/scene.js presence for fallback safety (ref #7625) Supports Genesis City parcels, worlds (via world_name param), wearables, and emotes.
Changes based on Juan Ignacio Molteni's review: 1. Add environment support (org/zone/today) - defaults to org 2. Use Places API for world scene discovery (handles multi-scene worlds) 3. Entity ID mismatch is now a critical stop - no queue check after 4. Use POST /entities/active registry endpoint (canonical API) 5. Fallback state triggers Catalyst consistency check via dcl-consistency skill 6. Remove all LODs-related data 7. Remove opscli check-ab-conversion dependency
1. Add version output from registry POST response (versions.assets per platform)
2. For worlds: use Places API only for scene-id and pointers, no Catalyst query
3. Remove worlds-content-server /about fallback (unreliable for multi-scene)
4. Remove {ids:[]} body option from registry - only use pointers
5. Check only top-level status field, not individual platform statuses
- For worlds, always report ALL scenes from the world even if a specific pointer is given. The report covers every scene returned by Places API. - Removed Step 5b (main.crdt and scene.js fallback file check) entirely. - Step 5 now only contains the Catalyst consistency check for fallback scenes. Requested by Juan Ignacio Molteni via Slack
Author
|
Changes based on Juan's feedback:
Requested by Juan Ignacio Molteni via Slack |
…solution rules - Removed Step 5 (Catalyst consistency check for fallback/404 scenes) entirely - Updated rules to clarify that pointer resolution via Catalyst is only needed when only a sceneID/entityID is provided - If user provides a pointer directly, skip resolution and go to Step 2 - Cleaned up all references to removed Step 5 Requested by Juan Ignacio Molteni via Slack
- Remove Step 2a entirely (its output template duplicated the Output format section) - Remove inline queue summary template from Step 3 (also duplicated in Output format) - Update Step 2 status table to reference Output format section instead of Step 2a - All output formatting is now defined in a single place: the Output format section Requested by Juan Ignacio Molteni via Slack
Add functionality to check the state of asset bundles. Signed-off-by: Juan Ignacio Molteni <juanignaciomolteni@gmail.com>
Split asset bundle detection from dcl-consistency into the new ab-status skill. AB-related patterns (check AB, AB queue, AB conversion, asset bundles, scene conversion) now route to ab-status, while pointer and wearables consistency checks remain in dcl-consistency. Added tests for the new ab-status detection patterns.
Author
Updated
|
Signed-off-by: Juan Ignacio Molteni <juanignaciomolteni@gmail.com>
pentreathm
reviewed
Mar 27, 2026
pentreathm
reviewed
Mar 27, 2026
pentreathm
reviewed
Mar 27, 2026
pentreathm
reviewed
Mar 27, 2026
pentreathm
reviewed
Mar 27, 2026
Removed a feature description related to CI/CD diagnostics and added a new feature for checking asset bundle states. Signed-off-by: Juan Ignacio Molteni <juanignaciomolteni@gmail.com>
…rver Replace manual curl calls to catalyst/registry with a single opscli pointer-consistency command for Genesis City entities. Replace Places API with worlds-content-server /world/<name>/scenes endpoint for worlds, enabling entity ID comparison for stale AB detection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace <REGISTRY_BASE> placeholders with explicit https://asset-bundle-registry.decentraland.<ENV> URLs per review feedback. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The conversion queue check is identical for Genesis City and Worlds. Pull it into a single shared section instead of duplicating or cross-referencing between flows. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Clarify usage of worlds-content-server endpoints and discourage using the Places API. Signed-off-by: Juan Ignacio Molteni <juanignaciomolteni@gmail.com>
Clarified the description of asset bundle checks in README. Signed-off-by: Juan Ignacio Molteni <juanignaciomolteni@gmail.com>
Show individual platform conversion status alongside version info so it's clear which platforms are done vs still pending. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace manual curl calls to worlds-content-server and registry with a single opscli world-ab-status command, matching the Genesis City flow. Both flows now use opscli as the single source of truth, with only the queue check remaining as a direct API call. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pentreathm
approved these changes
Mar 27, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
ab-statusskill dedicated to Asset Bundle conversion diagnosticsdcl-consistencyback to its original Catalyst-only scope (pointer consistency, wearables consistency)What the
ab-statusskill doesTwo flows depending on entity type:
Genesis City (scenes, wearables, emotes)
Uses
@dcl/opscli pointer-consistencyas a single command that handles:--cidflag)Only falls back to a direct API call for queue checks when conversion is pending/fallback/not found.
Worlds
/world/<name>/scenesendpoint/entities/activewith pointers, compare entity IDs for stalenessSupported inputs
check AB: 0,0check AB: 0,0 world=myworld.dcl.ethcheck AB: urn:decentraland:...check AB: bafkrei...check AB queue--env org|zone|todayWhy a separate skill
Catalyst consistency (content propagation across Catalyst nodes) and AB conversion status (asset-bundle-registry + converter pipeline) are different domains with different services, APIs, and failure modes. They shouldn't share a skill.
🤖 Generated with Claude Code