IssueTriage fixes

This commit is contained in:
2026-09-21 12:58:10 +03:00
parent f25d9a5fab
commit 3d1df7fee5
8 changed files with 136 additions and 46 deletions
+22 -2
View File
@@ -1,8 +1,13 @@
from dataclasses import field, dataclass
from pydantic import BaseModel
@dataclass
class ProjectContext:
class TeamMemberModel(BaseModel):
role: str
nick: str
class ProjectContext(BaseModel):
"""Static, per-project knowledge injected into every decomposition."""
project_key: str # e.g. "ARCH"
language: str = ""
@@ -15,6 +20,9 @@ class ProjectContext:
package_manager: str = "" # "uv", "poetry", "npm"
auth: str = "" # "JWT via fastapi-users"
deployment: str = "" # "Docker Compose on Hetzner"
project_language: str = "english"
default_responder: str | None = None
team: list[TeamMemberModel] = field(default_factory=list)
conventions: list[str] = field(default_factory=list) # free-form notes
extra: dict[str, str] = field(default_factory=dict) # anything else
@@ -31,6 +39,7 @@ class ProjectContext:
("Package manager", self.package_manager),
("Auth", self.auth),
("Deployment", self.deployment),
("Comment language", self.project_language),
]
for label, value in fields:
if value:
@@ -42,4 +51,15 @@ class ProjectContext:
lines.append("")
lines.append("Conventions:")
lines.extend(f"- {c}" for c in self.conventions)
if self.team:
lines.append("**Team members** (address questions using the exact `nick`):")
for m in self.team:
lines.append(f"- `{m.nick}` — {m.role}")
if self.default_responder:
lines.append(
f"**Default responder** (use this nick when no team member "
f"clearly owns the question): `{self.default_responder}`"
)
lines.append("")
return "\n".join(lines)