Skip to content

Commit c6b365d

Browse files
authored
Merge branch 'develop' into copilot/create-training-folder
2 parents 6a26e09 + fef77e4 commit c6b365d

226 files changed

Lines changed: 41564 additions & 702 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: Query Vectorized Execution CI
2+
3+
# Triggered on every push/PR that touches the VectorizedExecutionEngine sources,
4+
# its test file, or this workflow itself.
5+
on:
6+
push:
7+
branches:
8+
- main
9+
- develop
10+
paths:
11+
- 'include/query/vectorized_execution.h'
12+
- 'src/query/vectorized_execution.cpp'
13+
- 'tests/test_vectorized_execution.cpp'
14+
- 'cmake/CMakeLists.txt'
15+
- 'cmake/ModularBuild.cmake'
16+
- 'tests/CMakeLists.txt'
17+
- '.github/workflows/02-feature-modules/adaptive-query/query-vectorized-execution-ci.yml'
18+
pull_request:
19+
types: [opened, synchronize, reopened]
20+
paths:
21+
- 'include/query/vectorized_execution.h'
22+
- 'src/query/vectorized_execution.cpp'
23+
- 'tests/test_vectorized_execution.cpp'
24+
- 'cmake/CMakeLists.txt'
25+
- 'cmake/ModularBuild.cmake'
26+
- 'tests/CMakeLists.txt'
27+
- '.github/workflows/02-feature-modules/adaptive-query/query-vectorized-execution-ci.yml'
28+
workflow_dispatch:
29+
30+
concurrency:
31+
group: ${{ github.workflow }}-${{ github.ref }}
32+
cancel-in-progress: true
33+
34+
jobs:
35+
ci-scope-classifier:
36+
permissions:
37+
contents: read
38+
uses: ./.github/workflows/01-core/ci-scope-classifier.yml
39+
40+
# ---------------------------------------------------------------------------
41+
# Build and run the dedicated VectorizedExecution focused test suite.
42+
# Tests cover all acceptance criteria:
43+
# AC-1 VectorizedPredicate factory methods (eq/ne/lt/le/gt/ge/isNull/isNotNull)
44+
# AC-2 VectorizedQueryPlan stage composition and setLimit
45+
# AC-3 Filter operators: Eq, Ne, Lt, Le, Gt, Ge, IsNull, IsNotNull
46+
# AC-4 Project: subset of fields, unknown fields dropped
47+
# AC-5 Aggregate: Sum, Count, Avg, Min, Max; group-by support
48+
# AC-6 Sort: ascending and descending by field
49+
# AC-7 Combined plans: filter→project, filter→aggregate, plan+limit
50+
# AC-8 Edge cases: empty input, empty plan, no-match filter, all-match filter
51+
# AC-9 Stats tracking: batches_processed, rows_in, elapsed_ms; resetStats()
52+
# AC-10 Custom batch size: multi-batch processing with batch_size=2
53+
# ---------------------------------------------------------------------------
54+
query-vectorized-execution-unit-tests:
55+
needs: ci-scope-classifier
56+
if: needs.ci-scope-classifier.outputs.has_code_changes == 'true'
57+
name: Query Vectorized Execution tests (${{ matrix.os }} / ${{ matrix.compiler }})
58+
runs-on: ${{ matrix.os }}
59+
permissions:
60+
contents: read
61+
62+
strategy:
63+
fail-fast: false
64+
matrix:
65+
include:
66+
- os: ubuntu-24.04
67+
cc: gcc-13
68+
cxx: g++-13
69+
compiler: GCC-13
70+
- os: ubuntu-22.04
71+
cc: gcc-12
72+
cxx: g++-12
73+
compiler: GCC-12
74+
75+
steps:
76+
- name: Checkout repository
77+
uses: actions/checkout@v4
78+
79+
- name: Set up C++ build environment
80+
uses: ./.github/actions/setup-cpp-build
81+
with:
82+
cc: ${{ matrix.cc }}
83+
cxx: ${{ matrix.cxx }}
84+
extra-packages: >-
85+
nlohmann-json3-dev
86+
libssl-dev
87+
librocksdb-dev
88+
libspdlog-dev
89+
libfmt-dev
90+
libyaml-cpp-dev
91+
libtbb-dev
92+
libboost-all-dev
93+
libsimdjson-dev
94+
libsnappy-dev
95+
liblz4-dev
96+
97+
- name: Configure (vectorized execution test target)
98+
env:
99+
CC: ${{ matrix.cc }}
100+
CXX: ${{ matrix.cxx }}
101+
run: |
102+
cmake -B build -G Ninja \
103+
-DCMAKE_BUILD_TYPE=Debug \
104+
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
105+
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
106+
-DTHEMIS_ENABLE_LLM=OFF \
107+
-DTHEMIS_ENABLE_GPU=OFF \
108+
-DTHEMIS_ENABLE_TRACING=OFF \
109+
-DTHEMIS_ENABLE_MIMALLOC=OFF \
110+
-DTHEMIS_BUILD_BENCHMARKS=OFF \
111+
-DTHEMIS_BUILD_TESTS=ON
112+
113+
- name: Build focused test binary
114+
run: cmake --build build --target test_vectorized_execution_focused -- -j$(nproc)
115+
116+
- name: Run focused tests
117+
run: |
118+
cd build
119+
ctest --test-dir . -R VectorizedExecutionFocusedTests \
120+
--output-on-failure --timeout 60

