feat(python/robomp): added the wontfix primary classification and comment-only triage path

- Added `wontfix` to primary classification handling by updating host-tool classification metadata and issue taxonomy prompts.
- Updated kickoff/follow-up/system prompt guidance to treat intentional-design reports as `wontfix`, with maintainer-intent signals stopping work and ending in a single explanatory comment.
- Added tests to verify `classify_issue` persists a `wontfix` classification and returns a no-PR, comment-only next step.
This commit is contained in:
can1357
2026-07-15 00:09:00 +02:00
parent 55f5ebec49
commit 79faf94f26
20 changed files with 133 additions and 36 deletions
+7 -4
View File
@@ -166,7 +166,9 @@ async def _async_client(app) -> httpx.AsyncClient:
)
def test_read_remote_urls_uses_safe_directory_and_slot_identity(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
def test_read_remote_urls_uses_safe_directory_and_slot_identity(
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
) -> None:
from robomp.proxy import server as proxy_server
captured: dict[str, object] = {}
@@ -1134,7 +1136,9 @@ async def test_git_fetch_rejects_option_shaped_origin(proxy_settings: Settings,
pool_dir = _stage_pool(proxy_settings, upstream_repo)
config_path = pool_dir / ".git" / "config"
config_text = config_path.read_text(encoding="utf-8")
config_path.write_text(config_text.replace(f"\turl = {upstream_repo}\n", "\turl = --upload-pack=env\n"), encoding="utf-8")
config_path.write_text(
config_text.replace(f"\turl = {upstream_repo}\n", "\turl = --upload-pack=env\n"), encoding="utf-8"
)
app = _build_app(proxy_settings)
body = b'{"repo":"octo/widget"}'
@@ -1148,8 +1152,6 @@ async def test_git_fetch_rejects_option_shaped_origin(proxy_settings: Settings,
assert resp.status_code == 400, resp.text
@pytest.mark.parametrize(
"clone_url",
[
@@ -1205,6 +1207,7 @@ async def test_git_push_rejects_attacker_pushurl(proxy_settings: Settings, upstr
assert resp.status_code == 400, resp.text
assert not _bare_has_branch(upstream_repo, branch)
# ============================================================================
# fetch_ref refuses refspec / option injection in `ref`
# ============================================================================