harnessops 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- harnessops-0.1.0/.agents/skills/release/SKILL.md +27 -0
- harnessops-0.1.0/.github/workflows/publish-pypi.yml +43 -0
- harnessops-0.1.0/.gitignore +8 -0
- harnessops-0.1.0/.harness/manifest.toml +14 -0
- harnessops-0.1.0/.harnessops/cache/.gitkeep +0 -0
- harnessops-0.1.0/.harnessops/lock.json +22 -0
- harnessops-0.1.0/.harnessops/migrations/.gitkeep +0 -0
- harnessops-0.1.0/.harnessops/project.toml +29 -0
- harnessops-0.1.0/AGENTS.md +18 -0
- harnessops-0.1.0/CLAUDE.md +16 -0
- harnessops-0.1.0/LICENSE +2 -0
- harnessops-0.1.0/PKG-INFO +75 -0
- harnessops-0.1.0/README.md +50 -0
- harnessops-0.1.0/SPEC.md +455 -0
- harnessops-0.1.0/catalog/anti-patterns.yml +26 -0
- harnessops-0.1.0/catalog/capability-taxonomy.yml +35 -0
- harnessops-0.1.0/catalog/failure-taxonomy.yml +90 -0
- harnessops-0.1.0/catalog/scoring-rubrics.yml +23 -0
- harnessops-0.1.0/docs/agent-user-guide.md +142 -0
- harnessops-0.1.0/docs/design-principles.md +185 -0
- harnessops-0.1.0/docs/get-started-with-agent.md +148 -0
- harnessops-0.1.0/docs/project-repository-integration-agent-brief.md +232 -0
- harnessops-0.1.0/docs/roadmap.md +172 -0
- harnessops-0.1.0/docs/target-integration-agent-brief.md +296 -0
- harnessops-0.1.0/harness-lab/README.md +15 -0
- harnessops-0.1.0/harness-lab/records/decisions/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/records/eval-cases/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/records/eval-cases/fixtures/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/records/experiments/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/records/feedback/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/records/hypotheses/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/views/.gitkeep +0 -0
- harnessops-0.1.0/harness-lab/views/backlog.md +4 -0
- harnessops-0.1.0/harness-lab/views/imported-feedback.md +4 -0
- harnessops-0.1.0/harness-lab/views/score-trajectory.md +4 -0
- harnessops-0.1.0/plugins/claude/harnessops/.claude-plugin/plugin.json +6 -0
- harnessops-0.1.0/plugins/claude/harnessops/README.md +28 -0
- harnessops-0.1.0/plugins/claude/harnessops/skills/hops-add-failure/SKILL.md +8 -0
- harnessops-0.1.0/plugins/claude/harnessops/skills/hops-diagnose/SKILL.md +6 -0
- harnessops-0.1.0/plugins/claude/harnessops/skills/hops-export-feedback/SKILL.md +8 -0
- harnessops-0.1.0/plugins/claude/harnessops/skills/hops-import-feedback/SKILL.md +6 -0
- harnessops-0.1.0/plugins/claude/harnessops/skills/hops-route-feedback/SKILL.md +8 -0
- harnessops-0.1.0/plugins/claude/harnessops/skills/hops-run-lab/SKILL.md +8 -0
- harnessops-0.1.0/plugins/codex/harnessops/.codex-plugin/plugin.json +6 -0
- harnessops-0.1.0/plugins/codex/harnessops/README.md +28 -0
- harnessops-0.1.0/plugins/codex/harnessops/skills/hops-add-failure/SKILL.md +15 -0
- harnessops-0.1.0/plugins/codex/harnessops/skills/hops-diagnose/SKILL.md +6 -0
- harnessops-0.1.0/plugins/codex/harnessops/skills/hops-export-feedback/SKILL.md +8 -0
- harnessops-0.1.0/plugins/codex/harnessops/skills/hops-import-feedback/SKILL.md +6 -0
- harnessops-0.1.0/plugins/codex/harnessops/skills/hops-route-feedback/SKILL.md +8 -0
- harnessops-0.1.0/plugins/codex/harnessops/skills/hops-run-lab/SKILL.md +14 -0
- harnessops-0.1.0/pyproject.toml +52 -0
- harnessops-0.1.0/specs/cli-spec.md +60 -0
- harnessops-0.1.0/specs/feedback-routing-spec.md +63 -0
- harnessops-0.1.0/specs/harness-common-spec.md +55 -0
- harnessops-0.1.0/specs/harnessops-overlay-spec.md +62 -0
- harnessops-0.1.0/specs/profile-spec.md +59 -0
- harnessops-0.1.0/specs/record-schemas.md +31 -0
- harnessops-0.1.0/src/harnessops/__init__.py +4 -0
- harnessops-0.1.0/src/harnessops/__main__.py +5 -0
- harnessops-0.1.0/src/harnessops/adapters/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/adapters/base.py +39 -0
- harnessops-0.1.0/src/harnessops/adapters/generic_code.py +6 -0
- harnessops-0.1.0/src/harnessops/adapters/harnessops_core.py +17 -0
- harnessops-0.1.0/src/harnessops/adapters/paper_harness_project.py +21 -0
- harnessops-0.1.0/src/harnessops/adapters/paper_harness_upstream.py +15 -0
- harnessops-0.1.0/src/harnessops/adapters/python_package.py +14 -0
- harnessops-0.1.0/src/harnessops/adapters/runops_project.py +21 -0
- harnessops-0.1.0/src/harnessops/adapters/runops_upstream.py +17 -0
- harnessops-0.1.0/src/harnessops/cli/__init__.py +1 -0
- harnessops-0.1.0/src/harnessops/cli/add_failure.py +85 -0
- harnessops-0.1.0/src/harnessops/cli/add_feedback.py +4 -0
- harnessops-0.1.0/src/harnessops/cli/agent.py +81 -0
- harnessops-0.1.0/src/harnessops/cli/decide.py +50 -0
- harnessops-0.1.0/src/harnessops/cli/detect.py +28 -0
- harnessops-0.1.0/src/harnessops/cli/doctor.py +43 -0
- harnessops-0.1.0/src/harnessops/cli/eval.py +58 -0
- harnessops-0.1.0/src/harnessops/cli/feedback.py +116 -0
- harnessops-0.1.0/src/harnessops/cli/init.py +80 -0
- harnessops-0.1.0/src/harnessops/cli/lab.py +49 -0
- harnessops-0.1.0/src/harnessops/cli/link.py +4 -0
- harnessops-0.1.0/src/harnessops/cli/main.py +34 -0
- harnessops-0.1.0/src/harnessops/cli/migrate.py +36 -0
- harnessops-0.1.0/src/harnessops/cli/profiles.py +37 -0
- harnessops-0.1.0/src/harnessops/cli/propose.py +47 -0
- harnessops-0.1.0/src/harnessops/cli/report.py +17 -0
- harnessops-0.1.0/src/harnessops/cli/route.py +42 -0
- harnessops-0.1.0/src/harnessops/core/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/core/agent_bridge.py +45 -0
- harnessops-0.1.0/src/harnessops/core/detect.py +67 -0
- harnessops-0.1.0/src/harnessops/core/evaluation.py +75 -0
- harnessops-0.1.0/src/harnessops/core/lock.py +57 -0
- harnessops-0.1.0/src/harnessops/core/manifest.py +60 -0
- harnessops-0.1.0/src/harnessops/core/migration.py +40 -0
- harnessops-0.1.0/src/harnessops/core/overlay.py +207 -0
- harnessops-0.1.0/src/harnessops/core/paths.py +19 -0
- harnessops-0.1.0/src/harnessops/core/project.py +51 -0
- harnessops-0.1.0/src/harnessops/core/records.py +422 -0
- harnessops-0.1.0/src/harnessops/core/render.py +33 -0
- harnessops-0.1.0/src/harnessops/core/routing.py +38 -0
- harnessops-0.1.0/src/harnessops/core/sanitize.py +41 -0
- harnessops-0.1.0/src/harnessops/core/validation.py +123 -0
- harnessops-0.1.0/src/harnessops/core/yamlio.py +42 -0
- harnessops-0.1.0/src/harnessops/migrations/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/migrations/registry.py +2 -0
- harnessops-0.1.0/src/harnessops/migrations/v0_1_to_v0_2.py +3 -0
- harnessops-0.1.0/src/harnessops/profiles/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/generic-code.yml +35 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/harnessops-core.yml +49 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/paper-harness-project.yml +67 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/paper-harness-upstream.yml +53 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/python-package.yml +40 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/runops-project.yml +79 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/runops-upstream.yml +49 -0
- harnessops-0.1.0/src/harnessops/profiles/builtins/target-harness.yml +37 -0
- harnessops-0.1.0/src/harnessops/profiles/loader.py +4 -0
- harnessops-0.1.0/src/harnessops/profiles/registry.py +53 -0
- harnessops-0.1.0/src/harnessops/schemas/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/schemas/json/__init__.py +2 -0
- harnessops-0.1.0/src/harnessops/schemas/json/decision.schema.json +19 -0
- harnessops-0.1.0/src/harnessops/schemas/json/eval-case.schema.json +13 -0
- harnessops-0.1.0/src/harnessops/schemas/json/experiment.schema.json +10 -0
- harnessops-0.1.0/src/harnessops/schemas/json/failure-record.schema.json +13 -0
- harnessops-0.1.0/src/harnessops/schemas/json/feedback-record.schema.json +17 -0
- harnessops-0.1.0/src/harnessops/schemas/json/harness-manifest.schema.json +20 -0
- harnessops-0.1.0/src/harnessops/schemas/json/harnessops-project.schema.json +15 -0
- harnessops-0.1.0/src/harnessops/schemas/json/hypothesis.schema.json +23 -0
- harnessops-0.1.0/src/harnessops/schemas/json/profile.schema.json +23 -0
- harnessops-0.1.0/src/harnessops/schemas/loader.py +11 -0
- harnessops-0.1.0/templates/feedback-source-overlay/harness-feedback/README.md +20 -0
- harnessops-0.1.0/templates/feedback-source-overlay/harness-feedback/records/failures/.gitkeep +1 -0
- harnessops-0.1.0/templates/feedback-source-overlay/harness-feedback/records/local-workarounds/.gitkeep +1 -0
- harnessops-0.1.0/templates/feedback-source-overlay/harness-feedback/records/meta-feedback/.gitkeep +1 -0
- harnessops-0.1.0/templates/feedback-source-overlay/harness-feedback/records/upstream-feedback/.gitkeep +1 -0
- harnessops-0.1.0/templates/feedback-source-overlay/harness-feedback/views/.gitkeep +1 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/README.md +15 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/records/decisions/.gitkeep +1 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/records/eval-cases/.gitkeep +1 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/records/experiments/.gitkeep +1 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/records/feedback/.gitkeep +1 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/records/hypotheses/.gitkeep +1 -0
- harnessops-0.1.0/templates/upstream-lab-overlay/harness-lab/views/.gitkeep +1 -0
- harnessops-0.1.0/tests/conftest.py +23 -0
- harnessops-0.1.0/tests/fixtures/harnessops-core-minimal/pyproject.toml +4 -0
- harnessops-0.1.0/tests/fixtures/harnessops-core-minimal/src/harnessops/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/harnessops-core-minimal/src/harnessops/profiles/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/harnessops-core-minimal/src/harnessops/schemas/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/paper-harness-upstream-minimal/scripts/publish-scaffold.sh +3 -0
- harnessops-0.1.0/tests/fixtures/paper-harness-upstream-minimal/template/manuscript/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/paper-harness-upstream-minimal/tests/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/paper-project-minimal/manuscript/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/paper-project-minimal/notes/claim-evidence-map.md +1 -0
- harnessops-0.1.0/tests/fixtures/paper-project-minimal/refs/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/paper-project-minimal/submission/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/runops-project-minimal/.runops/harness.lock +2 -0
- harnessops-0.1.0/tests/fixtures/runops-project-minimal/campaign.toml +3 -0
- harnessops-0.1.0/tests/fixtures/runops-project-minimal/cases/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/runops-project-minimal/notes/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/runops-project-minimal/research/agenda.md +1 -0
- harnessops-0.1.0/tests/fixtures/runops-project-minimal/runs/.gitkeep +1 -0
- harnessops-0.1.0/tests/fixtures/runops-upstream-minimal/pyproject.toml +4 -0
- harnessops-0.1.0/tests/fixtures/runops-upstream-minimal/src/runops/__init__.py +2 -0
- harnessops-0.1.0/tests/fixtures/runops-upstream-minimal/src/runops/templates/.gitkeep +1 -0
- harnessops-0.1.0/tests/test_agent_harness_contract.py +104 -0
- harnessops-0.1.0/tests/test_cli/test_mvp_flow.py +218 -0
- harnessops-0.1.0/tests/test_cli/test_safety.py +153 -0
- harnessops-0.1.0/tests/test_core/test_detect.py +15 -0
- harnessops-0.1.0/tests/test_core/test_routing.py +16 -0
- harnessops-0.1.0/tests/test_core/test_sanitize.py +9 -0
- harnessops-0.1.0/tests/test_core/test_validation.py +53 -0
- harnessops-0.1.0/tests/test_e2e/test_acceptance_matrix.py +22 -0
- harnessops-0.1.0/tests/test_migrations/test_migrate.py +14 -0
- harnessops-0.1.0/tests/test_profiles/test_registry.py +17 -0
- harnessops-0.1.0/uv.lock +942 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: HarnessOps repository を GitHub release するときに使う repo-local skill。version/tag確認、検証、push、gh release create、release後のworkflow確認を行う。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
この skill は HarnessOps repository 専用です。共通 plugin ではなく repo-local skill として扱います。
|
|
7
|
+
|
|
8
|
+
`.harnessops/`、`harness-feedback/`、`harness-lab/` の構造を直接組み替えず、HarnessOps 状態変更は `hops` に委譲します。
|
|
9
|
+
|
|
10
|
+
手順:
|
|
11
|
+
|
|
12
|
+
1. `git status --short --branch`、`git log --oneline --decorate -5`、`git tag --list` を確認する。
|
|
13
|
+
2. `pyproject.toml` の version から tag `v<version>` を決める。既存 tag/release がある場合は上書きしない。
|
|
14
|
+
3. release 前に次を実行する。
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
PYTHONPATH="$PWD/src" python3.11 -m pytest -q
|
|
18
|
+
uv run --with-editable . hops doctor --check-overlay --check-records
|
|
19
|
+
uv run --with-editable . hops migrate --check
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
4. `main` がリリース対象なら必要な commit を作り、`git push origin main` で remote に反映する。
|
|
23
|
+
5. この repository は published GitHub release で PyPI publish workflow が走る。PyPI Trusted Publisher の environment は `pypi` なので、workflow の publish job は `environment: pypi` を持つ必要がある。
|
|
24
|
+
6. `gh release create v<version> --target main --title "harnessops v<version>" --notes <notes>` で release を作る。
|
|
25
|
+
7. 作成後に `gh release view v<version>`、`gh run list --limit 5`、`git status --short --branch` を確認する。
|
|
26
|
+
|
|
27
|
+
追加の GitHub Actions workflow dispatch は、ユーザーが明示した場合だけ行う。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
id-token: write
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: publish-pypi
|
|
14
|
+
cancel-in-progress: false
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
publish:
|
|
18
|
+
name: Build and publish harnessops
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
environment: pypi
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- name: Set up Python
|
|
27
|
+
uses: actions/setup-python@v5
|
|
28
|
+
with:
|
|
29
|
+
python-version: "3.11"
|
|
30
|
+
|
|
31
|
+
- name: Install build tooling
|
|
32
|
+
run: |
|
|
33
|
+
python -m pip install --upgrade pip
|
|
34
|
+
python -m pip install build twine
|
|
35
|
+
|
|
36
|
+
- name: Build distributions
|
|
37
|
+
run: python -m build
|
|
38
|
+
|
|
39
|
+
- name: Check distributions
|
|
40
|
+
run: python -m twine check dist/*
|
|
41
|
+
|
|
42
|
+
- name: Publish to PyPI
|
|
43
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
schema_version = "0.1"
|
|
2
|
+
|
|
3
|
+
[harness]
|
|
4
|
+
provider = "harnessops"
|
|
5
|
+
kind = "harnessops-repository"
|
|
6
|
+
version = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[commands]
|
|
9
|
+
doctor = "hops doctor"
|
|
10
|
+
migrate = "hops migrate"
|
|
11
|
+
version = "hops version"
|
|
12
|
+
|
|
13
|
+
[harnessops]
|
|
14
|
+
recommended_profile = "harnessops-core"
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"harnessops_version": "0.1.0",
|
|
3
|
+
"layout_version": "0.1",
|
|
4
|
+
"managed_files": {
|
|
5
|
+
"harness-lab/README.md": "sha256:440eea30a3b85b64a5b79ea8a8e9f497f029328ca1b18e96fb9bf13a372348b5",
|
|
6
|
+
"harness-lab/views/backlog.md": "sha256:0ed4436872ad24f9c73737b7f84290306dc4baaf36154b7e36be521e985b791c",
|
|
7
|
+
"harness-lab/views/imported-feedback.md": "sha256:a1f06ef8e94c49bc4eb298f28a8d5bf017dc855c8dbbdcb07a9500445595e3f2",
|
|
8
|
+
"harness-lab/views/score-trajectory.md": "sha256:a3d2f445609e5e9da0269ece3b10aff2414f3830bd185ad257d32ae19026b616"
|
|
9
|
+
},
|
|
10
|
+
"migrations": [],
|
|
11
|
+
"overlay": {
|
|
12
|
+
"mode": "meta-lab",
|
|
13
|
+
"path": "harness-lab"
|
|
14
|
+
},
|
|
15
|
+
"profile": {
|
|
16
|
+
"fingerprint": "sha256:55f93b1f90fa336209e503a4770f4cae5693ed2eda315d9798a893ec16678594",
|
|
17
|
+
"id": "harnessops-core",
|
|
18
|
+
"source": "builtin",
|
|
19
|
+
"version": "0.1.0"
|
|
20
|
+
},
|
|
21
|
+
"schema_version": "0.1"
|
|
22
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
schema_version = "0.1"
|
|
2
|
+
layout_version = "0.1"
|
|
3
|
+
|
|
4
|
+
[project]
|
|
5
|
+
name = "harnessops"
|
|
6
|
+
root = "."
|
|
7
|
+
kind = "harnessops-repository"
|
|
8
|
+
|
|
9
|
+
[profile]
|
|
10
|
+
id = "harnessops-core"
|
|
11
|
+
version = "0.1.0"
|
|
12
|
+
source = "builtin"
|
|
13
|
+
adapter = "harnessops_core"
|
|
14
|
+
|
|
15
|
+
[overlay]
|
|
16
|
+
mode = "meta-lab"
|
|
17
|
+
path = "harness-lab"
|
|
18
|
+
managed_by = "harnessops"
|
|
19
|
+
|
|
20
|
+
[privacy]
|
|
21
|
+
default_visibility = "private-until-sanitized"
|
|
22
|
+
|
|
23
|
+
[agents]
|
|
24
|
+
codex = true
|
|
25
|
+
claude = true
|
|
26
|
+
|
|
27
|
+
[target_harness]
|
|
28
|
+
provider = "harnessops"
|
|
29
|
+
manifest = ".harness/manifest.toml"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# HarnessOps エージェントメモ
|
|
2
|
+
|
|
3
|
+
このリポジトリは HarnessOps 自身の実装リポジトリです。状態変更の正本は `hops` CLI、仕様の正本は `SPEC.md` です。
|
|
4
|
+
|
|
5
|
+
## 操作ルール
|
|
6
|
+
|
|
7
|
+
- HarnessOps の状態変更には必ず `hops` を使います。PATH にない場合は `uv run --with-editable . hops <command>` を使います。
|
|
8
|
+
- 作業開始時に `.harnessops/project.toml` を読み、必要に応じて `hops doctor --check-overlay --check-records` でリンク状態を確認します。
|
|
9
|
+
- HarnessOps 実装コード自体を編集する場合を除き、`.harnessops/`、`harness-feedback/`、`harness-lab/` の構造を直接組み替えないでください。
|
|
10
|
+
- レコード作成、ルーティング、フィードバックのエクスポート/インポート、ラボ評価、採用判断は CLI に委譲します。
|
|
11
|
+
- プロジェクト固有の研究方針、論文内容、実験転換は `harness-feedback/` や `harness-lab/` に混ぜず、対象プロジェクトの `research/` または `notes/` に置きます。
|
|
12
|
+
- 外部共有前に `hops feedback export --sanitize` を使い、ローカルパス、非公開語、未公開研究の文脈を残さないでください。
|
|
13
|
+
|
|
14
|
+
## 開発時の確認
|
|
15
|
+
|
|
16
|
+
- `uv run --with-editable . hops doctor --check-overlay --check-records`
|
|
17
|
+
- `uv run --with-editable . hops migrate --check`
|
|
18
|
+
- CLI、ブリッジ、プラグインを変えた場合は関連する `pytest` を実行します。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# HarnessOps Claude メモ
|
|
2
|
+
|
|
3
|
+
このリポジトリは HarnessOps 自身の実装リポジトリです。管理対象状態の変更は `hops` CLI に委譲し、リポジトリローカルのブリッジスキルと同梱プラグインは薄い案内に限定します。
|
|
4
|
+
|
|
5
|
+
## 操作ルール
|
|
6
|
+
|
|
7
|
+
- PATH に `hops` がない場合は `uv run --with-editable . hops <command>` を使います。
|
|
8
|
+
- 作業開始時に `.harnessops/project.toml` を読み、必要に応じて `hops doctor --check-overlay --check-records` を実行します。
|
|
9
|
+
- HarnessOps 実装コード自体を編集する場合を除き、`.harnessops/`、`harness-feedback/`、`harness-lab/` の構造を直接組み替えないでください。
|
|
10
|
+
- レコード作成、ルーティング、フィードバックのエクスポート/インポート、ラボ評価、採用判断は CLI に委譲します。
|
|
11
|
+
- 外部共有前に `hops feedback export --sanitize` を使い、ローカルパス、非公開語、未公開研究の文脈を残さないでください。
|
|
12
|
+
|
|
13
|
+
## 開発時の確認
|
|
14
|
+
|
|
15
|
+
- `uv run --with-editable . hops doctor --check-overlay --check-records`
|
|
16
|
+
- `uv run --with-editable . hops migrate --check`
|
harnessops-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: harnessops
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: AI支援ハーネスプロジェクト向けのフィードバックと改善実験OS
|
|
5
|
+
Project-URL: Homepage, https://github.com/Nkzono99/harnessops
|
|
6
|
+
Project-URL: Repository, https://github.com/Nkzono99/harnessops
|
|
7
|
+
Project-URL: Documentation, https://github.com/Nkzono99/harnessops#readme
|
|
8
|
+
Project-URL: Issues, https://github.com/Nkzono99/harnessops/issues
|
|
9
|
+
License-Expression: Apache-2.0
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Python: >=3.10
|
|
12
|
+
Requires-Dist: jinja2>=3.1
|
|
13
|
+
Requires-Dist: pydantic>=2.0
|
|
14
|
+
Requires-Dist: rich>=13.0
|
|
15
|
+
Requires-Dist: ruamel-yaml>=0.18
|
|
16
|
+
Requires-Dist: tomli-w>=1.0
|
|
17
|
+
Requires-Dist: tomli>=2.0; python_version < '3.11'
|
|
18
|
+
Requires-Dist: typer>=0.12
|
|
19
|
+
Provides-Extra: dev
|
|
20
|
+
Requires-Dist: jsonschema>=4.0; extra == 'dev'
|
|
21
|
+
Requires-Dist: mypy>=1.8; extra == 'dev'
|
|
22
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
23
|
+
Requires-Dist: ruff>=0.6; extra == 'dev'
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# HarnessOps
|
|
27
|
+
|
|
28
|
+
HarnessOps は、AI Agent がハーネスプロジェクトの失敗、フィードバック、評価、改善判断を証拠付きで扱うための運用基盤です。
|
|
29
|
+
|
|
30
|
+
このプロジェクトは基本的にAI経由で利用します。人間がCLI手順を覚えることより、何をAI Agentに任せるか、どこに記録が残るか、どの安全条件が守られるかを把握することを重視します。
|
|
31
|
+
|
|
32
|
+
## 人間が把握すること
|
|
33
|
+
|
|
34
|
+
HarnessOps は3つのリポジトリ役割を分けます。
|
|
35
|
+
|
|
36
|
+
| レイヤー | オーバーレイ | 目的 |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| プロジェクトリポジトリ | `harness-feedback/` | 失敗、ローカル回避策、上流へ送る候補を記録します。 |
|
|
39
|
+
| ターゲットリポジトリ | `harness-lab/` | 受け取ったフィードバックを評価ケース、仮説、判断に変換します。 |
|
|
40
|
+
| HarnessOps リポジトリ | `harness-lab/` | HarnessOps 自身のCLI、スキーマ、プラグイン、運用ループを改善します。 |
|
|
41
|
+
|
|
42
|
+
プロジェクト固有の研究方針、論文内容、実験転換は `harness-feedback/` ではなく、各プロジェクトの `research/` または `notes/` に置きます。上流やメタ改善へ回す内容は、必ずルーティングとサニタイズを通します。
|
|
43
|
+
|
|
44
|
+
## 名前
|
|
45
|
+
|
|
46
|
+
- GitHub repository: `Nkzono99/harnessops`
|
|
47
|
+
- PyPI package: `harnessops`
|
|
48
|
+
- Python import: `harnessops`
|
|
49
|
+
- CLI: `hops`
|
|
50
|
+
|
|
51
|
+
## 読む順番
|
|
52
|
+
|
|
53
|
+
- 人間がAI Agent経由で使い始める: [docs/get-started-with-agent.md](docs/get-started-with-agent.md)
|
|
54
|
+
- AI Agent向けの運用手順: [docs/agent-user-guide.md](docs/agent-user-guide.md)
|
|
55
|
+
- target repositoryへ組み込むAgentに渡す文書: [docs/target-integration-agent-brief.md](docs/target-integration-agent-brief.md)
|
|
56
|
+
- project repository単体へ組み込むAgentに渡す文書: [docs/project-repository-integration-agent-brief.md](docs/project-repository-integration-agent-brief.md)
|
|
57
|
+
- 現行仕様の正本: [SPEC.md](SPEC.md)
|
|
58
|
+
- 設計思想: [docs/design-principles.md](docs/design-principles.md)
|
|
59
|
+
- 今後のロードマップ: [docs/roadmap.md](docs/roadmap.md)
|
|
60
|
+
- 個別仕様の補助資料: [specs/](specs/)
|
|
61
|
+
|
|
62
|
+
## 安全上の前提
|
|
63
|
+
|
|
64
|
+
- `hops` が HarnessOps 状態変更の正本です。Agentやプラグインは、`.harnessops/`、`harness-feedback/`、`harness-lab/` の構造を直接組み替えません。
|
|
65
|
+
- 未サニタイズのフィードバックは既定で外部出力されません。
|
|
66
|
+
- 採用済み判断には、証拠、回帰リスク、ガードパスが必要です。
|
|
67
|
+
- 生成ビューは更新されますが、人が作成した `records/` 配下の履歴はビュー更新で再生成されません。
|
|
68
|
+
|
|
69
|
+
## 開発時の確認
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
PYTHONPATH="$PWD/src" python3.11 -m pytest -q
|
|
73
|
+
uv run --with-editable . hops doctor --check-overlay --check-records
|
|
74
|
+
uv run --with-editable . hops migrate --check
|
|
75
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# HarnessOps
|
|
2
|
+
|
|
3
|
+
HarnessOps は、AI Agent がハーネスプロジェクトの失敗、フィードバック、評価、改善判断を証拠付きで扱うための運用基盤です。
|
|
4
|
+
|
|
5
|
+
このプロジェクトは基本的にAI経由で利用します。人間がCLI手順を覚えることより、何をAI Agentに任せるか、どこに記録が残るか、どの安全条件が守られるかを把握することを重視します。
|
|
6
|
+
|
|
7
|
+
## 人間が把握すること
|
|
8
|
+
|
|
9
|
+
HarnessOps は3つのリポジトリ役割を分けます。
|
|
10
|
+
|
|
11
|
+
| レイヤー | オーバーレイ | 目的 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| プロジェクトリポジトリ | `harness-feedback/` | 失敗、ローカル回避策、上流へ送る候補を記録します。 |
|
|
14
|
+
| ターゲットリポジトリ | `harness-lab/` | 受け取ったフィードバックを評価ケース、仮説、判断に変換します。 |
|
|
15
|
+
| HarnessOps リポジトリ | `harness-lab/` | HarnessOps 自身のCLI、スキーマ、プラグイン、運用ループを改善します。 |
|
|
16
|
+
|
|
17
|
+
プロジェクト固有の研究方針、論文内容、実験転換は `harness-feedback/` ではなく、各プロジェクトの `research/` または `notes/` に置きます。上流やメタ改善へ回す内容は、必ずルーティングとサニタイズを通します。
|
|
18
|
+
|
|
19
|
+
## 名前
|
|
20
|
+
|
|
21
|
+
- GitHub repository: `Nkzono99/harnessops`
|
|
22
|
+
- PyPI package: `harnessops`
|
|
23
|
+
- Python import: `harnessops`
|
|
24
|
+
- CLI: `hops`
|
|
25
|
+
|
|
26
|
+
## 読む順番
|
|
27
|
+
|
|
28
|
+
- 人間がAI Agent経由で使い始める: [docs/get-started-with-agent.md](docs/get-started-with-agent.md)
|
|
29
|
+
- AI Agent向けの運用手順: [docs/agent-user-guide.md](docs/agent-user-guide.md)
|
|
30
|
+
- target repositoryへ組み込むAgentに渡す文書: [docs/target-integration-agent-brief.md](docs/target-integration-agent-brief.md)
|
|
31
|
+
- project repository単体へ組み込むAgentに渡す文書: [docs/project-repository-integration-agent-brief.md](docs/project-repository-integration-agent-brief.md)
|
|
32
|
+
- 現行仕様の正本: [SPEC.md](SPEC.md)
|
|
33
|
+
- 設計思想: [docs/design-principles.md](docs/design-principles.md)
|
|
34
|
+
- 今後のロードマップ: [docs/roadmap.md](docs/roadmap.md)
|
|
35
|
+
- 個別仕様の補助資料: [specs/](specs/)
|
|
36
|
+
|
|
37
|
+
## 安全上の前提
|
|
38
|
+
|
|
39
|
+
- `hops` が HarnessOps 状態変更の正本です。Agentやプラグインは、`.harnessops/`、`harness-feedback/`、`harness-lab/` の構造を直接組み替えません。
|
|
40
|
+
- 未サニタイズのフィードバックは既定で外部出力されません。
|
|
41
|
+
- 採用済み判断には、証拠、回帰リスク、ガードパスが必要です。
|
|
42
|
+
- 生成ビューは更新されますが、人が作成した `records/` 配下の履歴はビュー更新で再生成されません。
|
|
43
|
+
|
|
44
|
+
## 開発時の確認
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
PYTHONPATH="$PWD/src" python3.11 -m pytest -q
|
|
48
|
+
uv run --with-editable . hops doctor --check-overlay --check-records
|
|
49
|
+
uv run --with-editable . hops migrate --check
|
|
50
|
+
```
|