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
fix: address gemini-code-assist 4th review on PR #1
Accepted (5 / 9):
- .pre-commit-config.yaml: bump astral-sh/ruff-pre-commit rev v0.8.4
→ v0.15.13. The 0.8.4 tag really does not exist (gemini was right);
v0.15.13 is current and matches the pinned `ruff` runtime version.
[HIGH]
- .github/dependabot.yml: Asia/Tokyo → Etc/UTC for all three update
blocks. Neutral default for a public repo. [MEDIUM]
- README.md: rewrite the scoring formula description to match the
actual `(freshness × 2) + (keyword × source-weight) + severity`
implementation (it was incorrectly listed as fully multiplicative).
Also update the Layout block: `pr-checks.yml` was replaced by
`ci.yml` plus `codeql.yml` and `audit.yml` two commits ago but the
doc still pointed at the old name. [MEDIUM]
- scripts/awsdd/_dates.py (new): house the shared `parse_iso` and an
EPOCH constant. score.py and report.py now import from it instead
of carrying duplicate `_parse_iso` definitions. [MEDIUM - DRY]
- web/src/lib/data.ts: hoist the `86_400_000` magic number into a
`MS_IN_DAY` constant. [MEDIUM]
Rejected (4 / 9), reasoning:
- requirements{,-dev}.txt "version does not exist" [CRITICAL ×2]:
verified via `curl https://pypi.org/pypi/<pkg>/<ver>/json` — all
seven pinned versions return HTTP 200 and `pip install` succeeds
both locally and in every prior CI run. Gemini's knowledge cutoff
predates these releases; the pins stay.
- pyproject.toml `SIM108` (ternary nag) [MEDIUM]: deliberately
disabled because `if/else` blocks often read clearer than nested
ternaries in this code base. No change.
- collect_rss `BeautifulSoup` swap [MEDIUM]: regex strip + DOMPurify
sanitization on the rendering side already cover the layered
defense; the dep cost outweighs the marginal robustness gain for
the well-formed AWS feeds we consume. No change.
Regenerated seed reports so the committed sample matches the (byte-
identical) output the formatter now produces.
Score = `freshness × keyword × source-weight × severity`. Items below the threshold stay in `normalized.json` but are not surfaced in the report.
24
+
Score = `(freshness × 2) + (keyword × source-weight) + severity`. The keyword × source-weight product means an item with zero keyword hits only gets the freshness baseline, so generic What's-New noise does not float into topic-specific tracks. See [`scripts/awsdd/score.py`](./scripts/awsdd/score.py) for the exact weights.
0 commit comments