Summary
The ecosystem YAML uses an underscored, top-level field name for MEDS-DEV linkage but the parser reads a hyphenated, nested key — so the linkage silently never populates.
Code pointers
- YAML side — uses `MEDS_DEV_name` as a flat string field:
- `static/data/ecosystem.yaml` line 143 (`cehrbert`)
- `static/data/ecosystem.yaml` line 148 (`meds_tab`)
- `static/data/ecosystem.yaml` line 153 (`genhpf`)
- Parser side — reads `rawPkg['MEDS-DEV']` as a nested object with `entity_type` and `name`:
- `src/lib/ecosystem/utils.ts` lines 92–97
```ts
medsDev: rawPkg['MEDS-DEV']
? {
entityType: rawPkg['MEDS-DEV'].entity_type as MedsEntityType,
name: rawPkg['MEDS-DEV'].name,
}
: undefined,
```
Symptom
`Package.medsDev` ends up `undefined` for cehrbert, meds_tab, and genhpf, so any UI affordance that uses `medsDev` to cross-link from an ecosystem package card to its MEDS-DEV registry entry silently has nothing to link.
Suggested fix
Pick one canonical shape and update both sides. Either:
- Switch the parser to read `rawPkg.MEDS_DEV_name` (and infer `entity_type` from context — these are all in the `models:` subcategory), or
- Switch the YAML entries to the nested `MEDS-DEV: { entity_type: model, name: cehrbert }` form the parser already expects.
Found while doing a repo health pass; verified by reading both files.
Summary
The ecosystem YAML uses an underscored, top-level field name for MEDS-DEV linkage but the parser reads a hyphenated, nested key — so the linkage silently never populates.
Code pointers
```ts
medsDev: rawPkg['MEDS-DEV']
? {
entityType: rawPkg['MEDS-DEV'].entity_type as MedsEntityType,
name: rawPkg['MEDS-DEV'].name,
}
: undefined,
```
Symptom
`Package.medsDev` ends up `undefined` for cehrbert, meds_tab, and genhpf, so any UI affordance that uses `medsDev` to cross-link from an ecosystem package card to its MEDS-DEV registry entry silently has nothing to link.
Suggested fix
Pick one canonical shape and update both sides. Either:
Found while doing a repo health pass; verified by reading both files.