You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/weekly-report and /monthly-report have the same hole #580 fixed in /daily-check: when a platform's credentials are missing or its token has been rejected, the run completes and ships a report that looks whole. The affected section carries an auth-failure result where numbers should be, next to real figures from the platforms that did work. Nothing marks the report as partial, so a reader skimming it concludes the platform was quiet rather than unreadable.
For a weekly or monthly report the misread is worse than for a daily one: the numbers are period totals that get compared against a prior period and quoted onward, and a silently-missing platform reads as a genuine drop.
Current state
Neither skill mentions auth failure, credentials, or a partial report:
skills/weekly-report/SKILL.md (84 lines)
skills/monthly-report/SKILL.md (82 lines)
(plus their packaged copies under mureo/_data/skills/.)
emitted centrally from _no_creds_result and api_error_handler, with the vocabulary in mureo/core/auth_failure.py. Both skills read _mureo-shared/SKILL.md as a prerequisite, and #580 documented the envelope there, so they already inherit the description of the marker — they just have no instruction to branch on it.
What should happen
Give each skill the branch /daily-check now has: mark the report partial, name the platform and the auth cause at the top, and withhold any comparison or recommendation that depends on the missing platform's data.
This was deliberately left out of PR #601: the two skills have different report structures and their own line-count pins, so it is not the same edit and would have widened that PR past its issue.
Period-over-period comparison is the part that needs the most care: a period whose data is partial must not be silently compared against a complete one.
Keep skills/<name>/SKILL.md and mureo/_data/skills/<name>/SKILL.md byte-identical; the repo enforces this.
Check the line-count pins before editing — both skills have them.
What happens
/weekly-reportand/monthly-reporthave the same hole #580 fixed in/daily-check: when a platform's credentials are missing or its token has been rejected, the run completes and ships a report that looks whole. The affected section carries an auth-failure result where numbers should be, next to real figures from the platforms that did work. Nothing marks the report as partial, so a reader skimming it concludes the platform was quiet rather than unreadable.For a weekly or monthly report the misread is worse than for a daily one: the numbers are period totals that get compared against a prior period and quoted onward, and a silently-missing platform reads as a genuine drop.
Current state
Neither skill mentions auth failure, credentials, or a partial report:
skills/weekly-report/SKILL.md(84 lines)skills/monthly-report/SKILL.md(82 lines)(plus their packaged copies under
mureo/_data/skills/.)What #580 already gives them
#580 (PR #601) made auth failure machine-distinguishable, so the detection half is done. Every platform now answers an auth failure with:
{"status": "auth_error", "auth_cause": "no_credentials" | "token_invalid", "detail": "<the operator-facing sentence>"}emitted centrally from
_no_creds_resultandapi_error_handler, with the vocabulary inmureo/core/auth_failure.py. Both skills read_mureo-shared/SKILL.mdas a prerequisite, and #580 documented the envelope there, so they already inherit the description of the marker — they just have no instruction to branch on it.What should happen
Give each skill the branch
/daily-checknow has: mark the report partial, name the platform and the auth cause at the top, and withhold any comparison or recommendation that depends on the missing platform's data.This was deliberately left out of PR #601: the two skills have different report structures and their own line-count pins, so it is not the same edit and would have widened that PR past its issue.
Notes for whoever picks this up
/daily-check's wording rather than inventing a second phrasing — see the step-4 and step-10 additions in PR fix: make an auth failure a first-class outcome, not report text #601.skills/<name>/SKILL.mdandmureo/_data/skills/<name>/SKILL.mdbyte-identical; the repo enforces this.Found while implementing #580.