29 Commits

Author SHA1 Message Date
Ingo Schnabel
234ea76911 Roadmap 2026-09-23 15:31:45 +02:00
Ingo Schnabel
c3eaa0f55e Cleanup 2026-09-04 19:02:31 +02:00
Ingo Schnabel
ec924971a9 New features 2026-08-19 13:18:24 +03:00
Ingo Schnabel
56e20aee3b New features 2026-08-19 10:55:03 +03:00
Ingo Schnabel
64d1a75f7c Java improvements 2026-08-06 17:54:28 +02:00
Ingo Schnabel
54fa071730 Java improvements 2026-08-06 14:22:23 +02:00
Ingo Schnabel
cac0cba379 Java improvements 2026-08-06 12:57:11 +02:00
Ingo Schnabel
ecfd8f94e2 Java bugs 2026-07-19 21:26:19 +02:00
Ingo Schnabel
b279ade285 Payload issue 2026-07-12 21:50:44 +02:00
Ingo Schnabel
bdee4446d5 SLoC and LoCs 2026-07-12 21:26:29 +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
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
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
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
2b50eb29a8 WIP may not work 2026-06-21 22:27:30 +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
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
45f757bd7b Agentic workflow 2026-06-15 18:33:42 +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
31d5c71d91 First implementation 2026-06-13 22:07:47 +02:00
Ingo Schnabel
ac2eb97979 Init 2026-06-13 15:37:12 +02:00