Files
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

434 lines
11 KiB
JSON

{
"startedAt": "2026-09-09T19:31:16.392Z",
"origin": "http://127.0.0.1:9749",
"fixture": "/tmp/cbm-2068-error-fixture",
"project": "pr2068-error-fixture",
"syntheticFixture": true,
"actions": [
{
"action": "Created synthetic C fixtures initially readable, including malformed partial.c and excluded.c",
"path": "/tmp/cbm-2068-error-fixture"
},
{
"action": "POST /api/index",
"project": "pr2068-error-fixture",
"root": "/tmp/cbm-2068-error-fixture",
"acknowledgement": {
"status": "indexing",
"slot": 0,
"path": "/tmp/cbm-2068-error-fixture"
}
},
{
"action": "Index terminal state",
"project": "pr2068-error-fixture",
"job": {
"slot": 0,
"status": "done",
"path": "/tmp/cbm-2068-error-fixture",
"error": ""
}
},
{
"action": "Set unreadable.c chmod 000; real EACCES verified; next reindex must fail",
"path": "/tmp/cbm-2068-error-fixture"
},
{
"action": "Closed first-visit welcome via its normal start button"
},
{
"action": "POST /api/index",
"project": "pr2068-error-fixture",
"root": "/tmp/cbm-2068-error-fixture",
"acknowledgement": {
"status": "indexing",
"slot": 0,
"path": "/tmp/cbm-2068-error-fixture"
}
},
{
"action": "Index terminal state",
"project": "pr2068-error-fixture",
"job": {
"slot": 0,
"status": "done",
"path": "/tmp/cbm-2068-error-fixture",
"error": ""
}
}
],
"directRequests": [
{
"at": "2026-09-09T19:31:16.422Z",
"method": "POST",
"path": "/api/index",
"status": 202
},
{
"at": "2026-09-09T19:31:16.424Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:16.927Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:17.429Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:17.931Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:18.476Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:18.978Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:18.981Z",
"method": "POST",
"path": "/rpc",
"status": 200
},
{
"at": "2026-09-09T19:31:18.984Z",
"method": "POST",
"path": "/rpc",
"status": 200
},
{
"at": "2026-09-09T19:31:23.626Z",
"method": "GET",
"path": "/api/logs?lines=500&min_level=error",
"status": 200
},
{
"at": "2026-09-09T19:31:23.628Z",
"method": "POST",
"path": "/api/index",
"status": 202
},
{
"at": "2026-09-09T19:31:23.630Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:24.135Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:24.641Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
},
{
"at": "2026-09-09T19:31:27.049Z",
"method": "GET",
"path": "/api/index-status",
"status": 200
}
],
"browserRequests": [
{
"at": "2026-09-09T19:31:20.013Z",
"method": "GET",
"url": "http://127.0.0.1:9749/?project=pr2068-error-fixture"
},
{
"at": "2026-09-09T19:31:20.041Z",
"method": "GET",
"url": "http://127.0.0.1:9749/assets/index-BLSH1buz.js"
},
{
"at": "2026-09-09T19:31:20.042Z",
"method": "GET",
"url": "http://127.0.0.1:9749/assets/index-D2YGlcrX.css"
},
{
"at": "2026-09-09T19:31:20.439Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/logs?lines=200&min_level=warn"
},
{
"at": "2026-09-09T19:31:20.453Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/layout?project=pr2068-error-fixture&max_nodes=5000"
},
{
"at": "2026-09-09T19:31:20.454Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/repository-map?project=pr2068-error-fixture"
},
{
"at": "2026-09-09T19:31:20.455Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "index_status"
},
{
"at": "2026-09-09T19:31:20.456Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/tree?project=pr2068-error-fixture"
},
{
"at": "2026-09-09T19:31:20.457Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "index_status"
},
{
"at": "2026-09-09T19:31:20.458Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "query_graph"
},
{
"at": "2026-09-09T19:31:20.458Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "get_architecture"
},
{
"at": "2026-09-09T19:31:20.486Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "check_index_coverage"
},
{
"at": "2026-09-09T19:31:20.486Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "query_graph"
},
{
"at": "2026-09-09T19:31:20.487Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "query_graph"
},
{
"at": "2026-09-09T19:31:20.495Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "query_graph"
},
{
"at": "2026-09-09T19:31:20.499Z",
"method": "POST",
"url": "http://127.0.0.1:9749/rpc",
"tool": "query_graph"
},
{
"at": "2026-09-09T19:31:23.491Z",
"method": "POST",
"url": "http://127.0.0.1:9749/api/ui-log"
},
{
"at": "2026-09-09T19:31:23.492Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/logs?lines=200&min_level=warn"
},
{
"at": "2026-09-09T19:31:23.565Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/processes"
},
{
"at": "2026-09-09T19:31:26.507Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/logs?lines=200&min_level=warn"
},
{
"at": "2026-09-09T19:31:26.628Z",
"method": "GET",
"url": "http://127.0.0.1:9749/api/processes"
}
],
"blockedExternalRequests": [],
"screenshots": [],
"checks": {
"coverageContainsPartial": true,
"coverageContainsExclusion": true
},
"cleanup": [
"unreadable.c restored to 0600"
],
"indexWithCoverage": {
"slot": 0,
"status": "done",
"path": "/tmp/cbm-2068-error-fixture",
"error": ""
},
"indexStatus": {
"project": "pr2068-error-fixture",
"nodes": 10,
"edges": 9,
"status": "ready",
"root_path": "/private/tmp/cbm-2068-error-fixture",
"indexed_at": "2026-09-09T19:29:28Z",
"parse_partial": {
"files": [],
"count": 1,
"truncated": true,
"omitted": 1
},
"skipped": {
"files": [],
"count": 0,
"truncated": false
},
"not_indexed": {
"dirs": [],
"dirs_count": 0,
"files": [],
"files_count": 1,
"truncated": true,
"files_omitted": 1
}
},
"coverage": {
"project": "pr2068-error-fixture",
"signal": "best_effort",
"indexed_at": "2026-09-09T19:29:28Z",
"metadata": {
"generation": "2026-09-09T19:29:28Z",
"index_mode": "full",
"recorded_at": "2026-09-09T19:29:28Z",
"recording_status": "complete",
"ignored_files_stored": 1,
"ignored_files_total": 1,
"hash_records_complete": true,
"coverage_version": 3,
"generation_matches": true
},
"paths": [
{
"requested_path": "unreadable.c",
"path": "unreadable.c",
"status": "no_recorded_issue",
"freshness": "metadata_changed",
"recommended_action": "read_source_and_reindex",
"coverage": []
},
{
"requested_path": "partial.c",
"path": "partial.c",
"status": "partial",
"freshness": "metadata_changed",
"recommended_action": "read_source_and_reindex",
"coverage": [
{
"path": "partial.c",
"kind": "parse_partial",
"match": "exact",
"ranges": [
{
"start": 2,
"end": 2
}
]
}
]
},
{
"requested_path": "excluded.c",
"path": "excluded.c",
"status": "excluded",
"freshness": "not_tracked",
"recommended_action": "read_source_and_reindex",
"coverage": [
{
"path": "excluded.c",
"kind": "not_indexed_file",
"match": "exact",
"detail": "cbmignore"
}
]
}
],
"path_total": 3,
"path_returned": 3,
"path_has_more": false,
"scopes": [
{
"requested_scope": ".",
"scope": ".",
"total": 2,
"returned": 2,
"truncated": false,
"entries": [
{
"path": "excluded.c",
"kind": "not_indexed_file",
"detail": "cbmignore"
},
{
"path": "partial.c",
"kind": "parse_partial",
"ranges": [
{
"start": 2,
"end": 2
}
]
}
],
"status": "known_gaps"
}
],
"scope_total": 2,
"scope_returned": 2,
"scope_truncated": false,
"has_more": false,
"caveat": "Best-effort signal only. No recorded issue does not prove graph or source completeness; read flagged source and qualify claims when metadata is changed or unavailable."
},
"failure": "AssertionError [ERR_ASSERTION]: Unreadable fixture input must fail a real daemon index job\n+ actual - expected\n\n+ 'done'\n- 'error'\n at failedJobWhileWatching (file:///Users/bernhard/Desktop/codebasememorymcp_branch%202068/graph-ui/tools/pr-2068-errors-e2e.mjs:83:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async main (file:///Users/bernhard/Desktop/codebasememorymcp_branch%202068/graph-ui/tools/pr-2068-errors-e2e.mjs:134:5)\n at async file:///Users/bernhard/Desktop/codebasememorymcp_branch%202068/graph-ui/tools/pr-2068-errors-e2e.mjs:162:7",
"confirmedProductBug": {
"observation": "Unreadable file triggered real worker ERROR but job reported done/rc=ok",
"sqliteRows": [
[
747,
"2026-09-09T19:31:26.163Z",
3,
"index.worker",
"level=error msg=index.worker record=level=error_msg=semantic_manifest.err_path=/private/tmp/cbm-2068-error-fixture/unreadable.c"
],
[
748,
"2026-09-09T19:31:26.163Z",
1,
"index.supervisor.reap",
"level=info msg=index.supervisor.reap outcome=clean exit_code=0 signal=0"
],
[
749,
"2026-09-09T19:31:26.173Z",
1,
"ui.index.done",
"level=info msg=ui.index.done path=/tmp/cbm-2068-error-fixture rc=ok"
]
]
}
}