Files
fusion/plugins/fusion-plugin-even-cards/README.md
Fusion 302c378c2f feat(FN-3739): add fusion-plugin-even-cards workspace plugin
- Add a new fusion-plugin-even-cards package with typed card formatting utilities and board/task card generation
- Implement authenticated plugin routes for board card endpoints and plugin registration wiring
- Add unit tests for auth handling, board routes, and card formatting behavior
- Document plugin in PLUGIN_AUTHORING guide and register it in pnpm workspace

Fusion-Task-Id: FN-3739
2026-05-08 12:46:12 -07:00

1.4 KiB

Even Cards Plugin

Standalone Fusion plugin for the Even Realities on-device card flow focused on glanceable board/task status.

Reading the board

All endpoints are mounted under /api/plugins/fusion-plugin-even-cards.

Authentication header (required):

Authorization: Bearer <apiKey>
Method Path Query params Response
GET /board/cards columns (comma-separated columns), max (1-20 total cards) { deck, generatedAt }
GET /board columns (optional) { summary, updatedAt }
GET /tasks/:id/cards none { deck, generatedAt } or 404

max is total deck size (summary + tasks). Example: max=20 returns 1 summary card and up to 19 task cards.

Card data model

type GlassesCard = {
  id: string;
  kind: "summary" | "task";
  title: string;
  lines: string[];
  badge: { label: string; tone: "triage" | "todo" | "in-progress" | "in-review" | "done" | "neutral" };
  taskId?: string;
  updatedAt: string;
};

type CardDeck = {
  cards: GlassesCard[];
  summary: {
    counts: Record<string, number>;
    updatedAt: string | null;
  };
};

Display defaults

Current defaults in src/cards/format.ts:

  • DEFAULT_MAX_CHARS_PER_LINE = 24
  • DEFAULT_MAX_LINES_PER_CARD = 4
  • DEFAULT_MAX_CARDS_PER_DECK = 8

These are provisional fallback values because FN-3737 research artifacts were unavailable in this worktree; revisit task is tracked in FN-3754.