allye-pi 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -81,8 +81,8 @@ Prefer the paste-into-agent or marketplace routes below? They still work — the
81
81
  After installing, you get:
82
82
  - **OAuth authentication** — browser-based login, no tokens to manage
83
83
  - **Bootstrap hook** — injects workflow methodology at session start
84
- - **5 dispatched subagents** — reviewer-standards, reviewer-spec, deep-search, code-analyzer, executor, delegated via the Agent tool for phases that don't need to pause and ask you anything (executor only runs this way if you opt into automatic mode — manual is the default)
85
- - **17 skills** — Sandbox, Planning, Technical Planning, Orchestrator, and Delivery run as skills loaded directly into your conversation, loaded on-demand by the bootstrap, so they can ask you questions when something's ambiguous
84
+ - **Optional delegation** — bounded research, review, or execution subagents may be used when the runtime supports them and delegation is beneficial; local execution remains valid
85
+ - **17 composable skills** — discovery, planning, execution, review, delivery, memory, verification, and delegation playbooks loaded as needed; no universal phase chain is required
86
86
  - **Parallel delivery, when a runtime is detected** — the Orchestrator can drive several independent stories at once, each in its own git worktree and its own watchable agent process; without a detected runtime, delivery degrades to the existing manual and automatic-subagent modes
87
87
 
88
88
  #### Multiple Allye accounts (multi-tenant)
@@ -113,7 +113,7 @@ The agent will configure the MCP server via OAuth and install the `allye-opencod
113
113
 
114
114
  After installing, you get:
115
115
  - **6 agents in the picker** — Allye, Allye Plan, Allye Orchestrator, Allye Build, Allye Review, Allye Deliver (Ctrl+T to switch)
116
- - **Auto-loaded context** — your profile and team info injected before every conversation
116
+ - **Adaptive context** — profile, team info, and relevant memories loaded when Allye is available and useful
117
117
  - **Dynamic skill discovery** — agents search for your team's standards via MCP
118
118
 
119
119
  **To update:** Paste this into your agent:
@@ -263,7 +263,7 @@ How multi-phase workflow support is implemented differs by platform, because not
263
263
  - **OpenCode** ships 6 agent-picker personas (Ctrl+T to switch) — Allye, Allye Plan, Allye Orchestrator, Allye Build, Allye Review, Allye Deliver — OpenCode's agent model supports switching personas interactively within a session, so all 6 can be full agents. The automatic-Executor dispatch mode is Claude-Code-only for now; OpenCode always runs Executor (Allye Build) as an interactive agent.
264
264
  - **Cursor, Codex, Gemini CLI** — a single agent handles all phases with the same workflow knowledge (no multi-agent picker on these platforms).
265
265
  - **Hermes Agent** reads skills from a directory (`~/.hermes/skills/allye/`) rather than fetching them over MCP, and gets the `using-allye` bootstrap injected by a small Python plugin at session start instead of a hook — otherwise the same single-agent, same-workflow-knowledge shape as Cursor/Codex/Gemini CLI.
266
- - **Pi** loads the canonical repository skills through a native Pi package, injects Allye context through the configured MCP adapter, and exposes an adaptive toolkit. Herdr delegation is optional and capability-detected; tasks are recommended rather than mandatory.
266
+ - **Pi** loads the canonical repository skills through a native Pi package, reads `using-allye` into the first prompt, injects Allye context through the configured MCP adapter, and exposes an adaptive toolkit. Herdr delegation is optional and capability-detected; tasks are recommended rather than mandatory.
267
267
 
268
268
  Every phase, on every platform:
269
269
  - Responds in **your language** (detected from your messages, falling back to your profile only before you've said anything)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allye-pi",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "Pi package adapter for the canonical Allye workflow",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -71,7 +71,6 @@ export type DelegationState = {
71
71
  panes: OwnedPane[];
72
72
  waits: Set<string>;
73
73
  };
74
- const DELEGATION_TOOL_NAME = "allye_herdr";
75
74
  const WAIT_EVENT_TYPE = "allye-herdr-wait";
76
75
  const RUNTIME_TOOL_NAME = "allye_herdr";
77
76
 
@@ -452,7 +451,10 @@ async function runtimeOperation(capabilities: AllyeCapabilities, params: Record<
452
451
  const newPane = collectValues(afterLayout, "pane_id").find((id) => !beforePanes.has(id));
453
452
  if (!newPane) throw new Error("Herdr split completed but no new pane id was returned");
454
453
  const paneRecords = collectPaneRecords(afterLayout);
455
- const record = paneRecords.find((candidate) => candidate.paneId === newPane && candidate.workspaceId === String((afterLayout as Record<string, unknown>).workspace_id ?? candidate.workspaceId) && candidate.tabId === String((afterLayout as Record<string, unknown>).tab_id ?? candidate.tabId));
454
+ const layoutMetadata = afterLayout as Record<string, unknown>;
455
+ const record = paneRecords.find((candidate) => candidate.paneId === newPane
456
+ && candidate.workspaceId === String(layoutMetadata.workspace_id ?? candidate.workspaceId)
457
+ && candidate.tabId === String(layoutMetadata.tab_id ?? candidate.tabId));
456
458
  if (!record) throw new Error("Herdr returned a pane without workspace/tab ownership metadata");
457
459
  ownership.panes.push(record);
458
460
  await waitForInteractiveShell(newPane);