Skip to content

Commit 8a226ea

Browse files
committed
Freeze paired review experiment inputs
1 parent 442147d commit 8a226ea

2 files changed

Lines changed: 31 additions & 8 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Manual real-issue assignment
2+
3+
This prerequisite exercise uses real issue [#10](https://github.com/codeabovelab/codeboost/issues/10) and merged [PR #17](https://github.com/codeabovelab/codeboost/pull/17). It is an attribution exercise, not a timed trial and not evidence for the go/no-go thresholds.
4+
5+
- Base: `5a2685cc709ca8f9f384e35e4d733012c7290d69`
6+
- Head: `442147d1bc9a33edeca1a605c9de3ada13f397f1`
7+
- Ledger setup: the squash commit was intentionally recorded as foreign so every resulting segment required an explicit manual assignment.
8+
- Plan: P1 rename-reassignment regression, P2 literal-path regression, P3 evidence record, and P4 durable review rules.
9+
10+
| Plan item | Declared file | Assigned segments | Final attribution | Final scope |
11+
|---|---|---:|---|---|
12+
| P1 | `test/review.test.ts` | 4 text | Attributed | In scope |
13+
| P2 | `test/plant.test.ts` | 4 text | Attributed | In scope |
14+
| P3 | `docs/experiments/review-summary-edge-cases.md` | 1 file + 1 text | Attributed | In scope |
15+
| P4 | `AGENTS.md` | 2 text | Attributed | In scope |
16+
17+
Codeboost exposed 12 segments before assignment, all in the Unplanned row. Each segment mapped to exactly one item through that item's declared file contract. After the assignments, the per-item segment counts were 4, 4, 2, and 2; all four rows reported `✓ Attributed` and `✓ In scope`. No segment was unclear or multiply owned, so this exercise produced no ambiguity fixture. The earlier rename and literal-path concerns already have focused fixtures in `test/review.test.ts` and `test/plant.test.ts`.
18+
19+
The assignment was rerun from a detached worktree at the exact head using a fresh SQLite review store. The stored choices, rather than a hand-written diff classification alone, produced the final attribution and scope results above.

‎docs/experiments/review-protocol.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
# Plan-indexed review: go/no-go protocol
22

3-
Status: **not started; issue pairs and human reviewer still required**. This document does not claim a passed gate. Complete the pair table and commit its exact revision before any timed review. No pair or threshold may change once the first review begins.
3+
Status: **pair selection frozen; implementations and reviews not started**. Max Hwang (`mchwang`) is the blinded reviewer and Codex is the experiment operator. This document does not claim a passed gate. Complete each row's PR and SHA fields and commit that exact revision before the first timed review. No issue, assignment, order, or threshold may change once the first review begins.
44

55
## Pair selection and order
66

77
Choose four pairs of comparable, small real issues in a repository owned by the reviewer. Match each pair on scope, language, and estimated review complexity before implementing either issue. Record issue URLs, PR URLs, base/head SHAs, and which review method each gets. Do not reuse the demo fixture as an experimental issue.
88

9-
| Pair | Real issue A / PR | Real issue B / PR | A method | B method |
9+
All eight issues are in `codeabovelab/guardyx-gstack`. A/B placement within each pair was randomized once before implementation; the method pattern remains the alternating pattern approved in the protocol.
10+
11+
| Pair | Real issue A / PR / base..head | Real issue B / PR / base..head | A method | B method |
1012
|---|---|---|---|---|
11-
| 1 | Pending selection | Pending selection | Raw GitHub diff | codeboost |
12-
| 2 | Pending selection | Pending selection | codeboost | Raw GitHub diff |
13-
| 3 | Pending selection | Pending selection | Raw GitHub diff | codeboost |
14-
| 4 | Pending selection | Pending selection | codeboost | Raw GitHub diff |
13+
| 1 — MCP discovery | [#556](https://github.com/codeabovelab/guardyx-gstack/issues/556) / PR pending / SHA pending | [#554](https://github.com/codeabovelab/guardyx-gstack/issues/554) / PR pending / SHA pending | Raw GitHub diff | codeboost |
14+
| 2 — companion documentation | [#493](https://github.com/codeabovelab/guardyx-gstack/issues/493) / PR pending / SHA pending | [#176](https://github.com/codeabovelab/guardyx-gstack/issues/176) / PR pending / SHA pending | codeboost | Raw GitHub diff |
15+
| 3 — agent-key security | [#506](https://github.com/codeabovelab/guardyx-gstack/issues/506) / PR pending / SHA pending | [#443](https://github.com/codeabovelab/guardyx-gstack/issues/443) / PR pending / SHA pending | Raw GitHub diff | codeboost |
16+
| 4 — compliance export | [#504](https://github.com/codeabovelab/guardyx-gstack/issues/504) / PR pending / SHA pending | [#503](https://github.com/codeabovelab/guardyx-gstack/issues/503) / PR pending / SHA pending | codeboost | Raw GitHub diff |
17+
18+
The pairs are matched before implementation on repository, primary implementation language, subsystem, and expected review surface. Pair 1 changes MCP discovery behavior; pair 2 changes operational/compliance documentation without runtime behavior; pair 3 changes agent-key lifecycle across the API and UI; pair 4 adds per-invocation compliance evidence across export and PDF surfaces. If implementation discovery makes a pair materially unequal or blocked, stop before the first timed review and record a new frozen protocol revision rather than silently substituting an issue.
1519

16-
The reviewer must not implement the paired changes or inspect the plants before deciding on the PR. An operator prepares plans and commits by hand, records trusted ledger ownership, and supplies both the plan and code to each review method. The earlier one-issue manual assignment also remains required: record how every change maps to the attribution table and turn unclear cases into fixtures.
20+
The reviewer must not implement the paired changes or inspect the plants before deciding on the PR. The operator must not expose plant inputs, `sealed.json`, mappings, planted locations, or unblinded implementation notes in the PR, review package, task messages, or protocol updates. An operator prepares plans and commits by hand, records trusted ledger ownership, and supplies both the plan and code to each review method. The earlier one-issue manual assignment is recorded in `manual-assignment.md`; all 12 segments were assigned and in scope, with no unclear case requiring another fixture.
1721

1822
## Planting
1923

@@ -37,4 +41,4 @@ Report declared-file catch rate for both methods without a pass threshold. Stop
3741

3842
## Current evidence
3943

40-
Engineering tests prove browser interactions, persistence, attribution, and planting mechanics. They do **not** establish human review speed or catch rates. No real issue pairs, timed decisions, or catch-rate results exist yet.
44+
Engineering tests prove browser interactions, persistence, attribution, and planting mechanics. The separate manual assignment proves that one real merged issue can be completely classified through stored review choices. Neither establishes human review speed or catch rates. Four Guardyx issue pairs are selected, but no paired implementation, timed decision, or catch-rate result exists yet.

0 commit comments

Comments
 (0)