HarnessOps
HarnessOps は、AI Agent がハーネスプロジェクトの失敗、フィードバック、評価、改善判断を証拠付きで扱うための運用基盤です。
このプロジェクトは基本的にAI経由で利用します。人間がCLI手順を覚えることより、何をAI Agentに任せるか、どこに記録が残るか、どの安全条件が守られるかを把握することを重視します。
人間が把握すること
HarnessOps は3つのリポジトリ役割を分けます。
| レイヤー | オーバーレイ | 目的 |
|---|---|---|
| プロジェクトリポジトリ | harness-feedback/ |
失敗、ローカル回避策、上流へ送る候補を記録します。 |
| ターゲットリポジトリ | harness-lab/ |
受け取ったフィードバックを評価ケース、仮説、判断に変換します。 |
| HarnessOps リポジトリ | harness-lab/ |
HarnessOps 自身のCLI、スキーマ、プラグイン、運用ループを改善します。 |
プロジェクト固有の研究方針、論文内容、実験転換は harness-feedback/ ではなく、各プロジェクトの research/ または notes/ に置きます。上流やメタ改善へ回す内容は、必ずルーティングとサニタイズを通します。
普通のリポジトリを汚さず開発時だけ使う場合は、global registry + local state を使えます。
uvx --from harnessops hops project link --storage local --profile generic-code
uvx --from harnessops hops project resolve --json
uvx --from harnessops hops doctor --check-overlay
uvx --from harnessops hops install-codex-plugin
この導線では対象repoに .harnessops/、harness-feedback/、harness-lab/ を作らず、~/.harnessops/projects/<project-id>/ に状態を置きます。共有が必要になった時だけ hops local pack/import/merge を使います。詳しくは docs/global-local-state.md を読んでください。
名前
- GitHub repository:
Nkzono99/harnessops - PyPI package:
harnessops - Python import:
harnessops - CLI:
hops
読む順番
- 人間がAI Agent経由で使い始める: docs/get-started-with-agent.md
- 普通のrepoを汚さず local state で使う: docs/global-local-state.md
- AI Agent向けの運用手順: docs/agent-user-guide.md
- Codex App automationで日次改善ループを回す: docs/daily-steward-automation.md
- target repositoryへ組み込むAgentに渡す文書: docs/target-integration-agent-brief.md
- project repository単体へ組み込むAgentに渡す文書: docs/project-repository-integration-agent-brief.md
- 現行仕様の正本: SPEC.md
- 現在のCLI surface: specs/cli-spec.md
- 設計思想: docs/design-principles.md
- 今後のロードマップ: docs/roadmap.md
- 個別仕様の補助資料: specs/
安全上の前提
hopsが HarnessOps 状態変更の正本です。Agentやプラグインは、.harnessops/、harness-feedback/、harness-lab/の構造を直接組み替えません。- Agent向けには repo-local skill と global Codex plugin の2系統があります。どちらも状態変更は
uvx --from harnessops hops ...に委譲します。global plugin には failure記録、routing、GitHub Issue下書き/作成、local-state pack/import/merge の skill を同梱します。 - 未サニタイズのフィードバックは既定で外部出力されません。
- 採用済み判断には、証拠、回帰リスク、ガードパスが必要です。
- 生成ビューは更新されますが、人が作成した
records/配下の履歴はビュー更新で再生成されません。 hopsは通常コマンド実行時に.harnessops/lock.jsonと PyPI の version を見て update notice を出します。抑止する場合は--disable-update-notice、HOPS_DISABLE_UPDATE_NOTICE=1、または PyPI 確認だけHOPS_DISABLE_PYPI_UPDATE_CHECK=1を使います。
開発時の確認
PYTHONPATH="$PWD/src" python3.11 -m pytest -q
uv run --with-editable . hops doctor --check-overlay --check-records
uv run --with-editable . hops migrate --check
Metadata
Release files for harnessops 0.1.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| harnessops-0.1.16.tar.gz | 574.1 kB | With provenance | Details for harnessops-0.1.16.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| harnessops-0.1.16-py3-none-any.whl | Python 3 | none | any | Details for harnessops-0.1.16-py3-none-any.whl |
Total release size: 782.8 kB
Release files / harnessops-0.1.16.tar.gz
| Download URL | harnessops-0.1.16.tar.gz |
|---|---|
| Size | 574.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49019dda500da6c898a5edaf6f90034775482e049f304619a23ef83e3e0b6dc9
|
|
BLAKE2b-256 checksum How to use checksums |
c6b1a656e81a121f5ae8dea08a58da7ade179932b7e92bc4dc907d6456ac3205
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.
Transparency logRelease files / harnessops-0.1.16-py3-none-any.whl
| Download URL | harnessops-0.1.16-py3-none-any.whl |
|---|---|
| Size | 208.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3c92765666158fd0cddb4f68c8a9a2a10f63668c696af215e92fad1e13bf14c
|
|
BLAKE2b-256 checksum How to use checksums |
77e801b4cc24e363f1cee6af160f7628f0a3d4f89ea408951916c022f65429fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.
Transparency logSecurity for harnessops 0.1.16
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for harnessops-0.1.16.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.