teqo-backup/docs
Francisco Solla 9ad96e3a53 feat(archive): varredura e reparo de integridade do acervo no Garage (C246)
Adiciona a CLI pnpm archive:integrity: varredura read-only de todas as archivePhoto (download + decode pelo mesmo caminho da rota pública e do índice facial; sai 1 enquanto houver mídia quebrada approved) e --apply que re-ingere do Flickr pelo flickrId, substitui o objeto na mesma chave via payload.update filePath (sem tocar curadoria/status) e rebaixa a draft as irrecuperáveis (removed intocado).

Dono da leitura ganha inspectPrivateMediaObject e isPrivateMediaMissingError (S3 NoSuchKey/404 + ENOENT local; checksum nunca é missing); archivePhotoIngest ganha repairArchivePhotoObject e withdrawArchivePhotoFromPublic; decisão do reparo em scripts/lib/archiveIntegrityRepair.mjs com deps injetadas e puro de CLI/recibo em scripts/lib/archiveIntegrityPlan.mjs. Sem migration, sem UI. Guardas: ARCHIVE_INTEGRITY_CONFIRM + TEQO_ENV exato + 4 S3_* (em qualquer modo no alvo não-local) + FLICKR_API_KEY. Runbook C246, changelog e unit/int/e2e afetado.
2026-10-02 10:27:32 -03:00
..
campaign-kit feat(C196): skill /reels-tutoriais — captura mobile + composição de vídeo 2026-09-18 21:50:28 -03:00
campanha chore(OPS105): remove workaround de visão Qwen — visão nativa do deepseek-flash (Closes #985) 2026-09-14 02:37:10 -03:00
changelog feat(archive): varredura e reparo de integridade do acervo no Garage (C246) 2026-10-02 10:27:32 -03:00
design-refs Version UX Pilot design refs and map them to roadmap plans 2026-07-18 16:36:09 -03:00
ops feat(archive): varredura e reparo de integridade do acervo no Garage (C246) 2026-10-02 10:27:32 -03:00
plans feat(archive): varredura e reparo de integridade do acervo no Garage (C246) 2026-10-02 10:27:32 -03:00
postmortems docs: registra merge, verify e staging do fix #1415 no post-mortem 2026-10-01 20:50:34 -03:00
research feat(C161): relatório Solla × Ceuci com votos por bairro (seções e locais de votação) 2026-09-14 04:36:17 -03:00
testing-audits docs(testing-audit): estado final protegido (draft fail-closed) — CI green no SHA final 2026-08-25 17:09:43 -03:00
AGENT-OPS.md fix(OPS71): ready-automerge de volta — AUTOMERGE_PAT rotacionado para o token longevo do gh + contrato/verificação (Closes #1176, #1177, #1184) 2026-09-19 03:07:29 -03:00
ARCHITECTURE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
CHANGELOG-AGENTS-HISTORY.md docs(OPS88): restaura HISTORY congelado (snapshot OPS85 intocado) 2026-08-24 16:12:44 -03:00
CUSTOMER.md style: prettier-format public-release docs 2026-07-31 13:16:22 -03:00
CUTOVER-MAIN-ONLY.md ops(OPS61): flip de issues pós-merge com PAT + gate do rollup checks + branch protection real no Forgejo 2026-08-18 17:45:54 -03:00
GUARDRAILS.md docs(audit-pass6): format — prettier normalization of the three artifacts 2026-08-25 11:29:03 -03:00
IMPROVE-APP-PLAN.md chore: public release tip — All Rights Reserved, sanitize field material 2026-07-31 12:53:12 -03:00
IMPROVE-CODE-QUALITY-PLAN.md docs(audit-pass6): format — prettier normalization of the three artifacts 2026-08-25 11:29:03 -03:00
PAYLOAD-REFERENCE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
roadmap.md ops(OPS91): sweep pós-cutover — textos vivos que apontavam o tracker ao Forgejo passam para o GitHub (Closes #841) 2026-08-24 15:08:14 -03:00
TECH-DEBT.md fix(OPS124): desabilita o plugin Payload do knip e explicita as exclusões (Closes #1094) 2026-09-16 19:55:07 -03:00
TESTING.md fix(e2e): clique no dia do calendário pelo contrato data-day — desbloqueia o verify (C104, miss #55) 2026-10-01 14:14:37 -03:00