.github/workflows/02-feature-modules/rag/rag-pipeline-ci.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,44 @@ jobs:
170170
--timeout 120 \
171171
2>&1 | tee rag_distributed_evaluator_ctest.txt
172172
173+
# ── REPLUG: LLM-scored retrieval and ensemble fusion ──────────────────
174+
#
175+
# Acceptance criteria verified:
176+
# AC-13 ReplugRetriever::fuse() interpolates retrieval and LLM scores
177+
# using configured lambda weight
178+
# AC-14 HeuristicLLMScorer returns scores in [0.0, 1.0]
179+
# AC-15 ReplugRetriever::updateRetrieverWeights() adjusts weights via
180+
# KL divergence minimisation (REPLUG-LSR gradient signal)
181+
# AC-16 ReplugRetrieverFactory produces Default/WithCustomScorer instances
182+
- name: Run ReplugRetrieverFocusedTests
183+
run: |
184+
set -o pipefail
185+
cd build
186+
ctest -R "ReplugRetrieverFocusedTests" \
187+
--output-on-failure \
188+
--timeout 120 \
189+
2>&1 | tee rag_replug_retriever_ctest.txt
190+
191+
# ── RLAIF: Constitutional AI / RLAIF training pipeline ────────────────
192+
#
193+
# Acceptance criteria verified:
194+
# AC-17 HeuristicAIJudge::critique() returns a critique string with
195+
# violation_detected flag set appropriately
196+
# AC-18 HeuristicAIJudge::revise() produces a non-empty revised response
197+
# AC-19 RLAIFTrainer::runTrainingStep() generates preference pairs for
198+
# all configured constitutional strategies
199+
# AC-20 RLAIFTrainer::processBatch() returns one preference pair per
200+
# input candidate
201+
# AC-21 RLAIFTrainerFactory produces Default/WithCustomJudge instances
202+
- name: Run RLAIFTrainerFocusedTests
203+
run: |
204+
set -o pipefail
205+
cd build
206+
ctest -R "RLAIFTrainerFocusedTests" \
207+
--output-on-failure \
208+
--timeout 120 \
209+
2>&1 | tee rag_rlaif_trainer_ctest.txt
210+
173211
- name: Upload test results
174212
if: always()
175213
uses: actions/upload-artifact@v4
@@ -182,6 +220,8 @@ jobs:
182220
build/rag_streaming_retriever_ctest.txt
183221
build/rag_prompt_injection_ctest.txt
184222
build/rag_distributed_evaluator_ctest.txt
223+
build/rag_replug_retriever_ctest.txt
224+
build/rag_rlaif_trainer_ctest.txt
185225
retention-days: 30
186226

187227
- name: Write job summary
@@ -210,3 +250,5 @@ jobs:
210250
echo "| ContextWindowFillerTest | Token budget enforcement |" >> "$GITHUB_STEP_SUMMARY"
211251
echo "| PromptInjectionDetector | Instruction-override, system-prompt leak, bidi |" >> "$GITHUB_STEP_SUMMARY"
212252
echo "| DistributedRAGEvaluator | MEAN/WEIGHTED_MEAN/MAJORITY_VOTING/BEST_OF_N |" >> "$GITHUB_STEP_SUMMARY"
253+
echo "| ReplugRetrieverFocusedTests | LLM-scored fusion, HeuristicLLMScorer, REPLUG-LSR (LM-Supervised Retrieval) weight update |" >> "$GITHUB_STEP_SUMMARY"
254+
echo "| RLAIFTrainerFocusedTests | Constitutional AI critique/revise, preference pairs, batch |" >> "$GITHUB_STEP_SUMMARY"
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
name: Epoch Fencing CI (Phase 4.1)
2+
3+
# Triggered on every push / PR that touches epoch fencing sources or tests.
4+
on:
5+
push:
6+
branches:
7+
- main
8+
- develop
9+
paths:
10+
- 'include/sharding/epoch_fencing.h'
11+
- 'src/sharding/epoch_fencing.cpp'
12+
- 'tests/test_epoch_fencing.cpp'
13+
- 'tests/CMakeLists.txt'
14+
- 'cmake/ModularBuild.cmake'
15+
- '.github/workflows/06-infrastructure/distributed/epoch-fencing-ci.yml'
16+
pull_request:
17+
types: [opened, synchronize, reopened]
18+
paths:
19+
- 'include/sharding/epoch_fencing.h'
20+
- 'src/sharding/epoch_fencing.cpp'
21+
- 'tests/test_epoch_fencing.cpp'
22+
- 'tests/CMakeLists.txt'
23+
- 'cmake/ModularBuild.cmake'
24+
- '.github/workflows/06-infrastructure/distributed/epoch-fencing-ci.yml'
25+
workflow_dispatch:
26+
27+
concurrency:
28+
group: epoch-fencing-${{ github.ref }}
29+
cancel-in-progress: true
30+
31+
jobs:
32+
ci-scope-classifier:
33+
permissions:
34+
contents: read
35+
uses: ./.github/workflows/01-core/ci-scope-classifier.yml
36+
37+
# ---------------------------------------------------------------------------
38+
# Build and run the EpochFencingFocusedTests target:
39+
#
40+
# EpochFencingFocusedTests — EpochFencingManager, LeaseManager,
41+
# NullStonithProvider, WAL persistence,
42+
# concurrent epoch bump + acquire safety
43+
# ---------------------------------------------------------------------------
44+
epoch-fencing-tests:
45+
needs: ci-scope-classifier
46+
if: needs.ci-scope-classifier.outputs.has_code_changes == 'true'
47+
name: Epoch Fencing Tests (${{ matrix.os }} / ${{ matrix.compiler }})
48+
runs-on: ${{ matrix.os }}
49+
permissions:
50+
contents: read
51+
52+
strategy:
53+
fail-fast: false
54+
matrix:
55+
include:
56+
- os: ubuntu-22.04
57+
compiler: gcc-12
58+
cc: gcc-12
59+
cxx: g++-12
60+
- os: ubuntu-22.04
61+
compiler: clang-15
62+
cc: clang-15
63+
cxx: clang++-15
64+
- os: ubuntu-24.04
65+
compiler: gcc-13
66+
cc: gcc-13
67+
cxx: g++-13
68+
69+
steps:
70+
- name: Checkout repository
71+
uses: actions/checkout@v4
72+
with:
73+
submodules: recursive
74+
75+
- name: Set up C++ build environment
76+
uses: ./.github/actions/setup-cpp-build
77+
with:
78+
cc: ${{ matrix.cc }}
79+
cxx: ${{ matrix.cxx }}
80+
extra-packages: libssl-dev libzstd-dev nlohmann-json3-dev
81+
82+
- name: Configure and build epoch fencing test target
83+
uses: ./.github/actions/configure-themis
84+
with:
85+
cc: ${{ matrix.cc }}
86+
cxx: ${{ matrix.cxx }}
87+
build-target: test_epoch_fencing_focused
88+
89+
- name: Run Epoch Fencing tests
90+
run: |
91+
cd build
92+
ctest --tests-regex EpochFencingFocusedTests \
93+
--output-on-failure --timeout 60 \
94+
2>&1 | tee epoch_fencing_output.txt
95+
96+
- name: Upload test results
97+
if: always()
98+
uses: actions/upload-artifact@v4
99+
with:
100+
name: epoch-fencing-results-${{ matrix.os }}-${{ matrix.compiler }}
101+
path: build/epoch_fencing_output.txt
102+
retention-days: 14
103+
104+
- name: Write job summary
105+
if: always()
106+
run: |
107+
echo "## 🔐 Epoch Fencing Tests (Phase 4.1)" >> "$GITHUB_STEP_SUMMARY"
108+
echo "" >> "$GITHUB_STEP_SUMMARY"
109+
echo "| Parameter | Value |" >> "$GITHUB_STEP_SUMMARY"
110+
echo "|-----------|-------|" >> "$GITHUB_STEP_SUMMARY"
111+
echo "| **OS** | \`${{ matrix.os }}\` |" >> "$GITHUB_STEP_SUMMARY"
112+
echo "| **Compiler** | \`${{ matrix.compiler }}\` |" >> "$GITHUB_STEP_SUMMARY"
113+
echo "| **Event** | \`${{ github.event_name }}\` |" >> "$GITHUB_STEP_SUMMARY"
114+
echo "| **Branch** | \`${{ github.ref_name }}\` |" >> "$GITHUB_STEP_SUMMARY"
115+
echo "| **Commit** | \`${{ github.sha }}\` |" >> "$GITHUB_STEP_SUMMARY"
116+
echo "" >> "$GITHUB_STEP_SUMMARY"
117+
echo "Target: **EpochFencingFocusedTests**" >> "$GITHUB_STEP_SUMMARY"
118+
echo "" >> "$GITHUB_STEP_SUMMARY"
119+
echo "Covers: EpochFencingManager (bump/check/STONITH/metrics)," >> "$GITHUB_STEP_SUMMARY"
120+
echo "LeaseManager (acquire/renew/release/expiry/WAL)," >> "$GITHUB_STEP_SUMMARY"
121+
echo "NullStonithProvider, concurrent safety." >> "$GITHUB_STEP_SUMMARY"

0 commit comments

Comments
 (0)