deps(actions): Bump actions/checkout from 4 to 6#2
Conversation
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
Fechando: este PR aponta para |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
…N-v3] Implementa a invariante #2 do algorithms specialist: função única de normalização lexical, usada simétricamente em (a) signal de cache invalidation (futuro) e (b) SearchService.query() antes do plainto_tsquery. Drift entre as duas pontas quebra busca composta (k-pop vs kpop) silenciosamente. Escopo (intencional e mínimo): - lowercase (case-fold determinístico) - whitelist alfanumérico + acento pt-BR + espaço + hífen (defesa de profundidade contra H-01 XSS reflexão; camada principal é o serializer) - expansão de hífen: "k-pop" -> "k-pop kpop" (resolve algorithms §4 edge case "k-pop vs kpop NÃO casa sem normalização") - whitespace collapsing - dedup preservando ordem (garante idempotência f(f(x))==f(x)) Fora do escopo (delegado ao Postgres): - stemming (ts_lexize portuguese_stem) - unaccent (config pt_unaccent — ADR-019) - stopword removal (config portuguese) test_utils.py: 15 testes cobrindo lowercase, acentos pt-BR, expansão hífen, edge cases (vazio, emoji, HTML chars), idempotência, determinismo (100 calls = mesma saída), simetria signal/service (identity check via `is`), cenário concreto k-pop -> kpop matching. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Implementa o achado H-04 do SECURITY-REVIEW (CWE-524, ADR-037): cache key
inclui auth_tier ('anon'|'user'). Sem isso, resposta cacheada para
anônimo pode servir autenticado e vice-versa — vetor de vazamento de
metadata de tier (rate-limit remaining, futuros campos personalizados).
apps/search/cache.py:
- canonical_query_string(spec) -> str
Serializa (q normalizado, author_id, category_id, de, ate, per_page)
em JSON ordenado. Cursor NÃO entra aqui (faz parte do "estado de
paginação", não do "shape semântico").
- build_cache_key(spec, *, auth_tier) -> str
Formato: 'search:v1:<tier>:<sha256_hex>'. Prefix versionado casa com
cache.delete_pattern('search:v1:*') do signal de invalidação (próximo
commit). Tier inválido levanta ValueError (fail-fast — fallback
silencioso para pool comum reabriria H-04).
- normalize_search_text é re-aplicado no payload — garante simetria com
inv #2 (caches por "KPOP" e "kpop" são o mesmo).
test_cache.py: 11 testes cobrindo:
- Determinismo canonical string
- Normalização q (KPOP==kpop em cache)
- Filtros diferentes → keys diferentes
- Cursor excluído da canonical, mas incluído na build_cache_key
- H-04 invariante: anon vs user produzem keys diferentes
- ValueError em tier inválido (defesa fail-fast)
- Formato 'search:v1:<tier>:<64hex>' parseable
- per_page e date filters entram na key
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Bumps actions/checkout from 4 to 6.
Release notes
Sourced from actions/checkout's releases.
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
... (truncated)
Commits
de0fac2Fix tag handling: preserve annotations and explicit fetch-tags (#2356)064fe7fAdd orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set (...8e8c483Clarify v6 README (#2328)033fa0dAdd worktree support for persist-credentials includeIf (#2327)c2d88d3Update all references from v5 and v4 to v6 (#2314)1af3b93update readme/changelog for v6 (#2311)71cf226v6-beta (#2298)069c695Persist creds to a separate file (#2286)ff7abcdUpdate README to include Node.js 24 support details and requirements (#2248)08c6903Prepare v5.0.0 release (#2238)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)