Skip to main content
Supporting tooling for the defendable-science research-workflow plugin. Every command emits JSON on success and a clear, non-zero exit with an actionable message on failure. Run defendable-science --version to print the installed version. This page is generated from the Typer app on every build, so it always matches the released CLI.

defendable-science doctor

Report the local environment: Python, uv and rclone. Prints a short diagnostic report. Missing optional tools (uv, rclone) are reported, not treated as failures. Always exits 0.

defendable-science literature

Citation-graph and metadata tools.

defendable-science literature resolve

Resolve an identifier (DOI, arXiv id, OpenAlex/S2 id) to a canonical work.

defendable-science literature cites

List works that cite the given work (JSON array).

defendable-science literature refs

List the backward references (OpenAlex ids) of the given work.

defendable-science literature enrich

Enrich one or more works with their metadata bundle (JSON array).

defendable-science literature neighbors

List co-citation / bibliographic-coupling neighbours of the given work.

defendable-science dataset

Dataset manifest, retrieval and mirroring.

defendable-science dataset validate

Validate a datasets.yml manifest (the register/audit gate). Prints a JSON report {ok, errors, warnings} and exits non-zero on any hard error.

defendable-science dataset ingest

Ingest a published Croissant JSON-LD file to bootstrap a draft entry. Prints the draft registry entry as JSON, with the human-owned fields it could not fill listed under _needs_human (the caller confirms them on register).

defendable-science dataset emit

Emit a Croissant JSON-LD document for a manifest entry (or all entries).

defendable-science dataset fetch

Fetch a registered dataset through the resolution chain (pooch/rclone).

defendable-science dataset verify

Verify on-disk bytes against the manifest SHA-256 (offline).

defendable-science dataset mirror

Populate/refresh the private rclone mirror for a dataset.

defendable-science dataset audit

Audit fixity, mirror presence and manifest completeness.

defendable-science defend

Defensibility record helpers.

defendable-science defend record

Record a defend/digest examination: patch understanding + log. Writes status.understanding into the artifact frontmatter and appends the full evidentiary point record (ADR-0033) to the accountability log. Records observed facts only — never a verdict, score, or answer key.

defendable-science backlog

Exploration backlog management.

defendable-science backlog park

Park a raw one-line idea as a parked backlog row.

defendable-science backlog add

Add a candidate row (realizes the generate verb).

defendable-science backlog list

List backlog rows as JSON (read-only), optionally filtered by status.

defendable-science backlog rank

Score a row and set it ranked (advises; never selects).

defendable-science backlog promote

Mark a ranked row promoted (an explicit human pick). Flips the row’s status and saves the backlog. Scaffolding the next-stage artifact is a follow-up step (scaffold_hypothesis / scaffold_paper).

defendable-science backlog drop

Retire a row as dropped with a recorded reason (never deletes it).

defendable-science keys

Store, list and check API keys & credentials (ADR-0029).

defendable-science keys set

Store a key. The value comes from stdin or a hidden prompt, never argv. Piping a JSON object ({"NAME": "value", ...}) sets many at once. Unknown names warn but are still stored. No value is ever echoed.

defendable-science keys list

List every known + stored key with its metadata and presence (no values).

defendable-science keys check

Report presence/absence and source of each key as JSON (never a value).

defendable-science keys unset

Remove a key from the store (a no-op if it was not stored).

defendable-science keys path

Print the resolved key-store path.