Skip to content

feat: harness v2 foundation and durable task orchestration - #49

Merged
wheregmis merged 56 commits into
mainfrom
harness_v2
Aug 15, 2026
Merged

feat: harness v2 foundation and durable task orchestration#49
wheregmis merged 56 commits into
mainfrom
harness_v2

Conversation

@wheregmis

Copy link
Copy Markdown
Owner

Summary

  • Add the harness v2 event, reducer, storage, recovery, telemetry, and procedure framework.
  • Integrate durable background tasks, subagents, hooks, compaction, navigation, and session-tree state.
  • Add provider routing updates and UI support for harness task lifecycle events.
  • Document the harness v2 format and foundation design.
  • Add comprehensive harness compatibility, recovery, SQLite, hooks, navigation, and tool tests.

Testing

  • Added focused unit and integration coverage across harness behavior and recovery paths.
  • Not run (not requested).

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 198 files, which is 98 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 76f48b34-a67c-4798-9051-9ea02e777c03

📥 Commits

Reviewing files that changed from the base of the PR and between b6b9f1c and 5d055df.

⛔ Files ignored due to path filters (8)
  • Cargo.lock is excluded by !**/*.lock
  • crates/threadlane-gpui/assets/icons/git/actions.svg is excluded by !**/*.svg
  • crates/threadlane-gpui/assets/icons/git/commit.svg is excluded by !**/*.svg
  • crates/threadlane-gpui/assets/icons/git/compare.svg is excluded by !**/*.svg
  • crates/threadlane-gpui/assets/icons/providers/acp.svg is excluded by !**/*.svg
  • crates/threadlane-gpui/assets/icons/providers/google.svg is excluded by !**/*.svg
  • crates/threadlane-gpui/assets/icons/providers/openai.svg is excluded by !**/*.svg
  • crates/threadlane-gpui/assets/icons/providers/opencode.svg is excluded by !**/*.svg
