web/view-model.ts:141-161 defines ENGINE_META for seven of the eight Participant CLIs — claude-code, codex-cli, gemini-cli, copilot-cli, antigravity-cli, pi-cli, opencode-cli. little-coder is absent, even though src/participants.ts:7-16 and PARTICIPANT_TARGETS (src/platforms/registry.ts:20-29) both declare it.
The consequence is at web/view-model.ts:170: engineMeta() falls through to the unknown-engine branch, so an Agent joined as little-coder is rendered in the Console with the neutral fallback badge and the raw id string rather than a display name and tint, exactly as if it were an unrecognized platform.
Found while reviewing #56 (which resolved #26). It was deliberately left out of that change: #56 is docs-and-metadata only, this is a code defect, and .github/ISSUE_TRIAGE.md's scope rule keeps a distinct problem out of an unrelated diff.
Impact: the Console silently presents a fully supported Participant as unrecognized. This is the same roster-drift class as #26 but on the code side, so it is invisible to the documentation sweep that caught the rest — and tests/unit/docs-facts.test.ts does not cover it either, since that guard compares docs-site/generated/facts.json against PARTICIPANT_TARGETS and never reads web/.
Acceptance: ENGINE_META covers all eight ids, with a little-coder entry whose display name matches the one used elsewhere in the repo ("Little Coder", per docs/design/setup-integration.md). Ideally the gap cannot silently reopen: a test asserting that ENGINE_META's keys equal PARTICIPANT_IDS would fail today and would catch the next engine landing in the registry without a Console badge. Note the display names in ENGINE_META currently diverge from the registry's ("Codex", "Gemini", "Copilot" vs the registry's fuller names) — whether to reconcile those too, or only to close the missing-key gap, is a judgment call for the implementer.
web/view-model.ts:141-161definesENGINE_METAfor seven of the eight Participant CLIs —claude-code,codex-cli,gemini-cli,copilot-cli,antigravity-cli,pi-cli,opencode-cli.little-coderis absent, even thoughsrc/participants.ts:7-16andPARTICIPANT_TARGETS(src/platforms/registry.ts:20-29) both declare it.The consequence is at
web/view-model.ts:170:engineMeta()falls through to the unknown-engine branch, so an Agent joined aslittle-coderis rendered in the Console with the neutral fallback badge and the raw id string rather than a display name and tint, exactly as if it were an unrecognized platform.Found while reviewing #56 (which resolved #26). It was deliberately left out of that change: #56 is docs-and-metadata only, this is a code defect, and
.github/ISSUE_TRIAGE.md's scope rule keeps a distinct problem out of an unrelated diff.Impact: the Console silently presents a fully supported Participant as unrecognized. This is the same roster-drift class as #26 but on the code side, so it is invisible to the documentation sweep that caught the rest — and
tests/unit/docs-facts.test.tsdoes not cover it either, since that guard comparesdocs-site/generated/facts.jsonagainstPARTICIPANT_TARGETSand never readsweb/.Acceptance:
ENGINE_METAcovers all eight ids, with alittle-coderentry whose display name matches the one used elsewhere in the repo ("Little Coder", perdocs/design/setup-integration.md). Ideally the gap cannot silently reopen: a test asserting thatENGINE_META's keys equalPARTICIPANT_IDSwould fail today and would catch the next engine landing in the registry without a Console badge. Note the display names inENGINE_METAcurrently diverge from the registry's ("Codex", "Gemini", "Copilot" vs the registry's fuller names) — whether to reconcile those too, or only to close the missing-key gap, is a judgment call for the implementer.