Files

74 lines
3.5 KiB
JSON

{
"schema_version": 2,
"direction": "research_to_commercial_only",
"source_repository": "732642856/yinduzhanxing",
"source_repository_url": "https://github.com/732642856/yinduzhanxing",
"target_repository": "root/Jyotisha",
"reverse_sync": "forbidden",
"modes": {
"mirror": [
{
"source": "SKILL.md",
"target": "references/upstream/yinduzhanxing/SKILL.md",
"license": "MIT"
}
],
"semantic_merge": [
"SKILL.md",
"AGENTS.md",
"references/strict-workflow-router.md",
"scripts/unified_consultation_orchestrator.py",
"scripts/report_orchestrator.py",
"scripts/jyotish_api_server.py"
],
"protected": [
"skills/jyotish-birth-time-rectification/**",
"skills/jyotish-vedic-astrology/**",
"SKILL.md",
"frontend/**",
"deploy/**",
".gitea/**",
".github/**",
"frontend/db/**",
"frontend/supabase/**",
"references/oracle/commercial_skill_truth_overlay.v1.json",
"**/.env",
"**/.env.*",
"**/*payment*",
"**/*billing*",
"**/*subscription*",
"**/*entitlement*",
"**/*admin*",
"**/*service_role*"
]
},
"privacy": {
"forbidden_extensions": [".pem", ".key", ".p12", ".pfx", ".dump", ".sql.gz", ".pdf"],
"forbidden_basenames": [".env", "cookies.txt", "id_rsa", "id_ed25519"],
"content_markers": ["-----BEGIN PRIVATE KEY-----", "SUPABASE_SERVICE_ROLE_KEY=", "VEDASTRO_API_KEY=", "OPENAI_API_KEY=", "DATABASE_URL=postgres"]
},
"notes": [
"Only explicit mirror mappings may be copied byte-for-byte.",
"Semantic-merge paths are review inputs and are never overwritten by the importer.",
"Commercial product, identity, billing, database and deployment surfaces are protected.",
"There is no commercial-to-research mode or gate in schema v2.",
"The only byte-for-byte mirror is upstream SKILL.md into references/upstream/yinduzhanxing/SKILL.md.",
"Commercial root and birth-time-rectification Skills are protected targets and may only be reviewed through separate semantic work.",
"The importer enforces the built-in minimum protected pattern set even when an alternate policy file is supplied.",
"Unbound non-Git snapshots are legacy records; new archive imports fail closed without commit and expected tree SHA-256.",
"A Git source must be a clean repository-root checkout whose origin matches source_repository; Git checkouts cannot be relabeled as archive sources.",
"Manifest generation requires a clean target repository root and is deterministic for fixed source, target base commit, policy and CLI identity inputs.",
"Manifest output must be JSON, cannot overlap the source tree, and may enter the target only through references/cross_project_contract/imports."
],
"source_modes": {
"git": "Use the exact clean repository-root HEAD commit. Explicit commit and expected tree pins, when used, must be supplied together and match.",
"archive": "Requires both an explicit 40-hex source commit and expected importer-compatible source-tree SHA-256; absence or mismatch is rejected.",
"snapshot": "Legacy manifest records only. The v2 importer does not emit new unbound snapshots."
},
"determinism": {
"tree_hash": "SHA-256 over sorted relative path, NUL, file SHA-256 bytes, NUL; .git is excluded and source symlinks are rejected.",
"generated_at": "Git source commit time for git mode; target base commit time for archive mode. Wall-clock time is forbidden.",
"json": "UTF-8, sorted keys, two-space indentation, trailing newline."
}
}