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

62 lines
3.3 KiB
Markdown

# 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](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.