Add TraceDecay registry, LCM, and transcript audit improvements#142
Add TraceDecay registry, LCM, and transcript audit improvements#142ScriptedAlchemy wants to merge 6 commits into
Conversation
|
Follow-up design: lazy indexing for ignored dependency symbolsUser goal: keep expensive roots such as Current relevant code/docs:
Approaches considered:
Recommended first implementation slice:
Likely target areas:
Open design question:
|
f7390f1 to
476377c
Compare
476377c to
1d61cdb
Compare
Summary
tracedecay projectsCLI for global registry inspection:tracedecay projects listtracedecay projects search <query>tracedecay projects context <selector>--jsonoutputtracedecay_lcm_statusforprovider: "all"so it aggregates provider data instead of treatingallas a literal provider.catch_up: falsesupport totracedecay_message_searchfor strictly read-only audits of already-ingested transcript messages.tracedecay_lcm_grephash separator queries such asissue#123so Cursor transcript searches do not hit SQLite FTS syntax errors.tracedecay_contextwith bounded untracked project memory matches, includinginclude_memory,memory_limit, andmemory_min_trustcontrols, so fact-store context is visible in the normal code-context path without inflating explicit retrieval/recall counters.Audit basis
This branch came out of a 30-agent read-only audit of local Codex/Cursor/Hermes transcripts, TraceDecay project stores, LCM state, hook analytics, daemon logs, response handles, and global registry state.
Key observed problems:
provider="all"LCM status returned zero even when Codex/Cursor provider-specific counts were populated.tracedecay tool ...or manual store inspection.proj_b4a8bbe4953823c4to/home/zack/projects/tracedecay, while store metadata still references stale TokenSave roots./tmpaliases/project configs and orphan profile-sharded stores remain.analytics_events,savings_ledger, andturnsare empty in the active store, so adherence must be inferred from transcripts.${workspaceFolder}startup failures and an FTS#query failure.node_modulesshould stay ignored by default, but imported dependency symbols/types should be discoverable through lazy/on-demand dependency indexing instead of unignoring whole dependency trees.Tests
cargo fmt --checkcargo check --workspacecargo test --test cli_help_test -- --nocapturecargo test --test cli_non_interactive_test projects_ -- --nocapturecargo test --test mcp_handler_test lcm_status_all_provider_aggregates_provider_counts -- --nocapturecargo test --test mcp_handler_test lcm_status_all_provider_counts_payload_health_once -- --nocapturecargo test --test mcp_handler_test lcm_status_ -- --nocapture --test-threads=1cargo test --test mcp_handler_test message_search_catches_up_provider_transcripts_before_querying -- --nocapturecargo test --test mcp_handler_test message_search_can_skip_catch_up_for_read_only_audits -- --nocapturecargo test --test automation_skill_writer_runner_test -- --nocapturecargo test --test session_lcm_query_test grep_like_fallback_handles_hash_separator_queries -- --nocapturecargo test --test session_lcm_query_test grep_like_fallback_recalls_infix -- --nocapturecargo test --test mcp_handler_test context_ -- --nocapturecargo test --test mcp_handler_test context_memory -- --nocapturecargo test --test memory_test search_facts_bump_access_count_only_for_returned_results -- --nocapturecargo test --workspace --no-runtracedecay syncNote:
cargo test --test mcp_handler_test lcm_status_ -- --nocaptureshowed an existing parallel fixture collision inlcm_status_reports_lifecycle_fields_and_resolved_storage_scope; the same filtered LCM status suite passes with--test-threads=1.Follow-up work
config.jsonvsstore_manifest.jsonidentity drift./tmpprojects, orphan store dirs, branch DB retention, and response handles.analytics_events.skill_nameandanalytics_events.hint_categoryare populated instead of requiring transcript inference.${workspaceFolder}failures, add Cursor summary health checks, and sanitize/fallback LCM FTS queries containing#.node_modules/gitignored roots out of the primary graph while resolving imported symbols on demand.