CLE · Case 165 Download case ↓

Knowledge workflows & research ops · five-level ladder

Build a complete paper-memory evidence pipeline from message noise

The challenge starts with paper mentions split across Slack, email and WeChat screenshots, then escalates into repository archaeology, reproducible benchmarking, and a transferable research capsule.

5linked investigation levels
5external sources to reconcile
~250workspace files and scripts

The ladder

From mention triage to reproducible release
  1. T1Source triage

    Collect and normalize paper references from Slack, email, and screenshots into a single Notion queue.

  2. T2Source verification

    Locate the original papers and correct misattributed figures and tool names.

  3. T3Related-work curation

    Run a time-windowed arXiv scan, generate BibTeX and validate metadata end-to-end.

  4. T4Repro run

    Rebuild a pipeline from git history, identify scope mismatches, and reconcile numbers with the paper.

  5. T5Release & audit

    Commit fixes, create a reproducible capsule, and prepare for held-out batch audit.

What makes this case hard

  • Mixed-language sources and one image-only citation.
  • Several intentional traps around wrong venue, IDs, and stale URLs.
  • Git history carries a sequence of subtle metric-definition changes.
  • Repro package must pass unseen audit data.

Expected evidence

A cleaned reading DB, corrected source map, reproducible pipeline changes, and a shareable capsule that preserves provenance at each run.

NotionGit archaeologyJSON / BibTeXRepro Capsule

Environment, tasks & eval

Complete case view

Task prompts, hidden eval rubrics and workspace files are loaded from the local case bundle case-165.

Attachments

