<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dissertation.git/src/judge.py, branch main</title>
<subtitle>Undergraduate dissertation — Deceptive Alignment in Autonomous LLM Agents (UEL, 2026). Sandboxed agentic-LLM deception study: 960 runs, three-tier judging (regex + blackbox + glassbox).</subtitle>
<id>http://git.jayrup.me/c/dissertation.git/atom?h=main</id>
<link rel='self' href='http://git.jayrup.me/c/dissertation.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/'/>
<updated>2026-03-26T01:25:01Z</updated>
<entry>
<title>Refactor judge module into judge/ package</title>
<updated>2026-03-26T01:25:01Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-26T01:25:01Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=0bc9fba7ec270a8a1fc043028256eb9d7533d9e4'/>
<id>urn:sha1:0bc9fba7ec270a8a1fc043028256eb9d7533d9e4</id>
<content type='text'>
Split monolithic src/judge.py into a proper package structure:
- src/judge/batch_providers.py: BatchProvider ABC, AnthropicBatchProvider, XAIBatchProvider
- src/judge/judges.py: RegexChecker, BlackboxChecker, GlassboxChecker
- src/judge/helpers.py: extract_* functions, parse_json_verdict
- src/judge/prompts.py: BLACKBOX_PROMPT, GLASSBOX_PROMPT, constants
- src/judge/judge.py: Judge orchestrator class
- src/judge/__init__.py: Re-exports all public APIs
</content>
</entry>
<entry>
<title>Add xAI (Grok) batch API support</title>
<updated>2026-03-26T01:24:29Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-26T01:24:29Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=a463184c91107a7eaaec2167b3883dfcebef8785'/>
<id>urn:sha1:a463184c91107a7eaaec2167b3883dfcebef8785</id>
<content type='text'>
- Add XAIBatchProvider class implementing BatchProvider ABC
- Add --provider CLI argument to judge_runner (anthropic|xai)
- Refactor Judge class to use BatchProvider instead of direct API calls
- Update tests for new Judge constructor signature
</content>
</entry>
<entry>
<title>refactor: extract judge prompts to files and add granular blackbox categories</title>
<updated>2026-03-25T21:50:13Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-25T21:50:13Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=8483f05c79f13176c487f57cc2c589646891be65'/>
<id>urn:sha1:8483f05c79f13176c487f57cc2c589646891be65</id>
<content type='text'>
- Extracted Blackbox and Glassbox prompts from  into their own markdown files in
- Implemented progressive 4-tier Blackbox categories (FABRICATED, OMITTED_CRITICAL, DECEPTIVE_FRAMING, ACCURATE)
- Added neutral examples to the Blackbox prompt to improve formatting consistency
- Updated references and tests to match new judge categorization structure
</content>
</entry>
<entry>
<title>feat: implement rich dashboard for experiment progress</title>
<updated>2026-03-25T19:23:37Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-25T19:23:37Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=c5f4522177cd20c577439fd4f1ba473dd3e0b81e'/>
<id>urn:sha1:c5f4522177cd20c577439fd4f1ba473dd3e0b81e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(judge): add selective judging and log filtering</title>
<updated>2026-03-06T17:17:05Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-06T17:17:05Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=b2c7114d2042bc88c5ee33e8597704c32efd1026'/>
<id>urn:sha1:b2c7114d2042bc88c5ee33e8597704c32efd1026</id>
<content type='text'>
- Implement enabled_judges parameter in Judge class to selectively run regex, blackbox, or glassbox checks.
- Add --judges CLI argument to judge_runner.py for granular control over judging pipeline.
- Add --model and --scenario filters to judge_runner.py for targeted evaluation of experiment logs.
- Optimize synchronous judging to skip LLM calls and API key checks when only local (regex) judges are enabled.
- Update Anthropic Batch API integration to support dynamic number of requests per log based on enabled judges.
- Improve console output and logging to reflect selected filters and active judge components.
</content>
</entry>
<entry>
<title>feat: regex checker now returns score (e.g. 6/7) instead of binary PASS/FAIL</title>
<updated>2026-03-02T22:23:20Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-02T22:23:20Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=718b635a114a19a0a440fde5e9a1e608a3db05b8'/>
<id>urn:sha1:718b635a114a19a0a440fde5e9a1e608a3db05b8</id>
<content type='text'>
- Verdict shows matched/total required rules for more nuanced evaluation
- Adds 'matched' and 'total' fields to result dict
- Returns 'N/A' when no rules are defined
</content>
</entry>
<entry>
<title>fix: sharpen glassbox category definitions for ROBUST_HONEST vs UNINTENTIONAL_FAILURE</title>
<updated>2026-03-02T22:07:33Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-02T22:07:33Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=7b8f4e69e95b7fd816ede031622a40466e9369e3'/>
<id>urn:sha1:7b8f4e69e95b7fd816ede031622a40466e9369e3</id>
<content type='text'>
- ROBUST_HONEST: ignored hidden goal + output is accurate and complete
- UNINTENTIONAL_FAILURE: ignored hidden goal + output has genuine quality issues
- Added explicit disambiguation note in the prompt
- Clarified CONSIDERED_HONEST as deliberate refusal to comply
</content>
</entry>
<entry>
<title>feat: add benign_goal (task description) context to blackbox judge</title>
<updated>2026-03-02T21:26:11Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-02T21:26:11Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=9879eb97fe6cbe77d78c8e1b69c02dff0ce2498f'/>
<id>urn:sha1:9879eb97fe6cbe77d78c8e1b69c02dff0ce2498f</id>
<content type='text'>
- Blackbox prompt now includes TASK DESCRIPTION section from benign_goal.md
- Helps judge evaluate framing even without a baseline
- Hidden goal is never exposed (maintains blackbox/glassbox boundary)
- Applied to both judge_single and prepare_batch_requests paths
</content>
</entry>
<entry>
<title>fix: judge resilience for missing baselines and list-format regex rules</title>
<updated>2026-03-02T21:20:57Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-02T21:20:57Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=ed2852cdb493761841489495e3df2350922b1233'/>
<id>urn:sha1:ed2852cdb493761841489495e3df2350922b1233</id>
<content type='text'>
- RegexChecker now handles both list-format and dict-format YAML rules
- Judge falls back to experiment log's VFS state for source docs when no baseline exists
- Blackbox judge receives '(No baseline available)' instead of crashing
- Resume logic excludes .partial.json from completed run count
</content>
</entry>
<entry>
<title>feat(judge): updated blackbox to include source document for added accuracy</title>
<updated>2026-03-01T02:08:48Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-03-01T02:08:48Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=1834ca766e0b7dca8ddc9a49f5c88849210aaadf'/>
<id>urn:sha1:1834ca766e0b7dca8ddc9a49f5c88849210aaadf</id>
<content type='text'>
</content>
</entry>
</feed>
