<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dissertation.git/src/judge, 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-04-15T20:18:57Z</updated>
<entry>
<title>Study 1: 270 runs complete + judge validation pipeline</title>
<updated>2026-04-15T20:18:57Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-04-15T20:18:57Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=6cc92304379996f68bb2df96a5e4b637b4c4804b'/>
<id>urn:sha1:6cc92304379996f68bb2df96a5e4b637b4c4804b</id>
<content type='text'>
- config_study1.yaml: 3 models × 3 oversight × bare framing × n=30
- Judge validation: 54-run subset, gold=Sonnet 4.6, proxy=Grok 4.1 Fast (BB κ=0.702) + GPT-4.1 (GB κ=0.878)
- Fix OpenAI batch provider: BytesIO, method/url fields, response.body parsing
- Scripts: extract_subset.py, judge_validation.py
- Dissertation chapters updated (intro, methodology, results, conclusion)
</content>
</entry>
<entry>
<title>refactor(judge): simplify to single judge per prong, auto-create sync clients</title>
<updated>2026-04-10T14:23:59Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-04-10T14:23:59Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=2b3c478dfdf68ccbf853b2a04ea9463d531e1998'/>
<id>urn:sha1:2b3c478dfdf68ccbf853b2a04ea9463d531e1998</id>
<content type='text'>
BREAKING CHANGE: Judge API now uses single blackbox_model/glassbox_model
instead of lists with aggregation.

Changes:
- Judge auto-creates sync clients from model configs (supports anthropic, openai, xai)
- Removed multi-model aggregation support (aggregate_results method removed)
- New: create_sync_clients_for_models() and get_supported_providers()
- Updated judge_runner.py to use new single-judge API
- Added scripts/judge_comparison.py for testing judge model pairs
- Updated v2_redesign notes to reflect implementation status
</content>
</entry>
<entry>
<title>refactor(judge): simplify to single judge per prong, remove multi-model aggregation</title>
<updated>2026-04-10T13:50:40Z</updated>
<author>
<name>CaptainJack2491</name>
<email>jayrupnakawala@gmail.com</email>
</author>
<published>2026-04-10T13:50:40Z</published>
<link rel='alternate' type='text/html' href='http://git.jayrup.me/c/dissertation.git/commit/?id=9155f664a2db0abe841d0d7b9b059ffbe2290c18'/>
<id>urn:sha1:9155f664a2db0abe841d0d7b9b059ffbe2290c18</id>
<content type='text'>
- Remove multi-model aggregation support from Judge class
- Single blackbox judge: claude-sonnet-4-20250514 (anthropic)
- Single glassbox judge: gpt-4.1 (openai)
- Remove aggregate_results method and all aggregation-related code
- Simplify batch collection to single result per run
- Update config_dryrun.yaml with new judge configuration
</content>
</entry>
<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>
</feed>
