AGENTS.md@packages/blackhole-plugin · git:20260907.33d6653 · 2026-09-07 · sha256 0ef0b512b8520a8d

AGENTS.md@packages/blackhole-plugin git:20260907.33d6653A

Immutable. This exact content is served forever at /api/v1/blob/0ef0b512b8520a8d.

# DOX — packages/blackhole-plugin

Files in this directory. One row per source file. See change: add-blackhole-plugin.

| File | Purpose |
|------|---------|
| `README.md` | Package overview. Dashboard settings-section plugin for the `pi-blackhole` extension. Reads/writes `<agentDir>/pi-blackhole/pi-blackhole-config.json` via `GET`+`PUT /api/plugins/blackhole/config`. Scalar accordions + ordered per-worker fallback-chain editor. Fails closed on unparseable config; read-modify-write preserves unmanaged keys. No dependency on `pi-blackhole` (re-declares `BlackholeConfig`). |
| `package.json` | pi-dashboard-plugin manifest. id `blackhole`, priority 200 (higher than flows' 100 — lowest number wins one-active `content-view`; at the shipped tie of 100 the pluginId tie-break made blackhole win). Claims: `settings-section`→`BlackholeSettings` (tab `general`), `session-card-memory`→`MemorySubcard` with `shouldRender: "shouldRenderMemorySubcard"`, `content-view`→`PipelineDetailView` with `predicate: "isPipelineDetailActive"` — no per-claim `priority` field. `client` `./src/client/index.tsx`, `server` `./src/server/index.ts`, `configSchema` `./src/configSchema.json`, `i18nCatalog` `catalog`. `requires.piExtensions: ["pi-blackhole"]` = install prompt only, NOT an activation gate (design D3). See change: add-blackhole-plugin, add-blackhole-session-pipeline. |
| `tsconfig.json` | Extends `../../tsconfig.base.json`. `jsx: react-jsx`, `noEmit`, `resolveJsonModule` (vendored config snapshot), DOM libs. |
| `vitest.config.ts` | Vitest config. `@vitejs/plugin-react`, jsdom, `pool: forks`, `maxWorkers: 50%`, globalSetup `@blackbelt-technology/pi-dashboard-shared/test-support/setup-home.ts`. `resolve.alias` maps `dashboard-plugin-runtime` (+ `/server`,`/context` subpaths BEFORE the bare key) + `pi-dashboard-shared` to worktree-local src — hoisted-workspace symlink escapes to the main checkout; the client gate calls `bumpSlotClaimsVersion`, an export only this worktree had until landing. See change: add-blackhole-plugin, add-blackhole-session-pipeline. |