Copilot/auto sync updates - #25
Conversation
…test-run-develop-repeat Add repository-wide PoC validation and regression coverage
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com>
Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com>
Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com>
…phic-blueprint
…ck-merge-into-13
…zed-architecture
…evelopment-101
Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com>
Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com>
|
ZZZZ |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a repository-level validation tool plus CI to sanity-check PoC entrypoints/manifests and enforce README catalog integrity.
Changes:
- Introduce
validate_pocs.pyto discover and validate Python/JS syntax, JSON/TOML integrity, requirements files, per-PoC README presence, and root catalog consistency. - Add a unittest suite to exercise validator behavior (both repo-wide and fixture-based).
- Document the validator in the README and run it in GitHub Actions; expand
.gitignorefor common build/venv artifacts.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| validate_pocs.py | New validator CLI and validation routines for repo PoCs and catalogs. |
| tests/test_validate_pocs.py | Unittest coverage for discovery and validation (repo + fixtures). |
| README.md | Adds “Validation” section with local/CI usage instructions. |
| .gitignore | Ignores Python/Node/Rust and tooling artifacts created by validation/tests. |
| .github/workflows/validate.yml | CI workflow to run unit tests and validator on pushes/PRs. |
| .github/instructions/*.instructions.md | Adds a large instructions file; content appears unrelated to repo validation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| self.assertGreater(len(python_targets), 20) | ||
| self.assertGreater(len(package_targets), 0) | ||
| self.assertGreaterEqual(len(cargo_targets), 2) | ||
| self.assertGreater(len(poc_dirs), 30) |
| def test_validation_succeeds_for_repository(self) -> None: | ||
| result = validate_pocs.validate_repo(self.repo_root) | ||
| self.assertEqual(result["errors"], []) |
| import shutil | ||
| import subprocess | ||
| import sys | ||
| import tomllib |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
Suppressed comments (5)
validate_pocs.py:14
tomllibis only available in Python 3.11+. Because this script is intended to be run locally viapython validate_pocs.py, importingtomllibunconditionally will crash on older Python versions with a less actionableModuleNotFoundError. Consider raising a clear error that states the minimum supported Python version.
import subprocess
import sys
import tomllib
from collections import Counter
tests/test_validate_pocs.py:17
- These assertions hard-code current repository contents (specific filenames and minimum counts). That makes the test suite brittle as PoCs are added/removed/renamed, even when discovery logic is still correct. Consider making this a smoke test for invariants (non-empty results + key filtering behavior) and rely on the fixture-based tests below for detailed validation semantics.
def test_discovery_finds_expected_targets(self) -> None:
python_targets = validate_pocs.discover_python_targets(self.repo_root)
package_targets = validate_pocs.discover_package_targets(self.repo_root)
cargo_targets = validate_pocs.discover_cargo_targets(self.repo_root)
js_targets = validate_pocs.discover_javascript_targets(self.repo_root)
tests/test_validate_pocs.py:34
- This test currently doubles as a repository-wide integration check and hard-codes minimum file/directory counts. That’s likely to fail as the repo evolves. Also, the validation path requires
nodewhen JavaScript PoCs exist, so localpython -m unittestcan fail unexpectedly if Node.js isn’t installed. Consider (1) gating this test on Node.js availability and (2) limiting assertions to the main contract (no errors).
def test_validation_succeeds_for_repository(self) -> None:
result = validate_pocs.validate_repo(self.repo_root)
self.assertEqual(result["errors"], [])
self.assertGreater(result["python_files"], 20)
validate_pocs.py:286
- Typo in the error message: "validateable" should be "validatable".
errors.append(
"discovery returned no validateable files despite PoC content on disk; "
"check exclude rules and checkout path handling"
README.md:77
- The README suggests running
python validate_pocs.pylocally, but the validator currently requires Python 3.11+ (tomllib) and Node.js when JavaScript PoCs are present. Adding an explicit note here would make failures more self-explanatory for contributors.
Repository integrity checks live in `validate_pocs.py` and cover:
- Python syntax (`py_compile`) for tracked PoC scripts
- `package.json`, `Cargo.toml`, `requirements*.txt`, and JSON manifest structure
- JavaScript syntax via `node --check`
- Per-entry `README.md` presence and root catalog consistency
| @5hy7xz92nd-oss @copilot @copilot @copilot @we-tech-company @copilot @5hy7xz92nd-oss 🕴️🔃〰️⤴️@copilot🌎 REALITY | ||
| | | ||
| ↓ | ||
| 👁️ Observer | ||
| | |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.
Suppressed comments (1)
.github/instructions/*.instructions.md:5
- This PR adds a file literally named
.github/instructions/*.instructions.md. The*character is not a valid filename character on Windows, which will break clones/checkouts on that platform. Also, the file content appears to be a pasted PR/conversation transcript (mentions, links, repeated blocks) rather than actionable Copilot instructions, adding significant noise to the repo.
@5hy7xz92nd-oss @copilot @copilot @copilot @we-tech-company @copilot @5hy7xz92nd-oss 🕴️🔃〰️⤴️@copilot🌎 REALITY
|
↓
👁️ Observer
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.
Suppressed comments (3)
tests/test_validate_pocs.py:11
- The unittest suite implicitly requires
nodeto be installed (because validate_repo validates JS vianode --check), which will cause the entire test run to fail in Python-only environments. Consider skipping these tests whennodeis unavailable (CI already installs it).
def setUp(self) -> None:
self.repo_root = Path(__file__).resolve().parents[1]
.github/instructions/*.instructions.md:3
- This file name contains a literal
*character (.github/instructions/*.instructions.md), which breaks checkouts on Windows (invalid filename) and is likely accidental. The file contents also appear to be unrelated PR/chat logs and emoji spam rather than actionable Copilot instructions—please remove it or replace it with concise repository instructions under a valid filename.
@5hy7xz92nd-oss @copilot @copilot @copilot @we-tech-company @copilot @5hy7xz92nd-oss 🕴️🔃〰️⤴️@copilot🌎 REALITY
|
↓
validate_pocs.py:284
- Typo in the discovery sanity error message: “validateable” should be “validatable” (this string is user-facing and will be printed on failure).
"discovery returned no validateable files despite PoC content on disk; "
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.
Suppressed comments (4)
tests/test_validate_pocs.py:11
- Most tests depend on Node being available (because fixtures include
.jsfiles andvalidate_repo()enforcesnode --check). Add asetUp()guard to skip these tests whennodeis not installed, so the suite fails for real validation issues rather than missing local tooling.
def setUp(self) -> None:
self.repo_root = Path(__file__).resolve().parents[1]
tests/test_validate_pocs.py:4
- Tests call
validate_repo()which requiresnodewhen any.jsfixtures are present, but the test module never importsshutil(needed to detect node) and currently can't skip cleanly when Node isn't installed.
import json
import tempfile
import unittest
from pathlib import Path
.github/instructions/*.instructions.md:5
- This Copilot instructions file appears to contain large amounts of unrelated/duplicated text (including external links) and is named literally
*.instructions.md(with a*in the filename). This is likely accidental or autogenerated noise and can interfere with tooling that consumes.github/instructionscontent; please remove it or replace it with concise, repo-relevant instructions.
@5hy7xz92nd-oss @copilot @copilot @copilot @we-tech-company @copilot @5hy7xz92nd-oss 🕴️🔃〰️⤴️@copilot🌎 REALITY
|
↓
👁️ Observer
|
validate_pocs.py:101
py_compile.compile(..., doraise=True)can raiseOSError(e.g., unreadable/missing file). Right now that would crash the validator instead of reporting a collected error like the other validators do.
try:
py_compile.compile(str(path), doraise=True)
except py_compile.PyCompileError as exc: # pragma: no cover - covered via broken fixtures
errors.append(f"{path.relative_to(root)}: {exc}")
No description provided.