Use when you need a consumer-provided Qase project profile contract while keeping shared Qase skill behavior generic.
core_version=qase-core-v1references/<project>.qase-profile.json implementation in the consuming repo overlaycontract/qase-project-profile.contract.jsonprojectactionproject_idqase_project_codeenv_contractintake_policynaming_policygovernance_policylabel_policyapproval_policyartifact_policywork_item_policynaming_policy.authoritative_case_id_rulesRecommended naming_policy.authoritative_case_id_rules shape:
{
"reject_prefixes": ["TBD-", "TEMP-", "TEST-", "SAMPLE-"],
"reject_exact": ["UNKNOWN", "N/A", "NONE"],
"reject_contains": ["example", "sample", "demo"]
}
Recommended work_item_policy shape:
{
"source_type": "work-item",
"adapter": "consumer-defined",
"ref_precedence": ["external-ref", "title"]
}
contract/qase-project-profile.contract.jsonreferences/<project>.qase-profile.jsonqase-core-v1.$qase-project-profile project:<project-id> action:<load|validate|describe>
$qase-project-profile project:<project-id> action:validate
$qase-project-profile project:<project-id> action:describe
contract/qase-project-profile.contract.json.examples/.naming_policy.canonical_case_id_format is consumer-specific while naming_policy.authoritative_case_id_rules stays generic and reusable.