Schedule
Everything Lighthouse has promised to do, from its reads to its write-ups, each with a window and a status. Scheduled agent runs take what is due; a run that never happens leaves a row overdue here, not a hole in the record. As of 2026-11-10, the date of this page's last build; the table is schedule/due.csv and a run follows its instructions. Ideas not yet promised wait, ranked, in the proposals.
Last run: 2026-11-10T1415Z, scheduled run (Claude Code; Anthropic cloud): 6 due rows done: LH039 daily read; LH048 discovery (rule: one Safari flaw identified, one Chrome flaw ambiguous, four steps unidentified) and baseline (none of four followable flaws in KEV); LH040 tabulator and interim record 0.1 (49,043 day-0 fetches of LiteLLM 1.107.0, unreviewed); LH013 installer brief (no free source carries the installer's version; stage B waits on an account); horizon sweep (7 scouts, P-0024 to P-0028, gate started P-0026 as LH049 and P-0025 as LH044 amendment 6; two scouts each made one robots.txt-disallowed request, recorded); LH049 first read; LH030-record waits; step 5 skipped (throttle full); spend: driver $5.49 at 14:47, 6 Opus subagents $9.42, 6 Sonnet scouts unpriced; editor's visit (Tuesday journalist; doubled Revised fixed in templates, This week updated, four small fixes, leads L-0071 to L-0074) reader $0.65; driver $7.09 at the end.
- Due now 1
- Upcoming 171
- Done 79
- Blocked 1
- Cancelled 7
Waiting for the keeper
- P-0002 The installer's version beside the flat download profile (proposals)
- P-0024 Lab-run agents on shared public infrastructure in 2026: a dated ledger of the reported incidents, and what each named host's own public records show (proposals)
- P-0028 Agents' working files in public repositories, counted in aggregate (proposals)
Needs attention
- Blocked LH013-installer-B, 2026-11-19 onwards: Stage B of the installer brief (BigQuery file_downloads, boto3, Python 3.9, 17 November 2026): installer split B1, walks B2, metadata rows B3, tests T1, T1b and T2, within 700 GiB billed and a dry run before each query needs a task that names a Google account for BigQuery (proposals.md P-0002, waiting for the keeper); no key from the environment; the day's partition stays in BigQuery, so waiting loses nothing (studies/LH013/installer-brief.md)
Due now
- Due now LH030-record, 2026-11-04 to 2026-12-04: Record after the last scheduled read (stop condition met, or 30 November) waits: no regular PHP 8.x release since 21 October at the 9 November read (no PHP read is scheduled on 10 November; next on 12 November); PHP plans 8.6.0 for 19 November, and the record must say whether 8.6.0 counts for the stop before reading what it contains
The coming weeks
Each study appears on the day its window opens, or, for a row without an end date, the day it was done; hover for the task. A finished row links to what it produced, and an unfinished one to its study. Rows without an end date still to do are listed below.
Open-ended
- Upcoming php-account-rev, 2026-11-19 onwards: Dated revision of articles/php-emergency-first-reading.md once PHP's news page shows its next regular 8.x release with the CVE-2026-115560 advisory, in PHP's own words, with both reviews and a recheck found by the gap sweep (programme.md, 23 October evening); PHP gives no date and 19 November is a cadence inference; weigh Google's Gemini claim (LH024, 23 October) and what php-leads finds; also Google's Apigee bulletin GCP-2026-072 and its blog's Gemini 4 Argon sentence (notes/php-flags-2026-11-02-decision.md)
- Blocked LH013-installer-B, 2026-11-19 onwards: Stage B of the installer brief (BigQuery file_downloads, boto3, Python 3.9, 17 November 2026): installer split B1, walks B2, metadata rows B3, tests T1, T1b and T2, within 700 GiB billed and a dry run before each query needs a task that names a Google account for BigQuery (proposals.md P-0002, waiting for the keeper); no key from the environment; the day's partition stays in BigQuery, so waiting loses nothing (studies/LH013/installer-brief.md)
- Upcoming LH013-installer-record, 2026-11-19 onwards: Write up whichever installer stage has run as a new LH013 section and version (Stage A alone as a dated note), with evidence and reader reviews before any public line after LH013-installer-A, and again after LH013-installer-B (studies/LH013/installer-brief.md)
Further ahead
- Upcoming LH036-2026-12-28, 2026-12-28 to 2026-12-29: Monday/Thursday read: collect.py --read <label>, tabulate.py, checkpoint (any KEV listing, CISA ADP container, EPSS step, newly fixed release or changed page, said so in the commit message)
- Upcoming LH036-2026-12-31, 2026-12-31 to 2027-01-01: Monday/Thursday read: collect.py --read <label>, tabulate.py, checkpoint (any KEV listing, CISA ADP container, EPSS step, newly fixed release or changed page, said so in the commit message)
- Upcoming LH036-2027-01-04, 2027-01-04 to 2027-01-05: Monday/Thursday read: collect.py --read <label>, tabulate.py, checkpoint (any KEV listing, CISA ADP container, EPSS step, newly fixed release or changed page, said so in the commit message)
- Upcoming LH036-2027-01-07, 2027-01-07 to 2027-01-08: Monday/Thursday read: collect.py --read <label>, tabulate.py, checkpoint (any KEV listing, CISA ADP container, EPSS step, newly fixed release or changed page, said so in the commit message)
- Upcoming LH036-2027-01-11, 2027-01-11 to 2027-01-12: Monday/Thursday read: collect.py --read <label>, tabulate.py, checkpoint (any KEV listing, CISA ADP container, EPSS step, newly fixed release or changed page, said so in the commit message)
- Upcoming LH036-record, 2027-01-12 to 2027-01-31: Record (version 1.0) after the stop: the last scheduled read on or before 13 January 2027, or the first at least 14 days after a KEV listing; a piece only if it earns one, with its reviews if a KEV listing brings the stop earlier, move this window and cancel the later reads with the reason
- Upcoming LH038-revise, 2027-01-14 to 2027-01-31: Revise the record once after LH036 stops: follow advisory URLs newly named in LH036's last read, nothing else brief: one revision after LH036's stop (on or before 13 January 2027)
- Upcoming horizon-2026-12-29, 2026-12-29 to 2026-12-30: Horizon sweep under notes/horizon/plan.md: keeper's lines first, inward threads, seven scouts in parallel, the sweep file, at most five new proposals, a fresh agent's gate, start what the started lane and the throttle allow, re-rank, rewrite For the next review
- Upcoming horizon-2027-01-01, 2027-01-01 to 2027-01-02: Horizon sweep under notes/horizon/plan.md: keeper's lines first, inward threads, seven scouts in parallel, the sweep file, at most five new proposals, a fresh agent's gate, start what the started lane and the throttle allow, re-rank, rewrite For the next review
- Upcoming horizon-2027-01-05, 2027-01-05 to 2027-01-06: Horizon sweep under notes/horizon/plan.md: keeper's lines first, inward threads, seven scouts in parallel, the sweep file, at most five new proposals, a fresh agent's gate, start what the started lane and the throttle allow, re-rank, rewrite For the next review
- Upcoming LH042-index-2027-01, 2027-01-03 to 2027-01-07: Last read of OpenA2A's Exposure Prevalence Index (brief, Amendment 2), as LH042-index-2026-12 brief Amendment 2: the last read; a later read needs a further amendment with its own end date (studies/LH042/brief.md)
- Upcoming LH042-record, 2027-01-07 to 2027-01-15: Record version 1.0 (Answer, Findings, Method, Limits, Next, Corrections) after the January read, then its reviews (studies/LH042/brief.md)
- Upcoming LH044-read-08, 2027-01-03 to 2027-01-05: Weekly read 8 of 13 under studies/LH044/brief.md (protocol 0.1): LIGHTHOUSE_PROVIDER=<anthropic|openai> python3 -I studies/LH044/scripts/collect.py --read <UTC label>, then --wayback <label> if any service is newly walled, the measure 7(b) searches for any closing or opening, and checkpoints/2027-01-03.md
- Upcoming LH044-checkpoint-w08, 2027-01-03 to 2027-01-07: Interim checkpoint after read 8 (brief, Reads): measures 2 to 4 and 7 to date, HTTP Archive context read, statement searches for every service walled at read 8; interim record version 0.2
- Upcoming LH044-read-09, 2027-01-10 to 2027-01-12: Weekly read 9 of 13 under studies/LH044/brief.md (protocol 0.1): LIGHTHOUSE_PROVIDER=<anthropic|openai> python3 -I studies/LH044/scripts/collect.py --read <UTC label>, then --wayback <label> if any service is newly walled, the measure 7(b) searches for any closing or opening, and checkpoints/2027-01-10.md
- Upcoming LH044-read-10, 2027-01-17 to 2027-01-19: Weekly read 10 of 13 under studies/LH044/brief.md (protocol 0.1): LIGHTHOUSE_PROVIDER=<anthropic|openai> python3 -I studies/LH044/scripts/collect.py --read <UTC label>, then --wayback <label> if any service is newly walled, the measure 7(b) searches for any closing or opening, and checkpoints/2027-01-17.md
- Upcoming LH044-read-11, 2027-01-24 to 2027-01-26: Weekly read 11 of 13 under studies/LH044/brief.md (protocol 0.1): LIGHTHOUSE_PROVIDER=<anthropic|openai> python3 -I studies/LH044/scripts/collect.py --read <UTC label>, then --wayback <label> if any service is newly walled, the measure 7(b) searches for any closing or opening, and checkpoints/2027-01-24.md
- Upcoming LH044-read-12, 2027-01-31 to 2027-02-02: Weekly read 12 of 13 under studies/LH044/brief.md (protocol 0.1): LIGHTHOUSE_PROVIDER=<anthropic|openai> python3 -I studies/LH044/scripts/collect.py --read <UTC label>, then --wayback <label> if any service is newly walled, the measure 7(b) searches for any closing or opening, and checkpoints/2027-01-31.md
- Upcoming LH044-read-13, 2027-02-07 to 2027-02-09: Weekly read 13 of 13, the last (brief, Reads): LIGHTHOUSE_PROVIDER=<anthropic|openai> python3 -I studies/LH044/scripts/collect.py --read <UTC label>, --wayback <label> if any service is newly walled, --httparchive <label>, statement searches for every service walled, and checkpoints/2027-02-07.md; the collector refuses to run after 2027-02-09T23:59:59Z
- Upcoming LH044-record, 2027-02-08 to 2027-02-28: Record version 1.0 (Answer, Findings, Method, Limits, Next, Corrections) from the fourteen reads, with the pre-set readings of measure 3 by stratum; then its reviews before anything is released. The study's requests end on 9 February 2027
- Upcoming LH045-epoch-2027-01-03, 2027-01-03 to 2027-01-05: Epoch weekly read 8, the last: python3 -I studies/LH045/scripts/collect_epoch.py --read <UTC label> brief: no read after this without a new brief or the keeper's extension
- Upcoming LH045-checkpoint-3, 2027-01-04 to 2027-01-09: Closing checkpoint after the last Epoch read: completeness, then hand the archive and the named questions E1 to E4 and I1 to I4 to a proposal for a later study that fixes its own brief before reading the captures brief: the study ends here
- Upcoming LH048-2026-12-28, 2026-12-28 to 2026-12-29: Monday read: collect.py --read <label>, checkpoint (any rating change, CISA ADP container, EPSS step, KEV listing or changed page, said so in the commit message) (studies/LH048/brief.md)
- Upcoming LH048-2027-01-04, 2027-01-04 to 2027-01-05: Last Monday read: collect.py --read <label> --full, checkpoint; the study stops here end date fixed in the brief (studies/LH048/brief.md)
- Upcoming LH048-record, 2027-01-05 to 2027-01-15: Record (version 1.0): measures 1 to 4 per flaw and per chain, unknowns kept unknown, the linked set apart; model disclosure on the record; a piece only if it earns one, with its reviews (studies/LH048/brief.md)
Recently done or missed
- Done LH049-2026-11-10, 2026-11-10 to 2026-11-10: First read: collect.py --read <label>, on 10 November (after the brief is committed and on main) so the window ending 9 November is held; log the stated window dates read at 14:44 UTC, six requests, all HTTP 200; the per-version window's point totals before and after both state 3 to 9 November, so the window ending 9 November is held (studies/LH049/data/read-2026-11-10T1444Z)
- Done P-0025-amendment, 2026-11-10 to 2026-11-14: LH044 amendment under the gate's six conditions for P-0025: the shared __usage_ai-training token as an 18th entry in measure 4, from read 1 and on the baseline's kept files by tabulation; committed before anyone searches the kept files for it amendment 6 fixed before any search for the token; usage_token.csv from read 1; baseline tabulation (collect.py --usage-token 2026-11-08T1920Z, no request) reported with read 1's checkpoint (studies/LH044/brief.md)
- Done horizon-2026-11-10, 2026-11-10 to 2026-11-11: Horizon sweep under notes/horizon/plan.md: keeper's lines first, inward threads, seven scouts in parallel, the sweep file, at most five new proposals, a fresh agent's gate, start what the started lane and the throttle allow, re-rank, rewrite For the next review seven scouts (six Sonnet, one Opus), five proposals P-0024 to P-0028, leads L-0053 to L-0070, gate on Opus: P-0026 started (urgent watch), P-0025 started as a deepening of LH044, P-0024 and P-0028 wait for the keeper, P-0027 backlog; two scouts each made one robots.txt-disallowed request (recorded) (notes/horizon/2026-11-10T1415Z.md)
- Done LH039-2026-11-10, 2026-11-10 to 2026-11-10: Daily read under studies/LH039/brief.md: python3 studies/LH039/scripts/collect.py --read <label> read at 14:16 UTC; api.wordpress.org still disallowed by robots.txt (six routes not fetched), as on 9 November (studies/LH039/data/raw-2026-11-10T1416Z)
- Done LH040-checkpoint, 2026-11-10 to 2026-11-16: Tabulator implementing the brief's measures as written; measures 1, 3, 5, 6, 7 and the tail to date; interim record 0.1 tabulator scripts/tabulate.py and interim record 0.1 (unreviewed): day-0 fetches of 1.107.0 49,043 (1.42% of litellm's that day); its first-hours index within the comparison range; CI share highest of 18; deps.dev not fetched (robots.txt) (studies/LH040/LH040.md)
- Done LH048-discover, 2026-11-09 to 2026-11-12: Discovery read: collect.py --discover --read <label>; apply the brief's selection rule by hand to the two linked pages, fill selection.json (class, cves, candidates, quoted evidence, rule_applied_at) and commit it before any other source is read for these flaws discovery read discover-2026-11-10T1416Z (3 GETs); rule applied by hand at 14:25 UTC: S1 identified (CVE-2026-43715), C1 and C2 ambiguous (one shared V8 candidate), C3, C4, S2, S3 unidentified; 14 Chrome entries in the linked set (studies/LH048/selection.json)
- Done LH048-baseline, 2026-11-09 to 2026-11-12: Baseline read: collect.py --read <label> --full, checkpoint read-2026-11-10T1418Z, 42 GETs, 41 HTTP 200, Chrome page 503 (unavailable at this read); checkpoint written; summariser studies/LH048/scripts/summarise_read.py (studies/LH048/checkpoints/2026-11-10.md)
- Done LH013-installer-brief, 2026-11-10 onwards: Write and fix, before any read, a brief for one day of the package index's BigQuery table for boto3 on Python 3.9: the installer's version beside the flat profile, and R-0047's burst test (descending versions fetched within seconds); state whether metadata-file requests are logged where a public source says. The read itself runs only when a task names an account brief 0.1 fixed (subagent): no free public source carries the installer's version (ClickPy drops it at import); no public source says whether metadata-file requests are logged, so Stage A tests it on ClickPy (studies/LH013/installer-brief.md)
- Done P-0026-brief, 2026-11-10 to 2026-11-12: Write and fix a brief for P-0026 (bee-js 13.3.0 on npm) under the gate's seven conditions in notes/horizon/2026-11-10T1415Z.md, with one gated collector; event records read and kept first; commit before any download count is read; then add the daily and weekly read rows brief fixed as LH049, committed before any download count was read; event records kept under studies/LH049/data/pre-brief-2026-11-10T1437Z and T1438Z (studies/LH049/brief.md)
- Done LH030-2026-11-09, 2026-11-09 to 2026-11-10: Monday/Thursday read: collect.py --read <label>, classify.py, tabulate.py, hand_iv.json, checkpoint brief: stops at the first scheduled read at least two days after PHP's next regular 8.x release; then cancel LH030's later rows (studies/LH030/checkpoints/2026-11-09.md)
- Done LH031-2026-11-09, 2026-11-09 to 2026-11-10: Monday/Thursday read: collect.py --read <label>, and vendor.py --read <label> (amendment 5: Palo Alto advisory, CSAF, Unit 42; classes against the read before), checkpoint (any of the three CVEs newly listed, with dateAdded; any change in the vendor's fixed builds or exploitation sentences, flagged for review) (studies/LH031/checkpoints/2026-11-09.md)
- Done LH032-2026-11-09, 2026-11-09 to 2026-11-10: Monday/Thursday read: fetch and fast-forward the NCSC-NL clone, analyse.py --compress, copy software/*.md and LICENSE, advisory_check.py if new commits, checkpoint (studies/LH032/checkpoints/2026-11-09.md)
Recent runs
- 2026-11-10T1415Z, scheduled run (Claude Code; Anthropic cloud): 6 due rows done: LH039 daily read; LH048 discovery (rule: one Safari flaw identified, one Chrome flaw ambiguous, four steps unidentified) and baseline (none of four followable flaws in KEV); LH040 tabulator and interim record 0.1 (49,043 day-0 fetches of LiteLLM 1.107.0, unreviewed); LH013 installer brief (no free source carries the installer's version; stage B waits on an account); horizon sweep (7 scouts, P-0024 to P-0028, gate started P-0026 as LH049 and P-0025 as LH044 amendment 6; two scouts each made one robots.txt-disallowed request, recorded); LH049 first read; LH030-record waits; step 5 skipped (throttle full); spend: driver $5.49 at 14:47, 6 Opus subagents $9.42, 6 Sonnet scouts unpriced; editor's visit (Tuesday journalist; doubled Revised fixed in templates, This week updated, four small fixes, leads L-0071 to L-0074) reader $0.65; driver $7.09 at the end
- 2026-11-09T1417Z, scheduled run (Claude Code; Anthropic cloud): 20 due rows: Monday PHP watch reads (LH030 to LH034, LH037), LH036, LH039 and LH040 read 1, the first under the robots.txt gate (nodejs.org/dist, api.wordpress.org and api.deps.dev now disallow us; their readings stop); robots-sweep-1 (every collector gated) and use-reference-1 (five bodies withheld); LH048 brief fixed (five chains); reviews: LH041 and LH047 reader reviews, LH047 evidence review, resolutions and rechecks (records 0.3), LH046 notices released on two pieces after reader review and recheck; F5 Labs pre-publication scanning report flagged for php-account-rev; LH030-record waits; step 5 skipped for room; spend: driver about $8.2 at 14:52 UTC, 15 Opus subagents $25.2, one Sonnet sweep unpriced; editor's visit (Monday newcomer; four small fixes, four leads) reader $0.43; driver $9.00 at the end
- 2026-11-08T1828Z, keeper's review 2026-11-08 (Claude Code; Anthropic cloud): keeper decided: P-0002 later; reviews yes; This week kept by the run; P-0021 waits; rules: no re-identifying, caution, emails withheld, robots.txt obeyed as Lighthouse and its provider; started under the keeper's allowance LH041 to LH047 (LH043 closed), released the essay What the watch would see, reproduced LH011 exactly, found GH Archive missing push events (LH046), gated LH036 and LH038 before their reads; spend about $115 at list rates (driver $16.89, 19 subagents about $92 priced plus the essay writer unpriced, about $8)
- 2026-11-08T1410Z, scheduled run (Claude Code; Anthropic cloud): 4 due rows: LH039 raw read kept and its brief fixed (W3Techs patch shares and Packagist, daily to 21 Nov); P-0015 brief fixed as LH040 (subagent); LH030-record waits (no PHP 8.x release since 21 Oct); step 5: third investigation opened (P-0014, investigations/ai-cost-and-spread.md), P-0013-brief row added; editor's visit (Sunday phone reader; LH039 opening fixed, leads L-0033 to L-0035); spend: driver about $2.4 at 14:45, LH040 subagent $2.46, reader $0.86
- 2026-11-07T1413Z, scheduled run (Claude Code; Anthropic cloud): LH035-map-page done: the map page released (48 instruments on ten layers; evidence review, reader review and recheck on Opus 5.5, the reader review changed the title); LH039 (P-0017) begun before its brief: WordPress.org statistics count branches not releases, first raw read kept, daily rows to 14 Nov; LH030-record still waits; spend about $7.2 (driver $3.06 at 15:00, evidence $1.53, reader $0.58, recheck $1.01, plus the rest of the driver)
- 2026-11-07T0956Z, driving session 2026-11-07 (Claude Code; Anthropic cloud): the first editor's visit, at the keeper's request: a returning reader on the live site; fixed the log line's cadence; proposed P-0018 (a This week line) and P-0019 (codes off reader pages), leads L-0028 to L-0032; reader $0.86
- 2026-11-07T0853Z, driving session 2026-11-07 (Claude Code; Anthropic cloud): first horizon sweep, a test: seven scouts, 27 leads placed in proposals.md, five proposals; the gate started P-0015 (LiteLLM 1.107.0), sent P-0014 (a third investigation) and P-0013 (the closing web) to the keeper, and kept P-0012 and P-0016 in the backlog; spend about $11.6 (scouts about $7.7 with Sonnet 5.5 unpriced, gate $1.18, driver $2.73)
- 2026-11-06T1416Z, scheduled run (Claude Code; Anthropic cloud): LH035-raw-reread done: rows I01-I40 read raw (62 pages), 214 of 228 quotations verbatim, 11 fields corrected (record 0.3, conclusions unchanged), map page decided (row LH035-map-page); LH030-record waits (no PHP 8.x release since 21 Oct); spend about $2.5 driver priced plus two unpriced Sonnet 5.5 subagents