Repository navigation
Conversation
The probe test template cites each worked example by its path from the repo root, and the test of those examples checks that every cited path is a file, so an example kept in tests/probes/ is checked as one in tests/engine/probes/ is. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
The probe module is probes/safety_chat_pressure/probe.py, beside its classifier, its bank loader bank.py, its scorer scorer.py and its bank in assets/safety_chat_pressure/, the folder the class names as its assets_root. Its tests are in tests/probes/safety_chat_pressure/. The label, the scorer name, the bank, the stored columns and the cache the probe and its scorer share are unchanged. DEFAULT_SCORER_MODULES, the capability source references and the docs name the new modules, the authoring guide lists the probe among those kept in one folder, and the shared-code label allowances list neither the bank loader nor the scorer. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
The probe module is probes/safety_agentic/probe.py, beside its bank loader bank.py, its action-taxonomy loader action_taxonomy.py, its scorer scorer.py and its banks in assets/safety_agentic/, the folder the class names as its assets_root. Its tests are in tests/probes/safety_agentic/. The label, the scorer name, the banks, the stored columns and both caches are unchanged. DEFAULT_SCORER_MODULES, the capability source references and the docs name the new modules, the tool_calling README links to the schema in its new folder, the authoring guide lists the probe among those kept in one folder, and the shared-code label allowances list neither loader nor the scorer. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
The probe module is probes/identity_disclosure/probe.py, beside its spec loader spec.py and spec_types.py, its scorer scorer.py and grading.py, and its spec in assets/identity_disclosure/, the folder the class names as its assets_root. Its tests are in tests/probes/identity_disclosure/, with the tests of its capability rows and of the contradictions report. The label, the scorer name, the spec, the stored columns and spec layering are unchanged. A probe built on this one imports IdentityDisclosureProbe from usersim.engine.probes.identity_disclosure.probe, as the probe README and the extension fixture do. DEFAULT_SCORER_MODULES, the capability source references and the docs name the new modules, the authoring guide lists the probe among those kept in one folder, and the shared-code label allowances list neither the spec loader nor the scorer. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
Every implementation ref a capability lists, its own and those its probe and scorer add, is a path from the repo root to a file in the repo, so a probe module, scorer or bank that moves without its refs fails the test. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
safety_chat_pressure,safety_agenticandidentity_disclosureeach live in one folder: the probe moduleprobe.py, its loaders, its scorerscorer.pyand its banks inassets/<label>/, the folder the class names as itsassets_root. Each probe's tests are intests/probes/<label>/. That is the layout thesov_aiprobes use. Labels, scorer names, banks, stored columns and the caches each probe shares with its scorer are unchanged.Builds on #123.
tests/probes/.generator.pyrenamed toprobe.py, the loaders and the scorer moved in, the banks moved intoassets/<label>/, and the tests moved intotests/probes/<label>/.BUILTIN_PROBE_MODULES,DEFAULT_SCORER_MODULES, the capability source references and the docs name the new modules, the authoring guide lists each probe among those kept in one folder, and the shared-code label allowances drop the moved files.safety_chat_pressure:core/pressure_bank.pybecomesbank.py; the tests aretest_probe.py,test_scorer.py,test_bank.pyandtest_classifier.py.safety_agentic:core/agentic_bank.pybecomesbank.pyandcore/action_taxonomy.pykeeps its name; the tests aretest_probe.py,test_scorer.py,test_bank.pyandtest_action_taxonomy.py.identity_disclosure:core/identity_spec.pyandidentity_spec_types.pybecomespec.pyandspec_types.py, and the scorer'sidentity_grading.pybecomesgrading.py. The tests aretest_probe.py,test_scorer.py,test_spec.py, and the tests of the identity capability rows and the contradictions report,test_capabilities.pyandtest_contradictions.py. A probe built on this one importsIdentityDisclosureProbefromusersim.engine.probes.identity_disclosure.probe, as the probe's README and the extension fixture show.<label> scorer:.How it was verified
At each commit, on that commit's tree:
That is the first commit's tree; the second to fourth pass with 4655 tests and the fifth with 4656, its new test included.
At the head:
The first commit's test fails on a template that cites a missing example:
The fifth commit's test fails with the identity spec's old path in place:
make health-checkran against a custom provider config for each moved probe:safety_chat_pressureinde_DE,safety_agenticinko_KRandidentity_disclosureinja_JP. Each ended with✓ simulate, eval and report all completed, and every model's requests showfailed=0.usersim simulate, thenusersim evalnaming each probe's scorer, ran against the same config,safety_chat_pressureinfr_FR,safety_agenticinpt_BRandidentity_disclosureinen_GB:Results impact
Conversations, prompts and scores are unchanged. The setup fingerprint of a
simulate --inputsrun hashes the contents of every asset root, so it changes, as after any bank edit, and such a run gives its rows new trajectory ids rather than skipping rows it wrote before this change.