Skip to content

Hygiene: finish public terminology cleanup - #266

Merged
Aaron Aspinwall (AaronAspinwall123) merged 2 commits into
mainfrom
aaspinwall/hygiene-public-terminology
Jul 24, 2026
Merged

Hygiene: finish public terminology cleanup#266
Aaron Aspinwall (AaronAspinwall123) merged 2 commits into
mainfrom
aaspinwall/hygiene-public-terminology

Conversation

@AaronAspinwall123

@AaronAspinwall123 Aaron Aspinwall (AaronAspinwall123) commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

Issue #152 is partially stale: overrefusal is now an intentional built-in judge dimension. This PR applies only the remaining valid public terminology cleanup and follows the canonical vocabulary established in #23.

Closes #152

Replace remaining user-facing seed terminology with test set/test case wording and capitalize the Inference stage consistently, while preserving intentional overrefusal and internal legacy keys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 53766e86-ef96-4fd8-b3d9-ed60ac272fcf
Use test set for collections, test case for individual rows, scenario for multi-turn scores, and Inference only when naming the pipeline stage, following PR #23.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 53766e86-ef96-4fd8-b3d9-ed60ac272fcf

@changliu2 Chang Liu (changliu2) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — clean, tightly-scoped public-terminology pass.

Verified:

  • Canonical #23 vocab applied consistently: Seed GenerationTest Set Generation, seed idtest case ID, and "policy + seeds" → "a behavior and its test set" on the new-run screen.
  • overrefusal correctly preserved — the diff never touches it, and flagging #152 as partially stale is right: it's an intentional built-in judge dimension now, not a rename target.
  • Legacy internal keys untouched — only the seeds: label changes; the object key stays, so no route/stage behavior changes.
  • Inference capitalized only as the pipeline-stage noun, consistent with #135. The csv/[suite_id] 404 "No scenario scores found" reads correctly for the audit/scenario export path.
  • CI green (viewer-build + CodeQL); label-only diff, no logic changes.

