Author review for approval-gated research protocols
Owner and intended author: Arhan Canli
Current state: two hash-bound blank packets; zero author protocol approvals
Why this exists
The merger-announcement and Treasury-auction redesigns have passed their no-return structural tests, but software cannot decide that Arhan understands or approves them. A chat reply also should not silently authorize the next research stage without binding the exact protocol and evidence versions being reviewed.
Each tracked packet therefore freezes the protocol SHA-256, evidence-file SHA-256, evidence content hash, six author questions, six technical checks, the exact approval decision, and the narrow next stage it would authorize. Every answer and judgment remains blank. The packets are preparation, not approval.
Current packets
merger-announcement-identity-v2binds the disjoint no-return confirmation design. Its governed approval would authorize only acquisition and freezing of the 2006–2015 SEC confirmation corpus.treasury-auction-state-machinebinds the no-return schedule state machine. Its governed approval would authorize only writing a separate return preregistration.
Neither decision authorizes a return run, sleeve admission, external submission, independent-review claim, or performance claim.
Workflow
Prepare a private response outside the tracked publication tree:
uv run python scripts/verify_author_protocol_approval.py prepare \
--review-key merger-announcement-identity-v2 \
--output var/author_reviews/merger-announcement-identity-v2.json
or:
uv run python scripts/verify_author_protocol_approval.py prepare \
--review-key treasury-auction-state-machine \
--output var/author_reviews/treasury-auction-state-machine.json
Arhan must personally complete every answer, confirm every technical check with evidence, disclose
all AI assistance, review every retained claim, record corrections, and bind the decision to the
current protocol and evidence hashes. He must also change the response status to
AUTHOR_COMPLETED_RESPONSE. Automation may explain a prompt but may not write, paraphrase, or
approve Arhan's response.
Verify a completed response without writing a tracked receipt:
uv run python scripts/verify_author_protocol_approval.py verify \
--input var/author_reviews/merger-announcement-identity-v2.json
Only after Arhan explicitly authorizes importing the verified result may an unused output path be provided. The verifier refuses to overwrite an existing receipt.
uv run python scripts/verify_author_protocol_approval.py verify \
--input var/author_reviews/merger-announcement-identity-v2.json \
--output artifacts/governance/author_protocol_approvals/merger-announcement-identity-v2-v1.json
Fail-closed rules
Verification fails when a bound file changes, a question or technical check is absent, evidence is missing, the AI-assistance declaration is incomplete, the decision differs from the registry, any blocking issue remains, or the approved hashes do not match the current files.
A passing receipt is still self-attestation. It does not independently prove who typed the answers, does not count as external review, and does not establish alpha, Sharpe, drawdown, diversification, or sleeve admission.