Agent harness platform and meta framework.
Find a file
tegwick 1cd890d871
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
feat: add versioned execution profiles
2026-08-21 00:21:53 +02:00
.forgejo/workflows Add Forgejo CI smoke workflow for migration pilot 2026-07-04 00:58:20 +02:00
docs feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
examples feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
profiles feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
registry feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
research A list of kings names 2026-08-20 16:50:00 +02:00
src/glas_harness feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
tests feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
workplans feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-07-27 02:01:18 +02:00
.gitignore Implement the harness contract and prove it against rein-aharness (GLAS-WP-0001-T02/T03/T04) 2026-07-26 13:02:59 +02:00
.repo-classification.yaml Initial commit 2026-06-22 19:22:49 +00:00
AGENTS.md feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
INTENT.md feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
LICENSE Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout) 2026-07-30 00:17:57 +02:00
pyproject.toml feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
README.md feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
SCOPE.md feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00
WORK-RECORDS.md feat: add versioned execution profiles 2026-08-21 00:21:53 +02:00

glas-harness

glas-harness is the primary execution-layer abstraction for governed agent work. Consumers select a versioned Glas profile; Glas resolves the concrete rein, model route, sandbox profile, tool policy, and limits, runs the outer lifecycle, and returns one normalized evidence envelope.

The consumer contract does not name a Python rein class or provider CLI:

assignment / channel / activity
  -> ExecutionRequest(harness_profile_ref=...)
  -> Glas profile resolution
  -> rein + model + sandbox + tool policy
  -> normalized ExecutionEvidence

Profiles

List and validate every committed executable profile:

glas-harness profiles
glas-harness profiles --json

Current constellations include:

  • harness.agent-dev-local@1.0.0: rein-aharness, Claude Code model route, local bwrap sandbox.
  • harness.agent-dev-openweights-local@1.0.0: rein-openweights, OpenRouter open-weight route, local bwrap sandbox.
  • harness.agent-dev@1.0.0: rein-aharness, remote agent-dev sandbox.

Run a task through an explicit profile:

glas-harness run \
  --harness-profile harness.agent-dev-local@1.0.0 \
  --repo /absolute/path/to/repo \
  --title "Bounded change" \
  --description "Make the requested change and commit it"

There is no governed default rein, model, sandbox, or tool profile. Unknown, disabled, incompatible, and ambiguous selections are refused before sandbox creation.

See SCOPE.md, INTENT.md, docs/execution-profiles.md, and docs/harness-contract.md.

Development

uv run pytest -q