Skip to content

About

Public site and blog for jericho3110's research

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Research Site

The public site for jericho3110's research: https://jericho3110.github.io/research-site/

Built by GitHub Pages with Jekyll and the minima theme: there is nothing to build locally.

File What it is
_config.yml site title, theme, base URL, menu
index.md, research.md, about.md the pages
_posts/YYYY-MM-DD-title.md blog posts (front matter: layout: post, title, date)
meta.md, meta/*.md the metas: tier lists of what's strongest now, field by field
_data/meta/*.json each meta's data (tiers, category lists, source, as-of date)
_includes/tierlist.html the tier-list template every meta page uses (HTML-escapes all data)

Automation

Every day at 23:07 UTC, .github/workflows/briefing.yml runs scripts/briefing.py: it reads the day's digest from ai-research and the KEV watch from cybersecurity-research, writes _posts/YYYY-MM-DD-daily-briefing.md, commits it, and asks GitHub Pages to rebuild (a push made by the workflow's own token doesn't trigger a Pages build by itself). jekyll-feed publishes every post at /feed.xml.

python scripts/briefing.py --dry-run     # print today's briefing
python -m unittest discover -s tests     # 18 tests, no network

Security: the script fetches only raw.githubusercontent.com/jericho3110/{ai-research,cybersecurity-research}/main/, keeps only lines matching the exact shapes those repos' generators write, caps downloads at 2 MB, and wraps the post body in {% raw %} so text from a feed can never run Liquid template code. No AI model, no secrets. The workflow has contents: write and pages: write only, with actions pinned to commit SHAs.

The AI model meta

Every day at 22:47 UTC, .github/workflows/meta.yml runs scripts/models.py: it reads the Artificial Analysis free API, keeps each model family's best variant, tiers them by distance from the leader (SSS within 4 points, SS 8, S 15, A 20, B 28, C 35), ranks coding, agents, value and speed, and writes _data/meta/ai_models.json. The front page and /meta/ai-models/ render it with _includes/tierlist.html.

One-time setup (needed for the daily update): create a free account at artificialanalysis.ai, copy the API key, then in this repo: Settings > Secrets and variables > Actions > New repository secret, name AA_API_KEY. Until then the page shows the data seeded by hand on 2026-10-25, and the workflow changes nothing.

AA_API_KEY=... python scripts/models.py --dry-run   # print the new data
python scripts/models.py --from-file saved.json      # build from a saved response, no key

Security: fetches one fixed URL with a size and page cap; the key lives only in the Actions secret and the environment; numbers out of range and control characters are dropped; the template escapes every value.

The cybersecurity meta and patch notes

The same workflow runs scripts/kev_meta.py (vendors tiered by CISA KEV additions in the last 90 days: S = half the top count or more, A = a third, B = at least 2; from CISA's public feed, no key) and then scripts/patch_notes.py, which compares every _data/meta/*.json with its last copy in _meta_snapshots/ and logs what entered, moved, left or became #1 to _data/patch_notes.json, newest first. Pushing a hand edit to _data/meta/ runs the patch notes too. Pages: /meta/cybersecurity/, /meta/patch-notes/; the latest notes are on the front page.

python scripts/kev_meta.py --dry-run      # the cybersecurity meta from today's catalog
python scripts/patch_notes.py --dry-run   # what would be logged, without writing

How to read, share or extend the updates: docs/STAYING_CURRENT.md.

Writing a post

  1. Add _posts/YYYY-MM-DD-short-title.md with the front matter above.
  2. Link to the repo that holds the full research and its sources.
  3. Commit and push; Pages rebuilds in about a minute.

References

About

Public site and blog for jericho3110's research

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages