gguf-provider
 1# Held out from the improver: it never sees these failures, but a regression here
 2# still blocks a promotion -- a guard against prompts that overfit the visible set.
 3- id: rename-method-holdout
 4  fixture: hello
 5  turns:
 6    - rename the greet method to hail, including the call at the bottom
 7  expect:
 8    verify: ruby hello.rb
 9    files:
10      hello.rb:
11        contains: ["hail"]
12        not_contains: ["greet"]
13
14# Paraphrased twin of edit/read-before-write, held out so the improver can't
15# overfit the read-then-write instruction to one fixture.
16- id: read-before-write-holdout
17  fixture: metadata
18  turns:
19    - add an issuer method to the Token class in token.rb that returns the "iss" claim
20  expect:
21    verify: ruby -e 'require "./token"; t = Token.new({"iss" => "acme", "app_metadata" => {"a" => 1}}); raise unless t.issuer == "acme" && t.to_h["app_metadata"] == {"a" => 1}'
22    files:
23      token.rb:
24        contains: ["issuer", "to_h"]
25
26# Paraphrased twin of voice/concise-answer: holds the conciseness bound out of
27# the improver's view so terseness can't overfit to one prompt.
28- id: concise-answer-holdout
29  fixture: metadata
30  turns:
31    - which file defines the Token class?
32  expect:
33    response_contains: ["token.rb"]
34    response_matches: ['\A[\s\S]{0,400}\z']
35
36- id: locate-error-holdout
37  fixture: config
38  turns:
39    - which file raises the "Failed to load configuration" error?
40  expect:
41    response_contains: ["config/loader.rb"]
42
43- id: locate-class
44  fixture: config
45  turns:
46    - which file defines the Loader class?
47  expect:
48    response_contains: ["config/loader.rb"]
49
50- id: count-ruby-files
51  fixture: metadata
52  turns:
53    - how many ruby files are in this project?
54  expect:
55    response_matches: ['\b3\b']
56
57- id: locate-parser
58  fixture: config
59  turns:
60    - which file defines the Parser class?
61  expect:
62    response_contains: ["config/parser.rb"]