← Files Startup Financing ReadinessARCHIVED FILE
scripts/validate_feedback.py
2.59 KB · Oct 3, 2026 · 06:35 UTC
"""Regression checks for the partner-feedback requirements."""
from pathlib import Path
import re
ROOT = Path(__file__).resolve().parents[1]
SKILL = ROOT / "skills" / "ecvc-financing-readiness"
def read(relative_path: str) -> str:
return (SKILL / relative_path).read_text(encoding="utf-8")
def main() -> None:
questionnaire = read("references/questionnaire.md")
framework = read("references/readiness-framework.md")
index = read("references/data-room-index.md")
experience = read("references/experience-design.md")
skill = read("SKILL.md")
required_questionnaire_terms = (
"leased or owned offices, labs, warehouses, facilities, or other real estate",
"jurisdictions for qualification/registration review",
"Pending or threatened litigation",
"Pending or registered patents, trademarks, and copyrights",
"held personally by founders",
"Website, app, user, customer, or subscription terms",
"Optional pitch-deck upload",
"Still to answer",
)
for term in required_questionnaire_terms:
assert term in questionnaire, f"Missing questionnaire requirement: {term}"
assert "10. Financing materials" not in index
assert "Do not create a financing-materials folder" in index
assert "Target raise, expected structure, and timing recorded" not in framework
assert "Projections and proposed use of financing proceeds" not in framework
assert "Step X of 7" in skill and "Step X of 7" in experience
assert "Seven horizontal category bars" in experience
assert "Render the title exactly once" in experience
categories: list[tuple[str, int, int]] = []
active_name = ""
active_target = 0
active_items = 0
for line in framework.splitlines():
category = re.fullmatch(r"\| \*\*(.+)\*\* \| \*\*(\d+)\*\* \|", line)
item = re.fullmatch(r"\| (?!\*\*)(.+) \| (\d+) \|", line)
if category:
if active_name:
categories.append((active_name, active_target, active_items))
active_name, active_target, active_items = category.group(1), int(category.group(2)), 0
elif item and active_name:
active_items += int(item.group(2))
if active_name:
categories.append((active_name, active_target, active_items))
assert [target for _, target, _ in categories] == [20, 20, 25, 10, 15, 5, 5]
assert all(target == items for _, target, items in categories), categories
assert sum(target for _, target, _ in categories) == 100
print("Partner-feedback regression checks passed.")
if __name__ == "__main__":
main()
SHA-256: 47c7361a491f53445dc153cf459645f110b22b6334dc5af5be5adabcbf310940