Fix(workflow): normalize SDK init phase flags (#3389)

* fix: normalize sdk init phase flags

* chore: add changeset for sdk init phase flags

* test: cover sdk phase equals flag variants
This commit is contained in:
Tom Boucher
2026-05-11 15:27:32 -04:00
committed by GitHub
parent cc00c60d9a
commit 543a8569e4
3 changed files with 82 additions and 4 deletions

View File

@@ -325,6 +325,20 @@ describe('initExecutePhase', () => {
expect(data.milestone_version).toBeDefined();
});
it('accepts --phase flag form for existing phase (#3387)', async () => {
const result = await initExecutePhase(['--phase', '9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('accepts --phase=value flag form for existing phase (#3387)', async () => {
const result = await initExecutePhase(['--phase=9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('returns error when phase arg missing', async () => {
const result = await initExecutePhase([], tmpDir);
const data = result.data as Record<string, unknown>;
@@ -360,6 +374,20 @@ describe('initPlanPhase', () => {
expect(data.project_root).toBe(tmpDir);
});
it('accepts --phase flag form for existing phase (#3387)', async () => {
const result = await initPlanPhase(['--phase', '9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('accepts --phase=value flag form for existing phase (#3387)', async () => {
const result = await initPlanPhase(['--phase=9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('returns error when phase arg missing', async () => {
const result = await initPlanPhase([], tmpDir);
const data = result.data as Record<string, unknown>;
@@ -448,6 +476,20 @@ describe('initVerifyWork', () => {
expect(data.project_root).toBe(tmpDir);
});
it('accepts --phase flag form for existing phase (#3387)', async () => {
const result = await initVerifyWork(['--phase', '9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('accepts --phase=value flag form for existing phase (#3387)', async () => {
const result = await initVerifyWork(['--phase=9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('resolves workstream-scoped phases when workstream is provided', async () => {
const wsDir = join(tmpDir, '.planning', 'workstreams', 'delivery');
await mkdir(join(wsDir, 'phases', '32-shipment-creation-tracking-numbers-print-forms'), { recursive: true });
@@ -490,6 +532,20 @@ describe('initPhaseOp', () => {
expect(data.plan_count).toBeGreaterThanOrEqual(1);
expect(data.project_root).toBe(tmpDir);
});
it('accepts --phase flag form for existing phase (#3387)', async () => {
const result = await initPhaseOp(['--phase', '9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
it('accepts --phase=value flag form for existing phase (#3387)', async () => {
const result = await initPhaseOp(['--phase=9'], tmpDir);
const data = result.data as Record<string, unknown>;
expect(data.phase_found).toBe(true);
expect(data.phase_number).toBe('09');
});
});
describe('initTodos', () => {