Files
codebase-memory-mcp/docs/development/pr-2068-worklog.md
T
Bernhard Jackiewicz 0b47b7f5ec docs(ui): hand off PR 2068 repairs with browser evidence and known limits
Record the failed first pass, integrated repairs, actual Playwright flows,
source and research decisions, same-port daemon behavior and maintainer entry
points. Include before/after screenshots and the final map recheck after login.
Archive original test logs losslessly with SHA-256 records; retain failed runs
separately instead of presenting them as successful checks.

Disclose unresolved global C lint, parser callsite coordinates, heuristic
architecture roles, manual diff narrowing and outstanding platform validation.

Signed-off-by: Bernhard Jackiewicz <bj@techport.io>
2026-09-10 00:09:12 +02:00

3.3 KiB

PR 2068: repository map implementation record

Starting state (2026-09-09)

The supplied workspace was empty. Cloned DeusData/codebase-memory-mcp, feat/codeatlas-web, at 80f4f41f9bcb9daf60afc5f607bcbcba24a4b196. The checkout was clean. PR base is feat/atlas-r1. No other branch, user worktree, remote, or Git history has been modified.

Read PR description, all five discussion comments and changed-file list; reviewed the architecture/front-end and daemon seams in the local diff/source. The latest branch also contains the exploration, Architecture, Activity and System workspaces, beyond the original PR description. CONTRIBUTING.md supplies build/test/security conventions. There is no checked-in AGENTS.md. The user's explicit instruction authorizes implementation on this existing PR.

The C daemon coordinates MCP clients and owns HTTP on one listener. Graph databases are per-project SQLite. Agent hooks currently write JSONL; a Node bridge on 4142 forwards SSE. UI logs POST to the daemon but persist separately as a rotated file; /api/logs reads a bounded process-memory ring. Architecture uses get_architecture and indexed files/callable sweeps. Group boundaries carry counts but no drill-through to their constituent edges. The older impact modal follows changed-file callers but does not use Git co-change evidence. “Why are you here?” is an onboarding task chooser, not contextual relevance. Coverage already joins index_status and paginated check_index_coverage; this is the diagnostic source to preserve.

Verification setup

Production embedded baseline built with scripts/build.sh --with-ui BUILD_DIR=build/baseline. Actual repository indexed via POST /api/index, project cbm-pr2068, isolated cache /tmp/cbm-2068-cache and rendezvous /tmp/cbm-2068-runtime. One daemon HTTP listener at 127.0.0.1:9749. User configuration and existing indexes remain untouched. Browser artifacts live under graph-ui/verification/pr-2068; generated screenshots are actual browser captures, not illustrations.

Baseline frontend: 157 files / 2334 tests passed, npm run test:unit.

Implementation order

  1. Durable local agent/log store with bounded same-port polling and replay.
  2. Bounded structural impact and Git history, evidence and uncertainty apart.
  3. Repository → subsystem candidate → file → symbol and relationship evidence.
  4. Selection context from static graph and separately observed tool events.
  5. Shared visible failure feed and explicit local diagnostic review.
  6. End-to-end browser checks, sanitizer/unit/contract gates and final limitations.

No new frontend framework or model dependency is planned. Research findings, identity ambiguity and licensing decisions are recorded separately.

Delivered implementation

The implemented behavior, final tests, real before/after screenshots, research decisions and limitations are recorded in pr-2068-delivery.md. The full native run passed 7,954 tests across 141 suites, with seven skips. A subsequent genuine unreadable-file E2E exposed a clean-worker / failed-tool status mismatch; the coordinator fix passed 129 focused sanitizer tests. Final frontend: 166 files / 2,377 unit tests, 203 acceptance contracts, TypeScript, production build, style and promise gates passed. Global C lint remains open for the documented baseline/style/tooling reasons. No push was performed.