Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
e5e9f75
Add PoC validation helper and regression tests
Copilot Jul 13, 2026
ac12e3e
Validate PoC collection repeatedly
Copilot Jul 13, 2026
b178330
Merge pull request #1 from 5hy7xz92nd-oss/copilot/learn-upgrade-save-…
5hy7xz92nd-oss Jul 13, 2026
27372a8
Merge branch 'bikini:main' into main
5hy7xz92nd-oss Jul 22, 2026
e8e8f42
Update README.md
5hy7xz92nd-oss Jul 27, 2026
b57737c
Apply remaining changes
Copilot Jul 27, 2026
b901278
Merge pull request #2 from 5hy7xz92nd-oss/copilot/add-feature-request
5hy7xz92nd-oss Jul 28, 2026
4af40b6
Potential fix for pull request finding
5hy7xz92nd-oss Aug 2, 2026
2224f55
Apply remaining changes
Copilot Aug 3, 2026
e25dc96
Merge pull request #3 from 5hy7xz92nd-oss/copilot/duplicate-icon-reso…
5hy7xz92nd-oss Aug 3, 2026
e5a1cfc
Merge pull request #4 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
7c7309b
Merge pull request #5 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
e44a3c7
Merge pull request #6 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
da3b2d7
Merge pull request #7 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
ce90d12
Merge pull request #8 from 5hy7xz92nd-oss/copilot/add-feature-request
5hy7xz92nd-oss Aug 3, 2026
3a61b7f
Merge pull request #9 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
9fe6bc4
Merge pull request #10 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
fb94734
Merge pull request #11 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 3, 2026
01e7f9e
Apply remaining changes
Copilot Aug 4, 2026
9c8d9fd
Apply remaining changes
Copilot Aug 4, 2026
67de903
Apply remaining changes
Copilot Aug 4, 2026
639c798
Merge pull request #12 from 5hy7xz92nd-oss/copilot/we-are-one-hologra…
5hy7xz92nd-oss Aug 4, 2026
83d3dda
Initial plan
Copilot Aug 4, 2026
1e7c47b
Initial plan
Copilot Aug 4, 2026
513ea9c
Merge pull request #16 from 5hy7xz92nd-oss/copilot/wip-address-feedba…
5hy7xz92nd-oss Aug 4, 2026
86a3123
Merge pull request #17 from 5hy7xz92nd-oss/copilot/1k-repo-decentrali…
5hy7xz92nd-oss Aug 4, 2026
d895a36
Merge pull request #18 from 5hy7xz92nd-oss/copilot/awesome-ai-driven-…
5hy7xz92nd-oss Aug 5, 2026
43cbbd5
Merge pull request #19 from 5hy7xz92nd-oss/copilot/awesome-ai-drivend…
5hy7xz92nd-oss Aug 5, 2026
72338e1
Merge pull request #20 from 5hy7xz92nd-oss/copilot/wip-address-feedba…
5hy7xz92nd-oss Aug 5, 2026
7d784db
Merge pull request #21 from 5hy7xz92nd-oss/copilot/manusweareone10bil…
5hy7xz92nd-oss Aug 5, 2026
5add847
Merge pull request #22 from 5hy7xz92nd-oss/copilot/we-are-one-hologra…
5hy7xz92nd-oss Aug 5, 2026
9c30d77
Merge pull request #23 from 5hy7xz92nd-oss/copilot/duplicate-icon-res…
5hy7xz92nd-oss Aug 5, 2026
b189994
Merge pull request #24 from 5hy7xz92nd-oss/copilot/sync-rabbit-data
5hy7xz92nd-oss Aug 5, 2026
159e894
Merge pull request #25 from 5hy7xz92nd-oss/copilot/weareone10billion
5hy7xz92nd-oss Aug 5, 2026
e8aa06f
Merge pull request #26 from 5hy7xz92nd-oss/copilot/task-249378113-129…
5hy7xz92nd-oss Aug 5, 2026
97fd667
Changes before error encountered
Copilot Aug 5, 2026
2ec10ad
Initial plan
Copilot Aug 5, 2026
31278f2
Merge pull request #27 from 5hy7xz92nd-oss/copilot/fix-249378113-1299…
5hy7xz92nd-oss Aug 5, 2026
f902eaa
Merge pull request #28 from 5hy7xz92nd-oss/copilot/task-249378113-129…
5hy7xz92nd-oss Aug 5, 2026
fa0c932
Merge pull request #29 from 5hy7xz92nd-oss/copilot/we-are-one-hologra…
5hy7xz92nd-oss Aug 5, 2026
1896c65
Merge pull request #30 from 5hy7xz92nd-oss/copilot/task-249378113-129…
5hy7xz92nd-oss Aug 5, 2026
2ef4ba6
Merge pull request #31 from 5hy7xz92nd-oss/copilot/add-feature-request
5hy7xz92nd-oss Aug 5, 2026
730ff15
Merge pull request #32 from 5hy7xz92nd-oss/copilot/auto-sync-updates
5hy7xz92nd-oss Aug 5, 2026
1dc147f
Merge pull request #34 from 5hy7xz92nd-oss/main
5hy7xz92nd-oss Aug 5, 2026
ec42eba
Update print statement from 'Hello' to 'Goodbye'
5hy7xz92nd-oss Aug 9, 2026
f33d395
Merge pull request #105 from 5hy7xz92nd-oss/patch-1
5hy7xz92nd-oss Aug 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,487 changes: 1,487 additions & 0 deletions .github/instructions/*.instructions.md

Large diffs are not rendered by default.

Binary file added __pycache__/validate_pocs.cpython-312.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
26 changes: 26 additions & 0 deletions tests/test_validate_pocs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import unittest
from pathlib import Path

import validate_pocs


class ValidatePocsTest(unittest.TestCase):
def setUp(self) -> None:
self.repo_root = Path(__file__).resolve().parents[1]

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)

self.assertTrue(any(path.name == "run_demo.py" for path in python_targets))
self.assertTrue(any(path.name == "package.json" for path in package_targets))
self.assertGreater(len(python_targets), 20)
self.assertGreater(len(package_targets), 0)
Comment thread
5hy7xz92nd-oss marked this conversation as resolved.

def test_validation_succeeds(self) -> None:
result = validate_pocs.validate_repo(self.repo_root)
self.assertEqual(result["errors"], [])


if __name__ == "__main__":
unittest.main()
84 changes: 84 additions & 0 deletions validate_pocs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#!/usr/bin/env python3
"""Validate the repository's PoC entrypoints and manifests."""

from __future__ import annotations

import argparse
import json
import py_compile
import sys
from pathlib import Path
from typing import List, Dict, Tuple

Comment thread
5hy7xz92nd-oss marked this conversation as resolved.

EXCLUDED_DIRS = {".git", "__pycache__"}


def discover_python_targets(root: Path) -> List[Path]:
return sorted(
path
for path in root.rglob("*.py")
if not any(part in EXCLUDED_DIRS for part in path.parts)
)


def discover_package_targets(root: Path) -> List[Path]:
return sorted(
path
for path in root.rglob("package.json")
if not any(part in EXCLUDED_DIRS for part in path.parts)
)


def validate_repo(root: Path) -> Dict[str, object]:
python_targets = discover_python_targets(root)
package_targets = discover_package_targets(root)
errors: List[str] = []

for path in python_targets:
try:
py_compile.compile(str(path), doraise=True)
except py_compile.PyCompileError as exc: # pragma: no cover - exercised in tests when broken code exists
errors.append(f"{path.relative_to(root)}: {exc}")

for path in package_targets:
try:
data = json.loads(path.read_text(encoding="utf-8"))
except json.JSONDecodeError as exc:
errors.append(f"{path.relative_to(root)}: invalid JSON ({exc})")
continue

scripts = data.get("scripts")
if isinstance(scripts, dict) and "poc" in scripts:
if not isinstance(scripts["poc"], str) or not scripts["poc"].strip():
errors.append(f"{path.relative_to(root)}: scripts.poc must be a non-empty string")

return {
"root": str(root),
"python_files": len(python_targets),
"package_json_files": len(package_targets),
"errors": errors,
}


def main(argv: List[str] | None = None) -> int:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--root", type=Path, default=Path(__file__).resolve().parent)
args = parser.parse_args(argv)

result = validate_repo(args.root.resolve())
for error in result["errors"]:
print(error, file=sys.stderr)

print(
f"validated {result['python_files']} Python files and {result['package_json_files']} package manifests"
)
if result["errors"]:
print("validation failed", file=sys.stderr)
return 1
print("validation succeeded")
return 0


if __name__ == "__main__":
raise SystemExit(main())