From 45d6a41a39454b968392be72301884a460725366 Mon Sep 17 00:00:00 2001 From: JB Date: Sat, 5 Sep 2026 22:44:40 -0400 Subject: [PATCH] chore: archive legacy workflow extensions --- README.md | 2 +- __archived/extensions/README.md | 7 +++++++ .../extensions}/_workflows/artifacts.test.ts | 0 .../extensions}/_workflows/artifacts.ts | 0 .../extensions}/_workflows/controller.test.ts | 0 .../extensions}/_workflows/controller.ts | 0 .../extensions}/_workflows/dashboard.ts | 0 .../extensions}/_workflows/index.ts | 0 .../extensions}/_workflows/meta.test.ts | 0 .../extensions}/_workflows/meta.ts | 0 .../extensions}/_workflows/model.ts | 0 .../extensions}/_workflows/prompt.ts | 0 .../extensions}/_workflows/runner.test.ts | 0 .../extensions}/_workflows/runner.ts | 0 .../extensions}/_workflows/sandbox-child.cjs | 0 .../extensions}/_workflows/sandbox.test.ts | 0 .../extensions}/_workflows/sandbox.ts | 0 .../extensions}/_workflows/serialization.test.ts | 0 .../extensions}/_workflows/serialization.ts | 0 .../extensions}/workflow/LICENSE | 0 .../extensions}/workflow/README.md | 2 +- .../workflow/agents/feature-designer.md | 0 .../workflow/agents/feature-implementer.md | 0 .../workflow/agents/feature-verifier.md | 0 .../workflow/agents/general-discovery.md | 0 .../workflow/agents/independent-reviewer.md | 0 .../extensions}/workflow/agents/ui-prototyper.md | 0 .../extensions}/workflow/config.test.ts | 0 .../extensions}/workflow/config.ts | 0 .../workflow/context-transition.test.ts | 0 .../extensions}/workflow/context-transition.ts | 0 .../extensions}/workflow/continuation.test.ts | 0 .../extensions}/workflow/continuation.ts | 0 .../extensions}/workflow/dashboard.test.ts | 0 .../extensions}/workflow/dashboard.ts | 0 .../extensions}/workflow/domain.ts | 0 .../extensions}/workflow/engine.test.ts | 0 .../extensions}/workflow/engine.ts | 0 .../extensions}/workflow/execution.test.ts | 0 .../extensions}/workflow/execution.ts | 0 .../extensions}/workflow/index.test.ts | 0 .../extensions}/workflow/index.ts | 0 .../extensions}/workflow/notifications.test.ts | 0 .../extensions}/workflow/notifications.ts | 0 .../extensions}/workflow/package.json | 0 .../extensions}/workflow/profiles.test.ts | 0 .../extensions}/workflow/profiles.ts | 0 .../extensions}/workflow/progress.test.ts | 0 .../extensions}/workflow/progress.ts | 0 .../extensions}/workflow/run-label.test.ts | 0 .../extensions}/workflow/run-label.ts | 0 .../extensions}/workflow/sandbox-child.cjs | 0 .../extensions}/workflow/script-runtime.test.ts | 0 .../extensions}/workflow/script-runtime.ts | 0 .../extensions}/workflow/store.test.ts | 0 .../extensions}/workflow/store.ts | 0 .../extensions}/workflow/tool.test.ts | 0 .../extensions}/workflow/tool.ts | 0 .../extensions}/workflow/tui.test.ts | 0 .../extensions}/workflow/tui.ts | 0 .../extensions}/workflow/ui-policy.test.ts | 0 .../extensions}/workflow/ui-policy.ts | 0 .../extensions}/workflow/workspace.test.ts | 0 .../extensions}/workflow/workspace.ts | 0 bun.lock | 15 --------------- ...06-skill-led-development-workflow-04SEP2026.md | 2 ++ .../0007-archive-legacy-workflows-05SEP2026.md | 5 +++++ docs/todos.md | 6 +----- docs/workflow/archive-workflows-record.md | 8 +++++--- package.json | 5 ++--- scripts/package-workspaces.test.mjs | 9 +-------- 71 files changed, 25 insertions(+), 36 deletions(-) create mode 100644 __archived/extensions/README.md rename {extensions => __archived/extensions}/_workflows/artifacts.test.ts (100%) rename {extensions => __archived/extensions}/_workflows/artifacts.ts (100%) rename {extensions => __archived/extensions}/_workflows/controller.test.ts (100%) rename {extensions => __archived/extensions}/_workflows/controller.ts (100%) rename {extensions => __archived/extensions}/_workflows/dashboard.ts (100%) rename {extensions => __archived/extensions}/_workflows/index.ts (100%) rename {extensions => __archived/extensions}/_workflows/meta.test.ts (100%) rename {extensions => __archived/extensions}/_workflows/meta.ts (100%) rename {extensions => __archived/extensions}/_workflows/model.ts (100%) rename {extensions => __archived/extensions}/_workflows/prompt.ts (100%) rename {extensions => __archived/extensions}/_workflows/runner.test.ts (100%) rename {extensions => __archived/extensions}/_workflows/runner.ts (100%) rename {extensions => __archived/extensions}/_workflows/sandbox-child.cjs (100%) rename {extensions => __archived/extensions}/_workflows/sandbox.test.ts (100%) rename {extensions => __archived/extensions}/_workflows/sandbox.ts (100%) rename {extensions => __archived/extensions}/_workflows/serialization.test.ts (100%) rename {extensions => __archived/extensions}/_workflows/serialization.ts (100%) rename {extensions => __archived/extensions}/workflow/LICENSE (100%) rename {extensions => __archived/extensions}/workflow/README.md (73%) rename {extensions => __archived/extensions}/workflow/agents/feature-designer.md (100%) rename {extensions => __archived/extensions}/workflow/agents/feature-implementer.md (100%) rename {extensions => __archived/extensions}/workflow/agents/feature-verifier.md (100%) rename {extensions => __archived/extensions}/workflow/agents/general-discovery.md (100%) rename {extensions => __archived/extensions}/workflow/agents/independent-reviewer.md (100%) rename {extensions => __archived/extensions}/workflow/agents/ui-prototyper.md (100%) rename {extensions => __archived/extensions}/workflow/config.test.ts (100%) rename {extensions => __archived/extensions}/workflow/config.ts (100%) rename {extensions => __archived/extensions}/workflow/context-transition.test.ts (100%) rename {extensions => __archived/extensions}/workflow/context-transition.ts (100%) rename {extensions => __archived/extensions}/workflow/continuation.test.ts (100%) rename {extensions => __archived/extensions}/workflow/continuation.ts (100%) rename {extensions => __archived/extensions}/workflow/dashboard.test.ts (100%) rename {extensions => __archived/extensions}/workflow/dashboard.ts (100%) rename {extensions => __archived/extensions}/workflow/domain.ts (100%) rename {extensions => __archived/extensions}/workflow/engine.test.ts (100%) rename {extensions => __archived/extensions}/workflow/engine.ts (100%) rename {extensions => __archived/extensions}/workflow/execution.test.ts (100%) rename {extensions => __archived/extensions}/workflow/execution.ts (100%) rename {extensions => __archived/extensions}/workflow/index.test.ts (100%) rename {extensions => __archived/extensions}/workflow/index.ts (100%) rename {extensions => __archived/extensions}/workflow/notifications.test.ts (100%) rename {extensions => __archived/extensions}/workflow/notifications.ts (100%) rename {extensions => __archived/extensions}/workflow/package.json (100%) rename {extensions => __archived/extensions}/workflow/profiles.test.ts (100%) rename {extensions => __archived/extensions}/workflow/profiles.ts (100%) rename {extensions => __archived/extensions}/workflow/progress.test.ts (100%) rename {extensions => __archived/extensions}/workflow/progress.ts (100%) rename {extensions => __archived/extensions}/workflow/run-label.test.ts (100%) rename {extensions => __archived/extensions}/workflow/run-label.ts (100%) rename {extensions => __archived/extensions}/workflow/sandbox-child.cjs (100%) rename {extensions => __archived/extensions}/workflow/script-runtime.test.ts (100%) rename {extensions => __archived/extensions}/workflow/script-runtime.ts (100%) rename {extensions => __archived/extensions}/workflow/store.test.ts (100%) rename {extensions => __archived/extensions}/workflow/store.ts (100%) rename {extensions => __archived/extensions}/workflow/tool.test.ts (100%) rename {extensions => __archived/extensions}/workflow/tool.ts (100%) rename {extensions => __archived/extensions}/workflow/tui.test.ts (100%) rename {extensions => __archived/extensions}/workflow/tui.ts (100%) rename {extensions => __archived/extensions}/workflow/ui-policy.test.ts (100%) rename {extensions => __archived/extensions}/workflow/ui-policy.ts (100%) rename {extensions => __archived/extensions}/workflow/workspace.test.ts (100%) rename {extensions => __archived/extensions}/workflow/workspace.ts (100%) create mode 100644 docs/adr/0007-archive-legacy-workflows-05SEP2026.md diff --git a/README.md b/README.md index 0b26eae..f70b1ea 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Personal [Pi](https://github.com/earendil-works/pi-mono) extensions, skills, glo - the `manage-pi-links` and `nono-profiles` project-only skills under `.pi/skills/`; - no global Pi extension symlinks. Active extensions are installed separately as pinned Gitea npm packages. -The repository contains `bash-cwd`, `copy-all`, `dictate` (Linux host-service dictation), `effort-controls`, `file-search`, `interactive-subagents`, `lm-studio`, `native-hooks`, `prompt-snippets`, `subagents`, `todo-herdr`, `update`, and the private historical `workflow` extension. The link manifest does not install any extension globally. New feature work uses `develop-workflow`; the legacy extension remains unexposed as pilot evidence under [ADR 0006](docs/adr/0006-skill-led-development-workflow-04SEP2026.md). The `pptx`, `stop-slop`, `subagents`, and `xlsx` skills are intentionally excluded. Archived resources under `__archived/` are never installed. Update `config/pi-links.json` deliberately if that policy changes. +The repository contains `bash-cwd`, `copy-all`, `dictate` (Linux host-service dictation), `effort-controls`, `file-search`, `interactive-subagents`, `lm-studio`, `native-hooks`, `prompt-snippets`, `subagents`, `todo-herdr`, and `update`. The link manifest does not install any extension globally. New feature work uses `develop-workflow`; both legacy workflow implementations are retained under [`__archived/extensions/`](__archived/extensions/README.md) per [ADR 0007](docs/adr/0007-archive-legacy-workflows-05SEP2026.md). The `pptx`, `stop-slop`, `subagents`, and `xlsx` skills are intentionally excluded. Archived resources under `__archived/` are never installed. Update `config/pi-links.json` deliberately if that policy changes. ## Fresh-machine setup diff --git a/__archived/extensions/README.md b/__archived/extensions/README.md new file mode 100644 index 0000000..7a9bb59 --- /dev/null +++ b/__archived/extensions/README.md @@ -0,0 +1,7 @@ +# Archived extensions + +`workflow/` and `_workflows/` are retired historical implementations, archived by explicit approval under [ADR 0007](../../docs/adr/0007-archive-legacy-workflows-05SEP2026.md). New development uses the [`develop-workflow` skill](../../skills/develop/develop-workflow/SKILL.md). + +Their source and tests are retained for reference, excluded from active workspaces, typechecking, and root test commands. Historical source still contains relative imports into the former `extensions/shared` location and workspace dependency declarations; the archive is not a runnable or installable package set. To investigate the runnable historical layout, inspect commit `fee0d44e2ddd7a982e94ebf99117f69bb9bae78e` in a separate checkout rather than wiring archived files into the active runtime. + +Historical plans and ADRs retain their original paths as evidence. The separate scenario and real-change pilot validation TODO remains open. diff --git a/extensions/_workflows/artifacts.test.ts b/__archived/extensions/_workflows/artifacts.test.ts similarity index 100% rename from extensions/_workflows/artifacts.test.ts rename to __archived/extensions/_workflows/artifacts.test.ts diff --git a/extensions/_workflows/artifacts.ts b/__archived/extensions/_workflows/artifacts.ts similarity index 100% rename from extensions/_workflows/artifacts.ts rename to __archived/extensions/_workflows/artifacts.ts diff --git a/extensions/_workflows/controller.test.ts b/__archived/extensions/_workflows/controller.test.ts similarity index 100% rename from extensions/_workflows/controller.test.ts rename to __archived/extensions/_workflows/controller.test.ts diff --git a/extensions/_workflows/controller.ts b/__archived/extensions/_workflows/controller.ts similarity index 100% rename from extensions/_workflows/controller.ts rename to __archived/extensions/_workflows/controller.ts diff --git a/extensions/_workflows/dashboard.ts b/__archived/extensions/_workflows/dashboard.ts similarity index 100% rename from extensions/_workflows/dashboard.ts rename to __archived/extensions/_workflows/dashboard.ts diff --git a/extensions/_workflows/index.ts b/__archived/extensions/_workflows/index.ts similarity index 100% rename from extensions/_workflows/index.ts rename to __archived/extensions/_workflows/index.ts diff --git a/extensions/_workflows/meta.test.ts b/__archived/extensions/_workflows/meta.test.ts similarity index 100% rename from extensions/_workflows/meta.test.ts rename to __archived/extensions/_workflows/meta.test.ts diff --git a/extensions/_workflows/meta.ts b/__archived/extensions/_workflows/meta.ts similarity index 100% rename from extensions/_workflows/meta.ts rename to __archived/extensions/_workflows/meta.ts diff --git a/extensions/_workflows/model.ts b/__archived/extensions/_workflows/model.ts similarity index 100% rename from extensions/_workflows/model.ts rename to __archived/extensions/_workflows/model.ts diff --git a/extensions/_workflows/prompt.ts b/__archived/extensions/_workflows/prompt.ts similarity index 100% rename from extensions/_workflows/prompt.ts rename to __archived/extensions/_workflows/prompt.ts diff --git a/extensions/_workflows/runner.test.ts b/__archived/extensions/_workflows/runner.test.ts similarity index 100% rename from extensions/_workflows/runner.test.ts rename to __archived/extensions/_workflows/runner.test.ts diff --git a/extensions/_workflows/runner.ts b/__archived/extensions/_workflows/runner.ts similarity index 100% rename from extensions/_workflows/runner.ts rename to __archived/extensions/_workflows/runner.ts diff --git a/extensions/_workflows/sandbox-child.cjs b/__archived/extensions/_workflows/sandbox-child.cjs similarity index 100% rename from extensions/_workflows/sandbox-child.cjs rename to __archived/extensions/_workflows/sandbox-child.cjs diff --git a/extensions/_workflows/sandbox.test.ts b/__archived/extensions/_workflows/sandbox.test.ts similarity index 100% rename from extensions/_workflows/sandbox.test.ts rename to __archived/extensions/_workflows/sandbox.test.ts diff --git a/extensions/_workflows/sandbox.ts b/__archived/extensions/_workflows/sandbox.ts similarity index 100% rename from extensions/_workflows/sandbox.ts rename to __archived/extensions/_workflows/sandbox.ts diff --git a/extensions/_workflows/serialization.test.ts b/__archived/extensions/_workflows/serialization.test.ts similarity index 100% rename from extensions/_workflows/serialization.test.ts rename to __archived/extensions/_workflows/serialization.test.ts diff --git a/extensions/_workflows/serialization.ts b/__archived/extensions/_workflows/serialization.ts similarity index 100% rename from extensions/_workflows/serialization.ts rename to __archived/extensions/_workflows/serialization.ts diff --git a/extensions/workflow/LICENSE b/__archived/extensions/workflow/LICENSE similarity index 100% rename from extensions/workflow/LICENSE rename to __archived/extensions/workflow/LICENSE diff --git a/extensions/workflow/README.md b/__archived/extensions/workflow/README.md similarity index 73% rename from extensions/workflow/README.md rename to __archived/extensions/workflow/README.md index 540063a..b094658 100644 --- a/extensions/workflow/README.md +++ b/__archived/extensions/workflow/README.md @@ -1,5 +1,5 @@ # workflow -> **Historical reference:** This private legacy extension was superseded for new development by the model-invoked [`develop-workflow` skill](../../skills/develop/develop-workflow/SKILL.md) under [ADR 0006](../../docs/adr/0006-skill-led-development-workflow-04SEP2026.md). +> **Historical reference:** This private legacy extension was superseded for new development by the model-invoked [`develop-workflow` skill](../../../skills/develop/develop-workflow/SKILL.md) under [ADR 0006](../../../docs/adr/0006-skill-led-development-workflow-04SEP2026.md). Keep this workspace private, unpublished, and unexposed during the skill pilot. It is historical implementation evidence, not the skill implementation or a prerequisite for skill development. Archive or remove it only in the separately approved post-pilot cleanup. diff --git a/extensions/workflow/agents/feature-designer.md b/__archived/extensions/workflow/agents/feature-designer.md similarity index 100% rename from extensions/workflow/agents/feature-designer.md rename to __archived/extensions/workflow/agents/feature-designer.md diff --git a/extensions/workflow/agents/feature-implementer.md b/__archived/extensions/workflow/agents/feature-implementer.md similarity index 100% rename from extensions/workflow/agents/feature-implementer.md rename to __archived/extensions/workflow/agents/feature-implementer.md diff --git a/extensions/workflow/agents/feature-verifier.md b/__archived/extensions/workflow/agents/feature-verifier.md similarity index 100% rename from extensions/workflow/agents/feature-verifier.md rename to __archived/extensions/workflow/agents/feature-verifier.md diff --git a/extensions/workflow/agents/general-discovery.md b/__archived/extensions/workflow/agents/general-discovery.md similarity index 100% rename from extensions/workflow/agents/general-discovery.md rename to __archived/extensions/workflow/agents/general-discovery.md diff --git a/extensions/workflow/agents/independent-reviewer.md b/__archived/extensions/workflow/agents/independent-reviewer.md similarity index 100% rename from extensions/workflow/agents/independent-reviewer.md rename to __archived/extensions/workflow/agents/independent-reviewer.md diff --git a/extensions/workflow/agents/ui-prototyper.md b/__archived/extensions/workflow/agents/ui-prototyper.md similarity index 100% rename from extensions/workflow/agents/ui-prototyper.md rename to __archived/extensions/workflow/agents/ui-prototyper.md diff --git a/extensions/workflow/config.test.ts b/__archived/extensions/workflow/config.test.ts similarity index 100% rename from extensions/workflow/config.test.ts rename to __archived/extensions/workflow/config.test.ts diff --git a/extensions/workflow/config.ts b/__archived/extensions/workflow/config.ts similarity index 100% rename from extensions/workflow/config.ts rename to __archived/extensions/workflow/config.ts diff --git a/extensions/workflow/context-transition.test.ts b/__archived/extensions/workflow/context-transition.test.ts similarity index 100% rename from extensions/workflow/context-transition.test.ts rename to __archived/extensions/workflow/context-transition.test.ts diff --git a/extensions/workflow/context-transition.ts b/__archived/extensions/workflow/context-transition.ts similarity index 100% rename from extensions/workflow/context-transition.ts rename to __archived/extensions/workflow/context-transition.ts diff --git a/extensions/workflow/continuation.test.ts b/__archived/extensions/workflow/continuation.test.ts similarity index 100% rename from extensions/workflow/continuation.test.ts rename to __archived/extensions/workflow/continuation.test.ts diff --git a/extensions/workflow/continuation.ts b/__archived/extensions/workflow/continuation.ts similarity index 100% rename from extensions/workflow/continuation.ts rename to __archived/extensions/workflow/continuation.ts diff --git a/extensions/workflow/dashboard.test.ts b/__archived/extensions/workflow/dashboard.test.ts similarity index 100% rename from extensions/workflow/dashboard.test.ts rename to __archived/extensions/workflow/dashboard.test.ts diff --git a/extensions/workflow/dashboard.ts b/__archived/extensions/workflow/dashboard.ts similarity index 100% rename from extensions/workflow/dashboard.ts rename to __archived/extensions/workflow/dashboard.ts diff --git a/extensions/workflow/domain.ts b/__archived/extensions/workflow/domain.ts similarity index 100% rename from extensions/workflow/domain.ts rename to __archived/extensions/workflow/domain.ts diff --git a/extensions/workflow/engine.test.ts b/__archived/extensions/workflow/engine.test.ts similarity index 100% rename from extensions/workflow/engine.test.ts rename to __archived/extensions/workflow/engine.test.ts diff --git a/extensions/workflow/engine.ts b/__archived/extensions/workflow/engine.ts similarity index 100% rename from extensions/workflow/engine.ts rename to __archived/extensions/workflow/engine.ts diff --git a/extensions/workflow/execution.test.ts b/__archived/extensions/workflow/execution.test.ts similarity index 100% rename from extensions/workflow/execution.test.ts rename to __archived/extensions/workflow/execution.test.ts diff --git a/extensions/workflow/execution.ts b/__archived/extensions/workflow/execution.ts similarity index 100% rename from extensions/workflow/execution.ts rename to __archived/extensions/workflow/execution.ts diff --git a/extensions/workflow/index.test.ts b/__archived/extensions/workflow/index.test.ts similarity index 100% rename from extensions/workflow/index.test.ts rename to __archived/extensions/workflow/index.test.ts diff --git a/extensions/workflow/index.ts b/__archived/extensions/workflow/index.ts similarity index 100% rename from extensions/workflow/index.ts rename to __archived/extensions/workflow/index.ts diff --git a/extensions/workflow/notifications.test.ts b/__archived/extensions/workflow/notifications.test.ts similarity index 100% rename from extensions/workflow/notifications.test.ts rename to __archived/extensions/workflow/notifications.test.ts diff --git a/extensions/workflow/notifications.ts b/__archived/extensions/workflow/notifications.ts similarity index 100% rename from extensions/workflow/notifications.ts rename to __archived/extensions/workflow/notifications.ts diff --git a/extensions/workflow/package.json b/__archived/extensions/workflow/package.json similarity index 100% rename from extensions/workflow/package.json rename to __archived/extensions/workflow/package.json diff --git a/extensions/workflow/profiles.test.ts b/__archived/extensions/workflow/profiles.test.ts similarity index 100% rename from extensions/workflow/profiles.test.ts rename to __archived/extensions/workflow/profiles.test.ts diff --git a/extensions/workflow/profiles.ts b/__archived/extensions/workflow/profiles.ts similarity index 100% rename from extensions/workflow/profiles.ts rename to __archived/extensions/workflow/profiles.ts diff --git a/extensions/workflow/progress.test.ts b/__archived/extensions/workflow/progress.test.ts similarity index 100% rename from extensions/workflow/progress.test.ts rename to __archived/extensions/workflow/progress.test.ts diff --git a/extensions/workflow/progress.ts b/__archived/extensions/workflow/progress.ts similarity index 100% rename from extensions/workflow/progress.ts rename to __archived/extensions/workflow/progress.ts diff --git a/extensions/workflow/run-label.test.ts b/__archived/extensions/workflow/run-label.test.ts similarity index 100% rename from extensions/workflow/run-label.test.ts rename to __archived/extensions/workflow/run-label.test.ts diff --git a/extensions/workflow/run-label.ts b/__archived/extensions/workflow/run-label.ts similarity index 100% rename from extensions/workflow/run-label.ts rename to __archived/extensions/workflow/run-label.ts diff --git a/extensions/workflow/sandbox-child.cjs b/__archived/extensions/workflow/sandbox-child.cjs similarity index 100% rename from extensions/workflow/sandbox-child.cjs rename to __archived/extensions/workflow/sandbox-child.cjs diff --git a/extensions/workflow/script-runtime.test.ts b/__archived/extensions/workflow/script-runtime.test.ts similarity index 100% rename from extensions/workflow/script-runtime.test.ts rename to __archived/extensions/workflow/script-runtime.test.ts diff --git a/extensions/workflow/script-runtime.ts b/__archived/extensions/workflow/script-runtime.ts similarity index 100% rename from extensions/workflow/script-runtime.ts rename to __archived/extensions/workflow/script-runtime.ts diff --git a/extensions/workflow/store.test.ts b/__archived/extensions/workflow/store.test.ts similarity index 100% rename from extensions/workflow/store.test.ts rename to __archived/extensions/workflow/store.test.ts diff --git a/extensions/workflow/store.ts b/__archived/extensions/workflow/store.ts similarity index 100% rename from extensions/workflow/store.ts rename to __archived/extensions/workflow/store.ts diff --git a/extensions/workflow/tool.test.ts b/__archived/extensions/workflow/tool.test.ts similarity index 100% rename from extensions/workflow/tool.test.ts rename to __archived/extensions/workflow/tool.test.ts diff --git a/extensions/workflow/tool.ts b/__archived/extensions/workflow/tool.ts similarity index 100% rename from extensions/workflow/tool.ts rename to __archived/extensions/workflow/tool.ts diff --git a/extensions/workflow/tui.test.ts b/__archived/extensions/workflow/tui.test.ts similarity index 100% rename from extensions/workflow/tui.test.ts rename to __archived/extensions/workflow/tui.test.ts diff --git a/extensions/workflow/tui.ts b/__archived/extensions/workflow/tui.ts similarity index 100% rename from extensions/workflow/tui.ts rename to __archived/extensions/workflow/tui.ts diff --git a/extensions/workflow/ui-policy.test.ts b/__archived/extensions/workflow/ui-policy.test.ts similarity index 100% rename from extensions/workflow/ui-policy.test.ts rename to __archived/extensions/workflow/ui-policy.test.ts diff --git a/extensions/workflow/ui-policy.ts b/__archived/extensions/workflow/ui-policy.ts similarity index 100% rename from extensions/workflow/ui-policy.ts rename to __archived/extensions/workflow/ui-policy.ts diff --git a/extensions/workflow/workspace.test.ts b/__archived/extensions/workflow/workspace.test.ts similarity index 100% rename from extensions/workflow/workspace.test.ts rename to __archived/extensions/workflow/workspace.test.ts diff --git a/extensions/workflow/workspace.ts b/__archived/extensions/workflow/workspace.ts similarity index 100% rename from extensions/workflow/workspace.ts rename to __archived/extensions/workflow/workspace.ts diff --git a/bun.lock b/bun.lock index 02beef8..4ae6be9 100644 --- a/bun.lock +++ b/bun.lock @@ -160,19 +160,6 @@ "@earendil-works/pi-coding-agent": "catalog:pi-peer", }, }, - "extensions/workflow": { - "name": "@jbcode/pi-workflow", - "version": "0.1.0", - "dependencies": { - "@jbcode/pi-shared": "workspace:^", - }, - "peerDependencies": { - "@earendil-works/pi-ai": "catalog:pi-peer", - "@earendil-works/pi-coding-agent": "catalog:pi-peer", - "@earendil-works/pi-tui": "catalog:pi-peer", - "typebox": "catalog:pi-peer", - }, - }, }, "overrides": { "@effect/platform-node-shared": "4.0.0-beta.101", @@ -393,8 +380,6 @@ "@jbcode/pi-update": ["@jbcode/pi-update@workspace:extensions/update"], - "@jbcode/pi-workflow": ["@jbcode/pi-workflow@workspace:extensions/workflow"], - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.6.0", "", {}, "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw=="], "@mariozechner/clipboard": ["@mariozechner/clipboard@0.3.9", "", { "optionalDependencies": { "@mariozechner/clipboard-darwin-arm64": "0.3.9", "@mariozechner/clipboard-darwin-universal": "0.3.9", "@mariozechner/clipboard-darwin-x64": "0.3.9", "@mariozechner/clipboard-linux-arm64-gnu": "0.3.9", "@mariozechner/clipboard-linux-arm64-musl": "0.3.9", "@mariozechner/clipboard-linux-riscv64-gnu": "0.3.9", "@mariozechner/clipboard-linux-x64-gnu": "0.3.9", "@mariozechner/clipboard-linux-x64-musl": "0.3.9", "@mariozechner/clipboard-win32-arm64-msvc": "0.3.9", "@mariozechner/clipboard-win32-x64-msvc": "0.3.9" } }, "sha512-ABnA53mdfkGZwOFUdZNv2S0CWGO/EIuPj8Vv9xmBFmSYg/qFc7ihO6q5FcQjvoE67kZpWkEc4AhD6B/os04yuA=="], diff --git a/docs/adr/0006-skill-led-development-workflow-04SEP2026.md b/docs/adr/0006-skill-led-development-workflow-04SEP2026.md index ce32b29..6022b36 100644 --- a/docs/adr/0006-skill-led-development-workflow-04SEP2026.md +++ b/docs/adr/0006-skill-led-development-workflow-04SEP2026.md @@ -8,6 +8,8 @@ supersedes: # Replace the custom workflow engine with a skill-led workflow +> The legacy-runtime retention and pilot-before-retirement prerequisite below are superseded by [ADR 0007](0007-archive-legacy-workflows-05SEP2026.md). The skill-led workflow and its outstanding validation requirements remain in force. + ## Context The custom `workflow` extension encoded useful approval, isolation, verification, and reviewer-independence policy, but coupled that policy to a large state machine, child runtime, scheduler, persistence layer, and TUI. Recorded runs failed or stalled before implementation when exact planner output, child delivery, recovery state, or liveness mechanics diverged from the engine contract. diff --git a/docs/adr/0007-archive-legacy-workflows-05SEP2026.md b/docs/adr/0007-archive-legacy-workflows-05SEP2026.md new file mode 100644 index 0000000..516b0cb --- /dev/null +++ b/docs/adr/0007-archive-legacy-workflows-05SEP2026.md @@ -0,0 +1,5 @@ +# Archive the legacy workflow implementations + +On 05SEP2026, JB explicitly approved archiving both legacy workflow implementations now rather than waiting for the three successful pilots required by [ADR 0006](0006-skill-led-development-workflow-04SEP2026.md). Move their source and tests to `__archived/extensions/workflow` and `__archived/extensions/_workflows`, outside active workspaces and test commands, while retaining historical documentation and the separate skill-validation TODO. + +This supersedes only the retention and pilot-before-retirement prerequisite. It does not claim that scenario evaluation or pilots passed, change the `develop-workflow` skill, or authorize removal of historical run evidence. The archive preserves reference source rather than maintaining runnable legacy packages. diff --git a/docs/todos.md b/docs/todos.md index 30f6edd..fd27ef3 100644 --- a/docs/todos.md +++ b/docs/todos.md @@ -8,10 +8,6 @@ Pi 0.85.0 corrects built-in tools that captured the process directory instead of Publishing `@jbcode/pi-interactive-subagents@3.7.4` exposed a Pi package-manager failure when `~/.pi` resolves through `/home/jb/data/.home-dotdirs/.pi`. Pi 0.84.4 invoked npm 12.0.2 with `--prefix /home/jb/.pi/agent/npm` from the repository cwd. npm rewrote the lockfile root as `file:../../../data/.home-dotdirs/.pi/agent/npm`, recursively duplicated that path until the lock contained 12,576 entries and 18 MB of data, and then failed with `ENOENT` during reification. Canonicalizing the npm root, regenerating both lockfiles from that directory, and installing once restored the 124-entry lock and all configured packages. Update Pi's npm package execution to use the canonical install root as its cwd, add a symlinked-agent-directory regression test, and ensure interrupted installs terminate their package-manager children before another reconciliation begins. -## Archive the legacy workflow runtime after the skill pilot - -[ADR 0006](adr/0006-skill-led-development-workflow-04SEP2026.md) supersedes the planned merge of `extensions/_workflows` into `extensions/workflow`. Keep both as private, unpublished, unexposed historical evidence while the `develop-workflow` skill completes scenario evaluation and three real-change pilots. After explicit retirement approval, archive or remove both implementations and their tests in a separate cleanup change; do not merge or release the legacy runtime first. - ## Make `pi-links` checks work from linked worktrees A Slice 0 `node scripts/pi-links.mjs prune --dry-run` from `.worktrees/nono-dynamic-permissions-slice-zero-direct` exited 2 and classified every active link into the primary checkout as an outside-repository conflict. The tool anchors ownership to the current worktree root, while active links correctly target the primary repository checkout. Teach check and dry-run planning to recognize canonical checkouts sharing the same Git common directory without broadening stale-link deletion to unrelated repositories. Add linked-worktree fixtures before changing prune behavior. Until fixed, run host reconciliation only from the integrated primary checkout. @@ -22,7 +18,7 @@ Slice 1 found two Nono 0.74 limitations while building behavioral policy proofs. ## Replace `workflow` with a skill-based orchestrator -The strict `workflow` extension repeatedly failed before implementation because planner output and persisted state-machine constraints were too brittle for adaptive subagent orchestration. Implement the repository-managed `develop-workflow` skill under [ADR 0006](adr/0006-skill-led-development-workflow-04SEP2026.md), where the parent owns the plan, task tree, isolated worktree, explicit approval gates, verification, and independent review while launching bounded subagents directly. Preserve file ownership, reviewer independence, and resumable repository evidence while preferring native Pi primitives. Keep this TODO open until all twelve fresh-session scenarios and three real-change pilots pass; only then request retirement approval. +The strict `workflow` extension repeatedly failed before implementation because planner output and persisted state-machine constraints were too brittle for adaptive subagent orchestration. Implement the repository-managed `develop-workflow` skill under [ADR 0006](adr/0006-skill-led-development-workflow-04SEP2026.md), where the parent owns the plan, task tree, isolated worktree, explicit approval gates, verification, and independent review while launching bounded subagents directly. Preserve file ownership, reviewer independence, and resumable repository evidence while preferring native Pi primitives. Keep this TODO open until all twelve fresh-session scenarios and three real-change pilots pass. The legacy implementations were archived separately with explicit approval to waive the retirement prerequisite under [ADR 0007](adr/0007-archive-legacy-workflows-05SEP2026.md); archival does not establish validation success. ## Support finished-session resume for Claude CLI subagents diff --git a/docs/workflow/archive-workflows-record.md b/docs/workflow/archive-workflows-record.md index 706d827..725ec73 100644 --- a/docs/workflow/archive-workflows-record.md +++ b/docs/workflow/archive-workflows-record.md @@ -3,8 +3,8 @@ ## Status - Status: active -- Current phase: verification -- Next safe action: restore locked dependencies in the worktree, then rerun verification. +- Current phase: independent review +- Next safe action: commit verified product changes and pin the review diff. ## Request and scope @@ -47,13 +47,15 @@ Initial checks: `bun run test:packages` and `bun run test:links` exited 0; `bun Additional gate: user approved Restore locked dependencies after the missing-dependency failure. Permit `bun install --frozen-lockfile` in this isolated worktree only, with no dependency-version changes, then rerun verification. This narrows the original no-installation constraint; host Pi configuration remains untouched. +The approved `bun install --frozen-lockfile && bun run typecheck && bun run test` rerun exited 0. All stages of the root test script executed successfully. No dependency versions changed; the only lockfile changes remove the legacy workspace. Existing exact source caches for `effect@4.0.0-beta.101` and `@effect/platform-node@4.0.0-beta.101` were confirmed under `/srv/data/opensrc`. Archive preservation and whitespace checks passed. No UI changes require application validation. + ## Review Pending. Pin base, product HEAD, tree, commit list, exact `git diff --binary --full-index --find-renames ... --` SHA-256, reviewer identities and verdicts before integration. ## Integration and rollback -Pending local fast-forward after review; rollback via focused revert. +Fetch of origin/main exited 0. Remote commit 7e7cfdb5cb0e1a1218b9a2c8250267d5099637fc is an ancestor of local main/base fee0d44e2ddd7a982e94ebf99117f69bb9bae78e; no new upstream tree to incorporate. Pending local fast-forward after review; rollback via focused revert. ## Checkpoints and blockers diff --git a/package.json b/package.json index ed4449c..bbe8e42 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,7 @@ }, "workspaces": { "packages": [ - "extensions/*", - "!extensions/_workflows" + "extensions/*" ], "catalog": { "@anthropic-ai/claude-agent-sdk": "0.3.218", @@ -52,7 +51,7 @@ "test:links": "node --test scripts/pi-links.test.mjs", "test:packages": "node --test scripts/package-workspaces.test.mjs", "test:imported": "bun run --filter '@jbcode/pi-interactive-subagents' test && bun run --filter '@jbcode/pi-native-hooks' test && bun run --filter '@jbcode/pi-todo-herdr' test", - "test:node": "node --test --experimental-strip-types extensions/bash-cwd/index.test.ts extensions/dictate/index.test.ts extensions/lm-studio/index.test.ts extensions/shared/*.test.ts extensions/subagents/by-the-way.test.ts extensions/subagents/context-usage.test.ts extensions/subagents/manager.test.ts extensions/subagents/result-delivery.test.ts extensions/subagents/takeover.test.ts extensions/_workflows/*.test.ts extensions/workflow/*.test.ts", + "test:node": "node --test --experimental-strip-types extensions/bash-cwd/index.test.ts extensions/dictate/index.test.ts extensions/lm-studio/index.test.ts extensions/shared/*.test.ts extensions/subagents/by-the-way.test.ts extensions/subagents/context-usage.test.ts extensions/subagents/manager.test.ts extensions/subagents/result-delivery.test.ts extensions/subagents/takeover.test.ts", "test:file-search": "vitest run extensions/file-search/index.spec.ts --exclude '.worktrees/**'", "test:live": "node --test --experimental-strip-types extensions/subagents/claude.test.ts extensions/subagents/codex.test.ts" }, diff --git a/scripts/package-workspaces.test.mjs b/scripts/package-workspaces.test.mjs index 63dfadf..7277716 100644 --- a/scripts/package-workspaces.test.mjs +++ b/scripts/package-workspaces.test.mjs @@ -23,7 +23,6 @@ const expectedWorkspaces = [ "subagents", "todo-herdr", "update", - "workflow", ]; function readJson(file) { @@ -42,17 +41,12 @@ function dependencyText(manifest) { }); } -test("workspace inventory keeps reference workflows unpublished", () => { +test("workspace inventory contains only active extensions", () => { const rootManifest = readJson(path.join(root, "package.json")); assert.equal(rootManifest.private, true); assert.deepEqual(rootManifest.workspaces.packages, [ "extensions/*", - "!extensions/_workflows", ]); - assert.equal( - readdirSync(path.join(extensionsRoot, "_workflows")).includes("package.json"), - false, - ); const actual = readdirSync(extensionsRoot) .filter((directory) => { @@ -65,7 +59,6 @@ test("workspace inventory keeps reference workflows unpublished", () => { }) .sort(); assert.deepEqual(actual, expectedWorkspaces); - assert.equal(workspaceManifest("workflow").private, true); }); test("imported package snapshots retain explicit main-branch provenance", () => {