All notable changes to OmegaWiki will be documented in this file.
The format is based on Keep a Changelog.
/posterskill (/poster [paper-dir]): generate a self-contained 1400×900 HTML academic poster + 2× PNG render from a drafted-and-compiled paper. Pipeline adapted from PaperX (arXiv:2602.03866) — DAG intermediate (tools/wiki2dag.py), per-section distillation, interactive figure picker, critique-revise convergence pass, event-driven Playwright render with programmatic DOM overflow check. Readspaper/main.tex+paper/sections/*.tex+paper/figures/and grounds distillation inwiki/outputs/paper-plan-*.mdwhen available. Authors are cached inpaper/.author_display.txtfor double-blind workflows. Supports affiliation/conference logos (PNG/JPG/PDF; PDF auto-converted at 200 DPI) and two header layouts (corners/stacked). Export to PDF from the browser's print dialog.- TikZ figure rasterization (
tools/rasterize_latex.py): figures defined as inline TikZ (without\includegraphics) are auto-compiled viapdflatex+pdftoppminto PNGs underpaper/figures/and flow through the existing poster figure-injection pipeline.TEXINPUTSis augmented with the sourcepaper_dirso\input{figures/data/foo.tex}and pgfplots.datreferences resolve correctly. Optional dependency: TeX Live + poppler-utils (graceful failure with_failed/<slug>/artifacts saved for debugging). - Live HTML
<table class="poster-table">rendering: booktabstabularenvironments inside\begin{table}…\end{table}become real HTML tables with cell-level scrubbing (\textbf/\emph/\texttt/\textsc,\multicolumn→colspan, citation key → bibliography ordinal,\ensuremath{X}→$X$for KaTeX). Tables auto-detect booktabs\midruleto split thead/tbody; tables without\midrulerender entirely as<tbody>.\input{tables/foo}is expanded inline (comment-aware, so% \input{...}is ignored). Numeric cells wrapped in$..$for math/text rendering parity. Table font unified toKaTeX_Main. - Multi-figure layouts (Step 2.5): per-section figure picker supports selecting ≥ 2 figures with explicit layout choice — side-by-side (
inline-multi-side), vertical stack (inline-multi-stack), or after-table. - Optional
playwright>=1.40dependency for event-driven rendering with deterministic font/asset wait semantics. Without it,/posterfalls back to a system-browser subprocess render path (Chrome/Edge preferred, Firefox at 1× scale). templates/poster/poster_template.htmlwith 3-column auto-fit layout, KaTeX math support,.poster-tableCSS (KaTeX_Main font, alternating striping), and an iterativefit()algorithm that shrinks--base-fontuntil content settles inside the poster bounds.wiki/log.mdsession entries for poster runs (paper title, section/figure/table counts, header config, refine iterations, check-overflow result).- README "What's New" entry with anonymized demo image (
assets/poster_demo_tikz_tables.png) — placeholder title/authors/prose, real tables/figures preserved to demonstrate the pipeline.
setup.shadds import smoke-test fortools/wiki2dag.pyandtools/poster.py(tools/rasterize_latex.pytransitively validated viawiki2dagmodule-level import).requirements.txtnotesplaywright>=1.40as optional with one-shotpython -m playwright install chromiumsetup hint.
Existing skills (/init, /ingest, /discover, /paper-draft, /paper-compile, /visualize, etc.) are unchanged. The new /poster skill is purely additive — no existing entity schemas, edge types, runtime contracts, or skill outputs are modified.
/discovervenue mode (--venue <slug> --year <int>): rank a conference's full paper list by relevance to the existing wiki. Data source ispapercopilot/paperlistspublic JSON — no Semantic Scholar / DeepXiv calls, no extra API keys. Supports NeurIPS (slugneuripsaliases tonips), ICLR, ICML, and any other venue covered by Paper Copilot.- 20 unit tests in
.sleepcode/tests/test_discover_from_venue.pycovering URL aliasing, JSON normalization, transient-failure retry, title-based dedup, sparse-wiki guard, and the no-write contract.
/discoverskill argument-hint expanded from 3 to 4 seed modes (anchor / topic / wiki / venue) across.claude/,i18n/en/, andi18n/zh/. References (seed-modes.md,ranking-signals.md,wiki-dedup.md) updated for venue-mode picking, scoring, and title-based dedup against candidates that lack arXiv IDs.- Venue mode is stricter than other
/discovermodes: it does not write towiki/at all, includingwiki/log.md. Sparse wikis (< 20 unique relevance terms) fail with an actionable error rather than returning an unpersonalized ranking.
- Knowledge graph visualization (
/visualize): two output modes — Web SPA (Cytoscape, served bytools/serve.py) with BFS-highlight, entity/edge filtering, and in-app Reader; Obsidian mode (--obsidian/--canvas) generating color-coded graph config and force-layout Canvas files with labeled semantic edges. - Local research dashboard (
#/dashboardin web UI): paper ingestion timeline, method-type breakdown, novelty histogram, and experiment status charts.
- Replace
claimsentity withmethodsentity. The wiki no longer carries a separate testable-claim entity; verifiable hypotheses now live onideaspages, and reusable techniques are first-class viawiki/methods/*.md(withname,slug,typeenum,source_papers,parent_methods,child_methods,code_repo). - Drop
experiments.target_claim; requireexperiments.linked_idea. Every experiment must reference its source idea;/exp-evalnow updates the linked idea'sstatus/pilot_result/failure_reasoninstead of a separate claim entity. ideas.origin_gapsretargets[concepts, topics](was[claims]). Reverse links land inconcepts.linked_ideas/topics.linked_ideas(new frontmatter fields).ideasschema: gainstarget_venue,novelty_score (1-5 int). Dropsdomain. Body template adds## Novelty argumentand## Target venue; drops## Expected outcome.papersschema: gainstldr,contribution_type(multi-select from a fixed enum),datasets. Dropskeywords,domain. Body renames## Problem→## Problem & Context,## Results→## Experiment & Results.conceptsschema: dropspart_of. Gainsdefinition(1-sentence machine-readable) andlinked_ideas. Body drops## Formal notation,## When to use,## Key papers; gains## Relationship to foundations.topicsschema: dropsmy_involvement,sota_updated. Gainslinked_ideas. Body drops## Research gaps,## Key people,## My position; gains## Key benchmarksand splits## Open problemsinto### Known gaps/### Methodological gapssubsections.peopleschema: dropstags. Gainsresearch_areasandtype: object {kind: enum, subtype: str}. Body drops## Key papersand## Collaborators./novelty: adds--writeflag — when set with an idea slug as target, persistsnovelty_scoreto the idea page (skill is otherwise still read-only)./paper-plan: argument-hint changes from<claim-slugs>to<idea-slugs>. The plan is built from validated ideas + their linked experiments and methods, not from a separate claim graph.- CLI:
tools/research_wiki.pyremovesfind-similar-claim,query weak-claims,query evidence-for. Thequerysubcommand now exposes onlyready-to-testandorphans. - Edge workflow rename:
claim_evidence→evidenceonsupports/contradicts(endpoints unchanged at*->*).
- Pre-existing
wiki/claims/*.mdcontent is not migrated; in this repo the directory was empty so it has been removed. Any external repo with content there should run/editto fold relevant assertions into the appropriate idea / method pages before pulling this change. - The
experiments.target_claimfield is dropped, not migrated; pre-existing experiment pages must be hand-edited to setlinked_ideainstead.
- 20 Claude Code skills for full research lifecycle:
/init,/ingest,/ask,/edit,/check,/daily-arxiv,/ideate,/novelty,/review,/exp-design,/exp-run,/exp-status,/exp-eval,/refine,/survey,/paper-plan,/paper-draft,/paper-compile,/research,/rebuttal - Wiki knowledge engine (
tools/research_wiki.py) with 20 CLI commands - 8 entity types: papers, concepts, topics, people, ideas, experiments, claims, summaries (superseded by 0.2.0 — see Unreleased;
claimsis replaced bymethods) - Typed semantic relationship graph (
graph/edges.jsonl) plus bibliographic citation layer (graph/citations.jsonl) - Daily arXiv automation via GitHub Actions
- Cross-model review via any OpenAI-compatible API (DeepSeek, OpenAI, Qwen, OpenRouter, SiliconFlow, etc.)
- Multi-source data integration: arXiv RSS, Semantic Scholar, DeepXiv
- Remote GPU experiment support (
tools/remote.py) - Structural wiki linter with auto-fix (
tools/lint.py) - Bilingual support (English + Chinese) with
setup.sh --langswitching - One-click setup (
setup.sh) - Obsidian-compatible
[[wikilink]]format throughout - 2125 tests