104 lines
3.8 KiB
Python
104 lines
3.8 KiB
Python
#!/usr/bin/env python3
|
|
"""Build the public/basic vs premium/cloud skill release manifest."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import json
|
|
from typing import Any
|
|
|
|
try:
|
|
from scripts.diagnose_external_engine_adapters import build_report as external_engine_report
|
|
except ModuleNotFoundError: # pragma: no cover - direct script execution
|
|
from diagnose_external_engine_adapters import build_report as external_engine_report
|
|
|
|
|
|
REPO_URL = "https://github.com/732642856/yinduzhanxing"
|
|
|
|
|
|
def _external_boundary() -> dict[str, Any]:
|
|
diagnostics = external_engine_report()
|
|
engines = diagnostics.get("engines", {})
|
|
return {
|
|
"VedAstro": {
|
|
"status": engines.get("VedAstro", {}).get("status"),
|
|
"runtime_dependency": False,
|
|
"completion_gate": "official_raw_response required before claiming official cloud closure",
|
|
},
|
|
"PyJHora/JHora": {
|
|
"status": engines.get("PyJHora/JHora", {}).get("status"),
|
|
"runtime_dependency": False,
|
|
"license_boundary": engines.get("PyJHora/JHora", {}).get("license_boundary"),
|
|
},
|
|
"JHora desktop": {
|
|
"status": "manual_oracle_only",
|
|
"runtime_dependency": False,
|
|
"boundary": "Desktop screenshots/exports can be used as external oracle evidence; do not vendor JHora.",
|
|
},
|
|
"jyotishganit": {
|
|
"status": engines.get("jyotishganit", {}).get("status"),
|
|
"runtime_dependency": False,
|
|
"license": engines.get("jyotishganit", {}).get("license"),
|
|
},
|
|
}
|
|
|
|
|
|
def build_report() -> dict[str, Any]:
|
|
return {
|
|
"scope": "skill_release_manifest",
|
|
"schema_version": 1,
|
|
"editions": {
|
|
"basic_git": {
|
|
"distribution": "public_git_repository",
|
|
"source": REPO_URL,
|
|
"included": [
|
|
"SKILL.md",
|
|
".codex-plugin/plugin.json",
|
|
"mcp_server.py",
|
|
"scripts/",
|
|
"tests/",
|
|
"README.md",
|
|
],
|
|
"excluded": ["private local reports", "cloud-drive premium notes", "manual oracle screenshots"],
|
|
},
|
|
"premium_cloud_drive": {
|
|
"distribution": "cloud_drive_zip",
|
|
"source": "operator-built package from the same cleaned repo revision",
|
|
"included": [
|
|
"basic_git contents",
|
|
"guided user prompts",
|
|
"release checklist",
|
|
"offline install notes",
|
|
"optional .env.example templates",
|
|
],
|
|
"excluded": ["personal birth data", "private PDFs", "API keys", "JHora/PyJHora binaries"],
|
|
},
|
|
},
|
|
"privacy_boundary": {
|
|
"private_birth_data_allowed": False,
|
|
"excluded_material": [
|
|
"personal_case_reports",
|
|
"private_birth_records",
|
|
"private_pdf_exports",
|
|
"api_keys_or_env_local",
|
|
"manual_oracle_screenshots_with_identity",
|
|
],
|
|
},
|
|
"external_engine_boundary": _external_boundary(),
|
|
"acceptance_commands": [
|
|
"python3 scripts/public_release_privacy_scan.py",
|
|
"python3 scripts/user_invocation_acceptance_check.py",
|
|
"python3 scripts/diagnose_external_engine_adapters.py --json",
|
|
"python3 scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45",
|
|
],
|
|
"boundary": "This manifest defines package contents and guards; it does not build or upload a zip.",
|
|
}
|
|
|
|
|
|
def main() -> int:
|
|
print(json.dumps(build_report(), ensure_ascii=False, indent=2, sort_keys=True))
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|