Files
harness-tools/docs/adr/0005-imported-extension-snapshots-01SEP2026.md
T

2.1 KiB

Import external Pi packages as reviewed main-branch snapshots

Decision

Import the tracked files from the main branch of these repositories into Bun workspaces:

Source Imported commit Workspace Package
jb/pi-interactive-subagents a3cd328edef59ad491d4f35f9fbadf8ec80cadc4 extensions/interactive-subagents @_jb/pi-interactive-subagents
jb/pi-native-hooks 73fa3299bf30fd6da5abfc74a0ee7a36e0a07f0a extensions/native-hooks @_jb/pi-native-hooks
jb/pi-todo-herdr d9e1ffec51e25238e0baec48ce1303893f13849f extensions/todo-herdr @_jb/pi-todo-herdr

Carry snapshots rather than submodules, subtrees, or unrelated Git histories. The monorepo owns package manifests, dependency normalization, compatibility changes, tests, and releases after import. Preserve source attribution in each package.

Record source URLs, branches, and commits in config/imported-packages.json. bun run imports:check compares those commits with current remote main heads. The staging command in scripts/import-package-snapshots.mjs clones fresh snapshots outside the repository for explicit review; it never overwrites the maintained workspaces.

Rename the private pi-workflow extension identity to workflow. Its workspace is extensions/workflow, its tool and user-facing runtime identifiers use workflow, and its configuration/state paths use the same name. The npm package remains @_jb/pi-workflow under the repository's @_jb/pi-<name> convention.

Consequences

  • The three imported extensions share the Bun lockfile and catalog with the rest of the monorepo.
  • Published packages use the scoped Gitea registry instead of Pi-managed Git sources.
  • Upstream movement is detected but never merged automatically; imported changes require reconciliation with monorepo-specific manifests and APIs.
  • Only main is tracked. Source tags, branches, and historical commits are not copied.
  • The renamed workflow extension remains private until its _workflows dependencies are merged and isolated packaging succeeds.