31ce04c655
Merge the beta-ready Yao Meta Skill architecture, report, evidence gate, and release-boundary updates.\n\nRelease boundary: beta/public testing is allowed; formal world-class, fully reviewed, or superiority claims remain blocked until the pending evidence gates are accepted.
108 lines
3.3 KiB
Python
108 lines
3.3 KiB
Python
"""Platform contract definitions for cross-platform skill packages."""
|
|
|
|
|
|
SCRIPT_INTERFACE = "internal-module"
|
|
SCRIPT_INTERFACE_REASON = "Imported by cross_packager.py to keep platform contract data separate from packaging flow."
|
|
|
|
|
|
COMMON_REQUIRED_FIELDS = [
|
|
"name",
|
|
"description",
|
|
"version",
|
|
"display_name",
|
|
"short_description",
|
|
"default_prompt",
|
|
"job_to_be_done",
|
|
"ir_source",
|
|
"ir_schema_version",
|
|
"semantic_contract",
|
|
"semantic_parity",
|
|
"canonical_metadata",
|
|
"canonical_format",
|
|
"activation_mode",
|
|
"execution_context",
|
|
"shell",
|
|
"trust_level",
|
|
"remote_inline_execution",
|
|
"degradation_strategy",
|
|
"portability_profile",
|
|
"permission_contract",
|
|
"target_permission_contract",
|
|
"target_native_contract",
|
|
]
|
|
|
|
STANDARD_FIELD_MAPPING = {
|
|
"display_name": "adapter.display_name",
|
|
"short_description": "adapter.short_description",
|
|
"default_prompt": "adapter.default_prompt",
|
|
"execution_context": "compatibility.execution.context",
|
|
"shell": "compatibility.execution.shell",
|
|
}
|
|
|
|
|
|
def interface_field_mapping() -> dict[str, str]:
|
|
return {
|
|
"display_name": "interface.display_name",
|
|
"short_description": "interface.short_description",
|
|
"default_prompt": "interface.default_prompt",
|
|
"execution_context": "compatibility.execution.context",
|
|
"shell": "compatibility.execution.shell",
|
|
}
|
|
|
|
|
|
PLATFORM_CONTRACTS = {
|
|
"openai": {
|
|
"required_fields": list(COMMON_REQUIRED_FIELDS),
|
|
"required_files": ["targets/openai/adapter.json", "targets/openai/agents/openai.yaml"],
|
|
"field_mapping": interface_field_mapping(),
|
|
},
|
|
"claude": {
|
|
"required_fields": list(COMMON_REQUIRED_FIELDS),
|
|
"required_files": ["targets/claude/adapter.json", "targets/claude/README.md"],
|
|
"field_mapping": dict(STANDARD_FIELD_MAPPING),
|
|
},
|
|
"generic": {
|
|
"required_fields": list(COMMON_REQUIRED_FIELDS),
|
|
"required_files": ["targets/generic/adapter.json"],
|
|
"field_mapping": dict(STANDARD_FIELD_MAPPING),
|
|
},
|
|
"vscode": {
|
|
"required_fields": [
|
|
"name",
|
|
"description",
|
|
"version",
|
|
"display_name",
|
|
"short_description",
|
|
"default_prompt",
|
|
"job_to_be_done",
|
|
"ir_source",
|
|
"ir_schema_version",
|
|
"semantic_contract",
|
|
"semantic_parity",
|
|
"compiler",
|
|
"compiled_contract",
|
|
"permission_contract",
|
|
"target_permission_contract",
|
|
"target_native_contract",
|
|
"target_transform",
|
|
"canonical_metadata",
|
|
"canonical_format",
|
|
"activation_mode",
|
|
"execution_context",
|
|
"shell",
|
|
"trust_level",
|
|
"remote_inline_execution",
|
|
"degradation_strategy",
|
|
"portability_profile",
|
|
],
|
|
"required_files": ["targets/vscode/adapter.json", "targets/vscode/README.md"],
|
|
"field_mapping": {
|
|
"name": "SKILL.md::frontmatter.name and folder name",
|
|
"description": "SKILL.md::frontmatter.description",
|
|
"display_name": "agents/interface.yaml::interface.display_name",
|
|
"execution_context": "compatibility.execution.context",
|
|
"permissions": "adapter.target_permission_contract",
|
|
},
|
|
},
|
|
}
|