📒 Files selected for processing (198)
  • .github/workflows/release.yml
  • .gitignore
  • AGENTS.md
  • README.md
  • crates/threadlane-agent/Cargo.toml
  • crates/threadlane-agent/src/agent.rs
  • crates/threadlane-agent/src/capability.rs
  • crates/threadlane-agent/src/compaction.rs
  • crates/threadlane-agent/src/config.rs
  • crates/threadlane-agent/src/error.rs
  • crates/threadlane-agent/src/events.rs
  • crates/threadlane-agent/src/harness/agent.rs
  • crates/threadlane-agent/src/harness/effects.rs
  • crates/threadlane-agent/src/harness/events.rs
  • crates/threadlane-agent/src/harness/hooks.rs
  • crates/threadlane-agent/src/harness/jsonl.rs
  • crates/threadlane-agent/src/harness/memory.rs
  • crates/threadlane-agent/src/harness/mod.rs
  • crates/threadlane-agent/src/harness/procedure.rs
  • crates/threadlane-agent/src/harness/queue.rs
  • crates/threadlane-agent/src/harness/reducer.rs
  • crates/threadlane-agent/src/harness/session.rs
  • crates/threadlane-agent/src/harness/sqlite.rs
  • crates/threadlane-agent/src/harness/store.rs
  • crates/threadlane-agent/src/harness/telemetry.rs
  • crates/threadlane-agent/src/harness/types.rs
  • crates/threadlane-agent/src/hooks.rs
  • crates/threadlane-agent/src/lib.rs
  • crates/threadlane-agent/src/loop_engine.rs
  • crates/threadlane-agent/src/op_log.rs
  • crates/threadlane-agent/src/provider.rs
  • crates/threadlane-agent/src/queue.rs
  • crates/threadlane-agent/src/rules.rs
  • crates/threadlane-agent/src/session_tree.rs
  • crates/threadlane-agent/src/tool_dispatcher.rs
  • crates/threadlane-agent/src/tool_executor.rs
  • crates/threadlane-agent/src/turn_driver.rs
  • crates/threadlane-agent/src/types.rs
  • crates/threadlane-agent/src/unified.rs
  • crates/threadlane-agent/src/utils.rs
  • crates/threadlane-agent/tests/agent_tests.rs
  • crates/threadlane-agent/tests/fixtures/sessions/legacy_full.jsonl
  • crates/threadlane-agent/tests/harness_abort.rs
  • crates/threadlane-agent/tests/harness_compaction.rs
  • crates/threadlane-agent/tests/harness_compat.rs
  • crates/threadlane-agent/tests/harness_conformance.rs
  • crates/threadlane-agent/tests/harness_drive.rs
  • crates/threadlane-agent/tests/harness_event_projection.rs
  • crates/threadlane-agent/tests/harness_events.rs
  • crates/threadlane-agent/tests/harness_hooks.rs
  • crates/threadlane-agent/tests/harness_navigation.rs
  • crates/threadlane-agent/tests/harness_recovery.rs
  • crates/threadlane-agent/tests/harness_session.rs
  • crates/threadlane-agent/tests/harness_sqlite.rs
  • crates/threadlane-agent/tests/harness_tools.rs
  • crates/threadlane-auth/src/antigravity_auth.rs
  • crates/threadlane-auth/src/lib.rs
  • crates/threadlane-auth/src/openai_auth.rs
  • crates/threadlane-cli/Cargo.toml
  • crates/threadlane-cli/src/commands.rs
  • crates/threadlane-cli/src/input.rs
  • crates/threadlane-cli/src/login.rs
  • crates/threadlane-cli/src/main.rs
  • crates/threadlane-cli/src/render.rs
  • crates/threadlane-cli/src/runtime.rs
  • crates/threadlane-cli/src/state.rs
  • crates/threadlane-cli/src/tui.rs
  • crates/threadlane-cli/src/ui.rs
  • crates/threadlane-coding-agent/Cargo.toml
  • crates/threadlane-coding-agent/src/agents.rs
  • crates/threadlane-coding-agent/src/capabilities.rs
  • crates/threadlane-coding-agent/src/coding_agent.rs
  • crates/threadlane-coding-agent/src/coding_agent/broker.rs
  • crates/threadlane-coding-agent/src/coding_agent/capabilities.rs
  • crates/threadlane-coding-agent/src/coding_agent/harness.rs
  • crates/threadlane-coding-agent/src/coding_agent/mod.rs
  • crates/threadlane-coding-agent/src/coding_agent/runtime.rs
  • crates/threadlane-coding-agent/src/commands.rs
  • crates/threadlane-coding-agent/src/config.rs
  • crates/threadlane-coding-agent/src/error.rs
  • crates/threadlane-coding-agent/src/frontmatter.rs
  • crates/threadlane-coding-agent/src/lib.rs
  • crates/threadlane-coding-agent/src/mcp.rs
  • crates/threadlane-coding-agent/src/packages.rs
  • crates/threadlane-coding-agent/src/plan.rs
  • crates/threadlane-coding-agent/src/prompt_templates.rs
  • crates/threadlane-coding-agent/src/skills.rs
  • crates/threadlane-coding-agent/src/supervisor.rs
  • crates/threadlane-coding-agent/src/wasi_extension.rs
  • crates/threadlane-coding-agent/tests/coding_agent_tests.rs
  • crates/threadlane-coding-agent/tests/supervisor_tests.rs
  • crates/threadlane-coding-agent/tests/wasi_tests.rs
  • crates/threadlane-gpui/Cargo.toml
  • crates/threadlane-gpui/README.md
  • crates/threadlane-gpui/src/adapters/agent_events.rs
  • crates/threadlane-gpui/src/adapters/mod.rs
  • crates/threadlane-gpui/src/app/actions.rs
  • crates/threadlane-gpui/src/app/controller.rs
  • crates/threadlane-gpui/src/app/mod.rs
  • crates/threadlane-gpui/src/assets.rs
  • crates/threadlane-gpui/src/components/mod.rs
  • crates/threadlane-gpui/src/lib.rs
  • crates/threadlane-gpui/src/main.rs
  • crates/threadlane-gpui/src/model_catalog.rs
  • crates/threadlane-gpui/src/persistence/mod.rs
  • crates/threadlane-gpui/src/persistence/project_registry.rs
  • crates/threadlane-gpui/src/screens/chat/mod.rs
  • crates/threadlane-gpui/src/screens/chat/view.rs
  • crates/threadlane-gpui/src/screens/mod.rs
  • crates/threadlane-gpui/src/screens/right_panel/mod.rs
  • crates/threadlane-gpui/src/screens/right_panel/view.rs
  • crates/threadlane-gpui/src/screens/settings/mod.rs
  • crates/threadlane-gpui/src/screens/settings/view.rs
  • crates/threadlane-gpui/src/screens/sidebar/mod.rs
  • crates/threadlane-gpui/src/screens/sidebar/view.rs
  • crates/threadlane-gpui/src/screens/terminal/mod.rs
  • crates/threadlane-gpui/src/screens/workspace/mod.rs
  • crates/threadlane-gpui/src/screens/workspace/view.rs
  • crates/threadlane-gpui/src/services/chat.rs
  • crates/threadlane-gpui/src/services/mod.rs
  • crates/threadlane-gpui/src/services/projects.rs
  • crates/threadlane-gpui/src/services/provider_auth.rs
  • crates/threadlane-gpui/src/services/sessions.rs
  • crates/threadlane-gpui/src/services/settings.rs
  • crates/threadlane-gpui/src/services/updater.rs
  • crates/threadlane-gpui/src/state/app_state.rs
  • crates/threadlane-gpui/src/state/mod.rs
  • crates/threadlane-gpui/src/theme.rs
  • crates/threadlane-gpui/themes/threadlane.json
  • crates/threadlane-hashline/src/lib.rs
  • crates/threadlane-provider/src/lib.rs
  • crates/threadlane-provider/src/openai.rs
  • crates/threadlane-provider/src/opencode.rs
  • crates/threadlane-provider/src/router.rs
  • crates/threadlane-provider/src/traits.rs
  • crates/threadlane-skills/src/frontmatter.rs
  • crates/threadlane-skills/src/lib.rs
  • crates/threadlane-tools/src/lib.rs
  • crates/threadlane-updater/src/lib.rs
  • crates/threadlane-wasi/src/lib.rs
  • crates/threadlane-wasi/src/packages.rs
  • crates/threadlane/Cargo.toml
  • crates/threadlane/src/app/mod.rs
  • crates/threadlane/src/app/settings_handlers.rs
  • crates/threadlane/src/app/terminal_handlers.rs
  • crates/threadlane/src/app/workspace_sync.rs
  • crates/threadlane/src/components/chat_fold_row_base.rs
  • crates/threadlane/src/components/composer_action.rs
  • crates/threadlane/src/components/context_menu.rs
  • crates/threadlane/src/components/file_tree.rs
  • crates/threadlane/src/components/git_changes.rs
  • crates/threadlane/src/components/mod.rs
  • crates/threadlane/src/components/overlay_popup_base.rs
  • crates/threadlane/src/components/provider_settings_modal.rs
  • crates/threadlane/src/components/session_row.rs
  • crates/threadlane/src/components/task_sidebar.rs
  • crates/threadlane/src/components/terminal_panel.rs
  • crates/threadlane/src/components/themed_button.rs
  • crates/threadlane/src/components/themed_label.rs
  • crates/threadlane/src/components/user_msg_base.rs
  • crates/threadlane/src/panels/chat/composer.rs
  • crates/threadlane/src/panels/chat/mod.rs
  • crates/threadlane/src/panels/chat/state.rs
  • crates/threadlane/src/panels/chat/view.rs
  • crates/threadlane/src/panels/command_palette/state.rs
  • crates/threadlane/src/panels/files/mod.rs
  • crates/threadlane/src/panels/files/view.rs
  • crates/threadlane/src/panels/git/mod.rs
  • crates/threadlane/src/panels/git/state.rs
  • crates/threadlane/src/panels/mod.rs
  • crates/threadlane/src/panels/sessions/mod.rs
  • crates/threadlane/src/panels/sessions/state.rs
  • crates/threadlane/src/panels/sessions/view.rs
  • crates/threadlane/src/panels/settings/mod.rs
  • crates/threadlane/src/panels/settings/view.rs
  • crates/threadlane/src/panels/tasks/mod.rs
  • crates/threadlane/src/panels/tasks/state.rs
  • crates/threadlane/src/panels/tasks/view.rs
  • crates/threadlane/src/state.rs
  • docs/harness-v2-format.md
  • docs/superpowers/plans/2026-08-04-harness-v2-foundation.md
  • docs/superpowers/plans/2026-08-05-harness-ui-state-plan.md
  • docs/superpowers/plans/2026-08-07-canonical-agent-architecture.md
  • docs/superpowers/plans/2026-08-14-gpui-sidebar-collapse.md
  • docs/superpowers/plans/2026-08-14-gpui-sidebar-redesign.md
  • docs/superpowers/plans/2026-08-14-restore-normal-activity-rail.md
  • docs/superpowers/plans/2026-08-14-ui-cleanup.md
  • docs/superpowers/specs/2026-08-04-harness-v2-foundation-design.md
  • docs/superpowers/specs/2026-08-07-canonical-agent-architecture-design.md
  • docs/superpowers/specs/2026-08-14-gpui-sidebar-collapse-design.md
  • docs/superpowers/specs/2026-08-14-gpui-sidebar-redesign-design.md
  • docs/superpowers/specs/2026-08-14-restore-normal-activity-rail-design.md
  • docs/superpowers/specs/2026-08-14-ui-cleanup-design.md
  • harness_v2.md
  • makepad.splash
  • packaging/Info-gpui.plist
  • scripts/bundle-gpui-linux.sh
  • scripts/bundle-gpui-macos.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@wheregmis wheregmis changed the title Implement harness v2 foundation and durable task orchestration feat: harness v2 foundation and durable task orchestration Aug 6, 2026
@wheregmis
wheregmis marked this pull request as ready for review August 15, 2026 01:41
@wheregmis
wheregmis merged commit f6ffe2c into main Aug 15, 2026
1 check 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