Skip to content

harness: conform binary, fixture, gate, tap, runner, report - #1

Merged
tamnd merged 1 commit into
mainfrom
feat/harness-core
Jun 10, 2026
Merged

harness: conform binary, fixture, gate, tap, runner, report#1
tamnd merged 1 commit into
mainfrom
feat/harness-core

Conversation

@tamnd

@tamnd tamnd commented Jun 10, 2026

Copy link
Copy Markdown
Owner

What

Core conformance infrastructure — the conform binary and all supporting packages.

Packages

  • fixture/Fixture struct read from env; Env() passes all connection params to runner subprocesses as key=value
  • gate/ — All 191 gate IDs with client, operation, and criterion metadata; gate.All() and gate.Categories() for reporting
  • tap/ — TAP v14 parser (Parse(r io.Reader)) and Writer for runner subprocesses to emit structured results
  • runner/Runner struct with Run(ctx, env) Result; runners are subprocess invocations that output TAP; all 8 runners registered
  • report/Report struct with AddTAP(), Finalize(), Write(w) for JSON output
  • cmd/conform/ — CLI entry point; flags: --only, --parallel, --report, --tap, --list, --version

CI

ci.yml runs go build, go vet, go test, and conform --list on every push.

Usage

export GITHOME_HOST=githome.example.com
export GITHOME_TOKEN=ghp_xxx
export GITHOME_OWNER=my-org
export GITHOME_REPO=test-repo

go run ./cmd/conform --list                        # print all 191 gates
go run ./cmd/conform --only gh-cli --tap           # run gh CLI suite
go run ./cmd/conform --report report.json --tap    # run everything

- cmd/conform: CLI with --host, --token, --only, --parallel, --report, --tap, --list flags
- fixture: Fixture struct + FromEnv() + Env() for passing to runner subprocesses
- gate: all 191 gate IDs with client, operation, and criterion metadata
- tap: TAP v14 parser and Writer for runner output
- runner: Runner definitions and Run() — exec subprocess, parse TAP, return results
- report: JSON report with per-gate status, duration, and summary counts
- ci.yml: build + vet + test + gate-inventory CI job
@tamnd
tamnd merged commit 88fbb23 into main Jun 10, 2026
1 of 2 checks 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