Skip to content

Repository files navigation

Low-Hanging Fruit

Find high-impact research problems AI can solve and verify next.

简体中文 · English

CI

Most research agents start after you already have an idea.

Low-Hanging Fruit starts one step earlier.

It turns one sentence into ranked, evidence-linked opportunities in mathematics and LLM research, investigates the strongest candidate, and packages an auditable verification plan. It runs as a Codex Agent Skill or as the lhf local CLI.

Alpha: research prioritization, not automated breakthrough claims. LHF Rank is a transparent prioritization heuristic—not a calibrated probability of success.

20-second quickstart

Use the repository Skill directly in Codex:

$low-hanging-fruit Find high-impact, verifiable research opportunities that AI may be able to solve now, and directly investigate the strongest one.

Or install the local CLI and create a fully offline report bundle:

uv sync --all-extras --dev
uv run lhf demo --output-dir .tmp/demo
uv run lhf validate .tmp/demo

For a live, structured Codex run using your existing Codex login:

uv run lhf "Find verifiable low-hanging research opportunities I can understand"

No OPENAI_API_KEY is required on the recommended path.

What you get

Every completed run is a portable report bundle:

report.md                    decision-first Markdown report
report.html                  self-contained responsive report
opportunities.json           ranked opportunity cards
sources.json                 normalized source ledger
campaign.zh-CN.md            Chinese research campaign
campaign.en.md               English research campaign
pilot.md                     bounded probe and real outcome
verification-plan.md         correctness / statement / novelty checks
verification-records.json    machine-verification ledger
agent-output.json            validated structured agent response
codex-last-message.md        raw final Codex message
codex-stderr.log             redacted bridge diagnostics
run-manifest.json            versions, degradations, and artifact hashes

The offline demo includes mathematics, replay, and LLM opportunities plus a deliberately damaged integer certificate that the exact verifier rejects. Synthetic examples are labelled as such and are never presented as current open research.

Offline terminal example

$ lhf demo --output-dir .tmp/demo --json
{"run_dir":".tmp/demo","valid":true,"sources":3,"report":".tmp/demo/report.md"}

$ lhf validate .tmp/demo --json
{"valid":true,"errors":[],"run_dir":".tmp/demo"}

Core workflow

one request
  -> Discover / Inspect / Replay / Expand / Verify
  -> source grounding and opportunity normalization
  -> transparent LHF Rank and separate difficulty axes
  -> bounded probe and deterministic checks
  -> bilingual Campaign + Markdown/HTML + evidence ledger

Low-Hanging Fruit ranks impact, AI structural fit, verifiability, timing, and understandability. It also shows discovery difficulty, verification difficulty, background burden, literature ambiguity, and competition pressure separately.

Codex Skill

The repository-level Skill lives at .agents/skills/low-hanging-fruit/. The CLI installs the bundled copy idempotently before a live run, without changing global Codex configuration.

uv run lhf install-skill
uv run lhf skill-status
uv run lhf uninstall-skill

The Skill infers the operating mode from the request, gathers current evidence with host tools, returns 3–7 strong candidates when evidence supports them, and performs one bounded probe on the leader. It never publishes, contacts experts, or declares a discovery without explicit authorization.

CLI

lhf "<natural-language request>" [--dry-run] [--json]
lhf run "<natural-language request>"
lhf demo
lhf doctor
lhf install-skill | uninstall-skill | skill-status
lhf validate <run-dir>
lhf render <run-dir>
lhf version

Useful options include --output-dir, --dry-run, --no-install-skill, --timeout, and --json. A dry run writes the planned prompt, schema, and safe argument-list command but does not launch Codex or modify the user Skill directory.

If Codex is absent or logged out, the CLI reports the shortest recovery action without a Python traceback. demo, validate, and render remain available offline.

Scope and boundaries

Low-Hanging Fruit complements rather than replaces:

  • broad web-research agents, by working upstream on opportunity selection;
  • automated experiment loops, by defining the exact target and evidence gate;
  • theorem provers, proof assistants, and QED-style systems, by packaging candidates for deterministic verification;
  • open-problem databases, by converting entries into bounded, executable opportunities and checking their current status.

It does not write a complete paper, execute arbitrary paper/repository scripts, or treat a community post as final evidence that a problem is open or solved.

Trust, claims, and privacy

Correctness, statement match, and novelty are tracked independently. Statuses range from unverified and sanity_checked through mechanically_verified, with explicit pending and rejected states. See CLAIM_POLICY.md before using words such as “proved,” “disproved,” “solved,” or “first.”

Runs and cache are local by default. There is no telemetry. The bridge does not read or copy Codex authentication files, logs are redacted, HTTP calls have timeouts, and subprocesses use argument lists with workspace-write rather than danger-full-access. See SECURITY.md for the threat model.

Architecture

  • Agent Skill: autonomous research routing, evidence collection, explanation, replay, and bilingual Campaign generation.
  • Deterministic Python core: strict Pydantic models, checked-in JSON Schemas, scoring, source normalization/cache, verification, manifests, and reporting.
  • Codex bridge: capability-probed codex exec, structured output, safe sandboxing, timeout/Ctrl-C handling, and complete local run metadata.

Public source adapters target official arXiv, OpenAlex, Crossref, Stack Exchange, and GitHub APIs. One source failure is recorded as a degradation instead of aborting the whole research run; tests use static fixtures and never require live network access.

Development

Python 3.11+ is supported. uv is recommended; standard venv + pip also works.

make setup
make lint
make test
make demo
make build

Without Make:

uv sync --all-extras --dev
uv run ruff format --check . && uv run ruff check . && uv run mypy src
uv run pytest -q && uv build

Without uv, the repository Skill still works directly. For the CLI:

python -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"  # Windows: .venv\Scripts\python

See CONTRIBUTING.md, ROADMAP.md, and SECURITY.md. The roadmap describes future work, not current capabilities.

License

Apache-2.0. See LICENSE.

About

Discover, explain, rank, replay, and verify low-hanging research opportunities in mathematics and LLM research—from one sentence.

Topics

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages