Files
Jyotisha/tests/test_upstream_git_import_b9a0ef8f.py
T
Jesse_ChenandCursor 04ad3325d5
Independent Staging Quality Gate / validate (push) Successful in 11m26s
Independent Staging Quality Gate / publish (push) Successful in 13m24s
fix(relationship): freeze marriage event classes and add conditional dashas (BUG-608)
Venus/Jupiter/Moon periods no longer collapse into one marriage-opportunity line. Full reading reports the ten BPHS conditional dasha families; Skill 6.9.16.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 16:04:52 +08:00

38 lines
1.8 KiB
Python

"""Git-mode import record for upstream b9a0ef8f. Does not replace the 5db72537 archive pin test."""
from __future__ import annotations
import hashlib
import json
import re
from pathlib import Path
from jsonschema import Draft202012Validator, FormatChecker
ROOT = Path(__file__).resolve().parents[1]
RECORD = ROOT / "references/cross_project_contract/imports/commit-b9a0ef8f0f0de8714982a5aa7100f5aea16c9d09.json"
SOURCE_MANIFEST = ROOT / "references/upstream/yinduzhanxing/source-manifest.json"
SKILL_SNAPSHOT = ROOT / "references/upstream/yinduzhanxing/SKILL.md"
SCHEMA = ROOT / "references/cross_project_contract/import_manifest.schema.json"
COMMIT = "b9a0ef8f0f0de8714982a5aa7100f5aea16c9d09"
def test_git_import_record_matches_mirrored_skill_and_manifest() -> None:
record = json.loads(RECORD.read_text(encoding="utf-8"))
manifest = json.loads(SOURCE_MANIFEST.read_text(encoding="utf-8"))
schema = json.loads(SCHEMA.read_text(encoding="utf-8"))
Draft202012Validator(schema, format_checker=FormatChecker()).validate(record)
assert record["source_mode"] == "git"
assert record["source_commit"] == COMMIT
assert re.fullmatch(r"[0-9a-f]{40}", record["source_commit"])
assert re.fullmatch(r"[0-9a-f]{64}", record["source_tree_hash"])
assert record["source_tree_hash"] == manifest["source_tree_sha256"]
assert record["source_skill_sha256"] == manifest["source_skill_sha256"]
snapshot_hash = hashlib.sha256(SKILL_SNAPSHOT.read_bytes()).hexdigest()
assert snapshot_hash == record["source_skill_sha256"] == record["mirror_files"][0]["target_sha256_after"]
assert record["mirror_files"][0]["status"] == "applied"
assert manifest["source_mode"] == "git"
assert manifest["source_commit"] == COMMIT
assert all(row["status"] == "review_required" for row in record["semantic_merge_files"])