mirror of
https://github.com/morluto/rea.git
synced 2026-11-12 09:52:27 +00:00
* feat(native): retain LLDB source coordinates and verify Pascal call entries Preserve partial line-table attribution for native locations and historical evidence compatibility. Verify owned Free Pascal call entries through CLI/MCP. Refs #2382, #2372, #2397 Co-Authored-By: Codex <noreply@openai.com> * docs: namespace native specifications by domain and feature Use stable descriptive paths instead of numeric prefixes to avoid parallel contribution collisions. Co-Authored-By: Codex <noreply@openai.com> * fix(native): bound Pascal verification and compare caller coordinates Address review findings at their producing boundaries and preserve directly affected consumers. Source inspection and git diff --check completed. Tests and automated checks were not run at the user’s explicit request. * fix(native): bound compiler shutdown and source-coordinate fixtures * docs: clarify historical native source verification * fix(native): preserve source attribution and compiler ownership * docs(native): qualify retained source attribution * fix(ci): clean up native Pascal verifier processes * test(native): type the Pascal verifier helper import after merging main Main now typechecks this boundary test, which imports the untyped canonical-temporary-directory helper and reads an unknown catch value. Add the helper's declaration file and narrow the caught error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(native): verify partial source attribution caveat * fix(native): retain verifier compiler cleanup ownership * fix(native): forward verifier cancellation and measure path bytes CLI and MCP artifact runs observe the verifier abort signal, and a failed Pascal verifier test stops the compiler group before deleting its directory. Repeated source locations grow by measured UTF-8 JSON bytes; workflow tokens, CPU and peak memory stay unmeasured. --------- Co-authored-by: Matheus Breguêz <matbrgz@gmail.com> Co-authored-by: Codex <noreply@openai.com> Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
# Implementation plan
|
|
|
|
## Boundary and contract
|
|
|
|
Extend nativeCodeLocationSchema in src/domain/native/nativeCallObservation.ts.
|
|
Reuse that shape for events, breakpoint locations, backtraces and retained journal
|
|
events. Keep the field optional for older evidence and nullable for current LLDB
|
|
observations with unavailable metadata. Each inner facet can be independently
|
|
unavailable; avoid dropping a valid line number because a file path is absent.
|
|
|
|
Read SBAddress.GetLineEntry once in the existing Python _location producer. A
|
|
valid SBFileSpec supplies its displayed path without filesystem access. Convert
|
|
zero line/column to null. An invalid entry returns null. Existing estimation and
|
|
serialization budget checks already traverse the location object recursively.
|
|
|
|
## Incremental work and validation
|
|
|
|
1. Define contracts and criteria before code; add failing producer tests.
|
|
2. Extend the canonical schema and _location producer. Update existing fake
|
|
address objects to implement the actual LLDB line-entry interface.
|
|
3. Extend provider/MCP boundary coverage and retained-journal coverage for the
|
|
additive field; preserve omission compatibility.
|
|
4. Extend the existing real macOS verifier with source-coordinate assertions
|
|
against its own Objective-C/C fixture built with debug information.
|
|
5. Update the native investigation guide; run Python tests, focused TypeScript
|
|
tests, repository checks and the real verifier if host authority permits.
|
|
|
|
## Effects and compatibility
|
|
|
|
The existing LLDB operation already owns its breakpoint callbacks and process
|
|
lifecycle. This adds a metadata read within that observation. It does not introduce
|
|
target execution or a new provider beyond existing behavior. No source file is
|
|
acquired from a path in debug information. Consumers of historical evidence retain
|
|
omission; consumers of new captures see either a partial/full object or null.
|
|
|
|
## References
|
|
|
|
- https://lldb.llvm.org/python_api/lldb.SBAddress.html
|
|
- https://lldb.llvm.org/python_api/lldb.SBLineEntry.html
|