Skip to content

Count only actionable code review findings - #2129

Merged
JacobStephens2 merged 5 commits into
mainfrom
issue-2051
Nov 12, 2026
Merged

JacobStephens2 merged 5 commits into
mainfrom
issue-2051

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Summary

- Count review observations, including notes accepted as-is or declined.
+ List and count only actionable findings requiring a change or human follow-up.
+ Record 0 for an axis with no actionable findings.

Define the same contract in the Session prompt and embedded Factory skill, regenerate the published prompts, and align the manual and hand-written process page. Findings later fixed still count. The JSON schema and retained historical metrics stay unchanged.

Closes #2051

Evidence

Execution evidence

Confirmed cause: the shared report prompt omitted an actionable-only definition, while the Factory skill allowed an unqualified finding count and explicitly included declined findings.

  • Before: cargo test --bin thirdshift prompt::tests::review_reports_count_only_actionable_findings failed: missing "number of actionable findings".
    After: the same command passed (1 test).
  • Before: cargo test --bin thirdshift skills::tests::code_review_reports_count_only_actionable_findings failed: missing "Report only actionable findings that warrant a change or human follow-up" in Factory skill.
    After: the same command passed (1 test).
  • Before: node --test site/tests/review-counts.test.cjs failed: docs/guide.md: stale count contract.
    After: the same command passed (1 test). The Spec reviewer's exact Python assertion also failed for all three published documentation paths before the fix and passed afterward.
  • UPDATE_PROMPTS=1 cargo test prompts_page and cargo test prompts_page: passed (14 prompt-page tests each).
  • npm run docs --prefix site and npm run docs:check --prefix site: passed.
  • scripts/affected-tests refs/remotes/origin/main: site checks passed (50.70s); its Rust run passed the unit tests and earlier integration targets, then caught the stale exact-prompt expectation in fresh_run (528.31s). Updated that expected text; cargo test --test fresh_run passed (26 tests, 2 ignored). Continuing the 77 integration targets that the first run did not reach; completed targets use identical production sources. The continuation passed all 77 remaining targets (1039.94s, warm build cache). Together with the corrected fresh-run file, all integration targets and the unit suite are covered successfully; no equivalent full-suite repeat was needed.

The first scripts/affected-tests main attempt selected changes from 49 commits already present on the fetched base, because local main was stale. Its extra Console suite failed at working-targets.test.cjs:83 (1440px remote review-explicit: visible PR target, false !== true); a direct node --test console/tests/working-targets.test.cjs rerun failed identically. No Console source or test is changed by this PR. The final affected selection uses the fetched PR base, refs/remotes/origin/main.

Test seams: emitted Session prompts, the Factory skill linked into a worktree, and the published review-count documentation. These deterministic checks guard the instruction contract; they do not measure a model's compliance rate.

Visual evidence

Prompts count contract, 1440×900

Before

After

Prompts count contract, 390×844

Before

After

Manual count contract, 1440×900

Before

After

Manual count contract, 390×844

Before

After

How it works count contract, 1440×900

Before

After

How it works count contract, 390×844

Before

After

Review coverage

Standards: 0 findings. Spec: 1 finding, fixed in 98127183; none remain. Both reviewers read the 20 files present at 98127183, including generated files. Their one follow-up was already complete when validation exposed the stale exact-prompt expectation. The later tests/fresh_run.rs expectation update is unread by both review axes and is disclosed here; it passed its full integration-test file. No generated-output exclusions were used.

Unaddressed findings

Standards

None.

Spec

None. The published-documentation finding was reproduced and fixed, with its regression retained.

Security

None.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Revert the instruction and documentation changes to restore the previous behavior.

Blast Radius: reviews

Future review Session prompts and documentation only; no Rust count schema change or rewrite of historical summaries.

Built with codex codex-cli 0.167.2 · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 marked this pull request as ready for review November 12, 2026 17:15
@JacobStephens2
JacobStephens2 merged commit e295505 into main Nov 12, 2026
24 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-2051 branch November 12, 2026 17:43
@JacobStephens2 JacobStephens2 mentioned this pull request Nov 13, 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.

Code review summary.json counts declined or accepted observations as findings

1 participant