Skip to content

feat(sdk/python): expose provider-agnostic harness variants - #4

Open
ddbaron wants to merge 2 commits into
mainfrom
fm/agentfield-pr4-variant
Open

feat(sdk/python): expose provider-agnostic harness variants#4
ddbaron wants to merge 2 commits into
mainfrom
fm/agentfield-pr4-variant

Conversation

@ddbaron

@ddbaron ddbaron commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • expose the provider-agnostic variant option on HarnessConfig, HarnessRunner, and Agent.harness
  • preserve explicit variant precedence over a #variant model suffix
  • document the public option and verify its forwarding and defaults

Relationship to PR3

Related to #3, but not dependent on it.
This PR is based on main and intentionally excludes the OpenCode configuration overlay, recursion defense, and provider-specific implementation details from PR3.
The existing provider adapters already consume the resolved variant option or model suffix.

Validation

  • focused harness, runner, type, and OpenCode provider tests pass
  • the variant changes apply cleanly to main
  • ShellCheck and whitespace checks pass

@ddbaron
ddbaron force-pushed the fm/agentfield-pr4-variant branch from 126bdd8 to 7350928 Compare September 1, 2026 19:13
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Performance

SDK Memory Δ Latency Δ Tests Status
Python 9.0 KB - 0.25 µs -29%

✓ No regressions detected

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

📊 Coverage gate

Thresholds from .coverage-gate.toml: per-surface ≥ 84%, aggregate ≥ 85%, max per-surface regression ≤ 1.0 pp, max aggregate regression ≤ 0.50 pp.

Surface Current Baseline Δ
control-plane 87.70% 87.40% ↑ +0.30 pp 🟡
sdk-go 93.10% 92.00% ↑ +1.10 pp 🟢
sdk-python 94.33% 93.73% ↑ +0.60 pp 🟢
sdk-typescript 91.72% 90.42% ↑ +1.30 pp 🟢
web-ui 84.77% 84.79% ↓ -0.02 pp 🟡
aggregate 85.85% 85.75% ↑ +0.10 pp 🟡

✅ Gate passed

No surface regressed past the allowed threshold and the aggregate stayed above the floor.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

📐 Patch coverage gate

Threshold: 80% on lines this PR touches vs origin/main (from .coverage-gate.toml:thresholds.min_patch).

Surface Touched lines Patch coverage Status
control-plane 0 ➖ no changes
sdk-go 0 ➖ no changes
sdk-python 0 ➖ no changes
sdk-typescript 0 ➖ no changes
web-ui 0 ➖ no changes

✅ Patch gate passed

Every surface whose lines were touched by this PR has patch coverage at or above the threshold.

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