{
  "ruleId": "AS-SA-001",
  "cases": [
    { "id": "cross-project-candidate-request", "trace": { "template": "cross-project" }, "expected": { "allowed": true, "code": "AS-SA-001-VALIDATED-CANDIDATE-READY", "request": true } },
    { "id": "general-method-candidate-request", "trace": { "template": "general-method" }, "expected": { "allowed": true, "code": "AS-SA-001-VALIDATED-CANDIDATE-READY", "request": true } },
    { "id": "block-local-signal", "trace": { "template": "local" }, "expected": { "allowed": false, "code": "AS-SA-001-PROJECT-SPECIFIC-BLOCKED", "request": false } },
    { "id": "block-project-signal", "trace": { "template": "project" }, "expected": { "allowed": false, "code": "AS-SA-001-PROJECT-SPECIFIC-BLOCKED", "request": false } },
    { "id": "block-cross-project-with-one-domain", "trace": { "template": "cross-project", "set": { "classification.independentDomains": ["documentation"] } }, "expected": { "allowed": false, "code": "AS-SA-001-INSUFFICIENT-GENERALIZATION", "request": false } },
    { "id": "block-general-method-with-two-domains", "trace": { "template": "general-method", "set": { "classification.independentDomains": ["documentation", "ui-copy"] } }, "expected": { "allowed": false, "code": "AS-SA-001-INSUFFICIENT-GENERALIZATION", "request": false } },
    { "id": "block-personal-memory", "trace": { "template": "cross-project", "set": { "privacy.containsPersonalMemory": true } }, "expected": { "allowed": false, "code": "AS-SA-001-PRIVATE-SOURCE-BLOCKED", "request": false } },
    { "id": "block-project-confidential-content", "trace": { "template": "cross-project", "set": { "privacy.containsProjectConfidential": true } }, "expected": { "allowed": false, "code": "AS-SA-001-PRIVATE-SOURCE-BLOCKED", "request": false } },
    { "id": "block-credential", "trace": { "template": "cross-project", "set": { "privacy.containsCredential": true } }, "expected": { "allowed": false, "code": "AS-SA-001-PRIVATE-SOURCE-BLOCKED", "request": false } },
    { "id": "block-secret-pattern-despite-clean-claim", "trace": { "template": "cross-project", "set": { "synthesis.skillMarkdown": "---\nname: reusable-check\ndescription: Validate reusable checks.\n---\napi_key=do-not-share\n" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-local-path-despite-clean-claim", "trace": { "template": "cross-project", "set": { "synthesis.skillMarkdown": "---\nname: reusable-check\ndescription: Validate reusable checks.\n---\nRead C:\\private\\project.txt\n" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-unremoved-project-identifiers", "trace": { "template": "cross-project", "set": { "synthesis.projectIdentifiersRemaining": 1 } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-invalid-supporting-files", "trace": { "template": "cross-project", "set": { "synthesis.supportingFilesJson": "not-json" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-unsafe-supporting-file-path", "trace": { "template": "cross-project", "set": { "synthesis.supportingFilesJson": "[{\"path\":\"../private.txt\",\"content\":\"hidden\"}]" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-frontmatter-name-mismatch", "trace": { "template": "cross-project", "set": { "synthesis.skillMarkdown": "---\nname: different-skill\ndescription: Validate reusable checks.\n---\nGeneral method.\n" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-automatic-public-visibility", "trace": { "template": "cross-project", "set": { "synthesis.visibility": "public" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-unverified-license", "trace": { "template": "cross-project", "set": { "synthesis.provenance.licenseVerified": false } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-unauthorized-license-change", "trace": { "template": "cross-project", "set": { "synthesis.license": "Apache-2.0" } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-unverified-platform-claim", "trace": { "template": "cross-project", "set": { "synthesis.verifiedPlatforms": [{ "platform": "linux", "suiteId": "", "evidenceLocator": "", "evidenceSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }] } }, "expected": { "allowed": false, "code": "AS-SA-001-SYNTHESIS-INVALID", "request": false } },
    { "id": "block-evaluation-payload-mismatch", "trace": { "template": "cross-project", "set": { "evaluationPayload.runId": "different" } }, "expected": { "allowed": false, "code": "AS-SA-001-EVALUATION-PAYLOAD-MISMATCH", "request": false } },
    { "id": "accept-reordered-evaluation-payload-keys", "trace": { "template": "cross-project", "set": { "evaluationPayload": { "runId": "isolated-eval-001", "cases": ["normal", "boundary", "negative-control"] } } }, "expected": { "allowed": true, "code": "AS-SA-001-VALIDATED-CANDIDATE-READY", "request": true } },
    { "id": "block-evaluation-without-negative-control", "trace": { "template": "cross-project", "removeCaseKind": "negative-control" }, "expected": { "allowed": false, "code": "AS-SA-001-EVALUATION-FAILED", "request": false } },
    { "id": "block-evaluation-forbidden-action", "trace": { "template": "cross-project", "set": { "evaluation.forbiddenActions": 1 } }, "expected": { "allowed": false, "code": "AS-SA-001-EVALUATION-FAILED", "request": false } },
    { "id": "block-orchestrator-forbidden-action", "trace": { "template": "cross-project", "set": { "forbiddenActions": ["publish-private-source"] } }, "expected": { "allowed": false, "code": "AS-SA-001-FORBIDDEN-ACTION", "request": false } },
    { "id": "block-unsafe-source-locator", "trace": { "template": "cross-project", "set": { "signal.sourceSignals": [{ "kind": "correction", "locator": "P:\\private\\project" }] } }, "expected": { "allowed": false, "code": "AS-SA-001-INVALID-TRACE", "request": false } }
  ]
}
