Skip to content

refactor: adopt Pi harness built-ins - #51

Merged
timbrinded merged 15 commits into
masterfrom
refactor/pi-harness-builtins
Jul 20, 2026
Merged

refactor: adopt Pi harness built-ins#51
timbrinded merged 15 commits into
masterfrom
refactor/pi-harness-builtins

Conversation

@timbrinded

@timbrinded timbrinded commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • adopt Pi 0.80.10 session, model-runtime, tool, completion, widget, and selector built-ins
  • replace redundant workflow harness and custom run-navigation infrastructure with Pi-native surfaces
  • preserve live host provider configuration and selected-model credentials in workflow child sessions
  • add a bounded Dynamax shine cue with static/off preferences while preserving custom-editor ownership
  • tighten durable-run completion scope, workflow viewer layout, and runtime module boundaries
  • refocus the README on user-facing workflows and installation

Changes

  • use createAgentSessionServices and createAgentSessionFromServices for production subagent sessions
  • isolate child-runtime provider synchronization, including shared-cwd removal and runtime/stored API-key handling
  • delete the custom workflow run navigator and use native run/action selectors in TUI and RPC modes
  • derive workflow-run parsing and completions from one typed action list and keep retained-run lookup scoped to the active session cwd
  • use run-scoped string widgets and shared ANSI-aware viewer row/viewport helpers
  • split Dynamax terminal rendering and animation from activation/session lifecycle code
  • preserve an existing custom editor when decoration fails, cancel stale animation work, and avoid overwriting later editor replacements
  • adopt Pi-native command completions, getAgentDir(), built-in tool provenance and noTools, getLastAssistantText(), and RPC-safe UI behavior
  • enforce Pi 0.80.10 as the minimum runtime

User impact

Workflow commands now use Pi-native selection and completion behavior across supported UI modes. Durable-run completions stay attached to the active project session. Dynamax performs one short shine sweep and then remains statically highlighted; PI_DYNAMAX_EFFECT=static or off reduces or disables the cue. Existing custom editors remain authoritative when they cannot be decorated.

Validation

  • bun run typecheck
  • bun run test: 479 passed, 0 failed across 57 files
  • git diff --check
  • index.ts: 943 lines
  • PR diff: 2,728 additions, 1,634 deletions across 54 files

This PR does not bump or publish a release.

@timbrinded
timbrinded marked this pull request as ready for review July 20, 2026 12:39
Preserve active-session completion scope and existing custom editors when Dynamax decoration fails. Isolate provider synchronization and Dynamax rendering, and share workflow action and viewer layout helpers.
Wait for the persisted delivery state instead of observing sendMessage before the following durable write completes.
@timbrinded
timbrinded merged commit bdaeba6 into master Jul 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant