From ddc82bba4967f6ebfdec91818ce1f2d42292fa30 Mon Sep 17 00:00:00 2001 From: Lucas Kalil Date: Mon, 15 Jun 2026 22:41:26 -0300 Subject: [PATCH] docs: log daily refresh 15/06/2026 --- .agents/TODO.md | 2 +- .agents/project-memory.md | 21 ++++++++++++++++++ how-refresh-data.md | 45 ++++++++++++++++++++++++++++++++++++++- how-update.md | 10 +++++++++ 4 files changed, 76 insertions(+), 2 deletions(-) diff --git a/.agents/TODO.md b/.agents/TODO.md index 6c5b83e..51c4749 100644 --- a/.agents/TODO.md +++ b/.agents/TODO.md @@ -62,7 +62,7 @@ Use checkboxes to track progress. Items marked **🔴 BLOCKER** prevent release; ### 🟡 IMPORTANT - [x] ~~Replace mock `data/*.json` with real World Cup 2026 data~~ (2026-06-12 — full migration + smoke test; see project-memory) - [ ] Fill `thirdPlaceAssignment` in `bracket-config.json` after group stage ends (~2026-06-27; slot → allowed-groups table in project-memory) -- [ ] Update `results.json` as the tournament progresses (results updated through match id 13 on 2026-06-15) +- [ ] Update `results.json` as the tournament progresses (results updated through match id 15 on 2026-06-15) - [ ] Real stadium photos + team flag SVGs in `assets/images/` (10 new-team flags created 2026-06-12 in placeholder style) - [ ] **Pós-Copa: estado final da home.** Quando a Final encerrar, o hero fica vazio (por design atual). Criar um estado pós-torneio (campeão/epílogo) na home — ver entrada "Hero cronômetro inteligente (2026-06-15)" em project-memory; provavelmente converge com a aba Stats (`stats-screen-plan.md`). diff --git a/.agents/project-memory.md b/.agents/project-memory.md index c36dfba..e927e94 100644 --- a/.agents/project-memory.md +++ b/.agents/project-memory.md @@ -309,6 +309,27 @@ Follow `how-refresh-data.md` (project root). In short: - **DATA_VERSION bumped to 2026-06-15-rev2** (segunda edição do mesmo dia, após o rev1 do match 12 + smart-hero). - Next: match 14 (BEL–EGY, Group G, 2026-06-15 19:00 UTC) e seguintes ainda `scheduled`. `thirdPlaceAssignment` intacto (13/72 jogos de grupo concluídos). +### Daily refresh (2026-06-15 — match 15) +- **Results updated through match id 15** (KSA–URU): + - id 15: KSA 1–1 URU (Group H) — confirmed Outlook India + ESPN + FOX Sports + Opta/TheAnalyst (Abdulelah Al-Amri 41' para a Arábia; Maxi Araújo 80' empata para o Uruguai de Bielsa). Jogado no Hard Rock Stadium, Miami. + - Stats added: possession 33/67, shots 7/28, cards 1/0 — fontes: posse 67% Uruguai (TheAnalyst, maior posse uruguaia em Copas desde 1966) → 33/67; finalizações 7/28 (TheAnalyst — Uruguai com 28 totais, 22 só no 2º tempo; ESPN listou 23/21 mas inconsistente com o domínio, descartado); cartões 1/0 (FOX live blog: amarelo Al-Amri 44' KSA, Uruguai sem cartões). +- **Nota:** o match 14 (BEL 1–1 EGY, Group G — posse 54/46, chutes 15/14, cartões 4/3) já estava `finished` no results.json no início deste run (editado num rev3 do mesmo dia, sem entrada de log própria); este refresh cobre o 15. +- Verified in preview (rev4): modal do jogo 15 mostra 33%/7/1 vs 67%/28/0 (PT) com a nota "stats em breve" sumida; console limpo. Group H agora com Spain/Cape Verde/Saudi Arabia/Uruguay todos com 1pt (dois 0-0… na verdade ESP-CPV 0-0 e KSA-URU 1-1, 4 times empatados em 1pt). +- **DATA_VERSION bumped to 2026-06-15-rev4.** +- Next: match 16 (IRN–NZL, Group G, 2026-06-16 01:00 UTC) e seguintes ainda `scheduled`. `thirdPlaceAssignment` intacto (15/72 jogos de grupo concluídos). + +### Commit convention — standardized (2026-06-15) + +- **Problema:** cada run do `/update-worldcup` deixava o `/git-semantic-commit` inventar um subject diferente (`data: update match 13 result and stats`, `data: update match 12 …`, etc.) — sem padrão. O usuário fez o último commit à mão num formato limpo (`data: update 15/06/2026 18:00 BELxEGY 1x1`) e pediu pra padronizar a partir dele. +- **Padrão definido (full em `how-refresh-data.md` → "Commit convention (standardized)"):** cada refresh = **2 commits**. + 1. **Data commit** (`results.json` + `DATA_VERSION`, + `bracket-config.json` no dia do third-place): + - 1 jogo → `data: update DD/MM/YYYY HH:MM HOMExAWAY HxA` + - N jogos → subject `data: update DD/MM/YYYY — N jogos` + 1 linha de corpo por jogo (`HH:MM HOMExAWAY HxA`). + - Pênaltis (só mata-mata): sufixo `(pen HxA)`. + 2. **Docs commit:** `docs: log daily refresh DD/MM/YYYY` (mexidas em `.agents/` + TODO). +- **Regras:** `DD/MM/YYYY`+`HH:MM` são a data/kickoff **UTC** do jogo (igual `matches.json`); códigos = 3 letras maiúsculas; separadores `x` minúsculo. `.agents/` fica fora do deploy FTP → mantê-lo em commit separado deixa o data commit (o que muda o site) com diff limpo. +- **Por quê 2 commits e não 1:** decisão do usuário (2026-06-15) — separa o que vai pro ar (data) do log interno (docs). + ### Daily refresh runbook (2026-06-12) - **`how-refresh-data.md` (project root) is the runbook for all updates during the tournament** — read it before touching any `data/*.json` from now on. It defines: daily `results.json` routine (scores/status, two-source rule, penalties only on ids 73–104), the one-time `thirdPlaceAssignment` fill (~Jun 27–28, slot → allowed-groups table), and the frozen files (stadiums/teams/groups/round32/assets/code — never edit). - `how-update.md` stays as the schema reference for the (completed) mock → real migration; `how-refresh-data.md` supersedes it for day-to-day work. diff --git a/how-refresh-data.md b/how-refresh-data.md index e0bbc1e..5221534 100644 --- a/how-refresh-data.md +++ b/how-refresh-data.md @@ -134,9 +134,52 @@ single-source (Wikipedia 17:00 PDT vs one ESPN summary implying 14:00 PDT). `thirdPlaceAssignment` is filled, **Knockout** R32 shows real team names. 4. Console must stay free of errors. +## Commit convention (standardized) + +Every `/update-worldcup` run produces **two commits**, in this order, with these +exact subject formats — do not improvise per run. + +### 1. Data commit — `results.json` + `DATA_VERSION` (+ `bracket-config.json` when the third-place fill happens) + +- **One match:** + ``` + data: update DD/MM/YYYY HH:MM HOMExAWAY HxA + ``` + e.g. `data: update 15/06/2026 18:00 BELxEGY 1x1` +- **Multiple matches:** short subject, one body line per match: + ``` + data: update DD/MM/YYYY — N jogos + + HH:MM HOMExAWAY HxA + HH:MM HOMExAWAY HxA + ``` + +Rules: +- `DD/MM/YYYY` and `HH:MM` are the match's **UTC** date/kickoff (same UTC used in + `matches.json` — a 9 p.m. PDT game is the next UTC day). +- Team codes are the 3-letter uppercase ids; separators are lowercase `x` + (`HOMExAWAY` and `HxA`). +- **Penalties** (knockout only): append `(pen HxA)`, e.g. + `data: update 04/07/2026 20:00 BRAxARG 1x1 (pen 4x3)`. +- The one-time `thirdPlaceAssignment` fill rides in the same data commit; note it + in the body line (`+ thirdPlaceAssignment filled`). + +### 2. Docs commit — `.agents/` memory + TODO log + +``` +docs: log daily refresh DD/MM/YYYY +``` + +`.agents/` is excluded from the FTP deploy, so keeping it a separate commit keeps +the data commit (the one that actually changes the live site) a clean diff. + +> The previous habit of letting `/git-semantic-commit` invent a fresh subject +> each run (`data: update match 13 result and stats`, `data: update match 12 …`) +> is **retired** — use the formats above verbatim. + ## After finishing Per project convention, append a short dated line to `.agents/project-memory.md` ("results updated through match id N on YYYY-MM-DD") and tick anything completed in `.agents/TODO.md` §6. Confirm `DATA_VERSION` in `assets/js/app.js` was bumped -to today's date (step 4 above) before committing. +to today's date (step 4 above) before committing with the two commits above. diff --git a/how-update.md b/how-update.md index ab0d69f..d52d1f5 100644 --- a/how-update.md +++ b/how-update.md @@ -249,3 +249,13 @@ Per this project's conventions, update `.agents/`: - Append a dated entry to `.agents/project-memory.md` documenting: data source used, the stadiums 30→16 decision (and final list if trimmed), and the `thirdPlaceAssignment` status (filled / partially filled / still null). + +### Commit convention + +This migration is a one-off; commit it descriptively (e.g. +`data: migrate mock → real WC2026 data`). For **day-to-day result updates** +during the tournament, the standardized commit format lives in +`how-refresh-data.md` → "Commit convention (standardized)": a `data:` commit per +refresh (`data: update DD/MM/YYYY HH:MM HOMExAWAY HxA`, or `— N jogos` with one +body line per match) plus a `docs: log daily refresh DD/MM/YYYY` commit. Use those +verbatim, not a freshly worded subject each run.