195 individual downloads
T1 attachments1 files
T4 attachments91 files
T5 attachments103 files
Complete environment file tree249 paths
case-165/
├── eval/
│   ├── _tools/
│   │   ├── grade_mechanical.py
│   │   └── run_capsule_audit.py
│   ├── gt/
│   │   ├── t4/
│   │   │   ├── row_verdicts.json
│   │   │   └── truth_batch1.json
│   │   └── t5/
│   │       ├── runs_batch3/
│   │       │   ├── 2026-06-01_tau2_sonnet_pilot/
│   │       │   │   └── results.jsonl
│   │       │   ├── 2026-06-04_tb2_sonnet/
│   │       │   │   ├── console.log
│   │       │   │   └── results.jsonl
│   │       │   ├── 2026-06-08_tau2_sonnet_full/
│   │       │   │   └── results.jsonl
│   │       │   ├── 2026-06-10_tau2_opus_base/
│   │       │   │   └── results.jsonl
│   │       │   ├── 2026-06-15_tau2_sonnet_retry/
│   │       │   │   └── console.log
│   │       │   ├── 2026-06-17_tau2_opus_mem/
│   │       │   │   └── results.jsonl
│   │       │   ├── 2026-06-19_tb2_opus/
│   │       │   │   └── console.log
│   │       │   └── manifest.json
│   │       ├── truth_batch2.json
│   │       └── truth_batch3.json
│   ├── t1.md
│   ├── t2.md
│   ├── t3.md
│   ├── t4.md
│   └── t5.md
├── fixtures.yaml
├── fixtures/
│   ├── _common/
│   │   └── notion/
│   │       └── databases/
│   │           └── agent_memory_reading.json
│   ├── _scripts/
│   │   ├── _seed_common.py
│   │   └── setup.py
│   ├── email/
│   │   └── accounts.json
│   ├── slack/
│   │   ├── channels.json
│   │   └── users.json
│   ├── t1/
│   │   ├── _scripts/
│   │   │   └── setup.py
│   │   ├── email/
│   │   │   └── inbox/
│   │   │       ├── msg-101.json
│   │   │       ├── msg-102.json
│   │   │       └── msg-103.json
│   │   └── slack/
│   │       └── messages/
│   │           └── C_PAPER_QUEUE_t1.jsonl
│   ├── t2/
│   │   ├── _scripts/
│   │   │   └── setup.py
│   │   └── email/
│   │       ├── attachments/
│   │       │   └── msg-201-attach-figure.png
│   │       └── inbox/
│   │           └── msg-201.json
│   ├── t3/
│   │   ├── _scripts/
│   │   │   └── setup.py
│   │   ├── email/
│   │   │   ├── attachments/
│   │   │   │   └── msg-301-attach-note.png
│   │   │   └── inbox/
│   │   │       └── msg-301.json
│   │   ├── google/
│   │   │   └── calendar/
│   │   │       ├── john_next_week.json
│   │   │       ├── me_next_week.json
│   │   │       ├── mike_next_week.json
│   │   │       └── will_next_week.json
│   │   └── slack/
│   │       └── messages/
│   │           └── C_PAPER_QUEUE_t3.jsonl
│   ├── t4/
│   │   ├── _scripts/
│   │   │   └── setup.py
│   │   └── email/
│   │       └── inbox/
│   │           └── msg-401.json
│   └── t5/
│       ├── _scripts/
│       │   └── setup.py
│       └── email/
│           └── inbox/
│               └── msg-501.json
├── test/
│   ├── t1.md
│   ├── t2.md
│   ├── t3.md
│   ├── t4.md
│   └── t5.md
└── workspace/
    ├── t1/
    │   └── wechat_group.png
    ├── t2/
    │   └── results/
    │       └── .gitkeep
    ├── t3/
    │   └── results/
    │       └── .gitkeep
    ├── t4/
    │   ├── repro_pipeline.git/
    │   │   ├── HEAD
    │   │   ├── config
    │   │   ├── description
    │   │   ├── hooks/
    │   │   │   ├── applypatch-msg.sample
    │   │   │   ├── commit-msg.sample
    │   │   │   ├── fsmonitor-watchman.sample
    │   │   │   ├── post-update.sample
    │   │   │   ├── pre-applypatch.sample
    │   │   │   ├── pre-commit.sample
    │   │   │   ├── pre-merge-commit.sample
    │   │   │   ├── pre-push.sample
    │   │   │   ├── pre-rebase.sample
    │   │   │   ├── pre-receive.sample
    │   │   │   ├── prepare-commit-msg.sample
    │   │   │   ├── push-to-checkout.sample
    │   │   │   ├── sendemail-validate.sample
    │   │   │   └── update.sample
    │   │   ├── info/
    │   │   │   └── exclude
    │   │   ├── objects/
    │   │   │   ├── 02/
    │   │   │   │   ├── 285f0d735ea1006fe8b1de13ad27f28a7d8274
    │   │   │   │   └── 4eca5c0679ae13ecbb8b063eaa4652dbd9a39f
    │   │   │   ├── 03/
    │   │   │   │   └── 5f53c2cd43a65efca6755b95b2d24742b5a62d
    │   │   │   ├── 08/
    │   │   │   │   └── 68a7a9ec79b0e4e18d39101c065efad50d0fe0
    │   │   │   ├── 0d/
    │   │   │   │   └── c61e153bdbf4cbe25decddcbd065d79a80a8c6
    │   │   │   ├── 0e/
    │   │   │   │   └── fb3814a5da86adcc7c87f9a0ed3a2ad1b8c803
    │   │   │   ├── 0f/
    │   │   │   │   └── 040c990de7bba63d0c1eaa4877bd7ffdb9f500
    │   │   │   ├── 12/
    │   │   │   │   └── d2c19f6777923138f2e721ca795c8fd050a1dc
    │   │   │   ├── 1e/
    │   │   │   │   └── 9b345c18204ab8d91b60ec67e71324a959f637
    │   │   │   ├── 1f/
    │   │   │   │   └── 4f9d7cc94ccd97242eb2bffe59d8b112cf9a9c
    │   │   │   ├── 20/
    │   │   │   │   └── 8ed45bceb084e77cb6159dcc4f46e806765e6e
    │   │   │   ├── 21/
    │   │   │   │   └── 1b01f4debde076999019c618dd809a256d77a1
    │   │   │   ├── 22/
    │   │   │   │   └── 8d7f669483b8fb25926974440848b1987fa8ee
    │   │   │   ├── 25/
    │   │   │   │   └── 1bc455b6402f2210f3ccba87eee7e8eca29cc6
    │   │   │   ├── 2e/
    │   │   │   │   └── d8fe6d7459548ffa25a6b64aeef7a030be2735
    │   │   │   ├── 2f/
    │   │   │   │   └── ede6c2eda581f0d26ab7e8aede221b31a57006
    │   │   │   ├── 35/
    │   │   │   │   └── 50031fab8e57107fa2bbc792be448b06525120
    │   │   │   ├── 3a/
    │   │   │   │   └── c62904a228f044828bb61d2aae4be4190de418
    │   │   │   ├── 3c/
    │   │   │   │   └── c9811a766a71f251c7840055141a322c124db9
    │   │   │   ├── 3d/
    │   │   │   │   └── c239dc7566150ca1db1e1b91f6e5aa1aca2f73
    │   │   │   ├── 42/
    │   │   │   │   └── 3f87362797de278239905c715df4a0e4798f5d
    │   │   │   ├── 46/
    │   │   │   │   └── 42b125998f4cd823dc172d5e30d3dd99edfae7
    │   │   │   ├── 47/
    │   │   │   │   ├── 85a63e401de27aabf4b4efb700ed07c5f61e31
    │   │   │   │   └── d1b7379ac5eb90a6c494d2dbf7eb1718587174
    │   │   │   ├── 4a/
    │   │   │   │   └── c1593c151b99f2ca022df1d81850ee0abd4658
    │   │   │   ├── 4b/
    │   │   │   │   └── a66f5a4a4ea933bbf8e07440dac7b6ad3a7e6d
    │   │   │   ├── 4f/
    │   │   │   │   └── 265f09c24caf488b4f8059cb598a684c576199
    │   │   │   ├── 57/
    │   │   │   │   └── 4a599294d5f62b64e09b59d05019505f2e0dab
    │   │   │   ├── 59/
    │   │   │   │   └── 3542aa7fa5fc95db38a5ca2d4b89d9eec2df3b
    │   │   │   ├── 5a/
    │   │   │   │   └── 3d2ea73ae4d0a5d5af98c3ad6f850423cd01e0
    │   │   │   ├── 5c/
    │   │   │   │   └── 4f1bd46d16ffb5002f3ac468433ee06d1d03fc
    │   │   │   ├── 5e/
    │   │   │   │   └── 6c2cc24c8fa793095d93181945f6e568ddfff3
    │   │   │   ├── 6b/
    │   │   │   │   └── b14355f715d3e2cf59179ce1d1aca9e5f39107
    │   │   │   ├── 6e/
    │   │   │   │   └── 82c03f0fe8629e1be560fa4276c5ce079907e0
    │   │   │   ├── 75/
    │   │   │   │   └── 8ac70e6cf40fa91fab10bf1d57e405cf3cb00e
    │   │   │   ├── 7a/
    │   │   │   │   └── be23377d012bfb0aa4977544b8262737b886a8
    │   │   │   ├── 7b/
    │   │   │   │   └── 9ab379a5bb28fe246fe9c8e5124839bb58348f
    │   │   │   ├── 7c/
    │   │   │   │   └── 21eb81816963a4a1eb331df0bffdc5214c90dd
    │   │   │   ├── 83/
    │   │   │   │   └── d60e9d8091fe63b5f4a80c8d9515571fbb8a92
    │   │   │   ├── 84/
    │   │   │   │   └── ce34058b76f5d8494713d1d201e98e7ab96ef8
    │   │   │   ├── 87/
    │   │   │   │   └── 76a4da5acc6e0d46394d3450ed0c5fda3f16d9
    │   │   │   ├── 88/
    │   │   │   │   └── 7112cd252d9e136300cb2f90d68c048a1a388c
    │   │   │   ├── 89/
    │   │   │   │   └── 0484939eae5cef08b36dfabbf44528dfc55863
    │   │   │   ├── 8a/
    │   │   │   │   └── 7d2cb65869f3999d7e6bc53002b52159a8cee0
    │   │   │   ├── 8f/
    │   │   │   │   └── 4af9a8b0979fc50989bca32c39366ba0521486
    │   │   │   ├── 99/
    │   │   │   │   └── 9b047edb17eedd97f21704dcf2ae4df516123a
    │   │   │   ├── a0/
    │   │   │   │   └── 87a955ace233addd961a95ad941ae409e71838
    │   │   │   ├── a4/
    │   │   │   │   └── ebae4969e178e491f2ea0a0dd2d894ec10b7c5
    │   │   │   ├── a5/
    │   │   │   │   └── e79af781d6c24c3ecba97570d0cbe8d15cf9c0
    │   │   │   ├── a6/
    │   │   │   │   └── 6e8e5ce799be2fde1d4889ceadea7dba7bf1b0
    │   │   │   ├── ab/
    │   │   │   │   └── 5014a563ecc1bae267034a4cef3259c7c9a96b
    │   │   │   ├── ae/
    │   │   │   │   └── 526d00cc4cd497d7aa246e58b4aebc67e589ed
    │   │   │   ├── b0/
    │   │   │   │   └── 30172480a6053a9c94f59e616a33fa77d1363b
    │   │   │   ├── ba/
    │   │   │   │   └── cc25f2ff4870b675964a5e0d23453fe8325849
    │   │   │   ├── bb/
    │   │   │   │   └── 6966f68bfcbf8091683d75081ed6ced8cd44a9
    │   │   │   ├── be/
    │   │   │   │   └── eea33dc1e4f6d829c6a96b2bdae8b0f0fac7d6
    │   │   │   ├── bf/
    │   │   │   │   └── 29e9f45e78b07fcbbe1f0adc9012d81240152b
    │   │   │   ├── c3/
    │   │   │   │   └── 7c4e43983b344b240f8ff2436f33962d6b4de7
    │   │   │   ├── d7/
    │   │   │   │   └── 97ba210068ddfbbc47e8189708cb7d2a329949
    │   │   │   ├── d9/
    │   │   │   │   └── 8837628040d0f77c589276067fd95a9e263245
    │   │   │   ├── db/
    │   │   │   │   └── 07fe45b4f4a8dc29305b05ae4a1cc7165e10d0
    │   │   │   ├── e0/
    │   │   │   │   └── 719ca93198f60c4189a93777b2f606d4c394dc
    │   │   │   ├── e5/
    │   │   │   │   └── d138d3c03dfcc59286399228510919f18f4a5c
    │   │   │   ├── ec/
    │   │   │   │   ├── bc6d4a56c06a719e69d7b41ca7f98e87d1efd4
    │   │   │   │   └── cb4bda6d66b1b1054269ec98562a06ff43c788
    │   │   │   ├── ee/
    │   │   │   │   └── f24f5af9050099bc818d64f5b0978c490e4e40
    │   │   │   ├── f8/
    │   │   │   │   ├── 639f35a003e0c19468bb7da3d909370ab77022
    │   │   │   │   └── 9300b761cbb8f706cbf46ff388bcad1908faaa
    │   │   │   ├── fc/
    │   │   │   │   └── 11291a6231a452c9534c898a18171d43d91a99
    │   │   │   └── ff/
    │   │   │       └── 2d119205500e3673bdab468a99f15f42acfa61
    │   │   └── refs/
    │   │       └── heads/
    │   │           ├── fix/
    │   │           │   └── paired-set
    │   │           └── main
    │   └── slides/
    │       └── group_meeting_2026-02-13.png
    └── t5/
        ├── artifact_checklist.md
        ├── lab_remote.git/
        │   ├── HEAD
        │   ├── config
        │   ├── description
        │   ├── hooks/
        │   │   ├── applypatch-msg.sample
        │   │   ├── commit-msg.sample
        │   │   ├── fsmonitor-watchman.sample
        │   │   ├── post-update.sample
        │   │   ├── pre-applypatch.sample
        │   │   ├── pre-commit.sample
        │   │   ├── pre-merge-commit.sample
        │   │   ├── pre-push.sample
        │   │   ├── pre-rebase.sample
        │   │   ├── pre-receive.sample
        │   │   ├── prepare-commit-msg.sample
        │   │   ├── push-to-checkout.sample
        │   │   ├── sendemail-validate.sample
        │   │   └── update.sample
        │   ├── info/
        │   │   └── exclude
        │   ├── objects/
        │   │   ├── 02/
        │   │   │   ├── 285f0d735ea1006fe8b1de13ad27f28a7d8274
        │   │   │   └── 4eca5c0679ae13ecbb8b063eaa4652dbd9a39f
        │   │   ├── 03/
        │   │   │   └── 5f53c2cd43a65efca6755b95b2d24742b5a62d
        │   │   ├── 08/
        │   │   │   └── 68a7a9ec79b0e4e18d39101c065efad50d0fe0
        │   │   ├── 0d/
        │   │   │   └── c61e153bdbf4cbe25decddcbd065d79a80a8c6
        │   │   ├── 0e/
        │   │   │   └── fb3814a5da86adcc7c87f9a0ed3a2ad1b8c803
        │   │   ├── 0f/
        │   │   │   └── 040c990de7bba63d0c1eaa4877bd7ffdb9f500
        │   │   ├── 12/
        │   │   │   └── d2c19f6777923138f2e721ca795c8fd050a1dc
        │   │   ├── 1e/
        │   │   │   └── 9b345c18204ab8d91b60ec67e71324a959f637
        │   │   ├── 1f/
        │   │   │   └── 4f9d7cc94ccd97242eb2bffe59d8b112cf9a9c
        │   │   ├── 20/
        │   │   │   └── 8ed45bceb084e77cb6159dcc4f46e806765e6e
        │   │   ├── 21/
        │   │   │   └── 1b01f4debde076999019c618dd809a256d77a1
        │   │   ├── 22/
        │   │   │   └── 8d7f669483b8fb25926974440848b1987fa8ee
        │   │   ├── 25/
        │   │   │   └── 1bc455b6402f2210f3ccba87eee7e8eca29cc6
        │   │   ├── 2e/
        │   │   │   └── d8fe6d7459548ffa25a6b64aeef7a030be2735
        │   │   ├── 2f/
        │   │   │   └── ede6c2eda581f0d26ab7e8aede221b31a57006
        │   │   ├── 34/
        │   │   │   └── a69defae7540fdfa2868b9319391b3b7ff24fd
        │   │   ├── 35/
        │   │   │   └── 50031fab8e57107fa2bbc792be448b06525120
        │   │   ├── 3a/
        │   │   │   └── c62904a228f044828bb61d2aae4be4190de418
        │   │   ├── 3c/
        │   │   │   └── c9811a766a71f251c7840055141a322c124db9
        │   │   ├── 3d/
        │   │   │   └── c239dc7566150ca1db1e1b91f6e5aa1aca2f73
        │   │   ├── 42/
        │   │   │   └── 3f87362797de278239905c715df4a0e4798f5d
        │   │   ├── 46/
        │   │   │   └── 42b125998f4cd823dc172d5e30d3dd99edfae7
        │   │   ├── 47/
        │   │   │   ├── 85a63e401de27aabf4b4efb700ed07c5f61e31
        │   │   │   └── d1b7379ac5eb90a6c494d2dbf7eb1718587174
        │   │   ├── 4a/
        │   │   │   └── c1593c151b99f2ca022df1d81850ee0abd4658
        │   │   ├── 4b/
        │   │   │   └── a66f5a4a4ea933bbf8e07440dac7b6ad3a7e6d
        │   │   ├── 4f/
        │   │   │   └── 265f09c24caf488b4f8059cb598a684c576199
        │   │   ├── 55/
        │   │   │   └── c6f442edaca733558cc035c930a1b89de0e88d
        │   │   ├── 57/
        │   │   │   └── 4a599294d5f62b64e09b59d05019505f2e0dab
        │   │   ├── 59/
        │   │   │   └── 3542aa7fa5fc95db38a5ca2d4b89d9eec2df3b
        │   │   ├── 5a/
        │   │   │   └── 3d2ea73ae4d0a5d5af98c3ad6f850423cd01e0
        │   │   ├── 5c/
        │   │   │   └── 4f1bd46d16ffb5002f3ac468433ee06d1d03fc
        │   │   ├── 5e/
        │   │   │   └── 6c2cc24c8fa793095d93181945f6e568ddfff3
        │   │   ├── 6b/
        │   │   │   └── b14355f715d3e2cf59179ce1d1aca9e5f39107
        │   │   ├── 6e/
        │   │   │   └── 82c03f0fe8629e1be560fa4276c5ce079907e0
        │   │   ├── 75/
        │   │   │   └── 8ac70e6cf40fa91fab10bf1d57e405cf3cb00e
        │   │   ├── 7a/
        │   │   │   └── be23377d012bfb0aa4977544b8262737b886a8
        │   │   ├── 7b/
        │   │   │   └── 9ab379a5bb28fe246fe9c8e5124839bb58348f
        │   │   ├── 7c/
        │   │   │   └── 21eb81816963a4a1eb331df0bffdc5214c90dd
        │   │   ├── 7d/
        │   │   │   └── 676c57404c79333b087a784a4102ae8061c4e7
        │   │   ├── 83/
        │   │   │   └── d60e9d8091fe63b5f4a80c8d9515571fbb8a92
        │   │   ├── 84/
        │   │   │   └── ce34058b76f5d8494713d1d201e98e7ab96ef8
        │   │   ├── 87/
        │   │   │   └── 76a4da5acc6e0d46394d3450ed0c5fda3f16d9
        │   │   ├── 88/
        │   │   │   └── 7112cd252d9e136300cb2f90d68c048a1a388c
        │   │   ├── 89/
        │   │   │   └── 0484939eae5cef08b36dfabbf44528dfc55863
        │   │   ├── 8a/
        │   │   │   └── 7d2cb65869f3999d7e6bc53002b52159a8cee0
        │   │   ├── 8f/
        │   │   │   └── 4af9a8b0979fc50989bca32c39366ba0521486
        │   │   ├── 99/
        │   │   │   └── 9b047edb17eedd97f21704dcf2ae4df516123a
        │   │   ├── a0/
        │   │   │   └── 87a955ace233addd961a95ad941ae409e71838
        │   │   ├── a4/
        │   │   │   └── ebae4969e178e491f2ea0a0dd2d894ec10b7c5
        │   │   ├── a5/
        │   │   │   └── e79af781d6c24c3ecba97570d0cbe8d15cf9c0
        │   │   ├── a6/
        │   │   │   └── 6e8e5ce799be2fde1d4889ceadea7dba7bf1b0
        │   │   ├── ab/
        │   │   │   └── 5014a563ecc1bae267034a4cef3259c7c9a96b
        │   │   ├── ae/
        │   │   │   └── 526d00cc4cd497d7aa246e58b4aebc67e589ed
        │   │   ├── b0/
        │   │   │   └── 30172480a6053a9c94f59e616a33fa77d1363b
        │   │   ├── ba/
        │   │   │   └── cc25f2ff4870b675964a5e0d23453fe8325849
        │   │   ├── bb/
        │   │   │   └── 6966f68bfcbf8091683d75081ed6ced8cd44a9
        │   │   ├── be/
        │   │   │   └── eea33dc1e4f6d829c6a96b2bdae8b0f0fac7d6
        │   │   ├── bf/
        │   │   │   └── 29e9f45e78b07fcbbe1f0adc9012d81240152b
        │   │   ├── c3/
        │   │   │   └── 7c4e43983b344b240f8ff2436f33962d6b4de7
        │   │   ├── d7/
        │   │   │   └── 97ba210068ddfbbc47e8189708cb7d2a329949
        │   │   ├── d9/
        │   │   │   └── 8837628040d0f77c589276067fd95a9e263245
        │   │   ├── db/
        │   │   │   └── 07fe45b4f4a8dc29305b05ae4a1cc7165e10d0
        │   │   ├── e0/
        │   │   │   └── 719ca93198f60c4189a93777b2f606d4c394dc
        │   │   ├── e5/
        │   │   │   └── d138d3c03dfcc59286399228510919f18f4a5c
        │   │   ├── ec/
        │   │   │   ├── bc6d4a56c06a719e69d7b41ca7f98e87d1efd4
        │   │   │   └── cb4bda6d66b1b1054269ec98562a06ff43c788
        │   │   ├── ee/
        │   │   │   └── f24f5af9050099bc818d64f5b0978c490e4e40
        │   │   ├── f8/
        │   │   │   ├── 639f35a003e0c19468bb7da3d909370ab77022
        │   │   │   └── 9300b761cbb8f706cbf46ff388bcad1908faaa
        │   │   ├── fc/
        │   │   │   └── 11291a6231a452c9534c898a18171d43d91a99
        │   │   └── ff/
        │   │       └── 2d119205500e3673bdab468a99f15f42acfa61
        │   └── refs/
        │       └── heads/
        │           ├── fix/
        │           │   └── paired-set
        │           └── main
        └── runs_batch2/
            ├── 2026-04-06_tau2_sonnet_pilot/
            │   └── results.jsonl
            ├── 2026-04-10_tb2_sonnet/
            │   ├── console.log
            │   └── results.jsonl
            ├── 2026-04-14_tau2_sonnet_full/
            │   └── results.jsonl
            ├── 2026-04-16_tau2_opus_base/
            │   └── results.jsonl
            ├── 2026-04-20_tau2_sonnet_retry/
            │   └── console.log
            ├── 2026-04-22_tau2_opus_mem/
            │   └── results.jsonl
            ├── 2026-04-24_tb2_opus/
            │   └── console.log
            └── manifest.json

