Bitácora interna

Tareas del proyecto

Hecho y por hacer, sincronizado con la base de datos.

Pendientes

10

En curso

1

Bloqueadas

0

Completadas

5

  • ?️

    Confirmar esquema de news_articles

    DESCRIBE news_articles y SHOW CREATE TABLE para mapear columnas reales (título, fuente, país, fecha, pipeline_status, scores, hash, clean_content, raw_html, etc.) antes del listado con filtros.

    schema
  • Definir esquema de review (marcar ruido/duplicado/válido)

    Decidir: columna review_status en news_articles, o tabla news_article_reviews (article_id, status, reviewer, reason, created_at). Habilita los botones de validación humana.

    schema
  • ?

    /articles: tabla real con filtros

    Reemplazar SHOW TABLES por SELECT real de news_articles con paginación y filtros por querystring (país, fuente, status, fecha, tipo de evento).

    pages
  • ?

    /review: pendientes de validación humana

    Lista filtrada por pipeline_status pendiente con acciones rápidas (marcar válido/ruido/duplicado/irrelevante).

    pages
  • Endpoint POST para escribir feedback de review

    src/pages/api/articles/[id]/review.ts con prepared statements. Dependencia dura: schema de review definido.

    api
  • ?

    /events: agrupación por news_events

    Vista por evento jurídico: título del evento, cantidad de artículos asociados, países, scores promedio. Ayuda a evaluar calidad del clustering.

    pages
  • ♻️

    /duplicates: comparación lado a lado

    Detección y review manual de posibles duplicados. Hash similarity + decisión humana.

    pages
  • ?

    /quality: métricas + gráficos

    Evolución de % artículos válidos por día, top fuentes con ruido, entidades más frecuentes. Introduce el alias @charts.

    pages
  • ✏️

    Acciones de escritura sobre todo_tasks (UI)

    Botones ↑/↓ para reordenar, checkbox para completar, botón + para agregar. Hoy la bitácora es read-only.

    meta
  • ?

    Evaluar tabla todo_subtasks vs parent_id flat

    El schema actual ya soporta subtareas vía parent_id self-ref. Después de 2-3 semanas de uso decidir si separar a tabla aparte.

    meta
  • ☁️

    Migrar dashboard a consumir la API (Cloudflare)

    en curso

    Contrato definido en docs/api-contract-dashboard.md. Cuando la API implemente Fase 1: crear @lib/api.ts, reescribir @lib/queries/* de SQL a fetch conservando firmas, adapter @astrojs/cloudflare, retirar mysql2 y db/migrations.

    infra
  • ?

    Bitácora interna del dashboard (todo_tasks + componente)

    Tabla todo_tasks en DB, queries en @lib/queries/todos, @ui/TodoList portable, @components/todo/TodoWidget embebido en / y /404, página /bitacora con vista completa.

    meta
  • ?

    Arquitectura: aliases + layouts + componentes UI portables

    Aliases en astro.config + tsconfig. BaseLayout/DashboardLayout. Componentes @ui (Sidebar, Card, Badge, StatCard, PageHeader, EmptyState, ErrorBanner, TableList). Refactor de páginas existentes.

    ui
  • ?

    Conectar dashboard a MariaDB

    Pool mysql2/promise, env vars, SSR con @astrojs/node, Tailwind v4, página /articles con SHOW TABLES como primera verificación.

    infra
  • ?

    Push inicial al repo de GitHub

    Configurar origin y push de main → posta.business.dashboard.git. Resolución de conflicto en README.md tras merge --allow-unrelated-histories.

    repo
  • ?

    Página 404 con CTA al home + Button portable

    BaseLayout sin sidebar, dos CTAs (Volver al inicio / Ver artículos). Nuevo componente @ui/Button.astro reusable.

    pages