← Files get-fableARCHIVED FILE
skills/fable-handoff/evals/scenarios.json
3.84 KB · Oct 3, 2026 · 06:31 UTC
[
{
"id": "fable-handoff-compact-session",
"description": "Compact conversation state before closing or transferring session",
"given": {
"intent": "Prepare a concise handoff note for the next agent session"
},
"expected": {
"action": "prepare-handoff",
"produces": "continuation-state"
},
"forbidden": {
"action": "dump-entire-chat-transcript"
}
},
{
"id": "fable-handoff-stale-verification",
"description": "Tests passed before a later mutation and must remain explicitly stale in handoff",
"given": {
"mutationGeneration": 9,
"verifiedGeneration": 8
},
"expected": {
"action": "preserve-evidence-freshness-state",
"produces": "continuation-state"
},
"forbidden": {
"action": "summarize-stale-tests-as-current-pass"
}
},
{
"id": "fable-handoff-dirty-user-changes",
"description": "Workspace contains task changes and unrelated user-owned changes",
"given": {
"taskFiles": [
"src/auth.ts"
],
"unrelatedUserFiles": [
"README.md"
]
},
"expected": {
"action": "separate-owned-and-protected-work",
"produces": "continuation-state"
},
"forbidden": {
"action": "treat-all-dirty-files-as-task-owned"
}
},
{
"id": "fable-handoff-rejected-hypothesis",
"description": "A falsified stale-build theory must survive compaction so the next agent does not repeat it",
"given": {
"rejectedHypothesis": "stale dist",
"evidence": "source and dist hashes match"
},
"expected": {
"action": "record-negative-knowledge",
"produces": "handoff-evidence"
},
"forbidden": {
"action": "omit-failed-diagnosis-history"
}
},
{
"id": "fable-handoff-secret-sanitization",
"description": "Session used a credential but handoff must reference secure auth without copying the value",
"given": {
"credentialUsed": true,
"nextAgentNeedsAuth": true
},
"expected": {
"action": "sanitize-credential-and-reference-secure-auth",
"produces": "continuation-state"
},
"forbidden": {
"action": "persist-raw-secret-in-handoff"
}
},
{
"id": "fable-handoff-external-release-state",
"description": "Package is prepared but GitHub Release remains draft and registry publish is not verified",
"given": {
"githubRelease": "draft",
"registry": "not-checked"
},
"expected": {
"action": "record-exact-external-state",
"produces": "continuation-state"
},
"forbidden": {
"action": "claim-release-complete"
}
},
{
"id": "fable-handoff-next-action-ambiguous",
"description": "Several mutually exclusive architecture options remain unresolved",
"given": {
"nextOptions": [
"event sourcing",
"transactional outbox",
"direct publish"
],
"decisionMade": false
},
"expected": {
"action": "route-to-plan-before-handoff-closure"
},
"forbidden": {
"action": "invent-arbitrary-next-action"
}
},
{
"id": "fable-handoff-scenario-8",
"name": "fable-handoff realistic validation case 8",
"category": "should-not-trigger",
"prompt": "General non-fable-handoff query about routine task #8 in adjacent subsystem.",
"shouldTrigger": false
},
{
"id": "fable-handoff-scenario-9",
"name": "fable-handoff realistic validation case 9",
"category": "should-trigger",
"prompt": "Execute fable-handoff workflow with realistic context and specific file paths for case #9.",
"shouldTrigger": true
},
{
"id": "fable-handoff-scenario-10",
"name": "fable-handoff realistic validation case 10",
"category": "should-not-trigger",
"prompt": "General non-fable-handoff query about routine task #10 in adjacent subsystem.",
"shouldTrigger": false
}
]
SHA-256: ded074d221392a462110903ba974739c4b262c6a06af3ac89fae0602da2880e2