Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
3b94d73
Chore: Add RHOAI demo + reorganize existing demos
saichandrapandraju Dec 11, 2025
42afff1
Merge pull request #74 from saichandrapandraju/update-demos
saichandrapandraju Dec 11, 2025
f770c8e
Merge pull request #16 from trustyai-explainability/main
ruivieira Dec 13, 2025
6e01cef
LLS >=0.4.0 fixes
saichandrapandraju Jan 14, 2026
4c194d7
Merge pull request #75 from saichandrapandraju/lls-04x-fixes
saichandrapandraju Jan 14, 2026
0b3ed7a
upgrade garak to 0.14.0
saichandrapandraju Jan 30, 2026
29c8ed1
Merge pull request #84 from saichandrapandraju/upgrade-garak
saichandrapandraju Feb 5, 2026
86efca3
Merge pull request #23 from trustyai-explainability/main
saichandrapandraju Feb 5, 2026
be94082
chore: Upgrade llama-stack to 0.5.0
saichandrapandraju Feb 6, 2026
3c3359c
Merge pull request #51 from trustyai-explainability/main
saichandrapandraju Feb 9, 2026
424a550
Update Tekton output-image tags to version latest
github-actions[bot] Feb 9, 2026
b34aaaa
Merge pull request #53 from opendatahub-io/appstudio-llama-stack-prov…
saichandrapandraju Feb 9, 2026
5a0468e
relax setuptools
saichandrapandraju Feb 10, 2026
4c423cd
Refactor Garak command configuration to use file-based --config
saichandrapandraju Feb 11, 2026
bef968c
Merge pull request #86 from saichandrapandraju/garak-config
saichandrapandraju Feb 11, 2026
d2e87cf
Merge branch 'main' into upgrade-lls
saichandrapandraju Feb 11, 2026
ffb56f6
Merge pull request #85 from saichandrapandraju/upgrade-lls
saichandrapandraju Feb 11, 2026
ab275d6
fix get_shield for lls-05x + improve results + benchmark override
saichandrapandraju Feb 12, 2026
c49a3c1
Update src/llama_stack_provider_trustyai_garak/result_utils.py
saichandrapandraju Feb 12, 2026
02cb927
Merge pull request #87 from saichandrapandraju/misc-fixes
saichandrapandraju Feb 12, 2026
6bb0d10
Update Tekton output-image tags to version latest
github-actions[bot] Feb 12, 2026
9dcbac7
Merge pull request #61 from opendatahub-io/appstudio-llama-stack-prov…
saichandrapandraju Feb 12, 2026
e7b194b
Update Tekton output-image tags to version dev
github-actions[bot] Feb 12, 2026
3686a30
Merge pull request #63 from opendatahub-io/appstudio-llama-stack-prov…
saichandrapandraju Feb 12, 2026
d71ccd9
Merge pull request #60 from trustyai-explainability/main
saichandrapandraju Feb 12, 2026
f791305
Merge remote-tracking branch 'origin/main' into sync-main-into-incuba…
saichandrapandraju Feb 13, 2026
4cb5fbf
re-add deleted pipeline setup
saichandrapandraju Feb 13, 2026
b29d8ec
Merge pull request #65 from opendatahub-io/sync-main-into-incubation
saichandrapandraju Feb 13, 2026
4091e1e
Update Tekton output-image tags to version latest
github-actions[bot] Feb 14, 2026
20d876a
Merge pull request #66 from opendatahub-io/appstudio-llama-stack-prov…
saichandrapandraju Feb 14, 2026
3852873
feat: update docs and demos
saichandrapandraju Feb 18, 2026
fc7d1a2
Merge pull request #90 from saichandrapandraju/docs-update
saichandrapandraju Feb 19, 2026
7038009
modify konflux pipeline name to be unique from 'main' branch's
wznoinsk Feb 25, 2026
ed57a35
Merge pull request #68 from wznoinsk/wznoinsk_incubation_fix_pipeline…
saichandrapandraju Feb 25, 2026
33724f4
feat: Add EvalHub SDK Garak adapter (#91)
ruivieira Feb 26, 2026
43f9e45
feat(evalhub): Add preliminary KFP execution mode for evalhub garak i…
saichandrapandraju Mar 2, 2026
279d94f
address sourcery comments
saichandrapandraju Mar 2, 2026
002c13e
Update default Garak provider image to the latest version
saichandrapandraju Mar 2, 2026
998e34f
Merge pull request #96 from trustyai-explainability/evalhub-kfp-poc
saichandrapandraju Mar 2, 2026
52521fc
feat(evalhub): Add dedicated KFP entrypoint for EvalHub adapter
saichandrapandraju Mar 5, 2026
4622fad
feat: added pre-process step that takes a dataset in input and genera…
ABeltramo Feb 3, 2026
a2bca0a
feat: added basic Automated Red Teaming report
ABeltramo Feb 5, 2026
967b1b5
fix: failing test in Github Actions
ABeltramo Feb 5, 2026
63db430
feat: bring latest vega chart from AIMI
ABeltramo Feb 5, 2026
1c334a5
feat: added second chart in report
ABeltramo Feb 5, 2026
6cacec6
feat: using PatternFly for UI styling, added high level stats
ABeltramo Feb 6, 2026
f372545
feat: added probes from run setup
ABeltramo Feb 9, 2026
3c811ec
feat: add happy path KFP integration with latest garak provider changes
saichandrapandraju Feb 18, 2026
fa3a0b9
fix: parsing latest output from Garak and charts in the report
ABeltramo Feb 19, 2026
e0226c8
fix: report navigation and header
ABeltramo Feb 19, 2026
035ce54
fix: vega chart and better test example
ABeltramo Feb 19, 2026
773c276
fix: parse_generations_from_report_content for ART report + test
ABeltramo Feb 20, 2026
9bda683
fix: failing test after pointing Garak to our midstream
ABeltramo Feb 20, 2026
7db76bb
Source intent description from dataset column with configurable argument
hjrnunes Feb 25, 2026
14cc746
Sanitize category/intent ids to match Garak's validation
hjrnunes Feb 25, 2026
1f7d51c
fix: include resources directory in package distribution
hjrnunes Feb 25, 2026
dacfa00
feat: Add user-provided intents dataset flow + fix metric calc with i…
saichandrapandraju Feb 27, 2026
35b09c4
fix: match KFP asr metric log with html report for intents probes
saichandrapandraju Feb 27, 2026
2595156
fix: update intent_spec field to default to an empty string for nativ…
saichandrapandraju Feb 27, 2026
8fec24c
feat: Integrate Synthetic Data Generation (SDG) support for intent da…
saichandrapandraju Feb 28, 2026
2193e88
- Fix parse_detector to match EarlyStopHarness logic, preserving funn…
hjrnunes Feb 27, 2026
97136b5
Updated test_intents_aggregates_match_high_level_stats to match renam…
hjrnunes Mar 4, 2026
5dc10c1
Enhance parse_results to upload and fetch intents HTML reports
saichandrapandraju Mar 5, 2026
6385789
Garak supports intent stub files in json format. This is preferable a…
hjrnunes Mar 5, 2026
c980e3e
Fix tests for json intent stub files support.
hjrnunes Mar 5, 2026
e0b3743
Consolidate terminology and refactor result_utils.py
hjrnunes Mar 5, 2026
5a9300d
Add take_per_category and sample_per_category parameters to generate_…
hjrnunes Mar 5, 2026
f3c68f4
Fix funnel chart cascading and probe details ASR calculation
hjrnunes Mar 5, 2026
ac062bf
Handle orphan status=1 attempts and remove simulated funnel cascading
hjrnunes Mar 5, 2026
9be44a7
Merge pull request #77 from trustyai-explainability/automated-red-tea…
saichandrapandraju Mar 6, 2026
0c5d0e8
Merge branch 'main' into evalhub-kfp-entrypoint
saichandrapandraju Mar 6, 2026
4e59f54
Remove default CMD for eval-hub in Containerfile as we will specify t…
saichandrapandraju Mar 6, 2026
63baa50
feat(evalhub): Add intents benchmark support to evalhub KFP executio…
saichandrapandraju Mar 6, 2026
8843fd2
Add tests for benchmark config overrides and API key resolution logic
saichandrapandraju Mar 6, 2026
f0b7f7f
fix imports
saichandrapandraju Mar 6, 2026
32d287c
Merge pull request #98 from trustyai-explainability/evalhub-kfp-entry…
saichandrapandraju Mar 6, 2026
46bc6c3
Merge pull request #104 from trustyai-explainability/evalhub-kfp-intents
saichandrapandraju Mar 6, 2026
09f95de
fix(sdg): pass correct lls url by default to sdg
saichandrapandraju Mar 9, 2026
aebe2e5
feat(evalhub): Update S3 integration by adding support for reading cr…
ruivieira Mar 9, 2026
0f97d15
Merge pull request #112 from trustyai-explainability/fix-sdg-url
saichandrapandraju Mar 9, 2026
8d186c8
Merge pull request #116 from ruivieira/garak-test
saichandrapandraju Mar 10, 2026
cf4c306
fix(SDG): Introduce load_taxonomy_dataset function for policy taxonom…
saichandrapandraju Mar 10, 2026
1d654ae
address sourcery comments
saichandrapandraju Mar 10, 2026
6fe5736
fix S3 failing tests
saichandrapandraju Mar 10, 2026
e6e1763
refactor evalhub pipeline to support all 3 modes
saichandrapandraju Mar 11, 2026
3e766e7
change the calculation of intent aggregates to use "total_attempts" i…
saichandrapandraju Mar 11, 2026
dd0a7f5
fail fast if user requests intents for non-kfp evalhub mode
saichandrapandraju Mar 11, 2026
104d1e7
replicate the evalhub KFP functionality to llama-stack
saichandrapandraju Mar 11, 2026
1c4eb9e
Merge pull request #119 from trustyai-explainability/custom-policy-sdg
saichandrapandraju Mar 11, 2026
30822f8
refactor(evalhub): Remove EVALHUB_ prefix from KFP environment variables
SudipSinha Mar 10, 2026
e1252af
test: Strengthen error message assertions for KFP config validation
SudipSinha Mar 10, 2026
388077d
test: Fix validation tests by mocking garak import
SudipSinha Mar 11, 2026
49c10cc
fix: Secure model API key handling via Kubernetes Secrets with volume…
saichandrapandraju Mar 11, 2026
8aa0f63
chore: Update eval-hub-sdk to latest version 0.1.2
saichandrapandraju Mar 11, 2026
bf130ea
feat(evalhub): Add MLflow artifact saving functionality
saichandrapandraju Mar 11, 2026
b11737b
add warning if _read_s3_credentials_from_secret returns empty
saichandrapandraju Mar 12, 2026
6ffa665
Merge pull request #122 from trustyai-explainability/mlflow-callback
saichandrapandraju Mar 12, 2026
44188ac
Add comprehensive tests for intents benchmarks with shields enabled
SudipSinha Mar 12, 2026
8bb2276
Merge pull request #121 from trustyai-explainability/fix-api-keys
saichandrapandraju Mar 12, 2026
20245a8
Refactor tests to reduce duplication per code review feedback
SudipSinha Mar 12, 2026
897238c
Merge pull request #123 from trustyai-explainability/test-intents-shi…
saichandrapandraju Mar 12, 2026
7a6f77b
Merge pull request #120 from trustyai-explainability/remove-evalhub-k…
saichandrapandraju Mar 12, 2026
c1fab0a
Update default detector for Garak intents
hjrnunes Mar 12, 2026
0d3f590
Update TAPIntent probe defaults
hjrnunes Mar 12, 2026
ea90052
Update intents benchmark name and description
hjrnunes Mar 12, 2026
18b8727
Update intents benchmark description
hjrnunes Mar 12, 2026
31f081c
Merge pull request #124 from trustyai-explainability/art-defaults
saichandrapandraju Mar 12, 2026
9e4d403
introduce _GarakCallbacks to surface S3 artifact URLs in job response
saichandrapandraju Mar 12, 2026
f745ca0
bump version to 0.3.0
saichandrapandraju Mar 12, 2026
410399c
limit lls to 0.6.0
saichandrapandraju Mar 12, 2026
e9ee137
Merge pull request #126 from trustyai-explainability/bump-0.3.0
saichandrapandraju Mar 12, 2026
6eba57f
add requirements-inline-extra.txt and update pyproject.toml to fix py…
saichandrapandraju Mar 12, 2026
a276bb4
fix tests
saichandrapandraju Mar 12, 2026
10fa8bc
Merge pull request #127 from trustyai-explainability/pypi-publish-fix
saichandrapandraju Mar 12, 2026
1a3bf14
log artifact reporting failures and fallback to default reporting method
saichandrapandraju Mar 12, 2026
fbd360a
Merge pull request #125 from trustyai-explainability/artifacts-evalhub
saichandrapandraju Mar 12, 2026
d5f489d
Merge pull request #67 from trustyai-explainability/main
saichandrapandraju Mar 12, 2026
86a14dd
Enhance role and role binding configuration for DSPA API access + Upd…
saichandrapandraju Mar 13, 2026
a18c100
Add NetworkPolicy for KFP-to-Added a new kfp-networkpolicy.yaml file …
saichandrapandraju Mar 13, 2026
22bb9fe
Merge pull request #69 from opendatahub-io/main
saichandrapandraju Mar 13, 2026
1c281d9
Merge pull request #128 from trustyai-explainability/rbac-update
saichandrapandraju Mar 13, 2026
5b51f3c
remove stale reqs and clean up containerfile
saichandrapandraju Mar 13, 2026
f8605e9
Merge pull request #129 from trustyai-explainability/remove-stale-reqs
saichandrapandraju Mar 13, 2026
f0eab46
Merge pull request #70 from trustyai-explainability/main
saichandrapandraju Mar 13, 2026
071be6c
Merge pull request #71 from opendatahub-io/main
saichandrapandraju Mar 13, 2026
41d77de
Update dependency constraints in pyproject.toml to remove upper limit…
saichandrapandraju Mar 13, 2026
b3c5dfb
bump version
saichandrapandraju Mar 13, 2026
a707be0
Merge pull request #130 from trustyai-explainability/relax-lls-reqs
saichandrapandraju Mar 13, 2026
53bd582
in sdg-hub dependency to version 0.8.8 in requirements-inline-extra.txt
saichandrapandraju Mar 13, 2026
27338a0
Merge pull request #131 from trustyai-explainability/pin-sdg
saichandrapandraju Mar 13, 2026
d283004
Merge pull request #72 from trustyai-explainability/main
saichandrapandraju Mar 13, 2026
2ae7f00
Merge pull request #73 from opendatahub-io/main
saichandrapandraju Mar 13, 2026
6894485
Read sdg's max_concurrency param from env
hjrnunes Mar 17, 2026
7181cdb
Validate env var and fallback on invalid values
hjrnunes Mar 17, 2026
1f162ee
Merge pull request #132 from trustyai-explainability/rhoaieng-53849
hjrnunes Mar 18, 2026
1d508ae
Change Trivy action to specific commit version (#133)
tarilabs Mar 23, 2026
d27dc6f
fix: deep-merge garak_config overrides in intents mode and make inten…
saichandrapandraju Mar 23, 2026
6d938aa
address sourcery comments
saichandrapandraju Mar 23, 2026
c4c802e
Add MulticlassJudge configuration with classification prompts and res…
saichandrapandraju Mar 23, 2026
c204d82
Merge pull request #137 from trustyai-explainability/default-judge-pr…
saichandrapandraju Mar 24, 2026
4d19398
Update the GarakAdapter to utilize setdefault for initializing config…
saichandrapandraju Mar 24, 2026
248512b
fix tests
saichandrapandraju Mar 24, 2026
6ca4009
Improve repo quality for bug bash audit
saichandrapandraju Mar 24, 2026
402bc63
Update CODEOWNERS to reflect new team structure
saichandrapandraju Mar 24, 2026
c01ca3e
Add mypy type checking, test fixtures, and build docs
saichandrapandraju Mar 24, 2026
840a966
Merge pull request #139 from trustyai-explainability/bug-bash-improve…
hjrnunes Mar 25, 2026
69f1462
Merge pull request #136 from trustyai-explainability/fix-deep-merge
hjrnunes Mar 25, 2026
8b7b299
trigger test #1
wznoinsk Mar 25, 2026
9dd5278
Add CLAUDE.md
hjrnunes Mar 25, 2026
daa2462
fix: ruff formatting issue
hjrnunes Mar 25, 2026
34cb465
Merge pull request #140 from trustyai-explainability/claude-md
hjrnunes Mar 25, 2026
03f0417
Merge pull request #76 from wznoinsk/wznoinsk_trigger_test
saichandrapandraju Mar 25, 2026
b2af6ee
Rename 'stubs' to 'prompts' in report UI labels
hjrnunes Mar 25, 2026
f6c0b38
Overhaul CI workflows, dependency management, and dev Containerfile
saichandrapandraju Mar 25, 2026
c43a516
style: fix ruff formatting in test_pipeline_steps.py
saichandrapandraju Mar 25, 2026
ccf9fac
fix: use importlib.metadata to check garak version in container
saichandrapandraju Mar 25, 2026
0079b6d
Merge pull request #141 from trustyai-explainability/rhoaieng-55152
saichandrapandraju Mar 25, 2026
6fe663b
Merge pull request #138 from trustyai-explainability/update-container…
saichandrapandraju Mar 25, 2026
070c714
Merge pull request #74 from trustyai-explainability/main
saichandrapandraju Mar 25, 2026
4f99409
correct the name of pipeline and service account
wznoinsk Mar 25, 2026
11c1823
add '-ci' suffix to pipeline/component names since these are only dev…
wznoinsk Mar 25, 2026
a0b7335
Merge pull request #78 from wznoinsk/wznoinsk_main_fix_garak_konflux_…
saichandrapandraju Mar 25, 2026
67b6420
Merge pull request #79 from wznoinsk/wznoinsk_incubation_fix_tekton_f…
saichandrapandraju Mar 25, 2026
41549b6
Sync main into incubation (preserving incubation's Tekton config)
saichandrapandraju Mar 26, 2026
6573a4c
Merge pull request #81 from opendatahub-io/sync-main-to-incubation-clean
saichandrapandraju Mar 26, 2026
d54b0d6
Update test trigger comment in Tekton pipeline configuration
saichandrapandraju Mar 26, 2026
e3b6bed
Merge pull request #85 from opendatahub-io/test-merge
saichandrapandraju Mar 26, 2026
7f7673f
feat: make SDG max_concurrency configurable at runtime
saichandrapandraju Mar 26, 2026
9b145c7
feat: add disable_cache flag to skip KFP caching at runtime
saichandrapandraju Mar 26, 2026
4b6aceb
chore: auto-sync requirements.txt from pyproject.toml
github-actions[bot] Mar 26, 2026
2c712eb
remove unused imports and safe_int function from utils.py
saichandrapandraju Mar 26, 2026
e608291
Merge pull request #143 from trustyai-explainability/sdg-cache-control
saichandrapandraju Mar 27, 2026
e9f75eb
Merge pull request #86 from trustyai-explainability/main
saichandrapandraju Mar 27, 2026
96ce732
Merge pull request #87 from opendatahub-io/main
saichandrapandraju Mar 27, 2026
c801177
fix app name in garak tekton files
wznoinsk Mar 30, 2026
099edc6
Merge pull request #88 from wznoinsk/wznoinsk_main_fix_garak_konflux_…
m-misiura Mar 30, 2026
e3a739f
improv: updated SDG defaults
blastStu Mar 30, 2026
924f415
fix: repeated dict key
blastStu Mar 30, 2026
7f189ac
whitespace fix
blastStu Mar 30, 2026
d0e7b0d
reformatted with black
blastStu Mar 30, 2026
ee3a1dd
reformatted with ruff
blastStu Mar 30, 2026
a08bbb1
Merge pull request #149 from trustyai-explainability/sdg-defaults
saichandrapandraju Mar 30, 2026
fabab0e
test build trigger
saichandrapandraju Mar 30, 2026
fd7a946
chore: update eval-hub-sdk and garak versions to latest
saichandrapandraju Mar 30, 2026
7175ca7
Merge pull request #150 from trustyai-explainability/update-reqs
saichandrapandraju Mar 30, 2026
abd5198
Merge pull request #91 from opendatahub-io/patch-test-trigger
saichandrapandraju Mar 30, 2026
0ef3d76
Merge pull request #92 from trustyai-explainability/main
saichandrapandraju Mar 30, 2026
48721b5
merge: resolve conflicts with main (keep both disable_cache and sdg_m…
saichandrapandraju Mar 31, 2026
b4ea20c
feat: expose sdg_num_samples and sdg_max_tokens as runtime overrides
saichandrapandraju Mar 31, 2026
8594a29
fix: HTML report header on small screen
ABeltramo Mar 31, 2026
c72ee7c
Merge pull request #151 from trustyai-explainability/fix-art-report
saichandrapandraju Mar 31, 2026
1bb6403
fix: address PR review — deduplicate safe_int, extract block names to…
saichandrapandraju Mar 31, 2026
6356648
Merge pull request #142 from trustyai-explainability/sdg-max-concurrency
saichandrapandraju Mar 31, 2026
e9c7790
feat: save mlflow_run_id on results from callbacks.mlflow.save()
saichandrapandraju Mar 31, 2026
3133b2a
test: add MLflow save exception non-fatal test
saichandrapandraju Mar 31, 2026
61d3e10
Merge pull request #94 from trustyai-explainability/main
sheltoncyril Mar 31, 2026
9f150e5
Sync main into incubation (preserving incubation's Tekton config)
saichandrapandraju Mar 31, 2026
b429c87
Merge pull request #95 from opendatahub-io/sync-main-to-incubation-clean
saichandrapandraju Mar 31, 2026
41e6867
Merge pull request #152 from trustyai-explainability/save-mlflow-rid
saichandrapandraju Apr 1, 2026
c8b0714
fix: align _GarakCallbacks with upstream DefaultCallbacks for sidecar…
saichandrapandraju Apr 1, 2026
e6e4382
fix: use logger.exception for HTTP error paths to preserve tracebacks
saichandrapandraju Apr 1, 2026
f59686d
Merge pull request #153 from trustyai-explainability/sidecar-termination
saichandrapandraju Apr 1, 2026
86a9cae
Merge pull request #96 from trustyai-explainability/main
saichandrapandraju Apr 1, 2026
27f1fbc
Merge pull request #97 from opendatahub-io/main
saichandrapandraju Apr 1, 2026
0f454b7
chore: switch from test to prod RH AI PyPI index (cpu-ubi9-test → cpu…
saichandrapandraju Apr 2, 2026
ebf041a
refactor: centralize RH AI PyPI index URL in Makefile variable
saichandrapandraju Apr 2, 2026
8ce50e9
Merge pull request #154 from trustyai-explainability/update-index
saichandrapandraju Apr 2, 2026
f1a5c55
Merge pull request #98 from trustyai-explainability/main
saichandrapandraju Apr 2, 2026
02d6681
Merge pull request #99 from opendatahub-io/main
sheltoncyril Apr 2, 2026
beb459e
fix: enhance error handling and termination signaling in GarakAdapter
saichandrapandraju Apr 3, 2026
00574b4
Merge pull request #155 from trustyai-explainability/sidecar-on-error
saichandrapandraju Apr 6, 2026
4c27ac9
fix: remove hardcoded scan timeouts and soft_probe_prompt_cap overrides
saichandrapandraju Apr 5, 2026
672fed0
fix: guard timeout against None and add edge-case tests
saichandrapandraju Apr 5, 2026
59950eb
Merge pull request #158 from trustyai-explainability/remove-scan-timeout
saichandrapandraju Apr 6, 2026
a8704af
Merge pull request #100 from trustyai-explainability/main
sheltoncyril Apr 6, 2026
f2c22b0
Merge pull request #101 from opendatahub-io/main
saichandrapandraju Apr 6, 2026
cf42b6c
feat: support disconnected mode with pre-downloaded HF model cache
saichandrapandraju Apr 9, 2026
47fccc8
Merge pull request #159 from trustyai-explainability/disconnected-hf-…
saichandrapandraju Apr 9, 2026
b2f5ade
Merge pull request #102 from trustyai-explainability/main
saichandrapandraju Apr 9, 2026
cf74509
Merge pull request #103 from opendatahub-io/main
saichandrapandraju Apr 9, 2026
30f27b3
ui-fix: modify attack success rate metrics to use ratio format
saichandrapandraju Apr 14, 2026
0cf98e9
review: centralize ratio normalization, clarify log, assert metric_type
saichandrapandraju Apr 14, 2026
840bd1d
Merge pull request #160 from trustyai-explainability/ui-fixes
saichandrapandraju Apr 14, 2026
ae9ebd7
Merge pull request #104 from trustyai-explainability/main
saichandrapandraju Apr 14, 2026
0bbbbae
Merge pull request #105 from opendatahub-io/main
saichandrapandraju Apr 14, 2026
82a80c7
konflux pipeline trigger test #1
wznoinsk Apr 21, 2026
efec768
Merge pull request #107 from wznoinsk/wznoinsk_incubation_tests
saichandrapandraju Apr 21, 2026
7b83a66
trigger test 2
wznoinsk Apr 21, 2026
68abf7d
Merge pull request #108 from wznoinsk/wznoinsk_incubation_tests
saichandrapandraju Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Default owners for the entire repository
* @trustyai-explainability/developers
88 changes: 88 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Bug Report
description: Report a bug in llama-stack-provider-trustyai-garak
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thank you for reporting a bug. Please fill out the sections below
to help us reproduce and fix the issue.

- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of the bug.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Minimal steps to reproduce the behavior.
placeholder: |
1. Register benchmark with config...
2. Run eval with...
3. Observe error...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen.
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened, including any error messages.
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error Logs
description: Paste relevant logs or stack traces.
render: text

- type: dropdown
id: execution-mode
attributes:
label: Execution Mode
options:
- Llama Stack Inline (local garak)
- Llama Stack Remote (KFP pipelines)
- Llama Stack (all modes)
- Eval-Hub Simple (direct pod execution)
- Eval-Hub KFP (KFP pipeline execution)
- Eval-Hub (all modes)
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Provide environment details.
placeholder: |
- Provider version:
- Python version:
- Garak version:
- Llama Stack version:
- OS / Platform:
- Kubernetes version (if remote):
validations:
required: true

- type: textarea
id: config
attributes:
label: Benchmark / Garak Config
description: Paste relevant benchmark config or garak_config if applicable.
render: yaml
21 changes: 21 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Summary

<!-- Brief description of what this PR does and why. -->

## Changes

<!-- List the key changes. -->

-

## Testing Checklist

- [ ] Unit tests pass (`make test`)
- [ ] Linting passes (`make lint`)
- [ ] New/changed code has test coverage
- [ ] No breaking changes to existing benchmark configs
- [ ] Documentation updated (if applicable)

## Related Issues

<!-- Link any related issues: Fixes #123, Relates to #456 -->
33 changes: 33 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Lint

on:
pull_request:
branches: [main]
push:
branches: [main]

jobs:
ruff:
name: Ruff Lint & Format Check
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'

- name: Install tools
run: pip install ruff mypy

- name: Ruff check
run: ruff check src/ tests/

- name: Ruff format check
run: ruff format --check src/ tests/

- name: Mypy type check
run: mypy src/
20 changes: 13 additions & 7 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Run Tests
name: Tier 1 - Unit Tests

on:
pull_request:
Expand All @@ -7,26 +7,32 @@ on:
branches: [main]

jobs:
test:
name: Run Tests
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
python-version: "3.12"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev,remote]"
python -m pip install --no-cache-dir -e ".[test]"

- name: Smoke-test imports
run: |
python -c "import numpy; print('numpy OK')"
python -c "import pandas; print('pandas OK')"
python -c "import llama_stack_provider_trustyai_garak; print('provider OK')"

- name: Run tests
env:
PYTHONPATH: src
run: |
pytest tests -v
pytest tests -v
21 changes: 11 additions & 10 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,28 @@ jobs:
trivy-scan:
name: Trivy Security Scan
runs-on: ubuntu-latest
container:
image: registry.access.redhat.com/ubi9/python-312:latest
options: --user root
permissions:
contents: read
security-events: write
actions: read

steps:

- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'

- name: Install dependencies
- name: Install runtime deps
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
python -m pip install --no-cache-dir \
-r requirements.txt
python -m pip install --no-cache-dir --no-deps .

- name: Run Trivy filesystem scan
uses: aquasecurity/trivy-action@master
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
with:
scan-type: 'fs'
scan-ref: '.'
Expand All @@ -40,7 +41,7 @@ jobs:
exit-code: '0' # Don't fail on this scan, we'll check results separately

- name: Run Trivy dependency scan
uses: aquasecurity/trivy-action@master
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
with:
scan-type: 'fs'
scan-ref: '.'
Expand All @@ -51,7 +52,7 @@ jobs:
exit-code: '0' # Don't fail on this scan, we'll check results separately

- name: Check for critical vulnerabilities
uses: aquasecurity/trivy-action@master
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
with:
scan-type: 'fs'
scan-ref: '.'
Expand Down
108 changes: 108 additions & 0 deletions .github/workflows/validate-deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Validate Dependencies

on:
pull_request:
branches: [main]
push:
branches: [main]

permissions:
contents: write

jobs:
sync-requirements:
name: Auto-sync requirements.txt
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest

steps:
- name: Checkout PR branch
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'

- name: Install uv
run: python -m pip install --upgrade pip uv

- name: Regenerate requirements.txt
run: make lock

- name: Commit if changed
run: |
git diff --quiet requirements.txt && exit 0
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add requirements.txt
git commit -m "chore: auto-sync requirements.txt from pyproject.toml"
git push

check-garak-drift:
name: Check garak midstream version drift
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Compare pyproject.toml garak version with latest midstream tag
run: |
PYPROJECT_VER=$(grep -oP 'garak==\K[^\s"]+' pyproject.toml)
echo "pyproject.toml garak version: $PYPROJECT_VER"

LATEST_TAG=$(git ls-remote --tags \
https://github.com/trustyai-explainability/garak.git \
| grep 'refs/tags/v' \
| grep -v '\^{}' \
| sed 's|.*refs/tags/v||' \
| sort -V \
| tail -1)
echo "Latest midstream tag: $LATEST_TAG"

if [ "$PYPROJECT_VER" != "$LATEST_TAG" ]; then
echo "::error::Garak version drift detected!"
echo " pyproject.toml pins: $PYPROJECT_VER"
echo " Latest midstream: $LATEST_TAG"
echo "Update pyproject.toml, regenerate requirements.txt, and commit."
exit 1
fi

echo "Garak version is up-to-date with midstream."

container-build:
name: Container Build + Import Validation
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Build container image
run: |
docker build -f Containerfile -t provider-smoke-test:ci .

- name: Verify full import chain
run: |
docker run --rm provider-smoke-test:ci bash -c "\
python -c \"import numpy; print('numpy OK')\" && \
python -c \"import pandas; print('pandas OK')\" && \
python -c \"import garak; print('garak OK')\" && \
python -c \"import sdg_hub; print('sdg-hub OK')\" && \
python -c \"import llama_stack_provider_trustyai_garak; print('provider OK')\""

- name: Verify garak version matches pyproject.toml
run: |
EXPECTED=$(grep -oP 'garak==\K[^\s"]+' pyproject.toml)
INSTALLED=$(docker run --rm provider-smoke-test:ci python -c "from importlib.metadata import version; print(version('garak'))")
echo "Expected: $EXPECTED"
echo "Installed: $INSTALLED"
if [ "$EXPECTED" != "$INSTALLED" ]; then
echo "::error::Garak version mismatch! Containerfile installs $INSTALLED but pyproject.toml expects $EXPECTED"
exit 1
fi
echo "Garak version in container matches pyproject.toml."
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,13 @@ __pycache__/
dist/
.env
_providers.d/

meta/
scan_out/
**.env
*.csv
*.ipynb
*.json
*.cpu
# Hermeto outputs (generated during testing)
hermeto-output*/
hermeto*.env
23 changes: 23 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
repos:
- repo: local
hooks:
- id: sync-requirements
name: Regenerate requirements.txt from pyproject.toml
entry: make lock
language: system
files: ^pyproject\.toml$
pass_filenames: false
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.4
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- id: ruff-format
- repo: local
hooks:
- id: mypy
name: mypy type check
entry: mypy src/
language: system
pass_filenames: false
types: [python]
Loading
Loading