@AaronAspinwall123
Aaron Aspinwall (AaronAspinwall123) merged commit c65c388 into main Jul 24, 2026
5 checks passed
Chang Liu (changliu2) added a commit that referenced this pull request Jul 24, 2026
Merging main into this branch surfaced a pre-existing mismatch: #266
capitalized the viewer label to 'Refused before Inference' (pipeline-stage
noun) but test_viewer_server_artifacts.py still asserted the lowercase form
in three places (previewTesterLabel / previewDrawerLabel / scoredTesterLabel).
#266 was viewer-only so Tier 1 unit tests never ran on it. Align the
assertions with the intentional capitalized label.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d429caee-f2da-4fb0-8b2c-d0eff7cf40a3
Aaron Aspinwall (AaronAspinwall123) added a commit to ricfog/ASSERT that referenced this pull request Jul 28, 2026
The viewer stop-reason label is 'Refused before Inference' (capital I, result-view.ts:20), but three assertions in test_load_run_page_data_exposes_refusal_stop_reason_display still expected lowercase 'inference'. This mismatch is inherited from main (present at base 7a6e95b, from responsibleai#266's terminology cleanup) and fails Tier 1 unit tests. Align the test to the code label; mirrors the fix in a403385.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ef089fbc-c563-427f-b8e1-f87370e98c76
Aaron Aspinwall (AaronAspinwall123) added a commit that referenced this pull request Jul 29, 2026
* Fix permissibility-split policy violation metrics

* test(viewer): align inference stop-reason label expectation

The viewer stop-reason label is 'Refused before Inference' (capital I, result-view.ts:20), but three assertions in test_load_run_page_data_exposes_refusal_stop_reason_display still expected lowercase 'inference'. This mismatch is inherited from main (present at base 7a6e95b, from #266's terminology cleanup) and fails Tier 1 unit tests. Align the test to the code label; mirrors the fix in a403385.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ef089fbc-c563-427f-b8e1-f87370e98c76

* fix(export): derive not_permissible_policy_violation_rate from node split

export_suite_results.py still computed not_permissible_policy_violation_rate by row-filtering on the originating permissibility label and reading the row-level policy_violation verdict - the overrefusal-contaminated approach issue #272 calls out. Reuse compute_policy_violation_by_permissibility so the export matches the CLI/results and viewer definition: one vote per conversation over non-permissible nodes only. Keeps permissible_overrefusal_rate on the ok-filtered permissible rows.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ef089fbc-c563-427f-b8e1-f87370e98c76

---------

Co-authored-by: Aaron Aspinwall <94419331+AaronAspinwall123@users.noreply.github.com>
Co-authored-by: AaronAspinwall123 <aaron.aspinwall@gmail.com>
Copilot-Session: ef089fbc-c563-427f-b8e1-f87370e98c76
Chang Liu (changliu2) added a commit that referenced this pull request Aug 5, 2026
…r-YAML (ACS demo superseded by #262) (#271)

* fix(examples): incident_triage_agent - baseline-only, one-behavior-per-YAML (remove preview ACS/GEPA surface)

This example previously shipped a full ACS + AgentShield + GEPA demo into the public repo. That preview integration is not meant to be public, and public examples must not depend on unreleased/preview integrations. This strips the example back to a self-contained baseline ASSERT eval that runs with just assert-ai + an LLM key.

Removed (preview surface): agent_guarded.py, eval_config_guarded.yaml, eval_config_guarded_gepa.yaml, incident-triage.guardrails.yaml, optimize_with_gepa.ipynb, prompts/ (optimized prompt + cross/pii_detection + xpia_paraphrase), and the whole artifacts/ tree (guarded/gepa/naive result snapshots + trade_off.png). Also removed eval_config_naive_prompt.yaml (folded into a chat_naive contrast callable). Scrubbed agent.py and SOP.md of every guarded/GEPA reference.

Restructured to one-behavior-per-YAML under behaviors/: sop_tool_ordering (ordering_violation), pager_severity_discipline (pager_violation), channel_severity_routing (channel_violation), pii_redaction (pii_leak; folds pii_leak_under_pressure), xpia_resistance (xpia_relay), escalation_correctness (escalation_violation), alert_id_integrity (alert_id_drift), severity_classification (wrong_severity; folds severity_drift_under_pressure), no_fabrication (fabrication). Each disables the built-in policy_violation/overrefusal headline and scores one custom rubric dimension copied verbatim from the old bundled config. eval_config_baseline.yaml stays as a scrubbed bundled overview (baseline target, built-in headline + one dim per mode).

Validation: all 10 configs load via assert_ai.runner._load_context (0 errors); agent.py passes py_compile; preview-surface grep across the example is clean.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d429caee-f2da-4fb0-8b2c-d0eff7cf40a3

* test(incident-triage): update smoke test for baseline-only structure

The smoke test still referenced the removed guarded/GEPA surface
(agent_guarded.py, incident-triage.guardrails.yaml, eval_config_guarded.yaml),
so Tier 1 unit tests failed after those files were deleted. Drop the
GuardrailsYamlShapeTest and guarded-agent import test, and rewrite
EvalConfigShapeTest to assert the baseline config + all nine
one-behavior-per-YAML configs target the baseline callable, reference no
guarded target, and each carry a distinct suite.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d429caee-f2da-4fb0-8b2c-d0eff7cf40a3

* test(viewer): fix stale 'Refused before inference' assertions

Merging main into this branch surfaced a pre-existing mismatch: #266
capitalized the viewer label to 'Refused before Inference' (pipeline-stage
noun) but test_viewer_server_artifacts.py still asserted the lowercase form
in three places (previewTesterLabel / previewDrawerLabel / scoredTesterLabel).
#266 was viewer-only so Tier 1 unit tests never ran on it. Align the
assertions with the intentional capitalized label.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d429caee-f2da-4fb0-8b2c-d0eff7cf40a3

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Aaron Aspinwall <94419331+AaronAspinwall123@users.noreply.github.com>
Copilot-Session: d429caee-f2da-4fb0-8b2c-d0eff7cf40a3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Viewer + CLI: finish public terminology cleanup (overrefusal → policy non-compliance, lowercase inference, seeds)

2 participants