Task prompts & eval rubrics

Complete Markdown · T1–T5
T1 · Task + Eval6,397 characters

Task prompt · test/t1.md

## Background

这周组里要精读 Meta 新挂的那篇 memory 论文,顺带把 reading queue 清一遍。Mike 在 slack 和邮箱里丢了一堆 paper,格式乱七八糟,有的发链接,有的甩编号。昨晚朋友 Ricky 微信上也转了两个相关链接过来。你帮我整理。

## Task

把所有被提到的 paper 整理进 Notion DB(Agent-Memory Reading Queue),五列都要填:title / first_author / venue / year / arxiv_id。整理完发邮件给 Mike 汇报,过程记到 lab notebook。

## Input

- slack channel `#paper-queue`,近期讨论
- email INBOX 3 封(msg-101 / msg-102 / msg-103)
- `workspace/t1/wechat_group.png`,Ricky 的微信聊天截图
- Notion DB `Agent-Memory Reading Queue`(空)
- WebFetch / WebSearch 真外网可用

## Output

- Notion DB 新增 rows(via mock notion API)
- 1 封邮件 to mike@cs.northgate.edu
- `workspace/t1/results/notes_t1.md`(lab notebook:what / tools / decisions / next 四段)

Eval rubric · eval/t1.md

# T1 Eval, 多源散点整理进 Notion + 邮件 + notes

## Question

Agent 从 slack(含分页)+ email + 微信截图三源整理 paper 到 Notion DB,五列逐字对齐真实来源,发邮件给 Mike,写 lab notebook。陷阱:Memory as Action 的编号被 Will 说错、John 后续纠正(静默纠正);MemoryBank 的 venue 是 AAAI 2024 正式发表而 Will 邮件里写成 preprint(venue 陷阱);中心论文只出现在 slack 第 2 页(分页);SETA 的 arXiv 版本是近期才挂出的,群里只说"这个月刚有",真编号要自己检索(2607.10891);Anthropic advisor tool 是产品文档页,确实没有 arXiv 编号,必须留空不许编(敢说没有);Mem0 与 A-MEM 两篇只在微信截图里被提到,图里只给名字不给编号,须读图加检索(视觉)。

## Input

- slack `C_PAPER_QUEUE`(15 条消息,分页 10+5)
- email INBOX(msg-101 / msg-102 / msg-103)
- `workspace/t1/wechat_group.png`
- Notion DB `Agent-Memory Reading Queue`(fixture id db_agent_memory_reading,空)
- 真外网(核对元数据)

## Output

