Files
codebase-memory-mcp/graph-ui/verification/w4/bugwizard.json
T
Martin VogelandBernhard Jackiewicz 722a2424db docs(ui): CodeAtlasWeb proof artifacts, verbatim
The recorded proof runs of CodeAtlasWeb at 1825f9c850ac794066e02606012508b9d393c6aa:
screenshots, contact sheets, two screen recordings and the JSON reports
of every cycle's smoke run, gate run and audit (227 files, 65 MB).
Bernhard Jackiewicz's work, imported unchanged.

They sit in their own commit on purpose: his frozen acceptance checks
read them (tests/scaffold), his help page points readers at them, and
the maintainer may still decide to keep this history out of the public
tree. Dropping this commit removes exactly the artifacts and nothing
else; the four acceptance checks that bind the report to his
repository's own commits are not part of the CI gate either way.

Co-authored-by: Bernhard Jackiewicz <bj@techport.io>
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-09-05 20:38:59 +02:00

312 lines
9.4 KiB
JSON

{
"staticChains": 2,
"observedPathShown": true,
"observedCount": 3,
"observedLabel": "smoke-run",
"staticOnlyCount": 4,
"runtimeOnlyCount": 1,
"noTracesHonest": true,
"hopClickNavigates": true,
"port": 4271,
"leftoverProcesses": 0,
"project": "codeatlasweb-w4b",
"fixture": "fixtures/atlas-sample (Kopie in einem mkdtemp-Verzeichnis)",
"target": "createUser",
"timings": {
"buildMs": 9449,
"serverStartMs": 7076,
"totalMs": 43770
},
"generatedAt": "2026-08-28T20:34:06.221Z",
"error": null,
"extras": {
"blockedRequests": [],
"consoleErrors": [],
"pageErrors": [],
"baseCommit": "dccd2294150ef76ba57f4060a24397da3def60a6",
"indexed": {
"nodes": 76,
"edges": 178
},
"serverPort": 4270,
"beforeIngest": {
"status": "ready",
"target": "createUser",
"events": 0,
"staticPaths": 2,
"observedPaths": 0,
"staticOnly": 5,
"runtimeOnly": 0,
"staticChains": [
[
"src/server.ts",
"main",
"createApp",
"registerUserRoutes",
"createUser"
],
[
"create",
"createUser"
]
],
"observedChains": [],
"observedHops": [],
"edges": [
{
"kind": "static-only",
"from": "registerUserRoutes",
"to": "createUser",
"verdict": ""
},
{
"kind": "static-only",
"from": "createApp",
"to": "registerUserRoutes",
"verdict": ""
},
{
"kind": "static-only",
"from": "main",
"to": "createApp",
"verdict": ""
},
{
"kind": "static-only",
"from": "src/server.ts",
"to": "main",
"verdict": ""
},
{
"kind": "static-only",
"from": "create",
"to": "createUser",
"verdict": ""
}
],
"noTraces": {
"present": true,
"message": "No observed call came back for this symbol. CodeAtlas does not watch code while it runs; it reads back what somebody handed the analysis backend.",
"how": "Hand it a run with the CLI, against the same HOME the server reads. The tool is not on /rpc, so this page cannot do it for you:",
"command": "echo '{\"project\":\"codeatlasweb-w4b\",\"label\":\"my-run\",\"traces\":[{\"path\":[\"<caller qualified name>\",\"<callee qualified name>\"],\"count\":1}]}' | codebase-memory-mcp cli ingest_traces",
"format": "One entry is either {\"path\": [...]} with 2 to 256 qualified names, adjacent ones being caller and callee, or a bare {\"caller\": \"...\", \"callee\": \"...\"}. \"count\" and \"label\" are optional. Only pairs whose both ends are in the index are stored; up to ten unresolved names come back so a recorder can be fixed rather than silently losing data.",
"where": "The backend hands an observation back only where it also records the call, so a recorded call the index has no relation for is stored and cannot be read again through /api/trace or /api/flow."
},
"noDivergence": "",
"truncated": "The walk stopped after 4 hops or 6 chains with callers still to follow, so a chain shown here may be a floor rather than the whole way in."
},
"ingest": {
"status": "stored",
"label": "smoke-run",
"pairs_stored": 3,
"paths_stored": 1,
"pairs_unmatched": 0,
"unmatched_sample": [],
"pair_total": 3
},
"afterIngest": {
"status": "ready",
"target": "createUser",
"events": 2,
"staticPaths": 2,
"observedPaths": 1,
"staticOnly": 4,
"runtimeOnly": 1,
"staticChains": [
[
"src/server.ts",
"main",
"createApp",
"registerUserRoutes",
"createUser"
],
[
"create",
"createUser"
]
],
"observedChains": [
[
"registerUserRoutes",
"createUser"
]
],
"observedHops": [
{
"name": "createUser",
"count": 3,
"label": "smoke-run",
"lastSeen": "2026-08-28T20:33:54Z"
}
],
"edges": [
{
"kind": "static-only",
"from": "createApp",
"to": "registerUserRoutes",
"verdict": ""
},
{
"kind": "static-only",
"from": "main",
"to": "createApp",
"verdict": ""
},
{
"kind": "static-only",
"from": "src/server.ts",
"to": "main",
"verdict": ""
},
{
"kind": "static-only",
"from": "create",
"to": "createUser",
"verdict": ""
},
{
"kind": "runtime-only",
"from": "createUser",
"to": "validateUser",
"verdict": "the index records this call, it is simply not on a way in"
}
],
"noTraces": {
"present": false,
"message": "",
"how": "",
"command": "",
"format": "",
"where": ""
},
"noDivergence": "",
"truncated": "The walk stopped after 4 hops or 6 chains with callers still to follow, so a chain shown here may be a floor rather than the whole way in."
},
"hopClicked": {
"name": "main",
"expected": "src/server.ts",
"count": 1,
"readerAfter": "src/server.ts"
},
"gitStatus": [
"M src/services/userService.ts"
],
"reindexed": {
"nodes": 77,
"edges": 180
},
"impact": {
"status": "ready",
"mode": "worktree",
"badge": "high",
"tiles": [
{
"label": "changed files",
"value": "1"
},
{
"label": "symbols in them",
"value": "5"
},
{
"label": "one step out",
"value": "1"
},
{
"label": "2 steps out",
"value": "1"
},
{
"label": "endpoints",
"value": "2"
},
{
"label": "tests affected",
"value": "1"
},
{
"label": "untested affected",
"value": "6"
}
],
"rules": [
"2 endpoints are registered in a file this change reaches.",
"No test caller was found for 6 affected symbols."
],
"narrative": "1 file differs from the baseline, and the index places 5 symbols inside it. The analysis scoped the diff to 2 declarations, and the list below is the 5 symbols the index places inside those files. Walking the calls inwards reaches 2 further symbols within 2 steps. 2 endpoints are registered in a file this change reaches: GET /users, POST /users. No test caller was found for 6 affected symbols, so a change to them would go unnoticed by any automatic check.",
"evidence": [
{
"source": "detect_changes",
"claim": "1 file differs from the baseline, and the index places 5 symbols inside it.",
"value": "the change set the analysis reported, plus the calls into it (1 changed file, 7 symbols reported)"
},
{
"source": "detect_changes",
"claim": "The analysis scoped the diff to 2 declarations, and the list below is the 5 symbols the index places inside those files.",
"value": "the change set the analysis reported, plus the calls into it (2 seed declarations reported, 5 symbols listed)"
},
{
"source": "detect_changes",
"claim": "Walking the calls inwards reaches 2 further symbols within 2 steps.",
"value": "the change set the analysis reported, plus the calls into it (2 callers over 2 walked steps)"
},
{
"source": "architecture",
"claim": "2 endpoints are registered in a file this change reaches: GET /users, POST /users.",
"value": "the whole-project summary, including the routes CodeAtlas recovered (3 routes recovered, 2 reached)"
},
{
"source": "facts",
"claim": "No test caller was found for 6 affected symbols, so a change to them would go unnoticed by any automatic check.",
"value": "the per-symbol readings: complexity, and callers flagged as test code (7 symbols checked for test callers)"
}
],
"direct": [
"toUser",
"listUsers",
"createUser",
"create",
"countUsers"
],
"downstream": [
"registerUserRoutes",
"createApp"
],
"endpoints": [
{
"label": "GET /users",
"via": "file"
},
{
"label": "POST /users",
"via": "file"
}
],
"untested": 6,
"routeNote": "Routes were read off the text of 10 indexed source files.",
"refError": ""
},
"refCheck": {
"callsBefore": 1,
"callsAfter": 1,
"refError": "\"main..dev\" is not a usable git ref: a git ref holds no two consecutive dots. Nothing was asked of the analysis backend.",
"ref": "main..dev"
},
"apiRoutes": {
"/api/layout": 3,
"/api/tree": 21,
"/api/trace": 7,
"/api/flows": 3,
"/api/flow": 21
},
"rpcTools": {
"index_status": 3,
"search_graph": 4,
"query_graph": 82,
"get_code_snippet": 16,
"detect_changes": 1,
"get_architecture": 1
}
}
}