174 Commits

Author SHA1 Message Date
Ingo Schnabel
4cbc4c8c3b Payload issue 2026-07-12 22:34:22 +02:00
Ingo Schnabel
b279ade285 Payload issue 2026-07-12 21:50:44 +02:00
Ingo Schnabel
37b70b64d4 Payload issue 2026-07-12 21:47:24 +02:00
Ingo Schnabel
a0f4bb3369 Payload issue 2026-07-12 21:42:26 +02:00
Ingo Schnabel
1f3d94e662 Payload issue 2026-07-12 21:41:59 +02:00
Ingo Schnabel
bdee4446d5 SLoC and LoCs 2026-07-12 21:26:29 +02:00
Ingo Schnabel
fe9fd3064d Roadmap UI 2026-07-12 18:47:52 +02:00
Ingo Schnabel
a18f8287fe Test + Roadmap 2026-07-12 17:01:05 +02:00
Ingo Schnabel
4ed10a8c70 Implement roadmap items 36, 40-42: lazy three-tier ingest
36 — Tier-1 coarse reference scan on project create (CoarseScanner SPI +
  Natural/Java scanners); durable ingestStatus lifecycle + warm concurrency cap.
40 — Unresolved-reference flag on placeholder nodes (search_identifier/inspect_node).
41 — Stale-source check: SourceHash per file, module_source/node_source return
  STALE_SOURCE when the file on disk changed.
42 — Single refresh surface (REST/MCP/CLI) replacing ingest_all/ingest_module/
  ingest-call-graph; ~20 ITs migrated. Full suite green (129 ITs + 55 unit).
2026-07-12 13:46:54 +02:00
Ingo Schnabel
12f11d0086 Logging 2026-07-10 11:29:25 +02:00
Ingo Schnabel
0d95e3fd7e Logging 2026-07-09 18:55:12 +02:00
Ingo Schnabel
f622a331bc New commands for cli 2026-07-09 18:27:26 +02:00
Ingo Schnabel
8e4eb4ae28 Implement roadmap items 31-35: inherited wiring, repo/entity own DB tables, function kind filter, bulk overrides, modules extends filter 2026-07-09 09:15:10 +02:00
Ingo Schnabel
65c3d04bb4 Tests 2026-07-09 06:49:23 +02:00
Ingo Schnabel
bcd9d4698b Snippets and version 2026-07-08 22:18:48 +02:00
Ingo Schnabel
0126e95c81 Improvements 2026-07-07 21:12:22 +02:00
Ingo Schnabel
a7f727aebf Improvements 2026-07-07 20:47:41 +02:00
Ingo Schnabel
a09ac514a5 Improvements 2026-07-07 19:10:24 +02:00
Ingo Schnabel
0cc532258e J7+J8: resolve DB-table access through inherited Panache base classes
RiskRepository-style repositories that get their Panache-ness through a
  project base class (RiskRepository extends AbstractPurRepository<Risk,
  String>, AbstractPurRepository implements PanacheRepositoryBase) never
  resolved repositoryEntity, so db-accesses/sql-statements stayed empty
  (J7). Parser now tags such a base class with panacheEntityTypeParam +
  typeParams, and EXTENDS edges with typeArgs; a new
  resolve-panache-inherited-entity enrichment step binds them to set
  repositoryEntity before the existing resolve-java-db-access step runs.

  J8 (constant-valued @Entity(name=...)) turned out to already work via
  existing constant resolution — verified, no code change needed.

  Adds JavaDbAccessInheritedRepoIT + fixtures; updates roadmap/features/
  agent-module-analysis docs.
