record_experiment
Write what just happened into your lab notebook: a new entry, or more text appended to one you name. The body is markdown and its @plasmid / !action / &gel references are extracted as you write, so an entry made by a run is cross-linked exactly like one you typed — and carries the automated tag, so you can always tell which is which. Use it to end a pipeline with a record of itself instead of a reminder to write one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | tags to file it under, beyond the `automated` tag every entry written here carries. | |
| title | No | the entry title. A new entry needs one. On an append, giving a title RENAMES the experiment, so leave it out to keep the name it has. | |
| _files | No | The project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name. | |
| body_md | Yes | the entry body, markdown. `@plasmid-name`, `!action-id` and `&gel-id` references in it are extracted into the entry's cross-reference lists, which is what makes a notebook searchable by construct. | |
| _subject | No | The record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several. | |
| entry_id | No | append to this entry instead of creating one — the id `list_experiments` returns. A pipeline that runs twice should append to its own entry rather than leaving two. | |
| collection | No | file it in this collection, creating the collection if it does not exist — the notebook's own grouping, the same one the panel lists. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | Yes | the tags as stored, including `automated` — the engine caps and cleans these, so read them back rather than assuming | |
| title | Yes | the title it now carries | |
| created | Yes | true for a new entry, false when text was appended to an existing one | |
| entry_id | Yes | the entry written — pass it back to append to this same experiment next time | |
| bodyChars | Yes | the stored body length. The engine caps a body at 1,000,000 bytes, so a long append can be shorter here than what was sent — read it rather than assuming the write was whole | |
| crossRefs | Yes | the @plasmid / !action / &gel references the engine extracted from the body — empty lists are a real answer and mean the body named no construct, which is worth noticing in an entry about one | |
| collection | Yes | the collection it is filed in, or an empty string when it is filed in none |