172 lines
11 KiB
Python
172 lines
11 KiB
Python
"""Current source Prompt identities for the multi-scene release baseline.
|
|
|
|
This catalog describes code-owned source bytes. It is deliberately separate
|
|
from tenant Prompt rows: resolving an identity here never means that the row is
|
|
published, enabled, evaluated by a real model, or approved for release.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from copy import deepcopy
|
|
|
|
from .contract_drafting import draft_digest
|
|
from .review_routing import REVIEW_MODULE_KEYS, SCENE_REVIEW_ROUTES
|
|
|
|
|
|
BASELINE_SCHEMA_VERSION = "prompt-source-baseline.v1"
|
|
BASELINE_VERSION = "rc05-current-source-20261007"
|
|
|
|
DRAFTING_MODULES = (
|
|
{"key": "draft_intake", "version": "tp06-22-20260909-1", "content_sha256": "64519f6e5e95d9f1408e8b3db4feb818dec7cb0386de7983f591947f1cb53983"},
|
|
{"key": "template_match", "version": "tp05-20260828-1", "content_sha256": "68a7e57f142da85e4e1878f018f34e95a778b72995f1452a4e5778b753e0e560"},
|
|
{"key": "missing_facts_questions", "version": "tp06-18-20260909-1", "content_sha256": "5643ab97bf661d546a99a3e609db390d574cb0e2940a6ace984e2a08e4ab83aa"},
|
|
{"key": "clause_assembly_plan", "version": "tp06-22-20260909-1", "content_sha256": "eddb6c1685b33031d1f781220bbcc631e756f6ed8b8b30a706fc9af482a8c827"},
|
|
{"key": "draft_consistency_check", "version": "tp06-20260830-2", "content_sha256": "005e2308d6d041968a9c1c5f2bbc20afa91feadea9f0ad0bdb48d8ed97fb5b52"},
|
|
{"key": "candidate_revision_explanation", "version": "tp06-23-20260909-1", "content_sha256": "a204d4be6de9fde497a7b4fd0dbad81758a6981220480eb46a82753b53c79f3a"},
|
|
)
|
|
|
|
REVIEW_MODULES = (
|
|
{"key": "contract_review_trade_procurement", "version": "tp05-2-20260828-1", "content_sha256": "412b23ab4860866c05281e721d0c77090ffa302d1ecfe049ab5da627b2f92d6a"},
|
|
{"key": "contract_review_services", "version": "tp05-2-20260828-1", "content_sha256": "a1472d3819dd19993872ff8b9d5e1206ba0c8a60a4a31a07fbe5c3957a73dc5e"},
|
|
{"key": "contract_review_transport_warehousing", "version": "tp05-2-20260828-1", "content_sha256": "96d74ec8b5ac8239d63fba0bb46ea59afa25774d6f04620f89d321b6d5acf91a"},
|
|
{"key": "contract_review_manufacturing", "version": "tp05-2-20260828-1", "content_sha256": "dc45ec97b7a924dd9b0b59da8b142399e390f2d69ffc20dce248a2f56576b5cb"},
|
|
{"key": "contract_review_construction", "version": "tp05-2-20260828-1", "content_sha256": "c4772d3bcc4de00d0d932cda5c55e4a22478838fb20c1e6cf846ed0963ec9eba"},
|
|
{"key": "contract_review_marketing", "version": "tp05-2-20260828-1", "content_sha256": "0bffc870ff1f60f0f0d4efbff34771e62481b3a38e65fecabd4e69f80f6c8ed6"},
|
|
{"key": "contract_review_consumer_services", "version": "tp05-2-20260828-1", "content_sha256": "687976935fd5bf237deb3da1a5e6ba05226226ce54fec5079641088efd9692c1"},
|
|
{"key": "contract_review_notices_amendments", "version": "tp05-2-20260828-1", "content_sha256": "c919316f36cc36c84b0e559a5b80587ae141d84074f7daa403e0eb1173fd0bf5"},
|
|
)
|
|
|
|
DRAFT_RUNTIME_IDENTITY = {
|
|
"name": "contract_drafting_v1",
|
|
"version": "tp06-23-20260909-1",
|
|
"content_sha256": "ab823d6efcf6cdb9cbc7741620bca7cb09f4c462b3a33295308d8cd7b0b82255",
|
|
"source_kind": "composed_drafting_modules",
|
|
}
|
|
|
|
# The eight newly authored review modules resolve to composed Prompt assets.
|
|
# A route has one release-target identity even when older evaluation evidence is
|
|
# still bound to an earlier profile. That evidence is not rewritten here.
|
|
NEW_REVIEW_RUNTIME_IDENTITIES = {
|
|
"contract_review_trade_procurement": {"name": "contract_review_trade_procurement", "version": "tp06-8-20260909-1", "content_sha256": "abd850ec3a28b1c1bc1f636ba3690b84f4e7c5afb56cdd681a77d7d8eb548b2a", "source_kind": "new_review_module_composite"},
|
|
"contract_review_services": {"name": "contract_review_services", "version": "tp06-8-20260909-1", "content_sha256": "848d6b33eebf8b3a8bcee9330e26b8b8487fa0469ac2b9ad6790a3f1559711a3", "source_kind": "new_review_module_composite"},
|
|
"contract_review_transport_warehousing": {"name": "contract_review_transport_warehousing", "version": "tp06-8-20260909-1", "content_sha256": "950d6a02476bf37e6c2a733710bdfdfefe474b44743bd9d7448bbf95c01c6b14", "source_kind": "new_review_module_composite"},
|
|
"contract_review_manufacturing": {"name": "contract_review_manufacturing", "version": "tp06-8-20260909-1", "content_sha256": "97ba767d8d47166697d7c0790fa4e17cb7b7c72950e149d6bbf4bda9bfb3d5c4", "source_kind": "new_review_module_composite"},
|
|
"contract_review_construction": {"name": "contract_review_construction", "version": "tp06-8-20260909-1", "content_sha256": "44f52d9d292232012e8c9712ac714ac8d00f65cff7e4ddb07f66b67076499d46", "source_kind": "new_review_module_composite"},
|
|
"contract_review_marketing": {"name": "contract_review_marketing", "version": "tp06-8-20260909-1", "content_sha256": "261fb010dcab3d20f6f0751df941b3be11a1db06be5e4f2e43122ea2e538fcf5", "source_kind": "new_review_module_composite"},
|
|
"contract_review_consumer_services": {"name": "contract_review_consumer_services", "version": "tp06-8-20260909-1", "content_sha256": "1d15d83ccb6fd247e459974d64acedc860b02188f0053bd79b5d0e6edab443dd", "source_kind": "new_review_module_composite"},
|
|
"contract_review_notices_amendments": {"name": "contract_review_notices_amendments", "version": "tp06-8-20260909-1", "content_sha256": "19fbfc866d6a67c5da9aa18e55fcd239b3d8d9915a5fa1076e8befb64c64d6e3", "source_kind": "new_review_module_composite"},
|
|
}
|
|
|
|
# These five routes predate the eight new review modules. Their release-target
|
|
# identities come from the packaged phase-15 assets and remain separate runtime
|
|
# dependencies; they are not counted as extra modules in the 14-module batch.
|
|
DOMAIN_REVIEW_RUNTIME_IDENTITIES = {
|
|
"contract_review_tech_saas_data_compliance": {"name": "contract_review_tech_saas_data_compliance", "version": "v1-phase15", "content_sha256": "0075ab909b0622fd0e50817b2f4cfc6498e4ddea740c6f7a185cbc498f05b5c1", "source_kind": "existing_domain_prompt_asset"},
|
|
"contract_review_real_estate_property": {"name": "contract_review_real_estate_property", "version": "v1-phase15", "content_sha256": "87cdcc6ed723b6a1f1574a15da84e2e0b61d51e9fde47b190ecd1ad4aeb4eabb", "source_kind": "existing_domain_prompt_asset"},
|
|
"contract_review_channel_franchise": {"name": "contract_review_channel_franchise", "version": "v1-phase15", "content_sha256": "523aba6a76a6a3ec0e5f1c38d92287462f4286ceb5d3a588bcd7496c37022859", "source_kind": "existing_domain_prompt_asset"},
|
|
"contract_review_employment_hr": {"name": "contract_review_employment_hr", "version": "v1-phase15", "content_sha256": "c30e1424723565d76b1d4b5708593efc0bd67d74bf6c7ae56940d9af4dd0d1d7", "source_kind": "existing_domain_prompt_asset"},
|
|
"contract_review_investment_finance": {"name": "contract_review_investment_finance", "version": "v1-phase15", "content_sha256": "37bb23f09cada7b04746b77a5cc6898719fe257a97b6de4a6e2ca22ca2f69bc6", "source_kind": "existing_domain_prompt_asset"},
|
|
}
|
|
|
|
REVIEW_RUNTIME_IDENTITIES = {
|
|
**NEW_REVIEW_RUNTIME_IDENTITIES,
|
|
**DOMAIN_REVIEW_RUNTIME_IDENTITIES,
|
|
}
|
|
|
|
|
|
def _payload() -> dict:
|
|
scenes = {}
|
|
drafting_keys = [item["key"] for item in DRAFTING_MODULES]
|
|
review_modules = {item["key"]: item for item in REVIEW_MODULES}
|
|
for template_id, (contract_type, route) in sorted(SCENE_REVIEW_ROUTES.items()):
|
|
target = REVIEW_RUNTIME_IDENTITIES[route]
|
|
scenes[template_id] = {
|
|
"template_id": template_id,
|
|
"contract_type": contract_type,
|
|
"review_route": route,
|
|
"review_route_kind": (
|
|
"new_review_module"
|
|
if route in NEW_REVIEW_RUNTIME_IDENTITIES
|
|
else "existing_domain_prompt"
|
|
),
|
|
"draft_prompt": deepcopy(DRAFT_RUNTIME_IDENTITY),
|
|
"review_prompt": deepcopy(target),
|
|
"drafting_module_keys": list(drafting_keys),
|
|
"review_module_keys": [route] if route in review_modules else [],
|
|
"source_identity_resolved": True,
|
|
"technical_drafting_coverage_represented": True,
|
|
"technical_review_coverage_represented": True,
|
|
"published_runtime_verified": False,
|
|
"real_model_result": False,
|
|
"authorizes_publication": False,
|
|
}
|
|
return {
|
|
"schema_version": BASELINE_SCHEMA_VERSION,
|
|
"baseline_version": BASELINE_VERSION,
|
|
"module_baseline": {
|
|
"drafting": deepcopy(list(DRAFTING_MODULES)),
|
|
"review": deepcopy(list(REVIEW_MODULES)),
|
|
"module_count": len(DRAFTING_MODULES) + len(REVIEW_MODULES),
|
|
},
|
|
"runtime_targets": {
|
|
"drafting": deepcopy(DRAFT_RUNTIME_IDENTITY),
|
|
"new_review_modules": deepcopy(NEW_REVIEW_RUNTIME_IDENTITIES),
|
|
"existing_domain_prompts": deepcopy(DOMAIN_REVIEW_RUNTIME_IDENTITIES),
|
|
"identity_count": 1 + len(REVIEW_RUNTIME_IDENTITIES),
|
|
},
|
|
"scenes": scenes,
|
|
"summary": {
|
|
"scenes": len(scenes),
|
|
"source_identities_resolved": sum(item["source_identity_resolved"] for item in scenes.values()),
|
|
"technical_drafting_coverage_represented": sum(item["technical_drafting_coverage_represented"] for item in scenes.values()),
|
|
"technical_review_coverage_represented": sum(item["technical_review_coverage_represented"] for item in scenes.values()),
|
|
"published_runtime_verified": 0,
|
|
"real_model_results": 0,
|
|
"authorizes_publication": 0,
|
|
},
|
|
"not_runtime_publication_evidence": True,
|
|
"not_legal_approval": True,
|
|
"authorizes_publication": False,
|
|
}
|
|
|
|
|
|
def _validated_payload() -> dict:
|
|
payload = _payload()
|
|
module_baseline = payload["module_baseline"]
|
|
if (module_baseline["module_count"] != 14
|
|
or tuple(item["key"] for item in module_baseline["drafting"]) != tuple(
|
|
item["key"] for item in DRAFTING_MODULES)
|
|
or tuple(item["key"] for item in module_baseline["review"]) != REVIEW_MODULE_KEYS
|
|
or len(payload["runtime_targets"]["new_review_modules"]) != 8
|
|
or len(payload["runtime_targets"]["existing_domain_prompts"]) != 5
|
|
or payload["runtime_targets"]["identity_count"] != 14
|
|
or set(payload["scenes"]) != set(SCENE_REVIEW_ROUTES)
|
|
or payload["summary"]["source_identities_resolved"] != 30
|
|
or payload["summary"]["technical_drafting_coverage_represented"] != 30
|
|
or payload["summary"]["technical_review_coverage_represented"] != 30):
|
|
raise RuntimeError("Prompt source baseline is incomplete or inconsistent")
|
|
return payload
|
|
|
|
|
|
def prompt_source_baseline() -> dict:
|
|
"""Return a defensive copy of the 14-module/14-runtime source baseline."""
|
|
payload = _validated_payload()
|
|
return {**deepcopy(payload), "manifest_sha256": draft_digest(payload)}
|
|
|
|
|
|
def scene_prompt_source_identity(template_id: str) -> dict | None:
|
|
"""Resolve one scene without consulting or mutating a runtime Prompt store."""
|
|
if not isinstance(template_id, str):
|
|
return None
|
|
baseline = prompt_source_baseline()
|
|
scene = baseline["scenes"].get(template_id)
|
|
if scene is None:
|
|
return None
|
|
return {
|
|
**deepcopy(scene),
|
|
"baseline_version": baseline["baseline_version"],
|
|
"baseline_manifest_sha256": baseline["manifest_sha256"],
|
|
"not_runtime_publication_evidence": True,
|
|
"not_legal_approval": True,
|
|
"authorizes_publication": False,
|
|
}
|