2026-07-07 18:03:44 +02:00
Ingo Schnabel
c533afe784 J1-J6 2026-07-07 13:21:40 +02:00
Ingo Schnabel
e03cba97e0 MCP 2026-07-07 07:53:36 +02:00
Ingo Schnabel
56fa3fe0a3 doc 2026-07-02 21:17:42 +02:00
Ingo Schnabel
7805940340 Simplyfied enrichment 2026-07-02 08:41:44 +02:00
Ingo Schnabel
28c662ae47 Simplyfied enrichment 2026-06-22 13:35:39 +02:00
Ingo Schnabel
8a71ff5986 P1-t,v,w 2026-06-22 08:40:08 +02:00
Ingo Schnabel
9462584101 Featuer List. -> Everything done 2026-06-22 08:11:12 +02:00
Ingo Schnabel
3540345119 WIP may not work 2026-06-22 08:06:58 +02:00
Ingo Schnabel
2b50eb29a8 WIP may not work 2026-06-21 22:27:30 +02:00
Ingo Schnabel
68f750e036 Java Inheritance 2026-06-21 19:10:04 +02:00
Ingo Schnabel
36a8eb28b1 Webservice dispatcher 2026-06-21 17:09:55 +02:00
Ingo Schnabel
f3d48cac90 Serach identifier by value
Add scope to data
2026-06-21 15:04:08 +02:00
Ingo Schnabel
b0f015c2d7 CallKind.CALLNAT_DYNAMIC
intra-module resolver Cypher + placeholder cleanup
multi-line CALLNAT argument capture
cross-module constant-propagation
2026-06-21 14:26:33 +02:00
Ingo Schnabel
f8c6dd1cf7 CallKind.CALLNAT_DYNAMIC
intra-module resolver Cypher + placeholder cleanup
multi-line CALLNAT argument capture
cross-module constant-propagation
2026-06-21 14:22:53 +02:00
Ingo Schnabel
f1b35c92ab Layered ingest: call-graph mode, depth guard, scoped deep resolution
Split ingest into two layers so a single project can hold the whole
call graph cheaply and accumulate deep (field-level) detail per program
over time:
2026-06-21 10:20:02 +02:00
Ingo Schnabel
1c6d8326c9 Improvemnts 2026-06-20 20:21:24 +02:00
Ingo Schnabel
6b6462ddd9 Ingest all correctly 2026-06-19 18:48:10 +02:00
Ingo Schnabel
dc888f8064 Improvements 2026-06-19 16:01:56 +02:00
Ingo Schnabel
e969b4aab4 Fix Java 2026-06-17 15:25:31 +02:00
Ingo Schnabel
cbc0631038 Resolve cross-class Java call graph with module-level CALLS edges
- Support class-to-class `CALLS` edges for typed-receiver, constructor, and static calls, spanning files consistently with Natural `CALLNAT`.
- Deduplicate placeholder module nodes for cross-class targets to avoid edge loss on merge-key collisions.
- Update `JavaParserTest` with new test for cross-class call graph resolution; expand IT test coverage.
- Extend docs and roadmap with implementation details and example use cases (e.g., `OrderController` fixture).
2026-06-17 14:04:45 +02:00
Ingo Schnabel
2c1b00b8b4 Add field-level dataflow and pagination support; improve CLI test coverage
- Implement field-level dataflow for shared PDA fields across module boundaries (`field-flow` endpoint).
- Support `limit` and `offset` pagination in CLI commands (`callers`, `callees`, `search-identifier`, etc.).
- Add CLI test coverage for resolution logic and option parsing.
- Handle module-level placeholders for bare field references in Natural.
2026-06-17 13:38:57 +02:00
Ingo Schnabel
5f44e8abfe Add Hibernate/JPA entity parsing and annotation resolution
- Recognize `@Entity` and `@MappedSuperclass` annotations and extract module-to-table mappings (`MAPS_TO`).
- Resolve constants in annotation attributes (e.g., `@Entity(name = TABLE_NAME)`).
- Capture JPA column metadata (column name, type, nullability, and converters) for fields annotated with `@Column`.
2026-06-17 00:08:17 +02:00
Ingo Schnabel
8821f8e5a1 Add Hibernate/JPA entity parsing and annotation resolution
- Recognize `@Entity` and `@MappedSuperclass` annotations and extract module-to-table mappings (`MAPS_TO`).
- Resolve constants in annotation attributes (e.g., `@Entity(name = TABLE_NAME)`).
- Capture JPA column metadata (column name, type, nullability, and converters) for fields annotated with `@Column`.
2026-06-16 23:37:34 +02:00
Ingo Schnabel
76373fda91 Correctness gaps and token efficiency gaps 2026-06-16 15:46:43 +02:00
Ingo Schnabel
df687a9abe Correctness gaps and token efficiency gaps 2026-06-16 15:46:39 +02:00
Ingo Schnabel
b5c0635a30 Correctness gaps and token efficiency gaps 2026-06-16 14:36:53 +02:00
Ingo Schnabel
8abe6df20c First run 2026-06-16 12:39:29 +02:00
Ingo Schnabel
45f757bd7b Agentic workflow 2026-06-15 18:33:42 +02:00
Ingo Schnabel
99e85acca3 Agentic workflow 2026-06-15 15:50:18 +02:00
Ingo Schnabel
fe6d24f031 Add lineNo to AstEdge and recognize DECIDE FOR/ON as control flow
- AstEdge now carries the source line of the relationship; both parsers
  populate it and Neo4j persists it as a relationship property so the
  same edge at different lines is no longer deduped.
- Expose lineNo in callers/callees and variable read/write API responses.
- NaturalParser recognizes DECIDE FOR/ON as a CONTROL_FLOW block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 15:18:57 +02:00
Ingo Schnabel
8d8db02674 Agentic workflow 2026-06-15 11:54:06 +02:00