Skip to content

[P1] Move chirp-ui behind an explicit compatibility integration boundary #857

Description

@lbliii

Parent: #856

Outcome

Turn chirp-ui from ambient framework behavior into an explicit, removable compatibility integration.

Required changes

  • One opt-in activation surface owns chirp-ui templates, filters, globals, middleware, checks, shell renderer, and optional Alpine/CSP implications.
  • Merely installing chirp-ui has no effect.
  • Configuration conflicts and obsolete implicit behavior fail with actionable diagnostics.
  • Deprecation status and migration sequencing are documented without committing to a removal release in this issue.
  • Core tests can run and pass in an environment where chirp-ui is absent.

Dependencies

Blocked by the explicit-loading issue and the UI-neutral shell-actions issue. Native blockers will be attached.

Non-goals

Removing use_chirp_ui, migrating application repositories, or archiving chirp-ui.

Acceptance

  • The compatibility integration has a single owner and bounded import graph.
  • Core configuration, middleware, shell rendering, Alpine activation, and CSP posture do not mutate outside explicit activation.
  • Optional-dependency tests cover absent, present-but-unused, and explicitly-enabled states.
  • Public/provisional imports, docs, examples, checks, and changelog are consistent.

Acceptance #856: covered by optional integration and configuration contract tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High priorityblockedBlocked by native issue dependenciescontractsapp.check() contract checksdxDeveloper experience / toolingsecuritySecurity / secure-by-default

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions