test: catalog ratchet reads committed content; SDK unit pins follow D1a default

Two follow-ups from the verification runs:

1. skill-size-budget's catalog estimate still flaked under --parallel
   (8356, then 8041, vs 4177 solo) even after filtering to tracked
   skills: sibling workers REGENERATE real SKILL.md files mid-run, so
   any live-tree read is a moving target. The ratchet now reads each
   tracked skill's frontmatter from git show HEAD: — the catalog that
   ships — which no concurrent worker can perturb.

2. agent-sdk-runner unit pins asserted the old Opus default through the
   default-flow fixtures; flipped to the Sonnet default (the explicit-
   override pass-through pins keep Opus — that path is unchanged).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-15 09:38:22 -07:00
co-authored by Claude Fable 5
parent c51bb2452c
commit 576112e7cf
3 changed files with 29 additions and 26 deletions
+5 -5
View File
@@ -45,7 +45,7 @@ function uuid(): string {
return `00000000-0000-0000-0000-${String(++uuidCounter).padStart(12, '0')}`;
}
function systemInit(model = 'claude-opus-4-7', version = '2.1.117'): SDKMessage {
function systemInit(model = 'claude-sonnet-4-6', version = '2.1.117'): SDKMessage {
return {
type: 'system',
subtype: 'init',
@@ -77,7 +77,7 @@ function assistantTurn(
id: 'msg_' + uuid(),
type: 'message',
role: 'assistant',
model: 'claude-opus-4-7',
model: 'claude-sonnet-4-6',
content: blocks.map((b) => ({ ...b })),
stop_reason: 'end_turn',
stop_sequence: null,
@@ -259,7 +259,7 @@ describe('runAgentSdkTest — happy path', () => {
expect(result.turnsUsed).toBe(2);
expect(result.costUsd).toBe(0.05);
expect(result.sdkClaudeCodeVersion).toBe('2.1.117');
expect(result.model).toBe('claude-opus-4-7');
expect(result.model).toBe('claude-sonnet-4-6');
expect(result.firstResponseMs).toBeGreaterThanOrEqual(0);
});
@@ -699,7 +699,7 @@ describe('toSkillTestResult', () => {
expect(s.output).toBe('hi');
expect(s.costEstimate.estimatedCost).toBe(0.02);
expect(s.costEstimate.turnsUsed).toBe(1);
expect(s.model).toBe('claude-opus-4-7');
expect(s.model).toBe('claude-sonnet-4-6');
expect(s.firstResponseMs).toBeNumber();
expect(s.maxInterTurnMs).toBeNumber();
expect(s.transcript).toBeArray();
@@ -715,7 +715,7 @@ describe('validateFixtures', () => {
return {
id: 'test-fixture',
overlayPath: 'model-overlays/opus-4-7.md',
model: 'claude-opus-4-7',
model: 'claude-sonnet-4-6',
trials: 10,
setupWorkspace: () => {},
userPrompt: 'go',