Merge gsta-96-completeness-wording (#3425) into gsta-96-preamble-hoist

plan-ceo-review's parity cap moves 1.0999 -> 1.1006 for the approved COMPLETENESS IS
COVERAGE bullet (Garry 2026-10-25: "do it", parity caps to measured size; applied by
GStack Minder).

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
garrytanandcapy-ai[bot] committed 2026-10-26 02:16:12 +00:00
commit c9804fc681
7 files changed
+25 -13

No files matched your search

+9 -1
View File
@@ -2,7 +2,7 @@ import { describe, expect, test } from 'bun:test';
import { readFileSync } from 'node:fs';
import { resolve } from 'node:path';
import { readWorkflowJudgeInput } from './helpers/workflow-judge-input';
import { expectMentions } from './helpers/prompt-structure';
import { expectAbsent, expectMentions } from './helpers/prompt-structure';
const root = resolve(import.meta.dir, '..');
const compact = (text: string) => text.replace(/\s+/g, ' ').trim();
@@ -93,3 +93,11 @@ for (const source of sources) describe(`CEO clarity routing — ${source.label}`
expectMentions(opening, [['do not', 'another', 'handoff']], 'opening');
});
});
describe('CEO completeness posture', () => {
test('the Philosophy bullet measures completeness in coverage, not code', () => {
const philosophy = readFileSync(resolve(root, 'plan-ceo-review/SKILL.md.tmpl'), 'utf8').split('## Philosophy')[1]!.split('## Prime Directives')[0]!;
expectMentions(philosophy, [['whole requirement', '90% shortcut', 'no code beyond', 'equal coverage', 'smaller diff']], 'philosophy');
expectAbsent(philosophy, ['COMPLETENESS IS CHEAP', '~150 LOC'], 'philosophy');
});
});
+1 -1
View File
@@ -191,7 +191,7 @@ export const CARVE_GUARDS: Record<string, CarveGuard> = {
mustContain: ['SCOPE EXPANSION', 'SELECTIVE EXPANSION', 'HOLD SCOPE', 'SCOPE REDUCTION'],
// Default-on Codex outside-voice (codexPreflight block + CODEX_MODE branch
// prose replacing the smaller opt-in question) lands this ~5.2% over baseline.
maxSizeRatio: 1.0999, // + the Aside probe's failure reason; measured 1.0803 + Oct 10 multi-agent wave PR D1 (reality rows): 0A/0B block in the skeleton, the Reality rows required output, the Completion Summary row and the checklist row; measured 165,042 / 151,747 = 1.0876 (2026-10-10). + GSTA-96 shared-preamble hoist (owner-approved raise, Garry 2026-10-25: "do it"): the union now holds sections/preamble.md, so a fresh invocation reads the pointer plus the shared file; measured 166,899 / 151,747 = 1.0999 (2026-10-25). Before: 1.088.
maxSizeRatio: 1.1006, // + the Aside probe's failure reason; measured 1.0803 + Oct 10 multi-agent wave PR D1 (reality rows): 0A/0B block in the skeleton, the Reality rows required output, the Completion Summary row and the checklist row; measured 165,042 / 151,747 = 1.0876 (2026-10-10). + GSTA-96 shared-preamble hoist (owner-approved raise, Garry 2026-10-25: "do it"): the union now holds sections/preamble.md, so a fresh invocation reads the pointer plus the shared file; measured 166,899 / 151,747 = 1.0999 (2026-10-25). + GSTA-96 completeness rewording (#3425, Garry 2026-10-25: "1/ yes fix this") merged into the hoist (#3434): the COMPLETENESS IS COVERAGE bullet replaces COMPLETENESS IS CHEAP, +106 bytes under the same "do it" (parity caps to measured size); measured 167,012 / 151,747 = 1.1006 (2026-10-26). Before: 1.088.
},
'plan-eng-review': {
skill: 'plan-eng-review',
+2
View File
@@ -14,6 +14,7 @@ import { CLAUDE_JUDGE_EVAL_MODEL } from '../lib/eval-model';
import { readOverlay } from '../scripts/resolvers/model-overlay';
import { generateCompletenessSection } from '../scripts/resolvers/preamble/generate-completeness-section';
import { generateSetupCommand } from '../scripts/resolvers/utility';
import { expectMentions } from './helpers/prompt-structure';
describe('model-overlay-fable-5', () => {
function makeCtx(model: string): TemplateContext {
@@ -121,6 +122,7 @@ describe('GPT-5.6 Sol model profile', () => {
expect(generic).toContain('make your best judgment and proceed');
expect(completeness).toContain('Complete coverage, minimal code.');
expect(completeness).toContain('prefer the smaller diff');
expectMentions(completeness, [['full coverage', 'requirement', 'error paths', 'no code beyond'], ['equal coverage', 'smaller diff'], ['no checks', 'impossible states'], ['unrelated', 'separate scope', 'never', 'gap']], 'default completeness section');
});
test('terse mode still suppresses the completeness section for Sol', () => {