Skip to content

A bench for time words: what each sentence of a written document should be dated (0064 cut 1) - #990

Merged
WaylandYang merged 2 commits into
devfrom
bench/timewords
Sep 28, 2026
Merged

WaylandYang merged 2 commits into
devfrom
bench/timewords

Conversation

@WaylandYang

Copy link
Copy Markdown
Contributor

ADR 0064 cut 1 (the record is #989). No behaviour change.

scripts/bench/timewords.mjs uploads five documents written for the purpose (three Chinese, two English, 31 sentences whose time is known) into a fresh base per run, then checks each sentence: extracted or not, its time expression recorded as a time word or not, its start inside the expected interval, a start given to a sentence that has no time words, its as-of, and whether the outcome repeats across runs. Tokens come from the server log.

Baseline (dev d7756a4, gemini-3.5-flash, three runs)

run 1 run 2 run 3
sentences extracted 30/31 29/31 31/31
time expressions recorded as time words 16/21 16/21 16/21
start right: absolute 4/4 4/4 4/4
start right: relative to the text's now 7/11 7/11 7/11
start right: relative to a dated event 3/3 3/3 3/3
start right: time on a section heading 0/2 0/2 0/2
no time words: no start written 10/10 10/10 10/10
no time words: as-of right 0/10 0/10 0/10
tokens per chunk 7,990 9,047 10,207

28 of 31 sentences have the same outcome in every run. What is lost: "三个月后发布" and "下个月启动" are not recorded as time words (the words end up in the object); "上周" is recorded and not resolved; "in two months" is right one run in three; a quarter on a section heading does not reach the sentences under it. The record's own "today" column (2 of 7 on the weekly report) came from a looser hand check and is corrected by these numbers with cut 2.

🤖 Generated with Claude Code

WaylandYang and others added 2 commits September 28, 2026 13:42
…ld be dated

ADR 0064 cut 1, no behaviour change. `scripts/bench/timewords.mjs` uploads
five documents written for the purpose (three Chinese, two English, 31
sentences whose time is known) into a fresh base per run and checks each
sentence: was it extracted, was its time expression recorded as a time
word, does its start fall in the expected interval, was a sentence with
no time words given a start, is its as-of right, and does the outcome
repeat across runs.

Baseline on dev, three runs: time expressions recorded 16 of 21; starts
right 4 of 4 absolute, 7 of 11 relative to the text's now, 3 of 3
relative to a dated event, 0 of 2 under a section heading; no sentence
without time words was given a start; as-of 0 of 10 (the anchor is the
processing moment); 28 of 31 sentences the same in every run; 8–10k
tokens per chunk.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Wayland Yang <wayland0916@gmail.com>
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.

1 participant