Tag Registry

Route:

Purpose:

Page / Template Structure

Primary template:

Page controller:

Supporting modules:

Top-level structure:

Named UI Sections

Action row

User-facing name:

DOM / CSS:

JS owner:

Meaning:

Import modal

User-facing name:

DOM / CSS:

JS owner:

Meaning:

Search and filters

User-facing name:

DOM / CSS:

JS owner:

Meaning:

Registry list shell

User-facing name:

DOM / CSS:

JS owner:

Meaning:

Tag column

User-facing name:

DOM / CSS:

Meaning:

Description column

User-facing name:

DOM / CSS:

Meaning:

Patch preview modal

User-facing name:

DOM / CSS:

Edit tag modal

User-facing name:

DOM / CSS:

New tag modal

User-facing name:

DOM / CSS:

Demote modal

User-facing name:

DOM / CSS:

Delete modal

User-facing name:

DOM / CSS:

Meaning:

UI Layout and Styling

Primary CSS:

Shared primitives used:

Page-specific classes retained:

DOM Rendering and Event Wiring

Page boot:

Main render functions:

Main event wiring:

The page controller owns:

UI Contract

This page follows the shared Studio UI boundary documented in docs/studio/ui-framework.md:

assets/studio/js/studio-ui.js holds the role selectors plus generated style class tokens used by tag-registry.js.

State Handling

Primary state lives in:

Key state areas:

Domain helpers live in:

Data Access / Query Params / JSON Parsing

Query params:

Primary data access:

Loaded through:

Mutation transport:

Business Logic

Domain logic:

Save/service logic:

These responsibilities are split across:

Change Guidance

If a request refers to:

Clarify with the user when “tag” could mean: