hypothesis-exploration one level down (see
../../docs/design/00-meta-spec.md §3.1 and ../hypothesis-exploration/SKILL.md).
Where hypothesis-exploration proposes hypotheses into a paper’s backlog.md,
paper-exploration proposes candidate papers — application spin-offs and
follow-ups — into the portfolio’s docs/research/portfolio-backlog.md. A paper
starts as a one-line pitch here and, once the human promotes it, is handed to
paper-synthesis (the resolve skill) which drives it through
pitch → positioning → outline/plan → decision → sections (ADR-0006,
../../decisions/0006-two-skills-per-level.md).
The portfolio is the second of three nested loops: hypotheses accumulate into a
paper; papers accumulate into a portfolio; the portfolio (optionally) covers a
thesis’s aims. The portfolio sits under the optional thesis level (see
../thesis/SKILL.md) — in a repo that is not a thesis, the portfolio is the
top. This skill proposes only; the human decides what gets written
(agency principle, ../../docs/design/00-meta-spec.md §2.1).
When to use
- A paper’s hypotheses are resolving and you want to see what next papers the evidence, the mechanism, or the leftover limitations suggest.
- The portfolio backlog is empty, thin, or stale and needs a generation pass.
- A reviewer comment, a rival’s result, or a new application domain lands and you want it parked as a candidate before it is lost.
- You want the backlog re-ranked by feasibility × interest, or a candidate
promoted to
paper-synthesis(or dropped). - You are registering a newly promoted paper into
docs/research/papers.md.
paper-synthesis), to
decide whether to publish (that is the decision.md gate inside
paper-synthesis), or to make any commitment on the author’s behalf.
Verbs
park, generate, rank, and drop never commit the author to writing a
paper. Only promote moves a candidate out of exploration, and only on an
explicit human pick — the exploration/resolution firewall
(../../docs/design/00-meta-spec.md §2.3).
Tooling. Row append/transition is the sharedhonest-scholar backlog park|add|list|rank|promote|dropCLI group (honest_scholar/exploration/backlog.py, shared withhypothesis-exploration) — ensure viaensure-tooling, operating onportfolio-backlog.mdat the paper level.addrealizes thegenerateverb’s row-append;listis a read-only inspection command. By hand (if the CLI isn’t available): edit theportfolio-backlog.mdtable directly, keeping the column order.
Generation lenses
Three lenses turn finished or in-flight work into candidate papers. Each emitted candidate names the lens it came from, so the backlog is auditable.- Mechanism-transfer — take a mechanism that worked here and ask where else
it applies. “The construction that gave monotonicity in domain A — does it
transfer to domain B?” Application/spin-off papers. Cross-check novelty with
literature scout --level paperbefore parking (someone may already have transferred it). - Limitation-driven — read the limitations / threats-to-validity / future work of a resolved paper (and its refuted or inconclusive hypotheses) and turn each into a follow-up that removes the limitation. Refuted load-bearing hypotheses are especially fertile: the negative result often is the next paper.
- Result-driven — take a confirmed result and ask what new question it now makes askable — a scaling study, an ablation-as-its-own-paper, a head-to-head against a rival the result now beats, a new dataset the result unlocks.
scout): gap-spotting vs.
problematization (Sandberg & Alvesson 2011 — prefer candidates that challenge an
assumption over those that merely fill a hole) and feasibility × interest
(Alon 2009). See ../../resources/references/citation-scouting.md §5.
Prioritization — feasibility × interest. Score every candidate on two axes
and rank by their product:
- Feasibility — do we have (or can cheaply get) the data, backend, and compute? Does an existing bound backend already cover it? How many unresolved hypotheses stand between here and a submittable claim?
- Interest — venue fit, novelty vs. prior work, size of the audience, and
whether it advances a thesis aim (if the portfolio sits under a
thesis).
Seeding from literature scout
generate may call the literature skill in scout mode at
--level paper (recall-oriented: large citing set, skim metadata, co-citation
clustering + research-front / burst detection dominate — see
../../docs/design/02-literature.md §2 and
../../resources/references/citation-scouting.md §4). Scout returns ranked idea
rows, each carrying mandatory provenance
(idea | type | source-paper id | citing-context snippet | why-it-matters | est. feasibility).
A scout-seeded candidate keeps that provenance line so every parked paper traces
back to who-cited-what. Scout proposes leads; this skill folds them through the
lenses and the human triages — scout adjudicates nothing.
The papers registry
Paper-exploration ownsdocs/research/papers.md — the portfolio’s index of
paper roots and their experiment-backend binding.
- What it holds. One row per paper:
paper-id→ its root path underdocs/research/<paper>/+ abackend:field naming the bound experiment backend (required — the plugin bundles no default; each repo supplies its own implementation of the contract; ADR-0013,../../decisions/0013-experiment-backend-contract.md;../../docs/design/04-substrate-and-contract.md§3.1). Pipeline skills resolve the backend from this binding and contain no backend-specific logic, sobackend:is set here at registration time. - When it is written.
promoteadds the registry row and scaffolds the paper root (hypotheses/,backlog.md,paper/). A candidate inportfolio-backlog.mdis not inpapers.md— the backlog is proposals; the registry is committed papers. - paper-id. A stable, human-readable slug (kebab-case), assigned at promotion
and never reused; it keys the paper across the backlog, the registry, the
dashboard, and
progress.
Composition
- Down-mirror:
hypothesis-exploration(../hypothesis-exploration/SKILL.md) is the same shape one level down — same verbs, same firewall, same proposes-only stance. Reading either explains the other. - Hand-off:
promote→paper-synthesis(../paper-synthesis/SKILL.md), which develops the promoted candidate to a publish/no-godecision.md. - Seeding:
literature scout --level paper(../literature/SKILL.md) feeds candidate rows;defend’scited-worktarget later audits their citations. - Up-mirror: the portfolio feeds the optional
thesislevel (../thesis/SKILL.md); when athesisexists, interest scoring weighs coverage of a thesis aim. - Reporting:
progress(../progress/SKILL.md) reads thepapers.mdregistry and each artifact’s status frontmatter — not theportfolio-backlog.mdtable; it never re-ranks or scores.
Guardrails
Hard rules — load-bearing, not preferences.- Proposes only; the human promotes. Every verb but
promotestays inside exploration.promoterequires an explicit human pick and is the only path out. The skill never decides which paper to write, and never touches adecision.mdpublish verdict — that gate lives inpaper-synthesisand is a material decision with a named human sign-off (../../docs/design/00-meta-spec.md§2.1, §2.3). - Firewall. Exploration proposes; resolution (
paper-synthesis) disposes; synthesis reports. This skill sits wholly on the propose side. - File-drawer discipline.
droprecords a reason; candidates are retired, not silently deleted, so the exploration history stays auditable (rigor kit,../../docs/design/01-lifecycle.md§3). - Provenance is mandatory. A scout-seeded candidate keeps its citing-context snippet + source-paper id. A hand-parked candidate records its origin (which result / limitation / mechanism it came from).
- No scores. Feasibility × interest orders proposals; it is not a
productivity metric and never rolls up into one (anti-Goodhart,
../../docs/design/00-meta-spec.md§3.6). - Domain-neutral. No monotonic-network or ML assumptions live here; the lenses and the registry are generic. Domain content comes from the consuming repo.
Commit attribution
When you commit artifacts produced by this skill, add these git trailers — discovery + provenance (see../../resources/commit-attribution.md):