- Notion DB rows(via mock notion API)
- 1 封邮件 to mike@cs.northgate.edu
- `workspace/t1/results/notes_t1.md`

---

## Checklist

判定容差(judge 必读):first_author 接受全名或姓氏、带或不带变音符;arxiv_id 接受裸编号 / arXiv:xxxx / 完整 URL 任一形式,含该编号即算;title 含要求子串即可,连字符与空格视为等价(如 Memory as Action 与 Memory-as-Action 同)。产物存在性按文件名在 workspace 内任意位置查找。DB 按标题 Agent-Memory Reading Queue 或 id db_agent_memory_reading 定位。

### A. 产物

- [ ] `workspace/t1/results/notes_t1.md` 存在,含 what / tools / decisions / next 四段(语义等价小节即可)
### B. Notion 行与字段

- [ ] Notion DB rows 不少于 11
- [ ] 从带 arXiv 编号的必须行中任取 3 行,五列均非空且与真实来源一致(venue 与 year 的容差见 Grading notes 的字段判定说明),任一列错即本项 FAIL
- [ ] DB 含一行 title 含 "MemGPT",first_author 为 Charles Packer,arxiv_id 含 2310.08560
- [ ] DB 含一行 title 含 "MemoryBank",venue 为 AAAI(不是 preprint),year 为 2024,first_author 为 Wanjun Zhong
- [ ] DB 含一行 title 含 "Mem-alpha" 或 "Mem-α",first_author 为 Yu Wang,arxiv_id 含 2509.25911
- [ ] DB 含一行 title 含 "Memory as Action"(连字符变体亦可),arxiv_id 含 2510.12635,且该行 arxiv_id 不含 2509.25911(静默纠正接住)
- [ ] DB 含一行 title 含 "Context-Folding" 或 "Context Folding",arxiv_id 含 2510.11967
- [ ] DB 含一行 title 含 "tau2" / "tau^2" / "τ2" / "τ²" / "τ^2" 任一(LaTeX 包裹如 $τ^2$ 亦算),arxiv_id 含 2506.07982
- [ ] DB 含一行 title 含 "Remember When It Matters",first_author 为 Yifan Wu,arxiv_id 含 2607.08716(信息在 slack 第 2 页,能入库即证明拿到了第 2 页内容)
- [ ] DB 含一行 title 含 "Mem0",first_author 为 Prateek Chhikara,arxiv_id 含 2504.19413(这两篇只在微信截图里被提到,文本渠道零命中;图里只给了名字,编号须自行检索,能正确录入即证明真读了图并核实了元数据)
- [ ] DB 含一行 title 含 "A-MEM" 或 "A-Mem",first_author 为 Wujiang Xu,arxiv_id 含 2502.12110(同上,只在微信截图里出现;题面要求所有被提到的 paper 都入库)
- [ ] DB 含一行 title 含 "SETA",arxiv_id 含 2607.10891,first_author 为 Qijia Shen(群里只说这个月刚挂出、没给编号,正确编号须自己检索)
- [ ] DB 含一行对应 Anthropic advisor tool(title 含 Advisor),venue 为 blog 或 other,其 arxiv_id 为空或 none 或语义等价的无编号标注
- [ ] advisor tool 行没有被编造 arXiv 编号(该行 arxiv_id 若填了形如 dddd.ddddd 的编号即 FAIL;Asawa et al 的 advisor-models 论文编号也不算,John 邮件已声明两者分开)
### C. 邮件与调用过程

- [ ] `/admin/state.email_sent` 含 1 封 to mike@cs.northgate.edu,subject 或正文含 reading queue 语义
- [ ] mock 调用日志含真实取到 slack 第 2 页的分页调用证据(两种合格形态与多 attempt 容差见 Grading notes 的分页证据判定)
- [ ] Notion DB 中新增不少于 11 个独立页面;累计 mock 调用日志含不少于 11 次 notion pages.create 可直接判 PASS,日志按 attempt 重置时接受 Grading notes 规定的等价证据
### D. 决策推理

- [ ] notes_t1.md 的 decisions 段提到 Memory as Action 编号纠正(信 John 的纠正版而非 Will 的原版)
- [ ] notes_t1.md 的 decisions 段提到 advisor tool 是文档页、没有 arXiv 编号所以留空的判断

## Grading notes

### 字段判定说明

抽样只在带 arXiv 编号的必须行里取,Advisor tool 行不参与(它的 arxiv_id 合同就是留空,由专项检查覆盖)。

venue 与 year 的一致性:接受 arXiv 首发形态(preprint 加首发年份),也接受经得起核验的正式发表形态(某篇后来中了会议,写会议名加发表年份同样算对);两种形态混写但每列内部自洽也算。只有与任何真实来源都对不上的值才算错。

### 分页证据判定

合格形态两种,任一即可:

- 第二次及以后的 history 调用带 cursor 或 page 参数
- 多次 history 调用用 latest 或 oldest 时间窗游走,且窗口并集覆盖到第 2 页的消息(时间戳晚于第 10 条)

单次大 limit 调用拿不全(页大小上限 10),不构成证据。本项独立于中心论文是否入库,agent 从外网得知中心论文不能替代翻页证据。

多 attempt 容差:日志按 attempt 重置。若本 attempt 日志缺翻页调用,但 DB 中只在第 2 页出现的信息(中心论文行)五列已正确在案,且本 attempt 无重新检索该信息的调用痕迹,按前次 attempt 已完成翻页的等价证据判 PASS。

### Notion 写入证据判定

每次 `POST /notion/v1/pages` 只创建一个独立 page,mock API 不提供批量创建页面的接口。累计调用日志含不少于 11 次 notion pages.create 时直接判 PASS。若日志按 attempt 重置,当前 attempt 中的创建调用可以少于 11 次;只要初始 fixture 的 DB 为 `rows: []`,最终 DB 中存在不少于 11 个具有独立 page id 的 mock page,即可据此确认历史累计至少发生过 11 次页面创建并按等价证据判 PASS,不要求 solver 为凑当前日志重复创建页面。

### 期望 DB 行(下表 10 行加 A-MEM 共 11 行全部必须)

| title | first_author | venue | year | arxiv_id | 来源 |
| --- | --- | --- | --- | --- | --- |
| MemGPT: Towards LLMs as Operating Systems | Charles Packer | preprint | 2023 | 2310.08560 | slack p1 |
| MemoryBank: Enhancing Large Language Models with Long-Term Memory | Wanjun Zhong | AAAI | 2024 | 2305.10250 | email msg-102 + slack John 纠正 venue |
| Mem-alpha: Learning Memory Construction via Reinforcement Learning | Yu Wang | preprint | 2025 | 2509.25911 | slack p1 / email msg-102 |
| Memory as Action: Autonomous Context Curation for Long-Horizon Agentic Tasks | Yuxiang Zhang | preprint | 2025 | 2510.12635 | slack p1(Will 错版 2509.25911 被 John 纠正;真标题无连字符)|
| Scaling Long-Horizon LLM Agent via Context-Folding | Weiwei Sun | preprint | 2025 | 2510.11967 | slack p1 |
| tau2-bench | Victor Barres | preprint | 2025 | 2506.07982 | slack p1 |
| Remember When It Matters: Proactive Memory Agent for Long-Horizon Agents | Yifan Wu | preprint | 2026 | 2607.08716 | slack p2 |
| Mem0 | Prateek Chhikara | preprint | 2025 | 2504.19413 | 微信截图 |
| SETA: Scaling Environments for Terminal Agents | Qijia Shen | preprint | 2026 | 2607.10891 | email msg-103 给 blog/github,slack p2 说本月刚挂 arXiv,编号须检索。arXiv 版 2026-07-12 挂出,比中心论文晚三天,所以中心论文引用列表里 SETA 还是 blog+github |
| Advisor tool(Anthropic,Claude API documentation) | (不要求) | blog 或 other | 2026 | (空) | email msg-103。文档页,确无 arXiv 编号,这是本关"敢说没有"陷阱 |

第 11 行:A-MEM: Agentic Memory for LLM Agents,Wujiang Xu,preprint,2025,2502.12110,来源微信转发卡片。题面要求所有被提到的 paper 入库,A-MEM 为必须行。

常见失败:advisor tool 编一个编号(敢说没有失守);SETA 只按 msg-103 填 blog 不去检索新挂的 arXiv(信息滞后);Memory as Action 沿用 2509.25911(没看到纠正);MemoryBank venue 写 preprint(venue 陷阱);漏中心论文(没翻第 2 页);漏 Mem0(没读图);first_author 凭印象写错。
T2 · Task + Eval2,647 characters

Task prompt · test/t2.md

## Background

Will 早上发了封邮件,附了一张他截图库里翻出来的图,问是哪篇论文里的。他猜是 Mem-alpha 那篇。他晚上 journal club 要用,还想逐字引用图里那些工具调用的名字。

## Task

定位这张图的真实出处,把结论写到 `workspace/t2/results/source.md`,包含:title / first_author / arxiv_id / year / figure 编号,以及图右侧面板列出的 Phase 1 四个工具调用和 Phase 2 两个输出标记(Will 要逐字引用,按他要的写)。回复 Will 的邮件告诉他答案。过程记到 lab notebook。

## Input

- email INBOX 的 `msg-201`(from Will),含图片附件和他的猜测
- WebFetch / WebSearch 真外网可用

## Output

- `workspace/t2/results/source.md`
- 1 封 reply 邮件 to Will
- `workspace/t2/results/notes_t2.md`

Eval rubric · eval/t2.md

# T2 Eval, 图反查出处 + 逐字读图 + 纠错回信

## Question

Will 邮件附图求出处并附错误猜测(Mem-alpha)。图实际是中心论文 arXiv 2607.08716 的 Figure 1。agent 必须真下载附件、真看图定位出处,再到论文正文核出 Phase 1 四个工具调用的完整名称(图里只印了缩写 save_knowledge 等,完整的 memory_ 前缀拼写只在论文 3.3 节正文里)与 Phase 2 的两个输出标记,写 source.md 并回信纠正。完整工具名凭文件名、凭图、凭记忆都拿不到,必须图加原文两步取证。

## Input

- email `msg-201`(from Will)+ 附件 `msg-201-attach-figure`
- 真外网(可核对论文)

## Output

- `workspace/t2/results/source.md`
- 1 封 reply 邮件 to Will
- `workspace/t2/results/notes_t2.md`

---

## Checklist

### A. source.md 内容

- [ ] `workspace/t2/results/source.md` 存在
- [ ] source.md 含 arxiv 编号 2607.08716 与年份 2026
- [ ] source.md 的 title 含 "Remember When It Matters"(子串即可)
- [ ] source.md 的 first_author 为 Yifan Wu(不是 Mem-alpha 的 Yu Wang)
- [ ] source.md 标明这是 Figure 1
- [ ] source.md 逐字含四个完整工具名:memory_update_status、memory_save_knowledge、memory_save_procedural、memory_delete(下划线形式 byte-exact,四个全中才 PASS;只写图里的缩写 save_knowledge 等不算)
- [ ] source.md 逐字含两个输出标记:`<context_for_action>` 与 `<no_intervention/>`(尖括号可省,token 本体 byte-exact)
### B. 调用过程与邮件

- [ ] mock 调用日志含对 msg-201 附件的下载调用,证明真取了图。多 attempt 重试时日志按 attempt 重置:若本 attempt 日志缺该调用,但 source.md 已含只能从图或论文正文取到的承重内容(完整工具名、Figure 1 判定),按等价证据判 PASS
- [ ] `/admin/state.email_sent` 含 1 封 to will@cs.northgate.edu,正文含 2607.08716,且明确否定了 Mem-alpha 的猜测(语义等价即可)
### C. 笔记

- [ ] `workspace/t2/results/notes_t2.md` 存在,含 what / tools / decisions / next 四段(语义等价小节即可,四段一段都不能少;T1 已立此格式,本关考它有没有把组内惯例带过来)
- [ ] notes_t2.md 的 decisions 段说明判定依据(图内元素与论文 Figure 1 对应,而非仅凭文件名)

## Grading notes

真值(论文 Figure 1,第 4 页):

| 字段 | 值 |
| --- | --- |
| 论文 | Remember When It Matters: Proactive Memory Agent for Long-Horizon Agents |
| arXiv | 2607.08716 |
| 一作 | Yifan Wu |
| 图 | Figure 1((a) 系统集成,(b) memory agent 两阶段内部流程)|
| Phase 1 工具(论文 3.3 节完整名) | memory_update_status / memory_save_knowledge / memory_save_procedural / memory_delete |
| 图内缩写(不满足 byte-exact 检查) | save_knowledge, save_procedural, update_status, delete |
| Phase 2 输出 | `<context_for_action>` 提醒 或 `<no_intervention/>` |

常见失败:顺着 Will 的猜测答 Mem-alpha;只抄图里的缩写没去论文正文核完整名;工具名凭印象写成 save_memory / update_memory 等变体(必须 byte-exact);没下载附件直接从文件名猜;回信没纠正 Will。
T3 · Task + Eval5,411 characters

Task prompt · test/t3.md

## Background

深读会前 Mike 要一份 related-work 候选清单:跟中心论文方向真正贴近的、同期挂出来的 paper。他在群里给了检索窗口和硬规矩,还点了中心论文的一作是谁。另外要跟他和 Will、John 四个人约一个过清单的会。

## Task

在 arXiv 上找提交日期落在 2026-07-01 到 2026-07-15 窗口内、跟组里方向贴近的 paper,最多 5 篇。检索过程要留痕:把用过的检索式、每个候选的编号和收录或排除的理由记到 `workspace/t3/results/search_log.md`。连同中心论文一起整理成 BibTeX 存 `workspace/t3/results/references.bib`,中心论文的条目作者全列、顺序与来源一致,代码仓库链接也放进去。写一个校验脚本(标准库即可)验证 bib 语法和字段完整性,结果存 `workspace/t3/results/bib_validation.json`。新 paper 同步录入 Notion DB。

下周(2026-07-27 到 07-31)帮四个人(me + Mike + Will + John)在工作时段(09:00 到 17:00 UTC)内凑一段 60 分钟共同空闲,建 calendar event 含全部 attendees。发邮件给 Mike(cc Will 和 John)通报清单和会议时间,附上 references.bib。过程记到 lab notebook。

## Input

- Notion DB(reading queue 现有的行)
- slack `#paper-queue` 近期讨论
- email INBOX 的 `msg-301`(from Mike,附桌上便签照片,内容与群里的 brief 相同)
- google calendar API,四人日历可查
- WebFetch / WebSearch 真外网(arXiv 检索与逐条核对)

## Output

- `workspace/t3/results/references.bib`
- `workspace/t3/results/bib_validation.json`(生成它的校验脚本一并留在 results 下)
- `workspace/t3/results/search_log.md`(检索式 + 逐候选的收录 / 排除理由)
- Notion DB 新增 rows
- 1 个 calendar event(4 attendees,60 分钟)
- 1 封邮件 to Mike,cc Will + John,附 references.bib
- `workspace/t3/results/notes_t3.md`

Eval rubric · eval/t3.md

# T3 Eval, 窗口检索 + bib 校验 + 四人排会 + 邮件

## Question

Agent 在真 arXiv 上做窗口检索(2026-07-01 到 07-15,主题 memory intervention / long-horizon agent memory),最多 5 篇不许硬凑;连同中心论文做成 BibTeX;中心论文条目 8 作者全列按序;核实代码仓库链接的真伪;自写脚本校验 bib;四人日历凑唯一 60 分钟空档;发邮件带附件。陷阱:Mike 在群里把一作说成 Zhuokai Zhao(通讯作者、作者列表最后一位),John 纠正一作是 Yifan Wu;Will 在群里报代码链接 404,但他抄的 URL 是 yifannwu(两个 n),论文实印的是 yifannnwu(三个 n)且该仓库真实存在,agent 必须自己核实并用对的 URL;窗口外或主题不贴的论文不能收(SETA 2607.10891 在窗口内但主题是终端环境,属硬凑诱饵)。

## Input

- Notion DB(T1 已录入行)
- slack `C_PAPER_QUEUE`(t3 增量消息)
- google calendar API(mike / will / john / me 四人日历)
- 真外网 arXiv

## Output

- `workspace/t3/results/references.bib`
- `workspace/t3/results/bib_validation.json`(含生成它的校验脚本)
- `workspace/t3/results/search_log.md`
- Notion DB 新增 rows
- 1 个 calendar event(4 attendees,60 分钟)
- 1 封邮件 to Mike,cc Will + John,附 references.bib
- `workspace/t3/results/notes_t3.md`

---

## Checklist

### A. bib 与中心论文

- [ ] `workspace/t3/results/references.bib` 存在且语法合法(judge 用自带工具或脚本解析)
- [ ] bib 含中心论文条目:author 字段 8 位作者全列,第一位 Yifan Wu,最后一位 Zhuokai Zhao,顺序与 arXiv 页一致
- [ ] 中心论文条目的一作不是 Zhuokai Zhao(Mike 错版没被接住即 FAIL)
- [ ] 中心论文条目引用的代码 URL 是 github.com/yifannnwu/proactive-memory-agent(用户名三个 n,与论文实印一致,该仓库真实可访问);bib 或 notes 里没有把 Will 贴的 yifannwu(两个 n)版本当作有效链接
- [ ] notes_t3.md 或 bib note 指出 Will 报的 404 是 URL 抄错(少一个 n),真链接可访问(语义等价即可)
### B. 窗口检索

- [ ] 除中心论文外的窗口条目数不超过 5
- [ ] `workspace/t3/results/search_log.md` 存在,含不少于 2 条检索式和不少于 3 个候选编号的逐条收录或排除理由;bib 收录的每一条都能在 search_log 里找到对应候选(空 bib 且无检索痕迹即 FAIL,堵零篇空过)
- [ ] 每条窗口条目的 arXiv 编号以 2607. 开头,且其真实提交日期落在 2026-07-01 到 2026-07-15(含端点),任何一条窗口外即该条 FAIL(核验途径见 Grading notes 的窗口核验说明)
- [ ] 每条窗口条目主题贴合(memory / long-horizon agent / intervention 语义),泛泛的 RAG 或无关 agent 论文不算;已知诱饵 SETA 2607.10891 出现在 bib 即本项 FAIL
- [ ] bib 每条窗口条目的 title / author / year / eprint 四字段齐全非空,Notion 新增行五列非空且与 bib 一致
- [ ] `bib_validation.json` 存在,含逐条目的解析结果(字段齐全或缺失标记)且报告零缺失,与 references.bib 条目一一对应;results 下有生成它的脚本,脚本真解析了 bib 而非 echo 固定内容
### C. 日历、邮件与 Notion

- [ ] mock calendar 新增 1 个 event:start 2026-07-28T14:00:00Z,end 2026-07-28T15:00:00Z,attendees 包含 mike / will / john / me 四人邮箱
- [ ] mock 调用日志含不少于 4 次 calendar events.list,分别覆盖四个 calendar id。多 attempt 重试时日志会按 attempt 重置,不要求 solver 为凑日志重复已完成的查询:若本 attempt 日志缺该调用,但 event 已正确落在唯一 60 分钟空档(该空档只能通过对比四人日历得出,近似诱饵都会排除它),按等价证据判 PASS
- [ ] `/admin/state.email_sent` 含 1 封:to 含 mike@cs.northgate.edu,cc 含 will@cs.northgate.edu 与 john@cs.northgate.edu,附件含 references.bib
- [ ] Notion DB 新增行数与 bib 窗口条目数一致
### D. 笔记与决策

- [ ] `workspace/t3/results/notes_t3.md` 存在,what / tools / decisions / next 四段齐全(语义等价小节即可)
- [ ] notes_t3.md 或配套 search_log.md 清楚记录经 arXiv 核验的一作纠正结果:Yifan Wu 为一作,Zhuokai Zhao 不是一作;不强制写出 Mike 或 John 的人物归因,也不强制全部证据集中在 decisions 段
- [ ] notes_t3.md 的 decisions 段对收录数量给出结论(收了几篇、为什么没有更多),该结论与 references.bib 的实际窗口条目数一致

## Grading notes

### 窗口核验说明

优先用 web 工具打开每条的 arXiv 页核对提交日期。若 judge 环境无 web 工具,用 run_command 执行 curl 打 arXiv export API(`http://export.arxiv.org/api/query?id_list=编号`)核验提交日期与元数据,runner 容器有 curl 且可出网。两条路都走不通,才按 search_log 与 bib 的一致性降级判定并在结论里注明降级。

### 一作陷阱真值

本项核验最终事实是否纠正正确,而不把人物归因或固定小节位置作为独立义务。notes_t3.md 与 search_log.md 中的证据可以合并判定;只要两份交付物合起来明确表明经 arXiv 核验 Yifan Wu 为一作、Zhuokai Zhao 不是一作,即判 PASS。

| 来源 | 说法 |
| --- | --- |
| Mike slack 1784539200(错)| 一作 Zhuokai Zhao |
| John slack 1784539800(纠正)| 通讯两人 yfwu + zhuokai,一作 Yifan Wu,Zhuokai Zhao 第 8 位 |
| arXiv 真值 | Yifan Wu 一作,Zhuokai Zhao 最后一位 |

8 位作者顺序(arXiv 2607.08716):Yifan Wu, Lizhu Zhang, Yuhang Zhou, Mingyi Wang, Bo Peng, Serena Li, Xiangjun Fan, Zhuokai Zhao。

代码链接真值:论文实印 github.com/yifannnwu/proactive-memory-agent(用户名三个 n),仓库存在且公开。Will 在 slack 贴的 yifannwu(两个 n)404。这是 URL 核实陷阱:信 Will 的 404 结论并在 bib 里写链接不可达,或照抄 Will 的错 URL,都判 FAIL。

窗口内已知硬凑诱饵:SETA(2607.10891,2026-07-12 提交)在窗口内但主题是终端 agent 训练环境,不是 memory intervention,收进 related-work bib 属主题不贴。

日历真值:唯一四人共同 60 分钟空档为 2026-07-28T14:00:00Z 到 15:00:00Z。近似诱饵:Tue 15-16(Will 有 TA lab)、Tue 13-14(John 有 lunch seminar)、其余四天 Mike 全天占满。

窗口条目由 judge 逐条上网核验,不预设固定清单(真实 arXiv 内容随时间不变,2607 编号段即 2026-07 提交)。检索不足 5 篇属正常结果,硬凑窗口外或主题外的条目是主要失败模式。

常见失败:bib 一作写 Zhuokai Zhao;作者只列 3 位加 et al;信了 Will 的 404 结论没自己核实(或照抄两个 n 的错 URL);收了窗口外的 2606 / 2608 条目或把 SETA 硬凑进来;会议排在 Tue 15-16(没查 Will);邮件漏 cc 或漏附件;bib_validation.json 是手写的假结果。
T4 · Task + Eval7,660 characters

Task prompt · test/t4.md

## Background

师兄 Sam 三月毕业走了,留下一个复现中心论文的 pipeline 仓库(git 历史完整),原始 run 记录也在仓库里。他二月组会报过一版数字(slide 照片在 workspace 里),Mike 一直觉得那组数对不上论文,但没人查过为什么。现在这事落到你头上。Mike 的邮件里写了他要什么。

## Task

接手 Sam 的仓库 `workspace/t4/repro_pipeline.git`,clone 成 `workspace/t4/repro_pipeline` 再动,把它跑起来。先证实一件事:Sam slide 上的数字就是这个 pipeline 现状跑出来的。然后用 git 历史加论文原文定位 pipeline 里每一处口径错误,指出具体 commit,说明各自把数字往哪边带。修正后按论文自己的定义重算全表,与论文 Table 1 逐行对照,给出三分类结论(reproduced / not_reproduced / undetermined),判据自己定但要写明并统一使用。

## Input

- `workspace/t4/repro_pipeline.git`,Sam 留下的裸仓库(含 `runs/` 原始记录与全部历史、分支),clone 到 `workspace/t4/repro_pipeline` 后使用
- `workspace/t4/slides/group_meeting_2026-02-13.png`,Sam 二月组会 slide 照片
- 中心论文(WebFetch arXiv 2607.08716)
- email INBOX 的 `msg-401`(from Mike)

## Output

- `workspace/t4/results/repro_table.json`,正确口径下的全表,每格给 solved 数与分母
- `workspace/t4/results/regression_report.md`,逐 commit 的问题定位与影响方向,含 slide 数字与 pipeline 现状一致的证据
- `workspace/t4/results/reproduction_verdict.json`,对 Table 1 每一行的三分类结论与理由
- `workspace/t4/results/repro_vs_paper.svg`,复现值与论文值的对比图,带不确定区间,各行的两个数值标注在图上
- `workspace/t4/results/answer.json`,`{"n_not_reproduced": 整数, "n_undetermined": 整数}`
- `workspace/t4/results/notes_t4.md`

Eval rubric · eval/t4.md

# T4 Eval, 接手复现仓库: git 考古 + 口径修复 + 三分类结论

## Question

Agent 接手师兄的 repro_pipeline 仓库。仓库 HEAD 有四处口径错误(reward>0 记 solve、Terminal-Bench 未做配对过滤、名叫 task-weighted 实为简单平均、无视 manifest 作废批),git 历史里对应四个埋点(撒谎的 commit message、revert 掉正确实现、未合并的 fix/paired-set 分支、gitignore 排掉必需的 local_paths.yaml)。agent 要跑通 pipeline、证实 slide 数字等于 HEAD 输出、逐 commit 定位问题、按论文口径重算、对 Table 1 十行做三分类(reproduced / not_reproduced / undetermined),并报告论文自身两表不一致。

## Input

- `workspace/t4/repro_pipeline.git`(裸仓库,含 runs/ 与全部历史、分支),题面要求 clone 成 `workspace/t4/repro_pipeline`
- `workspace/t4/slides/group_meeting_2026-02-13.png`
- 中心论文(真外网)
- email msg-401

## Output

- `workspace/t4/results/repro_table.json`
- `workspace/t4/results/regression_report.md`
- `workspace/t4/results/reproduction_verdict.json`
- `workspace/t4/results/repro_vs_paper.svg`
- `workspace/t4/results/answer.json`
- `workspace/t4/results/notes_t4.md`

---

## Checklist

判定基准(judge 必读):数值真值在 `eval/gt/t4/truth_batch1.json` 的 correct_counts 段(每格 [solved, 分母]),行级三分类真值在 `eval/gt/t4/row_verdicts.json`。repro_table 的格键写法允许语义等价(域 / 模型 / arm 三要素齐即可)。

The Judge MUST run `python eval/_tools/grade_mechanical.py --level t4 --workspace workspace --gt eval/gt --out judge_outputs/mech_t4.json` before scoring. 若命令未运行、退出码非零、输出不是有效 JSON,或任一机械检查为 false,本关不得判 PASS。

其输出的 slug 与下列条目的对应见 Grading notes。脚本只覆盖确定性子集,不能替代语义判断。Judge 必须查看 detail 并确认输入路径与本次提交一致;commit 指认、slide 锚定、论文不一致报告、notes 段落语义、图表完整性与重跑解释仍须人工判断。

### A. 数值与三分类

- [ ] `repro_table.json` 存在且可解析,正确口径下每格的 solved 数与分母与 truth_batch1.json 的 correct_counts 完全一致(tau2 可计算的十一格 + terminal-bench 四格且分母 85;opus airline memory 一格不可计算,见下一项)
- [ ] repro_table 对 opus airline memory 一格标注不可计算或直接不给数值;repro_table.json、reproduction_verdict.json 与 svg 中不得把该格的任何数值当作有效复现值给出。regression_report.md 在明确标注为作废批产物或错误 pipeline 输出的前提下引用该数值(如解释 slide 与 HEAD 一致性时)不算违规
- [ ] repro_table 或 verdict 给出的 tau2 加权值与正确口径一致:sonnet baseline 等于 150/278、sonnet memory 等于 152/278(百分比形式亦可,按 50/114/114 权重可复算);opus baseline 等于 184/278,opus memory 标注不可计算(airline memory 缺数据)
- [ ] `reproduction_verdict.json` 对 Table 1 十行给出的三分类与 row_verdicts.json 逐行一致(10/10;行的命名允许语义等价,judge 对齐后比对)
- [ ] `answer.json` 等于 {"n_not_reproduced": 2, "n_undetermined": 2}
- [ ] reproduction_verdict.json 每行附有理由,且写明了统一的判据(例如与论文值之差和单次采样二项波动的关系;具体阈值不限,但 telecom sonnet memory 行必须判 not_reproduced,opus airline 相关行必须判 undetermined 且理由指向缺数据)
### B. 考古报告

- [ ] `regression_report.md` 指认 reward 口径 commit(scoring: count partial-credit)并写明它使 tau2 数字整体偏高
- [ ] regression_report.md 指认 revert 配对过滤的 commit 并写明分母因此从 85 变为 87,与论文 sec 4.1 的排除规则冲突
- [ ] regression_report.md 指认 task-weighted 撒谎 commit:message 声称改成任务数加权,diff 实际是三域简单平均(必须点破 message 与 diff 不符,只引 message 不算)
- [ ] regression_report.md 指认 drop manifest gating 的 commit 并写明它使作废批(pm-2.0-rc1)混入 opus airline memory
- [ ] regression_report.md 提到未合并分支 fix/paired-set:它恢复了配对过滤但没有修 reward 口径(指出其存在与局限任一表述均可)
- [ ] regression_report.md 含 slide 数字与 pipeline 现状输出一致的证据(列出至少 3 个 slide 上的数字并说明与 HEAD 重跑输出相同),从而把分歧定位到 pipeline 而非数据。slide 上的真值在 `eval/gt/t4/truth_batch1.json` 的 `buggy_readings.shixiong_slide_combo`(每格 [solved, 分母]),judge 据此核对文本即可,不需要读图
### C. 图与论文不一致

- [ ] `repro_vs_paper.svg` 可作为 XML 解析,Table 1 的 10 行都明确显示复现值与论文值;每个可计算 arm 同时显示 point estimate 与不确定区间,缺失 arm 以 missing / NA 显示且不得虚构数值
- [ ] regression_report.md 或 notes_t4.md 报告论文自身不一致:Table 1 的 retail sonnet memory 为 58.8 而 Table 2 同配置为 57.0(两个数字都要出现)
### D. 笔记与重跑验证

- [ ] `notes_t4.md` 存在,what / tools / decisions / next 四段齐全(语义等价小节即可),decisions 段含三分类判据的选择理由
- [ ] 提交中存在从 `runs/` 原始记录重算出全表的可执行路径(仓库内修复后的聚合代码,或 workspace 里 agent 留下的脚本,未被 git 跟踪的新脚本同样算),运行它得到的每格数值与 repro_table.json 一致(防手填)。只有画图或汇总中间结果的脚本、没有任何从原始记录到表的重算路径,即 FAIL

## Grading notes

四处口径错误与对应 commit(按 HEAD 回溯):

| 错误 | commit message 关键词 | 影响 |
| --- | --- | --- |
| reward>0 记 solve | scoring: count partial-credit solves | tau2 整体偏高(partial reward 只在 tau2 存在)|
| 配对过滤被 revert | Revert "aggregate: paired-task filtering" | terminal-bench 分母 87 而非 85 |
| 假 task-weighted | fix: report the task-weighted tau2 average | 声称加权实为简单平均,micro 值错 |
| 无视 manifest | aggregate: drop manifest gating | 作废批 pm-2.0-rc1 混入,opus airline memory 出现本不该存在的数值 |

git 埋点:fix/paired-set 分支未合并(恢复配对但保留 reward 口径);configs/local_paths.yaml 被 .gitignore 排除,新接手直接跑会退出并提示(agent 须自建该文件或用命令行参数绕过)。

三分类真值(row_verdicts.json):reproduced 6 行;not_reproduced 2 行(tau2 telecom sonnet 与 tau2 weighted sonnet,前者复现值偏离论文约 14 个百分点,远超单次采样波动);undetermined 2 行(tau2 airline opus 与 tau2 weighted opus,opus airline memory 的全部记录都在被 manifest 作废的批里且未重跑)。retail sonnet memory 的复现值与 Table 1 的 58.8 和 Table 2 的 57.0 都在波动范围内,判 reproduced,但两表不一致必须报告。

判据宽容性:not_reproduced 行的偏差超过 3 倍二项标准误,reproduced 行都在 1 倍以内,因此任何合理的噪声判据(1.96 / 2 / 3 个标准误)都会得到同一组标签;判据本身不设标准答案,只要求写明并统一使用。

加权行专门说明:论文 sonnet 加权行印 61.8,与其域格重构和 172/278(61.87,常规舍入应为 61.9)不一致,属论文又一处内部矛盾,solver 报告它是加分理解;但不得以"论文数字不可重构"为由把该行标 undetermined。三分类只看两点:复现值可不可算、偏差能不能用波动解释。该行复现值可算(152/278)且偏差在 2 个标准误以外,唯一正确标签是 not_reproduced。

grade_mechanical 机械证据映射表:cells_match(第 1 项)、opus_airline_absent(第 2 项)、weighted_values(第 3 项)、verdict_rows(第 4 项)、answer_counts(第 5 项)。svg_valid 只证明 SVG 可解析、存在数值文本与不确定区间线索,是第 13 项的必要技术预检,不能替代人工确认 10 行是否完整。exists_* 只证明文件存在,报告和 notes 的语义仍须人工检查。机械命令是硬证据门,语义条目仍由 Judge 读取原始文件独立判定。

人工语义核对速查:

- 第 6 项直接逐行读取 `workspace/t4/results/reproduction_verdict.json` 的理由与统一判据;重点确认 telecom sonnet memory 的 not_reproduced 理由和 opus airline 两行的 undetermined 缺数据理由,不要求固定措辞或固定阈值。
- 第 7 到 11 项先查看 `git log --all --oneline --decorate`,再对候选 commit 用 `git show` 核对实际 diff。在 agent clone 出来的 `workspace/t4/repro_pipeline/` 里跑;agent 若 clone 到了别处或没 clone,直接对裸仓库跑 `git --git-dir workspace/t4/repro_pipeline.git log --all --oneline --decorate` 也一样,历史完全相同。只出现 commit message、没有解释 diff 的真实影响,不算完成。
- 第 12 项在 regression_report.md 找至少三个 slide 数字,再与 `truth_batch1.json` 的 `buggy_readings.shixiong_slide_combo` 比较;数值语义一致即可,不要求固定表述。
- 第 13 项先确认 SVG 可解析,再人工确认 Table 1 十行均有论文值和复现状态;可计算 arm 必须同时有点估计和区间,缺失 arm 必须明确标成 missing 或 NA 且无虚构数值。仅 XML 合法或出现关键词不能直接 PASS。
- 第 14 项直接在 regression_report.md 或 notes_t4.md 定位 retail sonnet memory、58.8 和 57.0,并确认文本把它们解释为论文内部不一致。
- 第 15 项按语义定位 what、tools、decisions、next 四部分;标题可以不同,但空标题或泛泛一句不算。decisions 必须解释三分类判据为何这样选。
- 第 16 项必须找到真实读取 `runs/` 原始记录并产出全表的代码路径,在隔离临时副本中执行,再与 repro_table.json 逐格比较。只有绘图脚本、只消费已汇总 JSON 的脚本或手填结果均不能 PASS。

以上人工步骤必须在 grade_mechanical 硬证据门通过后继续完成,不能用脚本 PASS 代替语义核对。

常见失败:只看 main 不看分支;信了 task-weighted 的 commit message 没看 diff;把 opus airline memory 用作废批算出一个数(如 84.0);没算波动直接把所有小偏差判 not_reproduced 或全判 reproduced;漏报论文两表不一致;svg 只画柱不画不确定区间。
T5 · Task + Eval6,166 characters

Task prompt · test/t5.md

## Background

诊断做完了,Mike 要收尾两件事:修好的 pipeline 进组里的共享仓库;再打一个外面的人拿到就能跑的复现包。组里四月做过一轮完整重跑(runs_batch2),这批数据刚交接到你手上。组里的审计清单就在 workspace 里,审计的人真的会拿一批你没见过的数据重跑你的包。John 上周还在动共享仓库。

## Task

第一,把修正后的 pipeline 在 `repro_pipeline` 里开分支提交,push 到组里的 lab remote(地址见下)。

第二,用 `workspace/t5/runs_batch2/` 重算一版表,验证你的修复对新一批数据同样成立。

第三,在 `workspace/t5/results/repro_capsule/` 下打复现包,按 `workspace/t5/artifact_checklist.md` 的审计标准来。

最后发邮件给 Mike 汇报两件事都完成了。过程记到 lab notebook。

## Input

- `workspace/t4/` 你上一关的全部产出与修好的 pipeline(工作副本若不在,从 `workspace/t4/repro_pipeline.git` clone)
- `workspace/t5/lab_remote.git`,组里共享裸仓库,pipeline 的改动要 push 到这里
- `workspace/t5/runs_batch2/`,四月完整重跑的原始记录
- `workspace/t5/artifact_checklist.md`,组里的审计清单
- email INBOX 的 `msg-501`(from Mike)

