Skip to content

feat(harness): unified harness surface — foundation (span derivation, delivery adapters, emitter) #2

feat(harness): unified harness surface — foundation (span derivation, delivery adapters, emitter)

feat(harness): unified harness surface — foundation (span derivation, delivery adapters, emitter) #2

name: Harness Integration
on:
push:
branches: [main]
pull_request:
paths:
- "src/agentex/lib/core/harness/**"
- "src/agentex/lib/adk/_modules/**"
- ".github/workflows/harness-integration.yml"
jobs:
conformance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
with:
version: '0.10.2'
- name: Bootstrap
run: ./scripts/bootstrap
# Defer to scripts/test so the harness suite runs under the exact same
# invocation as the main CI test job: DEFER_PYDANTIC_BUILD=false and
# `uv run --isolated --all-packages --all-extras pytest`, across the
# min/max supported Python versions. Running `uv run pytest` directly
# would risk an all-extras-only dep passing locally but failing in CI.
- name: Conformance suite
run: ./scripts/test tests/lib/core/harness/ -v
# Live integration matrix (harness x {sync, async, temporal}) is added per-harness
# in the migration plans. Placeholder job keeps the workflow valid until then.
live-matrix:
runs-on: ubuntu-latest
if: false # enabled once the first harness's test agents land
steps:
- run: echo "populated by migration PRs" # TODO(harness-migration): enable per-harness; see docs/superpowers/plans migration PRs 4-8