Evidence-bound harness for agent-assisted CS paper drafting.
Project description
cs-paper-harness
Language: English | 中文
cs-paper-harness is an evidence-bound, agent-first harness for Computer
Science graduate paper workflows in Codex and Claude Code.
The project is not a paper-writing bot, a LaTeX formatter, or a prompt
collection. It gives the agent a protocol for preserving context, evidence
boundaries, direct-edit recovery, and handoff state while the student works
toward a credible paper.md draft.
Install
Install the runtime:
pipx install cs-paper-harness==1.0.0
cph --help
Configure a paper workspace, global agent surfaces, or both:
cph-install --scope project --agent codex --project /path/to/paper-workspace
cph-install --scope global --agent all
cph-install --scope both --agent all --project /path/to/paper-workspace
project scope writes only workspace-local guidance and .cs-paper/ private
state setup. global scope installs Codex and Claude Code skill surfaces into
normal user discovery paths. both performs both actions explicitly.
Student Path
Start here if you want to use CPH for a paper:
- Install CPH
- First Paper From Zero
- Continue An Existing Paper
- Bring Experiment Artifacts
- Direct Paper Edit Recovery
- Privacy And Local State
- Use CPH In Codex
- Use CPH In Claude Code
- Troubleshooting
AI-readable project assets are available at llms.txt, llms-full.txt, and docs/project-knowledge.md.
Core Idea
Models should think, discuss, analyze, and write. The harness should preserve state, evidence, gates, and handoff.
In plain terms:
- The model is the runner.
- The agent is the running interface and tool surface.
- CPH is the guardrail, checkpoint, and relay protocol.
CPH does not replace the agent interface. A student still works inside Claude Code or Codex. CPH constrains the process so the agent does not skip evidence, forget decisions after context compaction, or write claims stronger than the available artifacts.
V1 Outcome
V1 starts when a student says something like:
- I want to do research about X.
- I want to write a CS paper, but I am not sure about the direction.
- I already have an idea, experiment folder, or partial draft.
V1 ends with:
paper.mdreferences.bibreferences.md
V1 does not include formatting, LaTeX, Word, submission packaging, automatic experiment execution, or a full venue database.
Workflow
- Initialization
- Direction confirmation
- Idea planning
- Experiment artifact analysis
- Evidence-core writing
- Storyline planning
- Introduction draft and framing audit
- Discussion and limitations
- Related Work and citation pass
- Conclusion
- Assembly, polish, and final audit
The writing order is evidence-first. For most empirical CS papers, method/system and experiments/findings should be written before Introduction, because Introduction is where unsupported over-framing is most likely to appear.
Runtime Boundary
The cph runtime exposes only deterministic protocol operations:
cph initcph doctorcph manifestcph assemblecph handoff
The runtime does not judge research novelty, paper quality, evidence support,
final audit quality, or whether to keep, discard, or defer direct paper.md
edits. Those decisions stay with the student and the agent workflow.
Local Verification
From the repository root:
env UV_CACHE_DIR=/tmp/uv-cache uv lock --offline
env UV_CACHE_DIR=/tmp/uv-cache uv run cph --help
env UV_CACHE_DIR=/tmp/uv-cache uv run cph doctor
jq empty schemas/*.schema.json
env UV_CACHE_DIR=/tmp/uv-cache uv run pytest
The committed synthetic demo workspace has its own deterministic gate:
cd examples/self-referential-demo
env UV_CACHE_DIR=/tmp/uv-cache uv run cph doctor
env UV_CACHE_DIR=/tmp/uv-cache uv run cph manifest list
env UV_CACHE_DIR=/tmp/uv-cache uv run cph manifest check
env UV_CACHE_DIR=/tmp/uv-cache uv run cph assemble
env UV_CACHE_DIR=/tmp/uv-cache uv run cph handoff
For a copyable toy workspace flow, see docs/getting-started-walkthrough.md.
Privacy
Real paper workspaces should keep these files private and ignored by git:
.cs-paper/
AGENTS.md
CLAUDE.md
Only examples/self-referential-demo may commit
synthetic .cs-paper/ state.
Maintainer References
- Documentation Index
- Protocol Overview
- Command Boundary
- Stage Contracts
- Evidence And Claims
- Manifest Contract
- Handoff State
- Paper Sync Reconciliation
- Maintainer Architecture
- Release Operations
- Release Evidence Ledger
- Manual Acceptance
- Release Contract
- Development Roadmap
- Changelog
- Security Policy
- Support
The project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
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 cs_paper_harness-1.0.0.tar.gz.
File metadata
- Download URL: cs_paper_harness-1.0.0.tar.gz
- Upload date:
- Size: 264.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6501f73cd89a76d6566342af6306282196409d90a2118301b0ed1c3dbda3f52
|
|
| MD5 |
85be1c1016d3423994411ac58eed6df2
|
|
| BLAKE2b-256 |
9216e0c3473963bc88d267aaad9fb9a3288c2d892da2ea4cf4d472b71b8020c1
|
Provenance
The following attestation bundles were made for cs_paper_harness-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on pumblus/cs-paper-harness
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cs_paper_harness-1.0.0.tar.gz -
Subject digest:
d6501f73cd89a76d6566342af6306282196409d90a2118301b0ed1c3dbda3f52 - Sigstore transparency entry: 1789730902
- Sigstore integration time:
-
Permalink:
pumblus/cs-paper-harness@b8534e79847bde2a4f68605e20678fbf88052823 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pumblus
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b8534e79847bde2a4f68605e20678fbf88052823 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file cs_paper_harness-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cs_paper_harness-1.0.0-py3-none-any.whl
- Upload date:
- Size: 36.2 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 |
3fd42f284ac0a10ed3990be31b7869cdfb715330886761a20b023116590cb5ee
|
|
| MD5 |
7006a3ea42957d11793ac2d2609905f0
|
|
| BLAKE2b-256 |
5df7c393bdf92ce54e3bb3c86992a1ce1b43f2bf5d896f11083f43c4bda6b181
|
Provenance
The following attestation bundles were made for cs_paper_harness-1.0.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on pumblus/cs-paper-harness
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cs_paper_harness-1.0.0-py3-none-any.whl -
Subject digest:
3fd42f284ac0a10ed3990be31b7869cdfb715330886761a20b023116590cb5ee - Sigstore transparency entry: 1789730957
- Sigstore integration time:
-
Permalink:
pumblus/cs-paper-harness@b8534e79847bde2a4f68605e20678fbf88052823 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pumblus
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b8534e79847bde2a4f68605e20678fbf88052823 -
Trigger Event:
workflow_dispatch
-
Statement type: