Skip to content

feat: unify local memory inspection, source tracing and visualization in the product journey #724

Open

Description

@cdeust

Problem

Cortex already has a separate visualization companion; a new UI should not be proposed as though nothing exists. The companion documents six reading angles but five database-backed views require PostgreSQL, whereas core Cortex advertises SQLite by default. That mismatch and the separate installation interrupt the first local memory → inspect → understand journey.

Proposed solution

Audit and reuse cortex-viz. Define one local product entry point that explains backend capability, exposes memories and sources, and makes pending/partial/error states understandable. Treat rendering as a tool for inspection and explanation, not only a large graph.

Acceptance evidence

  • From the supported default local install, inspect a recalled memory, its source and current validity; explicitly show unsupported backend capabilities.
  • Cover query → ranked results → supporting passage → dependent synthesis, plus ingestion/refresh progress and errors.
  • Provide useful empty, loading, partial and unavailable states; a failed dependency must not look like an empty memory store.
  • Validate the real rendered UI with representative public/synthetic data, keyboard support, reduced motion and large/small viewports.
  • Verify UI assets and runtime access stay local after documented provisioning; no mandatory account, analytics or remote font dependency.
  • Link companion-owned implementation work rather than duplicating its graph/layout engine inside Cortex.

Alternatives considered

Keep the current behavior and document its limits. This remains valid where the added guarantee has no user need; the issue should close with a documented product decision rather than assume that copying Hindsight is always appropriate. Reuse existing Cortex mechanisms before adding a second pipeline.

Scope assessment

HIGH. Raised from the October 10 Hindsight/Cortex comparison. Static observations refer to the pinned revisions below. They do not establish successful execution of Hindsight's whole pipeline or a repository-wide absence in Cortex. Priority is a proposal, not a release blocker.

Evidence

README.md:108; mcp_server/infrastructure/viz_client.py:1; companion README at inspected revision; Hindsight rendered documentation. Companion live behavior was not run against a user datastore; README/source inspection does not establish its current native rendering quality.

Related: #708 (default SQLite evidence), #703–#705 (first-use reliability). The companion checkout contains concurrent work and was inspected read-only.

Activity

  1. cdeust commented on Nov 5, 2026

    @cdeust
    OwnerAuthor

    CI autopilot : première tranche livrée dans #880 (Refs #724, pas Closes) : audit du compagnon de visualisation face aux stores par défaut de Cortex, sans changement de code.

    Constat : le compagnon ne lit que PostgreSQL à 127.0.0.1:5432/cortex. Un store SQLite, ou le PostgreSQL géré par le plugin (port choisi par le noyau, mot de passe SCRAM), le laisse en mode Trace seul, avec un message qui demande d'installer Cortex.

    Tranches restantes :

    1. Décision du propriétaire : le compagnon lit SQLite (implémenter STORE_BACKEND, déclaré mais lu nulle part), ou il reste PostgreSQL seul et les deux README le disent.
    2. Compagnon : découvrir l'URL du serveur géré au lieu du 5432 fixe.
    3. Compagnon : un message no-DB qui distingue « Cortex absent » de « Cortex présent sur un store illisible ».
    4. Cortex : une ligne du README qui dit quels stores lisent les vues du compagnon.
    5. Cortex : supprimer viz_client.py (plus aucun appelant) ou lui en redonner un.
    6. Critères d'UI rendue (clavier, mouvement réduit, viewports, assets locaux) : dépôt du compagnon, navigateur requis.

    Generated by Claude Code

  2. added a commit that references this issue on Nov 5, 2026
  3. cdeust commented on Nov 6, 2026

    @cdeust
    OwnerAuthor

    CI autopilot : tranche 5 livrée dans #900 (Refs #724, pas Closes).

    Cette tranche supprime mcp_server/infrastructure/viz_client.py et son test. Le module n'a aucun appelant depuis l'extraction de la stack de visualisation, et le fichier qui écrivait le registre qu'il lisait (mcp_server/server/viz_instance.py) n'existe plus. La baseline craftsmanship perd l'entrée fetch_live_graph. Tests lancés : 1903 réussis, 15 ignorés (wiki drift, scripts, mirror wiki, décisions partagées).

    Non vérifié localement : la suite complète, car torch n'a pas pu être installé dans cette session. La CI de #900 fait foi.

    Tranches restantes, inchangées : la 1, une décision du propriétaire (le compagnon lit-il SQLite, ou reste-t-il PostgreSQL seul et les deux README le disent ?) bloque la 4. Les 2, 3 et 6 relèvent du dépôt du compagnon. ADR-0623 est conservée telle quelle : à toi de dire si elle doit passer en superseded.


    Generated by Claude Code

  4. added
    autopilot:holdCI autopilot stood down: a human decision is required
    on Nov 6, 2026
  5. cdeust commented on Nov 6, 2026

    @cdeust
    OwnerAuthor

    CI autopilot : issue mise en hold — plus aucune tranche faisable sans décision ni hors de ce dépôt.

    Les tranches livrées ici sont fusionnées (#880, #900). Celles qui restent sont, d'après mon commentaire du 2026-11-06 :

    • 1 (décision du propriétaire) : le compagnon de visualisation lit-il SQLite (implémenter STORE_BACKEND), ou reste-t-il PostgreSQL seul, ce que les deux README diraient ? Cette réponse bloque la tranche 4 (la ligne du README de Cortex sur les stores lus par le compagnon).
    • 2, 3 et 6 : dépôt du compagnon (cortex-viz), hors du périmètre de cette routine.
    • Question restée ouverte : ADR-0623 doit-elle passer en superseded ?

    Il faut trancher la question 1. Un commentaire de ta part ici rendra l'issue de nouveau éligible.


    Generated by Claude Code

  6. cdeust commented on Nov 12, 2026

    @cdeust
    OwnerAuthor

    Décision : cette issue n'attend plus de réponse du propriétaire.

    Le propriétaire a demandé le 12 novembre 2026 que les issues avancent sans lui ; il ne répondra pas aux questions posées ici. Ce commentaire de cdeust lève le hold et précise la demande. Il vaut pour toute la suite de cette issue.

    • Tranche toi-même chaque question restée ouverte : d'abord une décision écrite et acceptée du dépôt (ADR accepté, docs/), puis ce que le texte de l'issue propose ou exclut, puis les standards du dépôt ; à défaut, la plus petite tranche qui réalise ce que l'issue demande. Une valeur qui manque se mesure, elle ne s'invente pas.
    • Écris la décision dans un commentaire marqué <!-- ci-autopilot decision --> (ce qui est retenu, la raison et sa source, ce qui est écarté, comment revenir en arrière), puis livre la tranche dans une PR. Une décision écrite ne se rejoue pas aux passages suivants.
    • Ne repose pas autopilot:hold pour une question : seulement pour l'irréversible, un accès que tu n'as pas, une dépendance nommée encore ouverte ou le plafond de tentatives, en nommant exactement ce qui manque.
    • Jamais de tag, de release, de montée de version du projet ni de déclenchement manuel d'un workflow.

    Règle complète : #343 (comment)

    Écrit par la session « écosystème autonome » sur instruction du propriétaire (12 novembre 2026).


    Generated by Claude Code

  7. removed
    autopilot:holdCI autopilot stood down: a human decision is required
    on Nov 12, 2026
  8. cdeust commented on Nov 12, 2026

    @cdeust
    OwnerAuthor

    Hold autopilot:hold levé : un commentaire de cdeust (« Décision : cette issue n'attend plus de réponse du propriétaire », 12/11/2026) a été posté après la pose du hold.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions