Restructure solution layout by module
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			This commit is contained in:
		| @@ -1,53 +1,53 @@ | ||||
| #!/usr/bin/env python3 | ||||
| """Ensure CLI parity matrix contains no outstanding blockers before release.""" | ||||
| from __future__ import annotations | ||||
|  | ||||
| import pathlib | ||||
| import re | ||||
| import sys | ||||
|  | ||||
| REPO_ROOT = pathlib.Path(__file__).resolve().parents[2] | ||||
| PARITY_DOC = REPO_ROOT / "docs/cli-vs-ui-parity.md" | ||||
|  | ||||
| BLOCKERS = { | ||||
|     "🟥": "blocking gap", | ||||
|     "❌": "missing feature", | ||||
|     "🚫": "unsupported", | ||||
| } | ||||
| WARNINGS = { | ||||
|     "🟡": "partial support", | ||||
|     "⚠️": "warning", | ||||
| } | ||||
|  | ||||
|  | ||||
| def main() -> int: | ||||
|     if not PARITY_DOC.exists(): | ||||
|         print(f"❌ Parity matrix not found at {PARITY_DOC}", file=sys.stderr) | ||||
|         return 1 | ||||
|     text = PARITY_DOC.read_text(encoding="utf-8") | ||||
|     blockers: list[str] = [] | ||||
|     warnings: list[str] = [] | ||||
|     for line in text.splitlines(): | ||||
|         for symbol, label in BLOCKERS.items(): | ||||
|             if symbol in line: | ||||
|                 blockers.append(f"{label}: {line.strip()}") | ||||
|         for symbol, label in WARNINGS.items(): | ||||
|             if symbol in line: | ||||
|                 warnings.append(f"{label}: {line.strip()}") | ||||
|     if blockers: | ||||
|         print("❌ CLI parity gate failed — blocking items present:", file=sys.stderr) | ||||
|         for item in blockers: | ||||
|             print(f"  - {item}", file=sys.stderr) | ||||
|         return 1 | ||||
|     if warnings: | ||||
|         print("⚠️ CLI parity gate warnings detected:", file=sys.stderr) | ||||
|         for item in warnings: | ||||
|             print(f"  - {item}", file=sys.stderr) | ||||
|         print("Treat warnings as failures until parity matrix is fully green.", file=sys.stderr) | ||||
|         return 1 | ||||
|     print("✅ CLI parity matrix has no blocking or warning entries.") | ||||
|     return 0 | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     raise SystemExit(main()) | ||||
| #!/usr/bin/env python3 | ||||
| """Ensure CLI parity matrix contains no outstanding blockers before release.""" | ||||
| from __future__ import annotations | ||||
|  | ||||
| import pathlib | ||||
| import re | ||||
| import sys | ||||
|  | ||||
| REPO_ROOT = pathlib.Path(__file__).resolve().parents[2] | ||||
| PARITY_DOC = REPO_ROOT / "docs/cli-vs-ui-parity.md" | ||||
|  | ||||
| BLOCKERS = { | ||||
|     "🟥": "blocking gap", | ||||
|     "❌": "missing feature", | ||||
|     "🚫": "unsupported", | ||||
| } | ||||
| WARNINGS = { | ||||
|     "🟡": "partial support", | ||||
|     "⚠️": "warning", | ||||
| } | ||||
|  | ||||
|  | ||||
| def main() -> int: | ||||
|     if not PARITY_DOC.exists(): | ||||
|         print(f"❌ Parity matrix not found at {PARITY_DOC}", file=sys.stderr) | ||||
|         return 1 | ||||
|     text = PARITY_DOC.read_text(encoding="utf-8") | ||||
|     blockers: list[str] = [] | ||||
|     warnings: list[str] = [] | ||||
|     for line in text.splitlines(): | ||||
|         for symbol, label in BLOCKERS.items(): | ||||
|             if symbol in line: | ||||
|                 blockers.append(f"{label}: {line.strip()}") | ||||
|         for symbol, label in WARNINGS.items(): | ||||
|             if symbol in line: | ||||
|                 warnings.append(f"{label}: {line.strip()}") | ||||
|     if blockers: | ||||
|         print("❌ CLI parity gate failed — blocking items present:", file=sys.stderr) | ||||
|         for item in blockers: | ||||
|             print(f"  - {item}", file=sys.stderr) | ||||
|         return 1 | ||||
|     if warnings: | ||||
|         print("⚠️ CLI parity gate warnings detected:", file=sys.stderr) | ||||
|         for item in warnings: | ||||
|             print(f"  - {item}", file=sys.stderr) | ||||
|         print("Treat warnings as failures until parity matrix is fully green.", file=sys.stderr) | ||||
|         return 1 | ||||
|     print("✅ CLI parity matrix has no blocking or warning entries.") | ||||
|     return 0 | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     raise SystemExit(main()) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user