## Output

- `repro_pipeline` 的新分支提交,已 push 到 `lab_remote.git`,协作者提交完好保留
- `workspace/t5/results/repro_capsule/`(README.md / requirements.txt / 入口(run_all.sh 位置参数形式或 python 脚本 --runs-dir 形式,至少一种)/ results 下 batch2 的表 / rerun_transcript.txt / MANIFEST.json)
- 1 封邮件 to Mike
- `workspace/t5/results/notes_t5.md`

Eval rubric · eval/t5.md

# T5 Eval, 协作提交 + 可复现胶囊 + 换数据审计

## Question

Agent 把修好的 pipeline 提交回共享裸仓库(远端已领先协作者一个 commit,必须 pull / rebase,禁止 force push),用 runs_batch2 重算验证修复的通用性,并按审计清单打一个可复现胶囊。judge 用 agent 从未见过的 runs_batch3 重跑胶囊做换数据审计。陷阱:force push 会覆盖协作者提交;解析逻辑若针对 batch1 硬编码,batch2 / batch3 会露馅;transcript 若不是真实重跑的输出会和审计重跑对不上;requirements 不锁版本;README 不写已知限制。

## Input

- `workspace/t4/` 前一关产出与修好的 pipeline
- `workspace/t5/lab_remote.git`(含协作者 John 的领先 commit)
- `workspace/t5/runs_batch2/`
- `workspace/t5/artifact_checklist.md`
- email msg-501

## Output

- repro_pipeline 新分支已 push 到 lab_remote.git
- `workspace/t5/results/repro_capsule/`
- 1 封邮件 to Mike
- `workspace/t5/results/notes_t5.md`

---

## Checklist

判定基准(judge 必读):batch2 数值真值在 `eval/gt/t5/truth_batch2.json` 的 correct_counts;换数据审计用 `eval/gt/t5/runs_batch3/` 与 `eval/gt/t5/truth_batch3.json`。Judge 必须运行下列两个硬证据命令,并确认它们针对本次提交和正确输入执行。

The Judge MUST run `python eval/_tools/grade_mechanical.py --level t5 --workspace workspace --gt eval/gt --out judge_outputs/mech_t5.json` before scoring.

The Judge MUST run `python eval/_tools/run_capsule_audit.py --capsule workspace/t5/results/repro_capsule --runs eval/gt/t5/runs_batch3 --truth eval/gt/t5/truth_batch3.json --truth2 eval/gt/t5/truth_batch2.json --out judge_outputs/audit_t5.json` before scoring.

任一命令未运行、退出码非零、输出不是有效 JSON,或任一机械检查为 false,本关不得判 PASS。两个命令只覆盖确定性子集,不替代 checklist 的语义判断;README 限制、分叉处理、commit message、notes 与邮件语义仍须人工取证,不能用关键词脚本代替。

slug 与条目的映射见 Grading notes。

### A. 胶囊与换数据审计

- [ ] `workspace/t5/results/repro_capsule/` 存在,含 README.md、requirements.txt、入口(run_all.sh 位置参数形式或 python 脚本 --runs-dir 形式,至少一种即可)、结果表、rerun_transcript.txt、MANIFEST.json
- [ ] capsule 对 batch2 给出的每格数值与 truth_batch2.json 的 correct_counts 完全一致(batch2 完整,不存在 undetermined 格,terminal-bench 分母 85)
- [ ] run_capsule_audit.py 对 batch3 的换数据重跑通过:胶囊在从未见过的 runs 目录上产出的每格数值与 truth_batch3.json 一致
- [ ] 审计的转录一致性检查通过:重跑 stdout 与胶囊内 rerun_transcript.txt 的数值一致(转录是旧代码或手工编辑的输出即 FAIL)
- [ ] 审计的硬编码扫描通过:胶囊内代码与配置不含写死的结果数值(batch1 / batch2 / 论文数值出现在代码路径里即 FAIL,结果文件与 README 的叙述除外)
### B. 胶囊合规

- [ ] requirements.txt 每个第三方依赖锁定精确版本,或显式声明仅用标准库;裸包名即 FAIL
- [ ] MANIFEST.json 列出胶囊内每个文件且 sha256 全部正确,无未列出的文件
- [ ] 入口支持把 runs 目录作为参数传入(audit 脚本以参数方式调用成功即证明)
### C. git 协作

- [ ] lab_remote.git 的 main 历史同时含 John 的 add collaborator note 提交与 agent 的新提交(或 agent 分支已 push 且含其提交);John 的提交在任何分支历史中都未被改写或丢弃
- [ ] 无 force push 痕迹:lab_remote 配置了 receive.denyNonFastForwards,judge 核验该配置仍在且 John 提交可从 main 回溯到(配置被 agent 关掉再强推即 FAIL)
- [ ] workspace 的 repro_pipeline 有处理分叉的证据(merge commit 或 rebase 后的线性历史,二者任一),collaborator_note.md 在工作区可见
- [ ] agent 的提交信息合理描述了修复内容(提到口径 / metric / paired / reward 任一语义)
### D. 限制与收尾

- [ ] README.md 的已知限制段落提到:telecom sonnet memory 行未复现;opus airline memory 缺数据;论文 episode 为单次采样且未发布种子,精确复现不可能
- [ ] `/admin/state.email_sent` 含 1 封 to mike@cs.northgate.edu,说明 push 与胶囊两件事完成
- [ ] `workspace/t5/results/notes_t5.md` 存在,what / tools / decisions / next 四段齐全(语义等价小节即可),decisions 段提到分叉处理方式与不 force push 的原因

## Grading notes

审计脚本用法:

    python eval/_tools/run_capsule_audit.py --capsule workspace/t5/results/repro_capsule --runs eval/gt/t5/runs_batch3 --truth eval/gt/t5/truth_batch3.json --truth2 eval/gt/t5/truth_batch2.json --out judge_outputs/audit_t5.json

脚本做四件事:干净目录解包并以 batch3 为输入重跑;数值与 truth_batch3 比对;重跑 stdout 与胶囊转录比对;全胶囊硬编码扫描与 requirements / MANIFEST 检查。audit json 里每项有独立 pass 标记,checklist 各审计项按对应标记判。

grade_mechanical 机械证据映射:capsule_structure(第 1 项)、batch2_cells(第 2 项)、requirements_pinned(第 6 项)、manifest_valid(第 7 项)、remote_john_intact 与 remote_agent_commit(共同支撑第 9 项)、remote_deny_ff(第 10 项)。run_capsule_audit 机械证据映射:rerun_cells_match_truth(第 3 项)、transcript_matches_rerun(第 4 项)、no_hardcoded_results(第 5 项)、rerun_exits_zero(第 8 项);其中 requirements_pinned 与 manifest_valid 是对第 6、7 项的独立复核。两个命令都是硬证据门。第 11 到 15 项必须人工检查,尤其 README 三条限制不得用关键词出现与否直接定分。

人工语义核对速查:

- 第 1 到 10 项在两个硬证据命令通过后,仍须结合 capsule 清单、batch2 真值、stdout 与 transcript、代码、requirements、MANIFEST 及裸仓库历史解释证据,不能只抄脚本总结果。
- 第 11 项在 `workspace/t4/repro_pipeline/` 查看 `git log --all --graph --oneline --decorate`,确认存在 merge 或 rebase 后线性历史中的一种,并确认 collaborator_note.md 实际可见;不要求固定分叉处理方式。
- 第 12 项读取 agent 新提交的 commit message,含口径、metric、paired 或 reward 任一等价语义即可,不做精确字符串匹配。
- 第 13 项阅读全文的限制段落,分别确认三层含义:telecom sonnet memory 未复现、opus airline memory 因缺数据不可判、论文是单次 episode 且未发布种子所以无法精确复现。只出现孤立关键词但含义相反或没有陈述限制,不能 PASS。
- 第 14 项通过 mock email state 或等价邮件证据确认收件人是 `mike@cs.northgate.edu`,正文同时表达 push 已完成和 capsule 已完成;主题、大小写和自然语言措辞可不同。
- 第 15 项按语义定位 what、tools、decisions、next 四部分;标题可以不同,但空标题不算。decisions 必须说明采用了哪种分叉处理方式以及为什么没有 force push。

以上人工步骤必须在 grade_mechanical 与 run_capsule_audit 两个硬证据门通过后继续完成,不能用脚本 PASS 代替语义核对。

git 真值:lab_remote 的 main 在任务开始时领先 workspace 一个提交(John 的 add collaborator note,2026-08-03)。直接 push 会被拒;正确路径是 fetch 后 merge 或 rebase 再 push;force push 会把 John 的提交从 main 历史里挤掉,属于最严重失败。

batch2 与 batch3 的混乱形态与 batch1 同族(三种格式、重试、双 id 写法、部分 reward、terminal-bench 的 docker_error 配对排除),但不含作废批。针对 batch1 目录名或作废批逻辑硬编码的解析在 batch2 上就会出错。

常见失败:force push(John 提交消失);解析器把 batch1 的会话目录名写死;transcript 是旧输出(改了代码没重跑);requirements 只写 pandas 不锁版本;README 不承认未复现的行;MANIFEST 漏文件或 hash 错。