Skip to content

Spec: the Scoring run, which scores a weekly sample of production work - #1138

Merged
JacobStephens2 merged 41 commits into
mainfrom
issue-978
Oct 25, 2026
Merged

JacobStephens2 merged 41 commits into
mainfrom
issue-978

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements the whole Scoring Spec, including all eight Tickets. Weekly Scoring runs sample merged factory pull requests across configured owners, grade them independently, and propose Bug origins for closed bugs.

score → seeded weekly sample → blind merge-time packets → independent five-criterion Scores
      → closed bugs → bounded history sessions → Bug-origin proposals
scores --mine → five human Scores → criterion calibration (18 of the latest 20)
bug-origins --confirm / --correct / --none → Run counts + proposed code-review Eval tasks
Console → the same Score entry and Bug-origin settlement operations
Built-with → Harness version + Model + Effort, with legacy lines still readable

Scoring keeps its Command record, Inbox and Stop behavior, resumes pending packets after plan-limit stops, excludes Security fixes, and retains private evidence locally. The first run adds 20 historical calibration pull requests and backfills closed bugs; later samples mark two pull requests for human scoring. Proposed Eval tasks require separate approval.

Closes #978

Evidence

  • Before: the reviewers' exact commands reproduced the rejected scores 23 --mine --json action and model Score disclosure from an ordinary scores read. Both new whole-binary regressions failed before their fixes.
    After: both commands pass. Human entry returns valid JSON after saving all five Scores; list/detail reads in text and JSON withhold model Scores until human Scores exist. Calibration still reads the stored assessments before filtering the public view.
  • All 35 active Scoring integration tests pass (one subprocess-only fixture is intentionally ignored), including the new regressions, rolling calibration, independent Graders, packet blinding, historical sampling and plan-limit resume.
  • The three Console scoring/origin HTTP tests and the Scores/Bug origins browser test pass, including blind entry, settlement actions, CSRF, keyboard navigation and phone layout.
  • /usr/bin/time -p scripts/affected-tests main passed: all 50 public-site browser tests and the full Rust suite (cargo test fallback; nextest unavailable). Whole selection wall time: 1513.63s (25m 14s), including 1m 24s of Rust compilation with cached dependencies. This is local execution time, not CI queue time.

Seams under test: the whole binary against fake GitHub and Harnesses, its retained private scoring folder and Command records, CLI text/JSON and terminal entry, and the Console's HTTP and browser interfaces. Built-with reader/writer coverage uses existing pull-request and factory-run tests.

Unaddressed findings

Standards

  • Possible Duplicated Code in session execution — declined; the Standards reviewer retracted the recommendation after rechecking the contracts. Scoring Grader, lines 105–153 uses adapter.session, Command-linked Recording::capture, stream-only interpretation, explicit plan-limit stopping and sandbox startup diagnosis. Private runner, lines 43–98 uses adapter.trial_session, capped scoped commands, Recording::for_trial, private stderr/scope artifacts and a deadline. Both already share sandbox and recording modules; combining their orchestration would add policy options for these different contracts. No behavior failure or documented-standard breach was claimed for this heuristic.

Spec

None. The blind-scoring finding was reproduced and fixed. A provisional historical base-reference concern was withdrawn after a read-only GraphQL check of merged PR #1139: its baseRefOid (9ab1273) still equals the merge commit's first parent, although issue-978 has advanced to d305b7e.

Security

None.

Security review outcome

No unaddressed introduced findings.

Review coverage

Independent Standards and Spec reviews read all 98 changed paths since main, then both re-read all 14 paths changed by the review fixes. No changed file remains unread on either axis. Generated prompt and manual outputs were inspected directly; no generated files were excluded. Final reports with each axis's files-read list are retained as Session evidence in .thirdshift-review-eE0h5j/standards.md and .thirdshift-review-eE0h5j/spec.md.

Merge Danger

Door: Two-way.

Code can be reverted; retained private samples, judgments and proposed Eval tasks remain on the host. Weekly scheduling and initial human calibration are Day-shift steps.

Blast Radius: Factory.

Shared changes also touch Built-with attribution, sandbox sessions, Command recording and Console navigation.

Built with codex · gpt-6.1-sol · xhigh

Tickets

The Grader runs against a sampled repository, so the sandbox clears the ambient environment, copies logins instead of bind-mounting them, and hides Cargo registry credentials.
A Bug-origin session can replace proposal.json with a symlink. Scoring read that path on the host after the sandbox exited, so the link could import a host file into the saved proposal or block on a fifo while the machine-wide Scoring lock was held. The model Grader read scores.json the same way. Both reads now accept only a regular file with one name and a bounded size.
Score production samples with independent model Graders
Combine production Grader checkpoints and carry-over with Bug-origin proposals. Preserve newer process supervision, native quota observation, Session traces and bounded session-output reads.

Retain the incoming sandbox secret isolation, explicitly publish private Grader packet paths, and scope the Scoring fake-launcher override so Experiment and Trial checks still exercise real sandboxes. Regenerate prompts and documentation and retain a combined origin/Grader resume regression.

Validation: formatting and clippy pass; all 50 site checks and all Rust test targets pass across the affected-test run and completion run. The release-resume and worker-overlap Experiment tests each passed exact reruns after intermittent failures during parallel runs.
Add your Scores and criterion calibration
# Conflicts:
#	README.md
#	docs/code-navigation.md
#	docs/guide.md
#	site/architecture/index.html
#	site/docs/index.html
#	site/how-it-works/index.html
#	site/index.html
#	src/main.rs
#	src/sandbox.rs
#	src/scoring.rs
Propose Bug origins for closed bugs during Scoring
Confirmation checked the introducing pull request, so a proposal saved
before that label still wrote a code-review Eval task. It now reads the
bug's current labels and leaves the proposal unsettled.
Settle Bug origins and propose code-review Eval tasks
Add Scores and Bug origins pages to the Console
@JacobStephens2
JacobStephens2 marked this pull request as ready for review October 25, 2026 05:33
Preserve Scoring's private-session runner and bounded output reads while adopting upstream scoped process supervision and Recording-owned Interpretation. Keep blind Scoring stream-only through an explicit recording policy, retaining native quota handling and upstream memory-cap regressions. Preserve Scoring site guidance alongside updated Trial repository preparation documentation.

Validation: cargo check --all-targets; cargo clippy --all-targets -- -D warnings; cargo fmt --check; 25 recording tests; 3 model-Grader tests; 35 active Scoring integration tests; scripts/affected-tests main (50 site checks and full Rust suite, 2059.60 seconds including cached compilation).
@JacobStephens2
JacobStephens2 merged commit 2809c8b into main Oct 25, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-978 branch October 25, 2026 06:26
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spec: the Scoring run, which scores a weekly sample of production work

1 participant