Add fi_brief_status resolver for Freedom Intelligence daily briefs.
Mirror binky_rhythm daily due-checks against fi_daily_brief progress events so activity-core can schedule freedom-intelligence research without executing it.
This commit is contained in:
parent
9a4f6a4d75
commit
70a7db500d
2 changed files with 126 additions and 0 deletions
|
|
@ -998,3 +998,76 @@ def test_binky_rhythm_unknown_kind_returns_error_shape(monkeypatch) -> None:
|
|||
|
||||
assert result["items"] == []
|
||||
assert "unknown kind" in result["error"]
|
||||
|
||||
|
||||
def test_fi_brief_status_due_when_no_events(monkeypatch) -> None:
|
||||
_binky_resolver_env(monkeypatch, {"fi_daily_brief": []})
|
||||
|
||||
result = StateHubContextResolver().resolve(
|
||||
"fi_brief_status", None, {"repo": "freedom-intelligence"}
|
||||
)
|
||||
|
||||
assert result["repo"] == "freedom-intelligence"
|
||||
assert result["items"] == [
|
||||
{
|
||||
"kind": "daily_brief",
|
||||
"due": True,
|
||||
"date": "2026-07-17",
|
||||
"last_run_at": None,
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
def test_fi_brief_status_not_due_after_todays_run(monkeypatch) -> None:
|
||||
_binky_resolver_env(
|
||||
monkeypatch,
|
||||
{
|
||||
"fi_daily_brief": [
|
||||
{
|
||||
"event_type": "fi_daily_brief",
|
||||
"created_at": "2026-07-17T05:30:00+00:00",
|
||||
"detail": {"repo": "freedom-intelligence"},
|
||||
}
|
||||
]
|
||||
},
|
||||
)
|
||||
|
||||
result = StateHubContextResolver().resolve(
|
||||
"fi_brief_status", None, {"repo": "freedom-intelligence"}
|
||||
)
|
||||
|
||||
item = result["items"][0]
|
||||
assert item["due"] is False
|
||||
assert item["last_run_at"] == "2026-07-17T05:30:00+00:00"
|
||||
|
||||
|
||||
def test_fi_brief_status_ignores_other_repo(monkeypatch) -> None:
|
||||
_binky_resolver_env(
|
||||
monkeypatch,
|
||||
{
|
||||
"fi_daily_brief": [
|
||||
{
|
||||
"event_type": "fi_daily_brief",
|
||||
"created_at": "2026-07-17T05:30:00+00:00",
|
||||
"detail": {"repo": "other-lab"},
|
||||
}
|
||||
]
|
||||
},
|
||||
)
|
||||
|
||||
result = StateHubContextResolver().resolve(
|
||||
"fi_brief_status", None, {"repo": "freedom-intelligence"}
|
||||
)
|
||||
|
||||
assert result["items"][0]["due"] is True
|
||||
|
||||
|
||||
def test_fi_brief_status_unknown_kind(monkeypatch) -> None:
|
||||
_binky_resolver_env(monkeypatch, {})
|
||||
|
||||
result = StateHubContextResolver().resolve(
|
||||
"fi_brief_status", None, {"repo": "freedom-intelligence", "kind": "weekly"}
|
||||
)
|
||||
|
||||
assert result["items"] == []
|
||||
assert "unknown kind" in result["error"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue