Spaces:
Running on Zero
Running on Zero
fix: neutralize planner metadata
Browse filesCo-authored-by: Codex <noreply@openai.com>
- README.md +1 -1
- hackathon_advisor/__init__.py +1 -1
- hackathon_advisor/tool_contracts.py +3 -3
- pyproject.toml +1 -1
- tests/test_tool_contracts.py +2 -0
README.md
CHANGED
|
@@ -9,7 +9,7 @@ python_version: "3.11"
|
|
| 9 |
app_file: app.py
|
| 10 |
pinned: true
|
| 11 |
license: mit
|
| 12 |
-
short_description: Originality advisor for
|
| 13 |
tags:
|
| 14 |
- gradio
|
| 15 |
- build-small-hackathon
|
|
|
|
| 9 |
app_file: app.py
|
| 10 |
pinned: true
|
| 11 |
license: mit
|
| 12 |
+
short_description: Originality advisor for small-model project ideas.
|
| 13 |
tags:
|
| 14 |
- gradio
|
| 15 |
- build-small-hackathon
|
hackathon_advisor/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
"""
|
| 2 |
|
| 3 |
__all__ = ["__version__"]
|
| 4 |
|
|
|
|
| 1 |
+
"""Originality advisor for small-model project ideas."""
|
| 2 |
|
| 3 |
__all__ = ["__version__"]
|
| 4 |
|
hackathon_advisor/tool_contracts.py
CHANGED
|
@@ -83,7 +83,7 @@ class ToolContractError(ValueError):
|
|
| 83 |
TOOL_SPECS: dict[str, ToolSpec] = {
|
| 84 |
"list_projects": ToolSpec(
|
| 85 |
name="list_projects",
|
| 86 |
-
description="Read prominent
|
| 87 |
fields={
|
| 88 |
"track": ToolField("string", "Optional model, goal, or topic filter."),
|
| 89 |
"sort": ToolField("string", "Sort key.", enum=("likes", "recent", "title")),
|
|
@@ -97,7 +97,7 @@ TOOL_SPECS: dict[str, ToolSpec] = {
|
|
| 97 |
"get_project": ToolSpec(
|
| 98 |
name="get_project",
|
| 99 |
description="Read one project card by full Space id or slug.",
|
| 100 |
-
fields={"id": ToolField("string", "Project id such as
|
| 101 |
),
|
| 102 |
"find_whitespace": ToolSpec(
|
| 103 |
name="find_whitespace",
|
|
@@ -114,7 +114,7 @@ TOOL_SPECS: dict[str, ToolSpec] = {
|
|
| 114 |
),
|
| 115 |
"score_idea": ToolSpec(
|
| 116 |
name="score_idea",
|
| 117 |
-
description="Score the current idea against the fixed
|
| 118 |
fields={"id": ToolField("string", "Idea id; omit to score the current idea.")},
|
| 119 |
),
|
| 120 |
"compare_ideas": ToolSpec(
|
|
|
|
| 83 |
TOOL_SPECS: dict[str, ToolSpec] = {
|
| 84 |
"list_projects": ToolSpec(
|
| 85 |
name="list_projects",
|
| 86 |
+
description="Read prominent project cards from the offline snapshot.",
|
| 87 |
fields={
|
| 88 |
"track": ToolField("string", "Optional model, goal, or topic filter."),
|
| 89 |
"sort": ToolField("string", "Sort key.", enum=("likes", "recent", "title")),
|
|
|
|
| 97 |
"get_project": ToolSpec(
|
| 98 |
name="get_project",
|
| 99 |
description="Read one project card by full Space id or slug.",
|
| 100 |
+
fields={"id": ToolField("string", "Project id or slug, such as org-name/space-name.", required=True)},
|
| 101 |
),
|
| 102 |
"find_whitespace": ToolSpec(
|
| 103 |
name="find_whitespace",
|
|
|
|
| 114 |
),
|
| 115 |
"score_idea": ToolSpec(
|
| 116 |
name="score_idea",
|
| 117 |
+
description="Score the current idea against the fixed originality and build-fit rubric.",
|
| 118 |
fields={"id": ToolField("string", "Idea id; omit to score the current idea.")},
|
| 119 |
),
|
| 120 |
"compare_ideas": ToolSpec(
|
pyproject.toml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
[project]
|
| 2 |
name = "hackathon-advisor"
|
| 3 |
version = "0.1.0"
|
| 4 |
-
description = "Text-first originality advisor for
|
| 5 |
readme = "README.md"
|
| 6 |
requires-python = ">=3.11,<3.13"
|
| 7 |
license = { text = "MIT" }
|
|
|
|
| 1 |
[project]
|
| 2 |
name = "hackathon-advisor"
|
| 3 |
version = "0.1.0"
|
| 4 |
+
description = "Text-first originality advisor for small-model project ideas."
|
| 5 |
readme = "README.md"
|
| 6 |
requires-python = ">=3.11,<3.13"
|
| 7 |
license = { text = "MIT" }
|
tests/test_tool_contracts.py
CHANGED
|
@@ -28,6 +28,8 @@ def test_tool_schemas_are_model_ready() -> None:
|
|
| 28 |
assert "side_quests" not in schema_text
|
| 29 |
assert "prize" not in schema_text.lower()
|
| 30 |
assert "badge" not in schema_text.lower()
|
|
|
|
|
|
|
| 31 |
|
| 32 |
|
| 33 |
def test_parse_and_validate_minicpm_xml_tool_call() -> None:
|
|
|
|
| 28 |
assert "side_quests" not in schema_text
|
| 29 |
assert "prize" not in schema_text.lower()
|
| 30 |
assert "badge" not in schema_text.lower()
|
| 31 |
+
assert "Build Small" not in schema_text
|
| 32 |
+
assert "hackathon" not in schema_text.lower()
|
| 33 |
|
| 34 |
|
| 35 |
def test_parse_and_validate_minicpm_xml_tool_call() -> None:
|