Files
fn_registry/dev/issues/0088i-trading-journal-app.md

2.2 KiB

id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags
id title status type domain scope priority depends blocks related created updated tags
0088i Trading: app `trading_journal` (reflection log) pendiente feature
trading
app-scoped alta
2026-05-17 2026-05-17

0088i — Trading: app trading_journal (reflection log)

Status: pendiente Created: 2026-05-14 Type: feature Parent: 0088 Depends: 0088a, 0088d Blocks: 0088j (assertions sobre adherencia a reflection)

Problema

Sin post-mortem por trade y por sesion, "mejorar" es una ilusion. El journal fuerza la reflexion en momentos clave (close de trade, fin de sesion, dia de drawdown notable). Es la pieza de skill autoiterado propiamente dicha: no es codigo del runner, es el ledger psicologico/operativo del operador.

Piezas

  1. App projects/trading/apps/trading_journal/ (Mantine UI + sqlite_api + Go service).
  2. Schema:
    • sessions (id, started_at, ended_at, market_context, mood_tag, notes).
    • trade_reflections (id, trade_group_id (link a transactions), opened_at, closed_at, thesis, what_went_right, what_went_wrong, lessons, tags, screenshots_paths).
    • weekly_reviews (id, week_iso, sharpe_week, drawdown_week, n_trades, adherence_score, lessons).
    • tags (id, name, color).
  3. Reglas de UX:
    • Forzar reflection antes de marcar un trade_group como "closed". Si no se rellena, queda closed_pending_reflection y aparece destacado.
    • Atajo desde Mantine para vincular un trade con N screenshots (drop en local_files/).
  4. Funciones puras:
    • compute_adherence_score_py_finance(trades, plan_yaml) -> float (mide cuanto de lo ejecutado coincide con el plan declarado).
    • aggregate_weekly_metrics_py_finance(trades, reflections) -> dict.
  5. e2e_checks: build + smoke + check de force_reflection (intentar cerrar sin reflection devuelve 422).
  6. Capability group journal. Pagina madre docs/capabilities/journal.md.

Aceptacion

  • Cerrar trade sin reflection es imposible via UI/API.
  • Adherence score computable y exportable.
  • Weekly review autogenerado los domingos (cron) — opcional para cerrar el issue, no obligatorio.

No-objetivos

  • AI auto-resumiendo reflections — futuro.
  • Sentiment analysis sobre notas.