Raw outputs are immutable inputs. Markdown records point to them with job identity, revision, parameters, provenance, and hashes when practical.
Research Notebook Reference
Each record owns one kind of information and follows a durable contract. The machine-readable
schemas below are synchronized with skill release v0.2.0.
Publication guidance links to the current skill source. Installed skill files remain the format
authority when a local notebook differs.
reference / invariants · source
Ownership rules
Predictions and decision thresholds are written before outcomes are inspected and are never rewritten afterward.
Single-experiment analysis stays in its experiment file. A finding exists only when evidence spans experiments.
Indexes and status pages point to authoritative records instead of copying their conclusions.
A terminal job becomes processed only after its evidence is durable and the notebook passes validation.
A plan coordinates bounded work. Each action still requires appropriate authority.
Each estimand carries its registration status, and a claim cites the estimand. What informed a design is written at the design moment; it cannot be recovered later.
A corrected value is stated beside the superseded one, and the same session searches the notebook for every record that relied on it.
reference / structure · source
Directory structure
project/
├── lab-notebook/
│ ├── STATUS.md
│ ├── QUESTIONS.md
│ ├── PRIORITIES.md
│ ├── CHANGELOG.md
│ ├── experiments/
│ │ ├── README.md
│ │ ├── EXP-001-short-topic.md
│ │ └── EXP-001-short-topic.annex.md
│ ├── findings/
│ │ ├── README.md
│ │ └── 2026-08-10-cross-experiment-result.md
│ ├── plans/ # optional
│ ├── reports/ # optional
│ ├── papers/ # optional authored manuscripts
│ ├── references/ # optional cited-paper archive
│ ├── kb/ # optional stable reference notes
│ ├── causal-models/ # optional mechanism hypotheses
│ ├── jobs/processed/ # optional runner fallback
│ ├── GLOSSARY.md # optional
│ ├── BIBLIOGRAPHY.md # optional
│ ├── RUNNER.md # optional
│ ├── CLAIMS.md # optional
│ └── PUBLICATION.md # optional
├── scripts/ # executable research code
└── data/ # large or structured outputs Markdown records remain small enough to review and version. Scripts and large artifacts stay in project storage; experiment records preserve the command, revision, parameters, artifact location, and content hash needed to recover a result.
Top-level files
| File | Question it owns | Add it when |
|---|---|---|
STATUS.md | Where does the project stand now? | Baseline |
QUESTIONS.md | What is known, open, or blocked? | Baseline |
PRIORITIES.md | What should happen next? | Baseline |
CHANGELOG.md | What was learned or decided, and when? | Baseline |
GLOSSARY.md | What do local terms, symbols, and acronyms mean? | Terminology needs a stable definition |
BIBLIOGRAPHY.md | Which papers matter and why? | Related work is tracked or cited |
RUNNER.md | How does this project submit, inspect, retrieve, and process jobs? | The project uses a compute runner |
CLAIMS.md | Which claims belong to each paper, what role do they play, and what supports them? | An argument needs evidence tracking |
PUBLICATION.md | Where are the manuscript and packets, and what blocks submission? | A paper enters preparation |
COMPANION-DOCS.md | Which reports, guides, talks, or IP documents accompany the work? | Several artifacts need an index |
QA.md | Which questions should a talk or defense answer? | Preparing a presentation |
Schema 5 defines the baseline paths:
STATUS.md, QUESTIONS.md, PRIORITIES.md, CHANGELOG.md, experiments/README.md, findings/README.md.
Directories
| Directory | Contents | Add it when |
|---|---|---|
experiments/ | One mutable record per experiment | Baseline |
findings/ | Dated, immutable cross-experiment syntheses | Baseline; it may remain empty |
plans/ | Versioned contracts for bounded research objectives | Work spans phases, agents, or sessions |
reports/ | Longer living analyses and figures | A synthesis is too large or changeable for a finding |
papers/ | Canonical Typst manuscripts and their shared bibliography | Drafting inside the notebook |
references/ | Downloaded cited papers, source notes, and indexes | Archiving or annotating literature |
kb/ | Stable reusable methodology and comparisons | Material is reference, not evidence |
causal-models/ | Working mechanism hypotheses | Several interventions inform one mechanism |
reference / formats · source
File-format contracts
A path determines the record type. Headings and field names carry machine-readable state; prose carries evidence and interpretation. Keep the fixed shape below while allowing projects to add domain-specific sections that do not duplicate another record's ownership.
| Path | Required or conventional shape | Change policy |
|---|---|---|
STATUS.md | # Project status; a ## Snapshot with phase, science status, established result, open work, next action, publication state, and last-updated fields; then ## Navigation | Living front door. Keep it short and point to owners. |
QUESTIONS.md | One ## RQ#. Title block per question, with Question, Status, optional Answer, and Evidence fields | Stable IDs. Update status and links without copying result tables. |
PRIORITIES.md | # Research priorities, last-updated date, one ## Current focus, a short checkbox ## Queue, and an optional testable-predictions table | Living queue. Remove completed items; do not mirror runner state. |
CHANGELOG.md | Newest-first YYYY-MM-DD: event lines naming the result or decision, evidence owner, and consequence | Append research events, not routine edits or status flips. |
experiments/README.md | Experiment links grouped by current status and research question | Update whenever experiment membership or status changes. |
experiments/EXP-*.md | Title and metadata; hypothesis; method; numbered estimands and registration; informed-by links; predictions and decision rule; runs; results and prediction outcomes; conclusion; follow-ups; artifacts | Mutable through the experiment lifecycle. Never rewrite preregistered content after outcomes are inspected. |
experiments/*.annex.md | Breakdown tables or worked cases supporting one experiment's headline. The filename carries the experiment ID; no status field. | Supporting analysis, not a separate experiment. |
findings/README.md | Dated finding links with one-line claims and source experiments | Update whenever a finding is added or superseded. |
findings/YYYY-MM-DD-*.md | Title; date, status, questions, and experiments; then claim, evidence, synthesis, scope and threats, consequences, and sources | Immutable synthesis. Add a successor or correction pointer when evidence changes. |
plans/*.md | YAML frontmatter with identity, status, owner, reviewer, phase, and dates; Markdown goals, phases, gates, current state, and terminal disposition | Versioned contract. See the plan schema. |
CLAIMS.md | A table with ID, Role, Claim, Status, Evidence, and Paper columns | Living argument. Every row cites direct experiment or estimand evidence. |
PUBLICATION.md | Project publication status followed by one ## Paper block per manuscript, with key, draft, venue, headline result, blockers, and venue table | Living submission state. External dates require a source. |
GLOSSARY.md | Category ## headings and one alphabetized ### Term entry per project-specific term, symbol, or acronym | Living vocabulary. Link definitions that depend on evidence or a method decision. |
BIBLIOGRAPHY.md | Thematic ## sections and one ### Paper entry with citation, short summary, project relevance, and source or local links | Living annotated bibliography. |
RUNNER.md | Project-specific commands for submit, status, logs, artifact retrieval, cancellation, processed checks, and final marking | Living adapter to an external job system. |
reports/, kb/, causal-models/ | Markdown with a descriptive title, provenance links, and the sections its subject needs. These directories have purpose contracts rather than one global schema. | Reports may change; knowledge-base notes are stable reference; causal models remain distinct from observations. |
papers/ | Canonical Typst manuscripts plus one shared references.bib | Authored source. Venue packets are external derivatives. |
references/ | Cited PDFs, source inventories, manifests, and tracked annotations | PDFs may be ignored caches; source records remain versioned. |
jobs/processed/<backend>/<job>.json | One JSON object per terminal job with the schema's required backend, job, terminal status, evidence, and notebook-revision fields | Immutable idempotency record, used only when the runner lacks processed state. |
reference / papers · source
Manuscripts and submission packets
A paper's manuscript is its complete, continuing source. A submission packet is a derivative prepared for one venue. The two artifacts have different lifetimes.
Manuscript
lab-notebook/papers/name.typ Natural length. Continues through arXiv versions, review, and post-publication revision.
Submission packet
external paper workspace Venue template, page limit, and anonymization. Frozen while submitted and at camera-ready.
The content invariant is packet ⊆ manuscript. A packet may omit material to meet a venue limit, but it cannot introduce content absent from the manuscript. A frozen packet can therefore remain behind a manuscript that continues to develop.
Edit the manuscript first and port changes into packets in preparation. A reviewer-driven
revision or camera-ready phase may make the packet lead temporarily; back-port those changes
before manuscript editing resumes. PUBLICATION.md records each packet's venue,
state, and synced-as-of date.
Default manuscript source
New notebook manuscripts use Typst with
Arkheion 0.1.2. This neutral,
natural-length layout is independent of any venue template. All manuscripts in
papers/ cite one shared papers/references.bib.
#import "@preview/arkheion:0.1.2": arkheion
#show: arkheion.with(
title: "Working title",
authors: (
(name: "Author Name", affiliation: "Institution", email: "author@example.org"),
),
abstract: [Write the abstract here.],
)
= Introduction
#bibliography("references.bib") reference / record kinds
Experiments and plans
The two record kinds that grow have their own pages. The experiments page holds the record contract, the status vocabulary and its legacy spellings, estimand registration, annexes and duplicate IDs, and the register-and-process workflow. The plans page holds the frontmatter and status vocabulary, the review-gate diagram, confirmation reserves, completion reports, and retraction notices. Both pages render their vocabularies from the same schema copy this page uses.
reference / claims · source
Claim ledger evidence
CLAIMS.md uses the columns
ID, Role, Claim, Status, Evidence, Paper.
Roles are
major, candidate major, supporting.
Statuses are
supported, provisional, blocked, refuted, retired,
with
live (for supported) and withdrawn (for retired)
accepted as legacy spellings.
Every row cites at least one experiment record. A finding may supply synthesis, correction,
or interpretation context, but cannot replace experiment evidence. Papers consume evidence
and do not belong in the Evidence cell. When the experiment declares estimands, cite the
estimand as EXP-NNN:E#: the validator
resolves it and warns when the claim draws on a found estimand or on a
gate.
Example claim rows
| ID | Role | Claim | Status | Evidence | Paper |
|---|---|---|---|---|---|
C1 | major | In the deterministic toy simulator, accumulated batches remain inside the preregistered 0.02 equivalence margin. | supported | EXP-001:E1, EXP-002:E1, EXP-002:E2 | gradient-accumulation-note |
C015 | major | Belief and reality use the same value slot. The router, rather than separate value representations, selects between them. | live | EXP-034, EXP-034b | belief-routing |
C017 | supporting | Reliable tracking of information visible to different agents appears between the tested 3B and 7B models. Qwen and Mistral results support the routing explanation. | live | EXP-026, EXP-028 | belief-routing |
The first row is from the repository's synthetic example and cites estimands. The other two are
from the belief paper's notebook and cite records, since they predate estimand registration
there; the major claim rests on two experiments and the supporting claim names the size range
it was tested at. That notebook writes live for supported.
If no experiment owns a required analysis, create an analysis experiment that records its inputs, method, artifacts, and result. Mark expectations reconstructed after the result as retrospective.
Write the tested scope in the claim itself. The Paper cell is the stable key for
the paper that uses the claim. PUBLICATION.md owns that paper's manuscript and
packet pointers, synchronization state, readiness, gates, venues, deadlines, and submission
state. Human review is required before
promoting a claim to supported or broadening its scope.
Every date in a publication record is a venue's own published deadline, traceable to its
source. Work that is urgent but blocked carries an Urgency reason, a
Gate that a reader can observe, and a ready since date from which
staleness can be read, never an internal target date.
reference / graph · source
Edges and their owners
The notebook is a typed graph. Each edge has one write-moment owner, the file whose author writes it when the fact comes into existence, and the reverse direction is computed by search or index rather than stored. Experiments carry no back-link to plans or claims.
| Edge | Written in | Checked by |
|---|---|---|
| plan → experiment | Plan phases and completion report | Validator link resolution |
| experiment → estimand | ### E# heading and registration line | Validator registration values |
| experiment → prior evidence | ## Informed by | Validator link resolution |
| claim → estimand | CLAIMS.md Evidence cell | Validator resolution, with found and gate warnings |
| claim → publication | CLAIMS.md Paper cell | Validator |
| upstream → downstream experiment | Upstream decision rule or follow-ups | Prose; the forward link is required |
| terminal plan → correction | Retraction notice | The retracting session's search |
The Informed by edge is the one that cannot be derived. A threshold chosen
before looking and one chosen after produce identical code and output; the difference exists
only at the write moment.
Informed by section that names prior exposure to the data. From EXP-182, a registered reanalysis.## Informed by
- [[EXP-028-visibility-derivation]], including its aggregate results, which were known before this record was created; that prior exposure is why this is a registered reanalysis and not a preregistration
- The four original Weft commands recovered for wj3711, wj3712, wj3726, and wj3733
## Pre-registered predictions (a priori)
None. This record registers an analysis of data already seen (see Registration status). The reproduction targets under Retrospective expectations are checks, not predictions. The record says which facets of the earlier run it had seen, so a later reader knows the recovered intervals cannot count as a fresh confirmation.
reference / human decisions · source
Human review checkpoints
Agents prepare the record and proposed decision. They do not approve their own work as a substitute for human review. Record each decision in the experiment, plan, or claim update that it governs.
| Checkpoint | When |
|---|---|
| Plan approval | before plan execution |
| Experiment design review | before preregistration |
| Preregistration review | before outcome inspection |
| Analysis and interpretation review | before synthesis |
| Plan gate review | after each executed phase |
| Follow-up approval | before a gated follow-up |
| Claim promotion review | before strengthening a claim |
reference / runners · source
Connect a job system
A tracked RUNNER.md records how the project submits work, reads status and logs,
retrieves artifacts, cancels work, checks whether evidence has been processed, and marks
processing complete. This project-specific mapping is a runner adapter. The tools below
occupy different layers and can be composed.
| Tool | Placement | Queue | Workflow | Artifacts | Processed ledger? |
|---|---|---|---|---|---|
| Dagu | Local, SSH, container, Kubernetes targets | Workflow schedule | DAGs and retries | Project convention | Yes |
| Pueue | One machine | Persistent command queue | Groups and dependencies | Project convention | Yes |
| SkyPilot | Clouds, Kubernetes, Slurm, machines | Managed jobs | Task dependencies | Sync plus configured storage | Yes |
| Slurm | Existing cluster | Cluster scheduler | Dependencies and arrays | Project convention | Yes |
| Weft | Machines and GPU rentals | Research jobs | Sweeps, pipelines, DAGs | Staging and retrieval | No, if native state is retained |
Dagu and Pueue need an artifact convention or wrapper unless jobs already write to durable storage. SkyPilot and Slurm also need project-specific artifact locations. Setup records these mappings in the project adapter and keeps the core notebook rules portable.
reference / processed state · source
Fallback processed-job ledger
Use one JSON record per backend and job ID to avoid append races:
lab-notebook/jobs/processed/
├── slurm/123456.json
└── skypilot/managed-job-17.json
Required fields are
schema_version, backend, job_id, experiment_id, terminal_status, processed_at, evidence, notebook_revision.
Terminal status is succeeded, failed, or canceled.
Backend names are normalized and unsafe job IDs use URL percent encoding in filenames.
Evidence paths stay inside the notebook. Artifact URIs and hashes are recommended.
- Check whether the final record exists.
- Retrieve and verify outputs.
- Update evidence, indexes, and changelog.
- Validate and make the notebook update durable.
- Write a temporary JSON record in the target directory.
- Atomically rename it to the backend and job path, then commit it.
Coordinate writers around the whole protocol. A retry is a new job and receives a new record. Prefer SQLite when many writers, transactional queries, or very large job counts make individual files unsuitable.
reference / literature archive · source
Cited-paper archive
The download-research-references skill follows local LaTeX and Typst includes,
reads common LaTeX citation commands and Typst @key citations, resolves
authorized open sources, validates bounded PDF downloads, and updates
BIBLIOGRAPHY.md. It can also fetch bounded clean arXiv source into
references/source/<citation-key>/ and write references/SOURCES.md.
- Preview with a dry run before downloading.
- Preserve existing thematic organization and hand-written annotations.
- Record source URLs even when no authorized PDF is available.
- Ignore downloaded PDFs, not the whole
references/directory. - Never execute content from downloaded papers or archives.
- Use
--report-jsonfor automation and--strictwhen missing items should fail.