Skip to content

Evidence Receipt: Registry UI (Catalog)

Capability: CAP-UI-001 Agent Registry Catalog

Authority

  • Specification: OSSA Administrative Requirements
  • Runtime: Drupal (PHP)
  • Extension: Config (Views) or Code (EntityListBuilder / Custom Plugins)

Acceptance Criteria

  • Must render a list of registered OSSA agents.
  • Must enforce access control (View/Edit/Delete).
  • Must support bulk operations.
  • Must support inline execution links (e.g., Quick Launch).

Candidate Matrix

Candidate Native Extensible Bulk Ops Permissions Cache Inline Actions
Views (Core) ✓ Excellent (UI) ✓ (VBO/Core) ✓ ✓ Partial (Requires generic Link field or custom Field Plugin)
EntityListBuilder ✓ Good (Code) ✓ ✓ ✓ ✓ (via getDefaultOperations)
Custom Controller ❌ Poor Manual Manual Manual ✓

Evidence (Reasoned)

Capability Evaluation Matrix

Drupal Capability OSSA Requirement Result
EntityListBuilder::getDefaultOperations Contextual inline action links Compatible
Core Views Table Display Extensible administrative listing Compatible
Core Views Fields Dynamic execution links dependent on agent status Partial (May require a thin Views Field plugin)
Custom Controller Rapidly customizable HTML Incompatible (High maintenance, subverts core patterns)

Decision

Both EntityListBuilder and Views satisfy the core administrative listing requirements. However, Views provides superior configuration-driven extensibility for end-users who may want to add custom fields to the catalog. The minor gap (dynamic execution links) can be satisfied natively using a generic Views Link field or a very thin custom Views Field plugin, preventing the need for an entire custom controller. The existing custom controller must be retired.

Remaining Delta

  • Classification: CONFIG (Views) + EXTENSION (Thin Views Field Plugin, if dynamic logic is strictly required)

Implementation Surface

  • + config/install/views.view.ossa_agent_catalog.yml
  • + src/Plugin/views/field/OssaExecutionLink.php (Only if required)

Retired Components

  • - src/Controller/AgentPluginListController.php
  • - ai_agents_ossa.routing.yml (Removed custom ai_agents_ossa.plugins_overview route)

Native Coverage

  • Native Coverage: 95% (Core Views)
  • Extension Required: Thin Adapter (Views Field Plugin)
  • Replacement Required: None

Signed by: Bluefly Governance Engine