mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-31 14:06:50 +01:00
* revert(review): restore pre-#3621 reviewer briefs (GSTA-167 no-loss round 3) Reverts the reviewer-packet parts of5358a3b3(#3621, v1.91.326.0) andce3a093a(#3636, v1.91.330.0). No-loss round 3 (handoffs/GSTA-167/noloss3-results.md) found the packet reviewers caught 10 of the 19 blockers thedcd62c3reviewers find. Every non-stamp file is back to dcd62c389d73's bytes; the later main commits959c8a6,9184ffdandde53aeftouch none of these files and are kept. Stamp files (VERSION, package.json, agents-digest) stay at main; CHANGELOG gains an [Unreleased] entry. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test: keep the reverted reviewer-packet files gone and unreferenced (GSTA-167) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * docs(changelog): name the reviewer-packet guard test Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: pre-landing review fixes Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * chore: stamp 1.91.331.0 Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
26 lines
1.8 KiB
TypeScript
26 lines
1.8 KiB
TypeScript
/**
|
|
* Fix-check prompt (docs/review-policy.md#transitions): the one reviewer /ship dispatches after a
|
|
* step whose fixes do not earn a full pass. It reads the fixes, never the whole diff. The parent
|
|
* writes every input in literally: a reviewer never sees the parent's shell.
|
|
*/
|
|
export interface FixCheckInput { fixList: string; touchedHunks: string; callers: string; testResults: string }
|
|
|
|
export const FIX_CHECK_INSTRUCTIONS = `You are the fix-check reviewer for a pre-landing review. An earlier review pass found
|
|
findings and the author fixed them. You check only those fixes: the fix list, the hunks the fixes
|
|
touched, the callers of every symbol the fixes changed, and the test results after the fixes.
|
|
|
|
Find any defect a fix introduced or left in place: a caller the change breaks, a guard that now
|
|
fails open (accepts what it refused) or fails closed (refuses what it accepted), a regression of
|
|
behaviour the code had before the fix, an error or unreadable state now read as success, a test
|
|
made weaker. Name the input or call site that reaches each defect.
|
|
|
|
Rate each finding against the blocking floor: CRITICAL only when it would fail a test, break
|
|
production, or lose data or secrets; everything else is INFORMATIONAL. Output one JSON object per
|
|
line, {"severity":"CRITICAL|INFORMATIONAL","path":"<file>","line":<n>,"summary":"<what breaks, for which input>"},
|
|
or the two words NO FINDINGS when the fixes are sound.`;
|
|
|
|
export function renderFixCheckPrompt(i: FixCheckInput): string {
|
|
return [FIX_CHECK_INSTRUCTIONS, '', '## Fix list', i.fixList.trim(), '', '## Touched hunks', '```diff', i.touchedHunks.trim(), '```', '',
|
|
'## Callers of changed symbols', i.callers.trim() || '(none found)', '', '## Test results after the fixes', i.testResults.trim()].join('\n') + '\n';
|
|
}
|