Summary
After a build completes, a capability tile (e.g. synthetic data generation) can stay greyed out / labelled "Not built yet" even though the work reportedly ran (Genie confirms synthetic data was generated). The tile's readiness is derived only from keys present in the project's resources.json, never from the actual Unity Catalog state or the user's access.
Steps to reproduce
- Build a solution that includes synthetic data generation.
- After the build, open the project overview.
- Observe: the synthetic-data tile is greyed / "Not built yet", despite the data having been generated.
Root cause
The tile's Ready vs. "Not built yet" state is entry.built (app/src/demo_prompt_generator/ui/components/project/project-overview.tsx:210, 293), which comes from the backend's capability_build_status() (app/src/demo_prompt_generator/backend/models.py:140–203).
That function derives built purely from which keys are present in resources.json (_CAPABILITY_RESOURCE_KEYS, models.py:98–122) — e.g. synthetic-data-gen counts as "built" only if pipeline_id, catalog, or schema is populated. It never queries UC and never checks read access. So if generation actually ran but resources.json didn't record the expected key (or the agent used a capability slug not in the map), the tile stays greyed regardless of reality.
The code comment at models.py:100–104 shows a prior patch of this same class (pipeline_id-only → added catalog + schema), which suggests the residual case is another manifest/slug-mapping gap.
Suggested fix
- Reconcile
built against actual UC state (does the schema/table/pipeline exist and is it readable) rather than only resources.json key presence; and/or
- Audit
_CAPABILITY_RESOURCE_KEYS for missing capability slugs and ensure the agent writes the expected keys for every capability it completes.
To pin down whether it's a missing map key vs. the agent not writing catalog/schema/pipeline_id, the failing project's resources.json would confirm.
Environment
Partner-facing deployment of Solution Builder (FastAPI backend + React UI). Reported by a beta tester. Likely related to per-user visibility: users also could not see the generated schemas until catalog SELECT/USE SCHEMA grants were added — that half is a deployment grant issue, this tile-status half is the code issue above.
Summary
After a build completes, a capability tile (e.g. synthetic data generation) can stay greyed out / labelled "Not built yet" even though the work reportedly ran (Genie confirms synthetic data was generated). The tile's readiness is derived only from keys present in the project's
resources.json, never from the actual Unity Catalog state or the user's access.Steps to reproduce
Root cause
The tile's Ready vs. "Not built yet" state is
entry.built(app/src/demo_prompt_generator/ui/components/project/project-overview.tsx:210, 293), which comes from the backend'scapability_build_status()(app/src/demo_prompt_generator/backend/models.py:140–203).That function derives
builtpurely from which keys are present inresources.json(_CAPABILITY_RESOURCE_KEYS,models.py:98–122) — e.g.synthetic-data-gencounts as "built" only ifpipeline_id,catalog, orschemais populated. It never queries UC and never checks read access. So if generation actually ran butresources.jsondidn't record the expected key (or the agent used a capability slug not in the map), the tile stays greyed regardless of reality.The code comment at
models.py:100–104shows a prior patch of this same class (pipeline_id-only → added catalog + schema), which suggests the residual case is another manifest/slug-mapping gap.Suggested fix
builtagainst actual UC state (does the schema/table/pipeline exist and is it readable) rather than onlyresources.jsonkey presence; and/or_CAPABILITY_RESOURCE_KEYSfor missing capability slugs and ensure the agent writes the expected keys for every capability it completes.To pin down whether it's a missing map key vs. the agent not writing
catalog/schema/pipeline_id, the failing project'sresources.jsonwould confirm.Environment
Partner-facing deployment of Solution Builder (FastAPI backend + React UI). Reported by a beta tester. Likely related to per-user visibility: users also could not see the generated schemas until catalog
SELECT/USE SCHEMAgrants were added — that half is a deployment grant issue, this tile-status half is the code issue above.