- Test 1: diagram_content_hash populated with SHA-256 when RouteGraph exists
- Test 2: diagram_content_hash empty when no RouteGraph exists for route
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use correlationId scoping and >= assertions for status/duration tests
- Prevents false failures when other test classes seed data in same container
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Implement findRawById and findProcessorSnapshot in ClickHouseExecutionRepository
- DetailController with GET /executions/{id} returning nested processor tree
- GET /executions/{id}/processors/{index}/snapshot for per-processor exchange data
- 5 unit tests for tree reconstruction (linear, branching, multiple roots, empty)
- 6 integration tests for detail endpoint, snapshot, and 404 handling
- Added assertj and mockito test dependencies to core module
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ClickHouseSearchEngine with dynamic WHERE clause building and LIKE escape
- SearchController with GET (basic filters) and POST (advanced JSON body)
- SearchBeanConfig wiring SearchEngine, SearchService, DetailService beans
- 13 integration tests covering all filter types, combinations, pagination, empty results
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Eclipse ELK core + layered algorithm and JFreeSVG dependencies to app module
- Create DiagramRenderer interface in core with renderSvg and layoutJson methods
- Create DiagramLayout, PositionedNode, PositionedEdge records for layout data
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ExecutionController: POST /api/v1/data/executions (single or array)
- DiagramController: POST /api/v1/data/diagrams (single or array)
- MetricsController: POST /api/v1/data/metrics (array)
- All return 202 Accepted or 503 with Retry-After when buffer full
- Fix duplicate IngestionConfig bean (remove @Configuration, use @EnableConfigurationProperties)
- Fix BackpressureIT timing by using batch POST and 60s flush interval
- All 11 integration tests green
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ExecutionControllerIT: single/array POST, flush verification, unknown fields
- DiagramControllerIT: single/array POST, flush verification
- MetricsControllerIT: POST metrics, flush verification
- BackpressureIT: buffer-full returns 503, buffered data not lost
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AbstractClickHouseIT base class with Testcontainers ClickHouse and schema init
- ProtocolVersionInterceptor validates X-Cameleer-Protocol-Version:1 on data/agent paths
- WebConfig registers interceptor with path patterns, excludes health/docs
- Cameleer3ServerApplication with @EnableScheduling and component scanning
- application-test.yml with small buffer config for tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create 01-01-SUMMARY.md with execution results
- Update STATE.md with plan progress and decisions
- Update REQUIREMENTS.md marking INGST-04, INGST-05, INGST-06 complete
- Update ROADMAP.md with phase 01 progress
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- WriteBuffer<T> with offer/offerBatch/drain and backpressure (all tests green)
- ExecutionRepository, DiagramRepository, MetricsRepository interfaces
- MetricsSnapshot record for agent metrics data
- IngestionConfig for buffer-capacity/batch-size/flush-interval-ms properties
- ClickHouseConfig exposing JdbcTemplate bean
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Test offer/offerBatch/drain/isFull/size/capacity/remainingCapacity
- Tests fail because WriteBuffer class does not exist yet (TDD RED)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Integration tests in 01-02 extend AbstractClickHouseIT from 01-03.
Both were wave 2 (parallel), causing potential compilation failure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove AbstractClickHouseIT and application-test.yml from Plan 01-01,
move to Plan 01-03 Task 1 (reduces 01-01 from 15 to 13 files)
- Change Plan 01-02 Task 1 tdd="true" to tdd="false" (compile-only verify)
- Add DiagramRepository and MetricsRepository flush key_links to Plan 01-02
- Update VALIDATION.md: INGST-06 TTL maps to HealthControllerIT#ttlConfigured*
instead of non-existent ClickHouseTtlIT
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Both repos transferred from claude user to cameleer organization.
Updated all Maven registry URLs and CLAUDE.md references.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multi-module Maven project (server-core + server-app) with Spring Boot 3.4.3,
Gitea CI workflow, and dependency on cameleer3-common from Gitea Maven registry.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>