paperops
PaperOps 2 1.0
新規pops initはResearch / Editorial / Results hierarchy / Manuscript / Issue / Publicationの六モデルだけを権威として作る。通常の構造化変更はpops changeがindex、revision/hash、依存検証、manifest、journal、rollbackを処理する。旧cardとmacro-stateは新規scaffoldに含めないが、既存projectのartifactはsetupやmanaged updateで削除せず、pops model / pops workflow migrateのread-only migration readerを維持する。
paperops は、AI エージェントと論文を書くためのプロジェクトハーネスである。
人間が template/ を手でコピーして使う道具ではなく、pops CLI で論文プロジェクトを初期化・診断・更新する。
まず使う
新規論文プロジェクト:
uvx --from paper-harness-cli pops init paper-my-topic
cd paper-my-topic
uvx --from paper-harness-cli pops doctor
この新規projectは六モデルのstarterを検証し、そのsemantic hashとtyped workflowを.pops/manifest.tomlへ原子的に記録する。既存projectをv2へ移す場合はpops init --forceで権威を上書きせず、pops model diff|adoptとpops workflow migrateを使う。
既存プロジェクトを pops 管理に寄せる:
uvx --from paper-harness-cli pops setup
uvx --from paper-harness-cli pops doctor
pops は常に uvx --from paper-harness-cli pops ... で実行する。.venv は CLI 用ではなく、論文プロジェクト側の Python 実行環境が必要な場合に make venv で作る。
何を提供するか
template/: 個別論文リポジトリに展開される scaffoldsrc/paperops/: scaffold を初期化・診断・更新するpopsCLI.github/workflows/: 下流論文リポジトリから呼び出せる reusable workflow.agents/skills/,.claude/skills/: paperops 自体を保守するための skilldocs/: CLI、配布、アーキテクチャ、変更ルール
論文プロジェクトの基本モデル
下流の論文リポジトリでは、原稿だけでなく中間層も明示的に持つ。
_paperops/model/research/: claim / result / figure / source / scientific gate_paperops/model/editorial/: story decision と Results hierarchy_paperops/model/manuscript/: section / block topology と operation_paperops/model/issues/: feedback / request / response / review round / workflow issue_paperops/model/publication/: submission candidate / approval / round snapshot reference_paperops/notes/views/: pure overview view と controlled authoring view_paperops/model/editorial/results-hierarchy.yml: project-owned の typed Results hierarchy 正本_paperops/defaults/schemas/: paperops-managed の schema default_paperops/defaults/contracts/: paperops-managed の標準 section / figure story 契約_paperops/contracts/: 論文固有の contract overlaypops workflow status: 六モデルから全体状態、review、submission、section、staleを投影manuscript/writing-profile.yml: 論文種別・投稿先ごとの overlaymanuscript/ja,manuscript/en: block ID で対応する原稿_paperops/refs/: 文献サマリー、外部 source、外部 project link_paperops/refs/imports/: 外部 export bundle の source index / integrity / provenance state_handoff/: 人間から AI へ渡す未整理ファイルの一時置き場_archives/: 同じ repo で1から書き直すために封印した過去稿 archive
人間は主に原稿レベルのレビューや自然文の指示を出す。Agent はそれを _paperops/model/issues/feedback/ の card にし、必要なら claim / gate / evidence / request / manuscript へ遡って反映する。本文生成の前には、必要に応じて pops workflow status、_paperops/defaults/contracts/、_paperops/contracts/、manuscript/writing-profile.yml を確認し、plan-figure-story で visual obligation と主図構成を決めてから、card と controlled view から paper_ir を作り、Results / Discussion / Methods の section compiler を通す。
新規 scaffold ではtyped modelだけを使う。既存下流 projectのlegacy artifactは移行完了まで読み取り可能であり、1.0.0への更新だけでは削除されない。
PaperOps 2 P1-B は Research、Editorial、Results hierarchy、Manuscript、Issue、Publication の正確な六モデルを提供する。P2 は pops model の deterministic migrationとして、legacy inventory、shadow diff、strict validation、model単位のadopt、snapshot rollbackをAIなしで反復できるようにする。authorityはlegacy-authoritative、shadow-compare、v2-authoritativeをmodelごとに持ち、Editorial / Results hierarchyだけはcompanionとして同時に切り替える。
AI Agentはscientific / editorial judgment、候補の選択理由、未解決fieldを埋めるための人間との対話を担当し、定型的なfile discovery、hash、conservation、transaction、recoveryを直接操作しない。P3 compiler / WriterとP4 workflow writerの導入後もhuman-edited living TeXを維持する。legacy互換artifactは新規scaffoldから削除済みで、既存projectのproject-owned artifactだけを明示migrationと確認が終わるまで保持する。
検証phaseは schema → references → semantics → canonical semantic-v1 hash の順で、mechanism-led、boundary-led、negative-result-led の三つの合成fixtureを回帰corpusとして維持する。
よく使うコマンド
uvx --from paper-harness-cli pops version
uvx --from paper-harness-cli pops doctor
uvx --from paper-harness-cli pops update-paperops --plan
uvx --from paper-harness-cli pops update-paperops --apply
uvx --from paper-harness-cli pops links check
uvx --from paper-harness-cli pops model status all
uvx --from paper-harness-cli pops model diff research
uvx --from paper-harness-cli pops model adopt research --yes
uvx --from paper-harness-cli pops model rollback research
uvx --from paper-harness-cli pops change plan .paperops/request.yml
uvx --from paper-harness-cli pops change apply CHG-... --yes
uvx --from paper-harness-cli pops compile prepare all
uvx --from paper-harness-cli pops write start CMP-...
uvx --from paper-harness-cli pops scratch archive --label before-rewrite
uvx --from paper-harness-cli pops scratch reset --yes
下流プロジェクトでの確認:
make ci
make audit
make schema-check
make pre-submit
make figure-reference-check
make figure-obligation-check
paperops 本体の確認:
make venv
make smoke
詳細
- PaperOps 2 設計 RFC: docs/rfcs/0001-paperops-2.md
- CLI: docs/cli.md
- 配布とリリース: docs/distribution.md
- アーキテクチャ: docs/architecture.md
- Skill 一覧: docs/skill-catalog.md
- 更新方針: docs/upgrade-policy.md
- 変更ルール: docs/change-policy.md, docs/triage-rules.md
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paper_harness_cli-1.0.0.tar.gz.
File metadata
- Download URL: paper_harness_cli-1.0.0.tar.gz
- Upload date:
- Size: 748.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e4b44d0fb0e151493d9ecb668003c06ff21ce0d9c45b8d463d881f6c2ed54f
|
|
| MD5 |
1a9471fdd284fa765ba00597eafff721
|
|
| BLAKE2b-256 |
64d6973e6ac5d7da11c86b964968d40daf6951e9ec1d691360e4a994ff49dcc6
|
Provenance
The following attestation bundles were made for paper_harness_cli-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on Nkzono99/paperops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
paper_harness_cli-1.0.0.tar.gz -
Subject digest:
23e4b44d0fb0e151493d9ecb668003c06ff21ce0d9c45b8d463d881f6c2ed54f - Sigstore transparency entry: 2152298265
- Sigstore integration time:
-
Permalink:
Nkzono99/paperops@7936a596ce2eb04c7b353bb5be7c573c65f10fc4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Nkzono99
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@7936a596ce2eb04c7b353bb5be7c573c65f10fc4 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file paper_harness_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: paper_harness_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 712.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02cb1172f11773f332fbf0742b6b4e06799cc931fe068db040989f7a6ce11dba
|
|
| MD5 |
7dd492c9fd9d31c20b8c205ae4694a3c
|
|
| BLAKE2b-256 |
1e2ce47148b37e52f9ba3f1fdef9ae4d606ef12d8f55625c2a12d420b1f5d36d
|
Provenance
The following attestation bundles were made for paper_harness_cli-1.0.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on Nkzono99/paperops
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
paper_harness_cli-1.0.0-py3-none-any.whl -
Subject digest:
02cb1172f11773f332fbf0742b6b4e06799cc931fe068db040989f7a6ce11dba - Sigstore transparency entry: 2152298272
- Sigstore integration time:
-
Permalink:
Nkzono99/paperops@7936a596ce2eb04c7b353bb5be7c573c65f10fc4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Nkzono99
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@7936a596ce2eb04c7b353bb5be7c573c65f10fc4 -
Trigger Event:
workflow_dispatch
-
Statement type: