Fixed schema_version() bug: table queried as schema_version (no
underscore) but created as _schema_version (with underscore). All
store-dependent commands were broken after init.
Created stress-test epic (testaruda-b8j): 7 subtickets for
stress-testing the Python adapter against real-world codebases (harness,
codebase selection, git-history mining, import parsing validation,
performance benchmarking, edge case catalog, src-layout integration
test).
Ran issue-review skill on the epic: found dependency direction
inverted (harness blocked by research tickets instead of vice versa),
missing command names, unspecified language/tool decisions. Fixed all
findings.
Ran testaruda init on testaruda repo: discovered 137 Rust tests,
verified select with --pre-edit output works.
Fixed Rust adapter discover: added .flatpak-builder/ exclusion
(fotos project has 224k vendored .rs files in Flatpak build
artifacts).
Propagated CI test runner exit code: CI mode now exits with test
runner's code instead of always 0.
Added --safe flag to testaruda select: pre-flight checks
(testaruda.toml, store, git refs) with graceful fallback to cargo test.
Implies --ci. Replaces shell-based pre-push script.
Rolled out to 5 Rust projects: dont (9109 tests), espectacular
(281), fotos (66), pretender (186), wai (893). Each repo's lefthook.yml
now calls testaruda select --safe --base origin/main --head HEAD.
Ran Rule of 5 universal review on the changeset: found 1 CRITICAL
(CWD-relative pre-flight paths), 2 HIGH (orphaned script, missing
--base/--head docs), and 11 other issues. Fixed all.
Cross-project telemetry: ~/.config/testaruda/reports/ collects JSONL
usage logs from pre-push runs.
~/.local/bin/testaruda-pre-push deprecated: replaced by native
--safe flag. Script now forwards to it.
Decisions:
--safe flag lives in the binary, not a shell script — keeps fallback
logic versioned with the tool.
.testaruda/ is gitignored; testaruda.toml is committed as project
config.
Next:
Build the stress-test harness (testaruda-028) as a bash script in
scripts/stress-test.sh
Start selecting candidate Python codebases (testaruda-b1i) for
Python adapter validation
Investigate fotos distrobox git issue: testaruda select --safe can't
run git inside the distrobox container
Consider adding report logging to the --safe mode in the binary to
replace the orphaned script's telemetry
Session 19:12
(testimonial.jl — testaruda-xjt.1)
End-to-end adapter test: Built fixture project with
@testitem blocks, tested full pipeline: discover → ingest --raw → select
--files
fix: testaruda coverage attribution
(testaruda/src/store.rs): Runtime edges use
file:line format, but selection engine looks up by file
path. Added normalize_edge_target to strip
:line suffix, made paths relative to project root, grouped
by normalized path to avoid SQLite NULL-duplication.
fix: Testimonial.jl
_append_runtime_edges
(src/Protocol.jl): Was only emitting test file lines (empty
on Julia 1.12+). Changed to iterate coverage.source_files
for actual source file edges.
fix: Testimonial.jl _collect_coverage
(src/CoverageLayer.jl): Was looking for test file in LCOV
tracefile (never there). Changed to parse all source files from
tracefile, return per-source-file coverage.
fix: Testimonial.jl
build_driver_command
(src/CoverageLayer.jl): Resolved runner_dir relative to
package source dir, not pwd, so adapter works from any project
directory.