Skip to content

Remove pulse catalog + CATALOG sidebar tab and associated widgets #457

Description

@Rchari1

Remove pulse catalog + CATALOG sidebar tab and associated widgets

Important

Problem: The pulse catalog (SessionCatalogTreeamicode.catalog tree view, amicode.catalog.save/refresh/remove, catalogCard webview) is a legacy UX3 browser that predates the vault-backed CatalogStore (Q94/Q95, packages/amico-run/src/catalog.ts). It persists session pointers in workspaceState (amicode.sessionCatalog) and owns the CATALOG activity-bar tab — now superseded by the vault mount stack + pack interface (WS1 #391). Opencode #215 already lists "Catalog removed" as AC7 when landing the Workspace sidebar.

Approach: Purge the UI surface only — the tree view, its provider, commands, and card — while leaving the vault-backed catalog artifacts (catalogPulsesDir, savePulseTo, CatalogStore) intact. Extension remains a pure amicode.armonia + runInspector activity bar.

Scope:

  • packages/extension/package.json — remove amicode.catalog view, amicode.catalog.* commands, context menu, dashboard catalogCard shim
  • packages/extension/src/trees.ts — delete SessionCatalogTree / CATALOG_KEY, keep PlaceholderTree for armonia (later replaced by Workspace tree per Reconcile the formulation entity against what the solve actually ran #215)
  • packages/extension/src/extension.ts — remove amicode.catalog.save/refresh/remove registrations + catalog from registerTrees wiring, keep catalogPulsesDir/savePulseTo for the file-save path
  • packages/extension/src/catalog_card_shell.ts + catalog_card_webview.ts + media/ui/components/catalogcard.* — remove or gate behind dead-code (card opens only via catalog flow)
  • packages/extension/test/catalog_shell.test.ts — remove / retarget

Out: packages/amico-run/src/catalog.ts, catalog_verb.ts, repertoire.ts — the vault pulse catalog stays (WS1).

Assumptions: Single-extension CodeLens: no migration for existing workspaceState entries (they silently orphan); Save to file… remains the only pulse-save path.


Acceptance Criteria

  • amicode.catalog tree view gone from activity bar — package.json lists only armonia (+ runInspector)
  • SessionCatalogTree deleted — registerTrees no longer exposes catalog
  • amicode.catalog.* commands absent from command palette / context menus
  • catalogCard open path no longer reachable (or deleted)
  • Tests updated — catalog_shell.test.ts removed or rewritten to not assert catalog tree; pnpm test green
  • Pulse save still works via Save to file…savePulseTo + catalogPulsesDir when vault mount present (no regression to pulse-save)
  • DB migration: none

Key Decisions

Decision Choice
Scope split UI tree + card only; vault CatalogStore stays (WS1 owns the real catalog)
State migration None — orphaned workspaceState[CATALOG_KEY] ignored, not migrated
Save path Keep Save to file… + vault catalog/pulses/ via savePulseTo; remove the "Save to catalog" QuickPick entry

Constraints & Invariants

Prior Art

  • trees.ts:7 comment — catalog tree explicitly "NOT the Phase-3 CatalogStore"
  • opencode#215 AC7 — same removal as part of larger workspace-sidebar slice

Source

Requested 2026-08-20 alongside opencode#215; decoupled so Workspace sidebar can land without the catalog view lingering.

Notes

Prep commit on top of fix/ci-xmark-typecheck branch; PR targets main.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions