mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-03 01:46:55 +02:00
test: clean up the paid eval lane (B1-B4, B6, B7)
- B1: delete paid files that assert nothing or cannot pass meaningfully: skill-llm-eval-spec and skill-e2e-spec-execute (test.todo), gemini-e2e (+ gemini-session-runner; no gemini CLI in CI), ship-idempotency (red since v1.63), the two opus-4-7 *-sonnet overlay wrappers, conductor-prose (+ its source-evaluation replay), codex-e2e-plan-format; drop their keys, scripts and census rows. - B2: skill-llm-eval grades browse/sections/command-list.md with one union judge that also carries the baseline score pin; regression-vs-baseline deleted (paid run: pass, c4/c4/a4). - B3: memory-pipeline, ios-qa, ios-qa-swift-build and plan-tune-cathedral make no model calls; renamed out of the paid glob so they run on every PR. Swift builds need GSTACK_TEST_SWIFT=1; device stub deleted. - B4: codex-e2e*, outside-voice, aside and ios-device cannot run in the CI image; excluded from the weekly lane with a tracked re-entry condition. - B6: fold opus-47's negative routing controls into skill-routing-e2e journey-negatives (paid run: 3/3 unrouted) and delete the file. - B7: delete the never-green brain-privacy-gate eval; a free gstack-skill-start test now proves consent precedes artifacts egress.
This commit is contained in:
1 parent
5d032ef299
commit
53e7f3212f
58 files changed
+273
-2594
No files matched your search
-24
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"publicDecisionTail": "D1—ReducethepricingtiertoStripe-nativepieces,orbuildallfourcomponents?\r\rReplywithaletter(Conductorsession,sothisbriefisinprose).Project/branch:gstackedinburgh-v1,reviewingan\rexternal pricing-tier plan.\r\rELI10:Youwantmoredeveloperstosignup,soyou'readdingacheaperplan.Thedraftbuildsfournewthingstodo\rit: a Stripe price, a custm pricing web age,r own atabse tbletht remmbers who paid fowhat, ad a fast\rn-memory copy of tht table. Strpealready ships the table (Entitlements)and th page (rcing table). Every exra\rcopy of \"wh is allowed to dowhat\" is another place that can disagre withStripe when a card fails or awebhook\rarriveslate. The stakes: a developer who paidand sees \"upgrae required,\"or ono cnelled andkeeps access.\r\rStakesifwepickwrong:threesourcesoftruthforentitlementswithnoinvalidationdesignmeanssilentaccessbugs\rtht onlyshow upas angry support tickets.\r\rRecommendation:Abecauseitkeepseveryuser-visibleoutcomeofthedraftwhiledeletingthetwocomponentsmost\rlikely to causeentitlemnt drift,and it fits \"engineered enough\" an \"smallestiff that cleanly exressethe\rchange.\"\r\rCompleteness:A=9/10,B=7/10.Cisahold,notabuildoption,sonoscore.\r\rA)Stripe-nativeslimbuild(recommended).Completeness9/10.Human:~1week/CC:~1to2hours.AddoneStripePrice\rplus a Fature-to-Product mapping, mirror active_entitlement_sumryinto a singleexisting cstomer table hrough an\ridempotent webhok, gate fetures off that olumn, ship the pricing surfacebehinda feature flag (Stripe pricin\u001b[?25h",
|
||||
"actualFlags": {
|
||||
"proseAUQEverObserved": false,
|
||||
"waitingEverObserved": true,
|
||||
"scopeGateAutoSelectObserved": true
|
||||
},
|
||||
"owner": {
|
||||
"sessionId": "4e820ffc-b6dd-47d7-b074-5c4b0a3cbb68",
|
||||
"commandStartedAt": 1789041170391,
|
||||
"nativePolledAt": 1789041383968,
|
||||
"captureAt": "2026-09-10T11:56:33.483Z"
|
||||
},
|
||||
"provenance": {
|
||||
"observation": ".context/ship-source-ao-delta-paid-20260910-v1/conductor-first-failure-ledger-v1/observation.json",
|
||||
"observationSha256": "da8c8a342f44ae06bfdd092f1bdb6a395765553d65ac99eecaaa35dedb34545d",
|
||||
"visible": ".context/ship-source-ao-delta-paid-20260910-v1/conductor-first-failure-ledger-v1/terminal.visible.log",
|
||||
"visibleSha256": "2a2fca3e8d1b51694d76a3dbcfac524626f856e4ebf38f4bd093346edb64bf82",
|
||||
"startCharacterOffset": 78469,
|
||||
"publicTailSha256": "e551890b1d839cee7d7dce05120b8dc05a54f27fe8f69617aa99384c49316604",
|
||||
"limit": "Exact public partial D1 tail; no completed native prose message retained. A later second option in tests is synthetic.",
|
||||
"offsetUnit": "Unicode code points in decoded retained bytes, without newline normalization"
|
||||
}
|
||||
}
|
||||
Vendored
-2
@@ -1,6 +1,4 @@
|
||||
{
|
||||
"command_reference": { "clarity": 4, "completeness": 3, "actionability": 4 },
|
||||
"snapshot_flags": { "clarity": 4, "completeness": 4, "actionability": 4 },
|
||||
"browse_skill": { "clarity": 4, "completeness": 4, "actionability": 4 },
|
||||
"qa_workflow": { "clarity": 4, "completeness": 4, "actionability": 4 },
|
||||
"qa_health_rubric": { "clarity": 4, "completeness": 3, "actionability": 4 }
|
||||
|
||||
Vendored
-44
@@ -305,50 +305,6 @@ export const OVERLAY_FIXTURES: OverlayFixture[] = [
|
||||
pass: lowerIsBetter20Pct,
|
||||
},
|
||||
|
||||
{
|
||||
id: 'opus-4-7-effort-match-trivial-sonnet',
|
||||
overlayPath: 'model-overlays/opus-4-7.md',
|
||||
model: 'claude-sonnet-4-6',
|
||||
trials: 10,
|
||||
concurrency: 3,
|
||||
direction: 'lower_is_better',
|
||||
maxTurns: 8,
|
||||
setupWorkspace: (dir) => {
|
||||
fs.writeFileSync(
|
||||
path.join(dir, 'config.json'),
|
||||
'{"name": "demo", "version": "1.0.0"}\n',
|
||||
);
|
||||
},
|
||||
userPrompt: "What's the version in config.json? Return only a JSON object with the version key and its exact string value. " +
|
||||
"The final message is consumed directly by JSON.parse: return the exact JSON object, with no Markdown fences and no other prose.",
|
||||
metric: reportedThinkingTokens,
|
||||
metricName: 'reported_thinking_tokens',
|
||||
verify: (r) => assertFinalJson(r, { version: '1.0.0' }),
|
||||
comparison: { direction: 'lower_is_better', minimum: 0 },
|
||||
pass: lowerIsBetter20Pct,
|
||||
},
|
||||
|
||||
{
|
||||
id: 'opus-4-7-literal-interpretation-sonnet',
|
||||
overlayPath: 'model-overlays/opus-4-7.md',
|
||||
model: 'claude-sonnet-4-6',
|
||||
trials: 10,
|
||||
concurrency: 3,
|
||||
direction: 'higher_is_better',
|
||||
allowedTools: ['Read', 'Glob', 'Grep', 'Bash', 'Edit', 'Write'],
|
||||
maxTurns: 15,
|
||||
setupWorkspace: setupLiteralWorkspace,
|
||||
userPrompt: 'Fix the failing tests. Preserve the specified behavior and repair the implementation.',
|
||||
metric: (_r, dir, deadlineAt) => {
|
||||
if (!dir) throw new Error('literal fixture metric needs its workspace');
|
||||
return correctLiteralTargets(dir, deadlineAt);
|
||||
},
|
||||
metricName: 'correct_target_behaviors',
|
||||
taskCorrect: (metric) => metric === 3,
|
||||
allowedChanges: ['src/auth.ts', 'src/billing.ts', 'src/notifications.ts'],
|
||||
comparison: { direction: 'higher_is_better', minimum: 0, maximum: 3 },
|
||||
pass: higherIsBetter20Pct,
|
||||
},
|
||||
];
|
||||
|
||||
// Validate at module load so a broken fixture fails fast at test startup,
|
||||
|
||||
Reference in new issue
Block a user