[codex] Unify freshness semantics#45
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6a76650b3a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ed411c95a4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77512a983f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. 🚀 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
inspect freshnesssurface and include the same freshness snapshot ininspect statslatestconceptlatest.mdis treated as a publish index and window labels readLatest windowWhy
The current operator surface makes several different timestamps look like the same kind of "latest" data. In practice, item coverage, successful workflow runs, derived trend or idea windows, and DB backups can diverge. This PR makes those differences explicit.
Impact
Operators can now inspect freshness without guessing from one run row or from
latest.md, and backup root resolution is explicit and configurable throughBACKUP_OUTPUT_DIR/backup_output_dir. The refactor-audit gate now also stops flagging registered CLI commands as dead code.Validation
uv run pytest tests/test_recoleta_specs_stats_cli.py tests/test_recoleta_specs_runs_cli.py tests/test_recoleta_specs_publish.py tests/test_trends_static_site.py tests/test_recoleta_specs_settings.py tests/test_recoleta_specs_maintenance_cli.py -quv run pytest tests/test_recoleta_specs_doctor_cli.py -quv run pytest tests/test_refactor_audit.py -q -k "typer_command_functions or pydantic_validator_methods"uv run pytest tests/test_recoleta_specs_stats_cli.py -q -k freshnessuv run pytest tests/test_recoleta_specs_publish.py -q -k "latest or publish_writes_local_markdown_notes_without_obsidian_or_telegram or publish_writes_markdown_index_when_telegram_daily_cap_reached"uv run python scripts/refactor_audit.py --fail-on-regressionuv run ruff check .