Skip to content

feat(engine): add durable PawApp tasks and verified artifact handoff - #85

Open
cyruszhang wants to merge 4 commits into
agentscope-ai:mainfrom
cyruszhang:dev/pawapp-vnext-engine
Open

cyruszhang wants to merge 4 commits into
agentscope-ai:mainfrom
cyruszhang:dev/pawapp-vnext-engine

Conversation

@cyruszhang

Copy link
Copy Markdown
Collaborator

Summary

Allow a trusted PawApp backend to submit an analysis, reconnect after a lost response, and recover the original run instead of starting it twice. Add durable submission and command receipts, replayable events, and explicit interrupted-run recovery without automatic re-execution.

  • Support independent runs and subsequent turns in an owned session, with idempotent answer/cancel commands and capability discovery.
  • Load task-scoped Host tools and skills through an ephemeral capability bridge.
  • Register artifacts with media type, size, and SHA-256 digest; verify ownership and content on handoff. Add explicit analysis progress and deliverable presentation metadata.
  • Document the protocol, deployment limits, and integration boundary.

Based on merged #81 (14535e3). The diff contains only the remaining Engine integration: 29 files in host-core, its tests, and documentation. Model inheritance, native console support, dataset selection, scoped session ownership, Windows artifact-path fixes, and dependency updates are inherited from main.

Verification

  • uv sync --locked --all-packages — passed.
  • uv run --locked pytest -q — 1,094 passed, 8 skipped.
  • uvx --from ruff==0.12.12 ruff check packages scripts examples tests --select E9,F63,F7,F811,F82,F841 — passed.
  • uv run --locked python -m compileall -q -x '(\.venv|node_modules|__pycache__)' packages scripts examples — passed.
  • git diff --check — passed.
  • Tests cover duplicate submissions, transaction rollback, restart recovery, command reconciliation, namespace isolation, Host capabilities, artifact verification, and native console compatibility.
  • Frontend code and dependencies are unchanged; frontend checks were not rerun locally.

Risk and compatibility

  • Durable submissions require SQL storage; JSON mode explicitly reports unsupported. SQLite is tested; PostgreSQL recovery needs separate validation.

  • Adds submission and command receipt tables. Run one Engine process/worker per database; execution tracking and live event delivery remain process-local.

  • The Engine trusts the backend's identity header. The Host must derive it from authenticated user/workspace/app context and keep service credentials out of the browser.

  • Existing native console endpoints remain available. Host-side delegation, grant UI, and Main Agent continuation require their separate platform implementation.

  • Package versions remain at the 0.3.2 base; this PR does not publish a release.

  • No credentials, private URLs, business data, or internal-only identifiers

  • Documentation and CHANGELOG.md updated

  • Commit includes DCO sign-off (Signed-off-by)

Signed-off-by: Cyrus Zhang <cyrus.ylzhang@gmail.com>
Signed-off-by: Cyrus Zhang <cyrus.ylzhang@gmail.com>
Signed-off-by: Cyrus Zhang <cyrus.ylzhang@gmail.com>
Signed-off-by: Cyrus Zhang <cyrus.ylzhang@gmail.com>

This branch has not been deployed

No deployments
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