nisse-review: a stop ends a review in progress; quieter repo failures
SIGTERM used to stop only new rounds: a review in progress ran on until systemd killed it 90s later. Now the scheduler's stop sets the driver's cancel flag, so the run ends at its next turn, and a model call in flight is broken off (Interruptible, raising Stopped from the signal handler, only ever inside a model call). The item goes back to ready, with nothing drafted posted and no failure counted; replies already posted carry their markers and are not repeated. intake.repo_failed is logged when a repository starts failing or the reason changes, and intake.repo_ok when it lists again, not every round. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
1 parent
52d30ccab9
commit
a85e855fc2
8 files changed
+287
-10
No files matched your search
@@ -15,6 +15,7 @@ from nisse_core.knowledge.vault import Vault
|
||||
from nisse_core.log.canonical import AssistantText
|
||||
from nisse_core.loop.driver import Driver
|
||||
from nisse_core.oplog import OpLog
|
||||
from nisse_core.state.cancel import Cancel
|
||||
from nisse_review.access import AccessRefused, check, reviewed
|
||||
from nisse_review.build import StartupError, check_access
|
||||
from nisse_review.review import Reviewer, _diff_lines, marker
|
||||
@@ -38,12 +39,13 @@ def world(
|
||||
) -> dict[str, Any]:
|
||||
gitea = gitea or FakeGitea(repos={REPO: [pr()]})
|
||||
oplog = OpLog("nisse-review", io.StringIO())
|
||||
cancel = more.setdefault("cancel", Cancel()) # the driver's and the scheduler's
|
||||
store = StateStore(tmp_path / "state.db", oplog=oplog)
|
||||
vault = Vault(tmp_path / "vault", {"memory/nisse-review": "rw"}, agent="r")
|
||||
reviewer = Reviewer(
|
||||
store,
|
||||
gitea, # type: ignore[arg-type]
|
||||
Driver(model, "m"), # type: ignore[arg-type]
|
||||
Driver(model, "m", cancel=cancel), # type: ignore[arg-type]
|
||||
account=gitea.account,
|
||||
gitea_url="https://gitea.test",
|
||||
oplog=oplog,
|
||||
|
||||
Reference in new issue
Block a user