mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-06 17:04:27 +01:00
W4 T5: plan plan-ceo-review-plan-mode in the PR profile; flip deferral asserts
This commit is contained in:
1 parent
babedbe38a
commit
f33763b40a
3 files changed
+8
-5
No files matched your search
@@ -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 = '#';
|
||||
|
||||
@@ -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'],
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user