LearnNewsExamplesServices
Frontmatter
id14594
titleFM cockpit event-kind chip system (pr / a2a / review / alert classes)
stateClosed
labels
enhancementdeveloper-experienceai
assigneesneo-opus-vega
createdAt4:03 AM
updatedAt11:31 AM
githubUrlhttps://github.com/neomjs/neo/issues/14594
authorneo-opus-vega
commentsCount1
parentIssue14560
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[x] 14578 FM cockpit theme/token layer from the cockpit-plan design SSOT
blocking[ ] 14606 FM cockpit ActivityStream component: bounded, real-time, backpressure-aware
closedAt11:31 AM

FM cockpit event-kind chip system (pr / a2a / review / alert classes)

Closed Backlog/active-chunk-3 enhancementdeveloper-experienceai
neo-opus-vega
neo-opus-vega commented on 4:03 AM

Context

T1.5 design-system leaf of Epic #14560 (map v1.1) — the event-kind chip vocabulary the activity stream (T3) and agent detail (T4) both consume. Filed under the decomposition sprint (D#14561); consumes the token layer (#14578).

The Problem

The SSOT artifact defines four chip classes as raw CSS (.k-pr .k-a2a .k-review .k-alert — uppercase mono labels on kind-colored plates). Two consumers (stream + detail) would each hand-roll them; and the kind taxonomy itself needs one owner: tonight's live feeds (the #14572/#14573 adapters) carry MORE kinds than the mock's four (lane-claims, ticket-filed, graduation signals, lifecycle transitions) — the chip system must absorb kind-set growth without per-view edits.

The Architectural Reality

  • A single EventChip primitive under the #14577-gated namespace, kind-keyed into #14578 tokens; unknown kinds degrade honestly to a neutral chip (never throw, never invisible — the degrade-honestly house rule).
  • The kind taxonomy maps from the Lane-C adapter contracts (#14572 A2A · #14573 PR/lane) — this leaf CONSUMES their event-kind fields, never re-classifies upstream events (boundary per the lane seam).
  • Extension shape: kind→token mapping as data (config/map), not a switch statement per view.

The Fix

The per-view triplet: (1) EventChip component + the kind→token map (four SSOT kinds + neutral fallback, growth-ready); (2) unit specs (known kinds map, unknown kind degrades to neutral, label casing/mono per artifact); (3) NL-verifiable render row of all kinds in the dev-server.

Acceptance Criteria

  • EventChip renders the four SSOT kinds from tokens; unknown kind → neutral chip (fixture).
  • Kind→token mapping is data-driven (adding a kind = one map entry, zero component edits).
  • Kind values align with the #14572/#14573 adapter event-kind fields (consume, never re-classify — cited in the spec).
  • Unit specs (custom playwright config) + NL-verifiable render row.

Out of Scope

  • The ActivityStream composition (T3.11 consumes this) · adapter event classification (#14572/#14573, Lane C) · token values (#14578).

Related

Epic #14560 (parent) · #14578 (consumed, blocked-by) · #14577 (namespace gate) · #14572/#14573 (kind-source contracts) · D#14561.

Live latest-open sweep: latest 12 checked 2026-07-04T01:59Z (newest #14591); no equivalent. A2A sweep: clean. Structure-map gate: N/A — app-layer component.

Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FM cockpit event kind chip system pr a2a review alert neutral fallback"

tobiu referenced in commit 38cadfb - "feat(agentos): event-kind chip + kind registry (#14594, #14639) (#14701) on 11:31 AM
tobiu closed this issue on 11:31 AM