W4 T5: plan plan-ceo-review-plan-mode in the PR profile; flip deferral asserts

This commit is contained in:
garrytan committed 2026-10-03 20:33:04 +00:00
1 parent babedbe38a
commit f33763b40a
3 files changed
+8 -5

No files matched your search

+1
View File
@@ -81,6 +81,7 @@ export const CASE_TEST_NAMES: Record<string, string> = {
'plan-review-report': '/plan-eng-review writes GSTACK REVIEW REPORT to plan file',
'auq-format-gate': "/plan-ceo-review's first AskUserQuestion is a compliant decision brief (7/7 + substance)",
'autoplan-dual-voice': 'both Claude + Codex voices produce output in Phase 1 (within timeout)',
'plan-ceo-review-plan-mode': 'first terminal outcome is asked (Step 0 fires before any plan write)',
};
export const CASE_KEY_SEPARATOR = '#';
+2 -1
View File
@@ -26,12 +26,13 @@ export const PR_PROFILE_CASE_IDS = [
'gstack-upgrade-happy-path',
'investigate-owned-completion', 'investigate-owned-abort', 'investigate-owned-ending-error',
'ship-coverage-value', 'review-test-value', 'test-audit-report-only',
'office-hours-auto-mode',
'office-hours-auto-mode', 'plan-ceo-review-plan-mode',
] as const;
/** Audited ownership: unknown/direct-describe files remain broad coverage. */
export const PR_PROFILE_FILES: Record<string, readonly string[]> = {
'test/skill-e2e-office-hours-auto-mode.test.ts': ['office-hours-auto-mode'],
'test/skill-e2e-plan-ceo-plan-mode.test.ts': ['plan-ceo-review-plan-mode'],
'test/skill-e2e-investigate-owned-completion.test.ts': ['investigate-owned-completion'],
'test/skill-e2e-investigate-owned-termination.test.ts': ['investigate-owned-abort', 'investigate-owned-ending-error'],
'test/skill-e2e-hermetic-canary.test.ts': ['hermetic-canary', 'hermetic-sentinel'],
+5 -4
View File
@@ -18,7 +18,7 @@ import { resolveModuleSelection } from './helpers/e2e-helpers';
const ROOT = path.resolve(import.meta.dir, '..');
const CEO_FILES = [
'test/skill-e2e-plan.test.ts', 'test/skill-e2e-ask-user-question-format-compliance.test.ts',
'test/skill-e2e-retro.test.ts', 'test/skill-llm-eval.test.ts',
'test/skill-e2e-retro.test.ts', 'test/skill-llm-eval.test.ts', 'test/skill-e2e-plan-ceo-plan-mode.test.ts',
];
const ceoManifest = () => buildRunManifest({ tier: 'gate', profile: 'pr', sliceCount: 1,
evalsAll: false, env: {}, changedFiles: ['plan-ceo-review/SKILL.md.tmpl'], discovered: CEO_FILES });
@@ -64,15 +64,16 @@ describe('PR profile paid-runner integration', () => {
}
});
test('planner binds E2E and judge IDs and explicitly defers direct-describe broad probes', () => {
test('planner binds E2E and judge IDs and plans the CEO plan-mode probe in the PR lane', () => {
const manifest = ceoManifest();
expect(manifest.profile).toBe('pr');
expect(manifest.selection?.e2e).toContain('auq-format-gate');
expect(manifest.selection?.e2e).not.toContain('plan-ceo-review-plan-mode');
expect(manifest.selection?.e2e).toContain('plan-ceo-review-plan-mode');
expect(manifest.selection?.judges).toContain('plan-ceo-review/SKILL.md modes');
expect(manifest.entries.find(entry => entry.file.includes('skill-e2e-retro'))?.status).toBe('skipped-by-diff');
expect(manifest.entries.find(entry => entry.file.includes('ask-user-question'))?.status).toBe('planned');
expect(manifest.prCoverage?.deferred.some(item => item.id === 'plan-ceo-review-plan-mode')).toBe(true);
expect(manifest.prCoverage?.deferred.some(item => item.id === 'plan-ceo-review-plan-mode')).toBe(false);
expect(manifest.entries.find(entry => entry.file === 'test/skill-e2e-plan-ceo-plan-mode.test.ts')?.status).toBe('planned');
expect(parseRunManifest(JSON.stringify(manifest))).toEqual(manifest);
const env = paidSelectionEnv('pr', manifest.selection!, manifest.selectionReason);
expect(JSON.parse(env.EVALS_SELECTION_JSON!).selected).toEqual(manifest.selection!.e2e);