From ee6cfb0532b3c66942f3728b1f498b2ec95d0066 Mon Sep 17 00:00:00 2001 From: Austin Macdonald Date: Fri, 22 May 2026 10:59:05 -0500 Subject: [PATCH 1/5] Commit boilerplate and move from con/demos Co-Authored-By: Claude Opus 4.7 (1M context) --- 2026-usrse/poster-draft.md | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 2026-usrse/poster-draft.md diff --git a/2026-usrse/poster-draft.md b/2026-usrse/poster-draft.md new file mode 100644 index 0000000..186ba73 --- /dev/null +++ b/2026-usrse/poster-draft.md @@ -0,0 +1,71 @@ +# Agent-friendly Provenance Capture with `con-duct` + +## Presenters + +- Austin Macdonald \, Department of Psychological and Brain Sciences, Dartmouth College / Center for Open Neuroscience, ORCID 0000-0002-8124-807X +- Cody C. Baker \, Department of Psychological and Brain Sciences, Dartmouth College / Center for Open Neuroscience, ORCID 0000-0002-0829-4790 +- Isaac To \, Department of Psychological and Brain Sciences, Dartmouth College / Center for Open Neuroscience, ORCID 0000-0002-4740-0824 +- Yaroslav O. Halchenko \, Department of Psychological and Brain Sciences, Dartmouth College / Center for Open Neuroscience, ORCID 0000-0003-3456-2493 + +## Keywords + +agentic workflows, provenance, reproducibility, resource monitoring, HPC + +## Abstract + +Agents and humans now routinely execute commands side-by-side. +Whether developing workflows, exploring datasets, invoking analysis tools, or chaining outputs through pipelines, the outputs of tool usage are critical information. +The provenance problem of agent-driven work cuts two ways: command outputs need to be *captured* automatically as they happen, and need to be *operable on* later, by the originating agent, a successor agent, or the human reviewer. + +Three inefficiencies recur that `con-duct` can help with. + - An agent runs `cmd | grep ...`; the unfiltered stdout is gone. + - An agent pipes to an ad-hoc `/tmp/` file with no metadata; nobody can find it again. + - A human runs a command and copy-pastes a slice of output into an agent's context; the agent operates on only what the human chose to share, and the rest is, again, gone. + +`con-duct` closes both halves of the loop with the same wrapper. +`con-duct run` (or `duct` for convenience) handles the capture: + - Invoked as `duct -m "tag" `, it streams full stdout and stderr to disk, polls the process group for resource usage at a configurable interval, and writes metadata recording the command, environment, wall clock time, peak RSS, and exit code. + - Capture is automatic and identical whether the runner is a human in a terminal or an agent calling out via tool use. + - The core monitor depends only on the Python standard library and needs no elevated privileges, so it works the same on a laptop, inside a container, or on an HPC compute node (`--mode current-session` for SLURM-tracked sessions). + +The companion `con-duct ls` provides discovery: +Its `-e` flag takes a Python expression over any captured field, so a later agent or human can retrieve runs by whatever dimension turns out to matter: + - `con-duct ls -e "message==''"` — by the `-m` tag attached at runtime. + - `con-duct ls -e "re.search('fmriprep', command)"` — by a regex over the command string. + - `con-duct ls -e "exit_code != 0"` — all failures. + - `con-duct ls -e "peak_rss > 8e9"` — runs that exceeded a memory budget. + - `con-duct ls -e "wall_clock_time > 3600 and hostname=='cluster-node-7'"` — long runs on a specific host. + +From any match, the full captured stdout, stderr, and resource samples are recoverable on disk — even when no one knew at runtime that those outputs would be needed. +Aggregated across runs, the resource statistics, exit codes, and wall times surface patterns: a tool that OOMs near four hours, a regression in runtime, a flaky exit under specific inputs. + +For research outputs where provenance is the point, the same wrapper composes with DataLad: `datalad run -m "..." "duct ..."` produces a git commit binding inputs, command, and outputs with the duct logs alongside. +On HPC this matters twice over — resource usage from prior runs directly informs what to request for the next SLURM job, replacing the usual guesswork. +A public MRIQC dataset (`ds000007-mriqc`) ships its `logs/duct/` directory, so `con-duct ls` and `con-duct plot` reproduce the resource picture of a completed `fmriprep` run months after the fact, without re-executing the pipeline. + +`con-duct` is available on PyPI (`pip install con-duct`), registered as RRID:SCR_025436, and developed openly at . + +## Acknowledgments + +We thank the broader Center for Open Neuroscience and DataLad communities for ongoing feedback on `con-duct`'s design and use. + +*AI-assisted content disclosure (per IEEE policy).* This submission was prepared with assistance from Anthropic's Claude (model: `claude-opus-4-7`, accessed via the Claude Code CLI in May 2026). +The AI system contributed to drafting prose in the Abstract and Connection-to-Mission sections; the human authors specified the content, edited the prose, and verified all technical claims, command examples, figures, and references. +The `con-duct` software described in this work was also developed with substantial assistance from the same Claude model family across multiple sessions during 2024–2026, used by the authors for code generation, refactoring, and review; all merged code was reviewed by the human authors before commit. + +## References + +*(to finalize; candidates below)* + +1. `con-duct` — Center for Open Neuroscience. . RRID:SCR_025436. +2. Macdonald, A. *An intro-duct-tion to con-duct.* DataLad blog, 2024. +3. DataLad — Halchenko, Y. O. et al. +4. brainlife `smon`. +5. ReproNim / ReproMan. +6. Esteban, O. et al. *fMRIPrep: a robust preprocessing pipeline for functional MRI.* Nature Methods, 2019. +7. `ds000007-mriqc` (Hoffstaedter / cerebra.fz-juelich.de). +8. *con/demos sfn-2025: duct + DataLad demo.* + +## Connection to Mission, Goals, & Interests of US-RSE Community + +*(< 300 words — to draft next.)* From a579d0bdf5bb7ccca6d217e3e6137b2fb4a64b01 Mon Sep 17 00:00:00 2001 From: Austin Macdonald Date: Sat, 23 May 2026 15:50:00 -0500 Subject: [PATCH 2/5] 2026-usrse: connection-to-mission + style pass (rename to duct-poster-draft.md) - Add Connection-to-Mission section (~245 words). - One sentence per line. - Remove all em-dashes and semicolons per author preference. - Rewrite -e bullets as verb-form clauses. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../{poster-draft.md => duct-poster-draft.md} | 42 ++++++++++++------- 1 file changed, 26 insertions(+), 16 deletions(-) rename 2026-usrse/{poster-draft.md => duct-poster-draft.md} (63%) diff --git a/2026-usrse/poster-draft.md b/2026-usrse/duct-poster-draft.md similarity index 63% rename from 2026-usrse/poster-draft.md rename to 2026-usrse/duct-poster-draft.md index 186ba73..aed653a 100644 --- a/2026-usrse/poster-draft.md +++ b/2026-usrse/duct-poster-draft.md @@ -18,9 +18,9 @@ Whether developing workflows, exploring datasets, invoking analysis tools, or ch The provenance problem of agent-driven work cuts two ways: command outputs need to be *captured* automatically as they happen, and need to be *operable on* later, by the originating agent, a successor agent, or the human reviewer. Three inefficiencies recur that `con-duct` can help with. - - An agent runs `cmd | grep ...`; the unfiltered stdout is gone. - - An agent pipes to an ad-hoc `/tmp/` file with no metadata; nobody can find it again. - - A human runs a command and copy-pastes a slice of output into an agent's context; the agent operates on only what the human chose to share, and the rest is, again, gone. + - An agent runs `cmd | grep ...` and loses the unfiltered stdout. + - An agent pipes to an ad-hoc `/tmp/` file with no metadata, and nobody can find it again. + - A human runs a command and copy-pastes a slice of output into an agent's context. The agent operates on only what the human chose to share, and the rest is, again, gone. `con-duct` closes both halves of the loop with the same wrapper. `con-duct run` (or `duct` for convenience) handles the capture: @@ -30,17 +30,17 @@ Three inefficiencies recur that `con-duct` can help with. The companion `con-duct ls` provides discovery: Its `-e` flag takes a Python expression over any captured field, so a later agent or human can retrieve runs by whatever dimension turns out to matter: - - `con-duct ls -e "message==''"` — by the `-m` tag attached at runtime. - - `con-duct ls -e "re.search('fmriprep', command)"` — by a regex over the command string. - - `con-duct ls -e "exit_code != 0"` — all failures. - - `con-duct ls -e "peak_rss > 8e9"` — runs that exceeded a memory budget. - - `con-duct ls -e "wall_clock_time > 3600 and hostname=='cluster-node-7'"` — long runs on a specific host. + - `con-duct ls -e "message==''"` retrieves runs by their `-m` tag. + - `con-duct ls -e "re.search('fmriprep', command)"` matches the command string against a regex. + - `con-duct ls -e "exit_code != 0"` lists all failures. + - `con-duct ls -e "peak_rss > 8e9"` finds runs that exceeded a memory budget. + - `con-duct ls -e "wall_clock_time > 3600 and hostname=='cluster-node-7'"` narrows to long runs on a specific host. -From any match, the full captured stdout, stderr, and resource samples are recoverable on disk — even when no one knew at runtime that those outputs would be needed. +From any match, the full captured stdout, stderr, and resource samples are recoverable on disk, even when no one knew at runtime that those outputs would be needed. Aggregated across runs, the resource statistics, exit codes, and wall times surface patterns: a tool that OOMs near four hours, a regression in runtime, a flaky exit under specific inputs. For research outputs where provenance is the point, the same wrapper composes with DataLad: `datalad run -m "..." "duct ..."` produces a git commit binding inputs, command, and outputs with the duct logs alongside. -On HPC this matters twice over — resource usage from prior runs directly informs what to request for the next SLURM job, replacing the usual guesswork. +On HPC this matters twice over. Resource usage from prior runs directly informs what to request for the next SLURM job, replacing the usual guesswork. A public MRIQC dataset (`ds000007-mriqc`) ships its `logs/duct/` directory, so `con-duct ls` and `con-duct plot` reproduce the resource picture of a completed `fmriprep` run months after the fact, without re-executing the pipeline. `con-duct` is available on PyPI (`pip install con-duct`), registered as RRID:SCR_025436, and developed openly at . @@ -50,16 +50,16 @@ A public MRIQC dataset (`ds000007-mriqc`) ships its `logs/duct/` directory, so ` We thank the broader Center for Open Neuroscience and DataLad communities for ongoing feedback on `con-duct`'s design and use. *AI-assisted content disclosure (per IEEE policy).* This submission was prepared with assistance from Anthropic's Claude (model: `claude-opus-4-7`, accessed via the Claude Code CLI in May 2026). -The AI system contributed to drafting prose in the Abstract and Connection-to-Mission sections; the human authors specified the content, edited the prose, and verified all technical claims, command examples, figures, and references. -The `con-duct` software described in this work was also developed with substantial assistance from the same Claude model family across multiple sessions during 2024–2026, used by the authors for code generation, refactoring, and review; all merged code was reviewed by the human authors before commit. +The AI system contributed to drafting prose in the Abstract and Connection-to-Mission sections. The human authors specified the content, edited the prose, and verified all technical claims, command examples, figures, and references. +The `con-duct` software described in this work was also developed with substantial assistance from the same Claude model family across multiple sessions during 2024-2026, used by the authors for code generation, refactoring, and review. All merged code was reviewed by the human authors before commit. ## References -*(to finalize; candidates below)* +*(to finalize. candidates below)* -1. `con-duct` — Center for Open Neuroscience. . RRID:SCR_025436. +1. `con-duct`. Center for Open Neuroscience. . RRID:SCR_025436. 2. Macdonald, A. *An intro-duct-tion to con-duct.* DataLad blog, 2024. -3. DataLad — Halchenko, Y. O. et al. +3. DataLad. Halchenko, Y. O. et al. 4. brainlife `smon`. 5. ReproNim / ReproMan. 6. Esteban, O. et al. *fMRIPrep: a robust preprocessing pipeline for functional MRI.* Nature Methods, 2019. @@ -68,4 +68,14 @@ The `con-duct` software described in this work was also developed with substanti ## Connection to Mission, Goals, & Interests of US-RSE Community -*(< 300 words — to draft next.)* +Maturing conventions, increasingly capable tooling, and the arrival of AI agents bring rigor, reproducibility, reusability, and efficiency within closer reach than ever. +US-RSE represents the researchers and engineers who build, maintain, and sustain the software that turns that potential into practice. +`con-duct` was built by RSEs at the Center for Open Neuroscience for precisely that audience: a small, dependency-light tool that captures what a command actually did, so the next person (or agent) can pick up where the last one left off without rerunning. +That is the day-to-day texture of research-software work: handing off enough context for someone else to act, and doing it cheaply enough that nobody skips the step. + +The conference theme, *Advancing Science in the Age of AI*, sharpens this concern. +As LLM agents take on more of the executing (writing throwaway pipelines, exploring datasets, calling tools), RSEs are the people who decide whether that work remains auditable. +`con-duct` is one small piece of an answer: a wrapper that makes the agent's work, like the human's, leave a trace. + +The project is openly developed at , registered (RRID:SCR_025436), and composes with the broader ecosystem of RSE-built tools we depend on (DataLad, BIDS, fmriprep, ReproNim/containers), rather than reinventing them. +We hope to find collaborators at US-RSE working on adjacent pieces of this puzzle. From 2421e6f2ae948d43500d4a5f0c470ad6031b81a1 Mon Sep 17 00:00:00 2001 From: Austin Macdonald Date: Fri, 29 May 2026 12:49:45 -0500 Subject: [PATCH 3/5] 2026-usrse: rework abstract into dev/research split - Drop opening "provenance" frame; lead with capture-then-retrieve - Add dev/explore vs research-output beats - Drop three failure-mode bullets - Merge HPC SLURM-sizing claim into research beat - Move ds000007-mriqc example next to ls/DataLad paragraph - Add inline credit + logs/duct/ URL for Hoffstaedter - Add MRIQC one-line context for non-neuro audience - Fix mriqc/fmriprep mismatch in example - Fix "resources used" plural Co-Authored-By: Claude Opus 4.7 --- 2026-usrse/duct-poster-draft.md | 35 ++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/2026-usrse/duct-poster-draft.md b/2026-usrse/duct-poster-draft.md index aed653a..9eb46bd 100644 --- a/2026-usrse/duct-poster-draft.md +++ b/2026-usrse/duct-poster-draft.md @@ -13,18 +13,22 @@ agentic workflows, provenance, reproducibility, resource monitoring, HPC ## Abstract -Agents and humans now routinely execute commands side-by-side. -Whether developing workflows, exploring datasets, invoking analysis tools, or chaining outputs through pipelines, the outputs of tool usage are critical information. -The provenance problem of agent-driven work cuts two ways: command outputs need to be *captured* automatically as they happen, and need to be *operable on* later, by the originating agent, a successor agent, or the human reviewer. +Agents and humans now routinely execute commands side-by-side, whether developing workflows, exploring datasets, invoking analysis tools, or chaining outputs through pipelines. +The outputs of those commands are often worth keeping, whether to refer back to, to compare against, or to hand to a successor. +By default they vanish the moment the terminal scrolls or the agent's context rolls over. -Three inefficiencies recur that `con-duct` can help with. - - An agent runs `cmd | grep ...` and loses the unfiltered stdout. - - An agent pipes to an ad-hoc `/tmp/` file with no metadata, and nobody can find it again. - - A human runs a command and copy-pastes a slice of output into an agent's context. The agent operates on only what the human chose to share, and the rest is, again, gone. +In development and exploration, this is a context problem. +A command's full stdout, its exit status, how long it took, and the resources used are exactly the breadcrumbs a successor (human or agent) needs to pick up where the last one left off, and the cost of capturing them is small enough that there is no reason not to. + - Did we get that warning last time we ran that command? + - Did this run take longer? + +For research outputs the stakes change. +Capture becomes provenance: a record of what was run, against what inputs, producing what outputs, with which resources. +The same recording does double duty on HPC, where the measured wall time and peak memory from earlier runs are the cheapest possible input to the next SLURM request, replacing the usual guesswork. `con-duct` closes both halves of the loop with the same wrapper. `con-duct run` (or `duct` for convenience) handles the capture: - - Invoked as `duct -m "tag" `, it streams full stdout and stderr to disk, polls the process group for resource usage at a configurable interval, and writes metadata recording the command, environment, wall clock time, peak RSS, and exit code. + - Invoked as `duct -m "searchable message/tag" `, it streams full stdout and stderr to disk, polls the process group for resource usage at a configurable interval, and writes metadata recording the command, environment, wall clock time, peak RSS, and exit code. - Capture is automatic and identical whether the runner is a human in a terminal or an agent calling out via tool use. - The core monitor depends only on the Python standard library and needs no elevated privileges, so it works the same on a laptop, inside a container, or on an HPC compute node (`--mode current-session` for SLURM-tracked sessions). @@ -37,21 +41,20 @@ Its `-e` flag takes a Python expression over any captured field, so a later agen - `con-duct ls -e "wall_clock_time > 3600 and hostname=='cluster-node-7'"` narrows to long runs on a specific host. From any match, the full captured stdout, stderr, and resource samples are recoverable on disk, even when no one knew at runtime that those outputs would be needed. -Aggregated across runs, the resource statistics, exit codes, and wall times surface patterns: a tool that OOMs near four hours, a regression in runtime, a flaky exit under specific inputs. - -For research outputs where provenance is the point, the same wrapper composes with DataLad: `datalad run -m "..." "duct ..."` produces a git commit binding inputs, command, and outputs with the duct logs alongside. -On HPC this matters twice over. Resource usage from prior runs directly informs what to request for the next SLURM job, replacing the usual guesswork. -A public MRIQC dataset (`ds000007-mriqc`) ships its `logs/duct/` directory, so `con-duct ls` and `con-duct plot` reproduce the resource picture of a completed `fmriprep` run months after the fact, without re-executing the pipeline. +Aggregated across runs, the resource statistics, exit codes, and wall times surface patterns: performance issues, a regression in runtime, a flaky exit under specific inputs. +The same wrapper composes with DataLad: `datalad run "duct ..."` produces a git commit binding inputs, command, and outputs with the duct logs alongside. +MRIQC is a neuroimaging quality-control pipeline, a typical HPC workload. +Hoffstaedter's `ds000007-mriqc` dataset ships a `logs/duct/` directory alongside its MRIQC outputs (), so `con-duct ls` and `con-duct plot` reproduce the resource picture of a completed `mriqc` run months after the fact, without re-executing the pipeline. `con-duct` is available on PyPI (`pip install con-duct`), registered as RRID:SCR_025436, and developed openly at . ## Acknowledgments -We thank the broader Center for Open Neuroscience and DataLad communities for ongoing feedback on `con-duct`'s design and use. +We thank the broader ReproNim and OpenNeuro communities for ongoing feedback on `con-duct`'s design and use. *AI-assisted content disclosure (per IEEE policy).* This submission was prepared with assistance from Anthropic's Claude (model: `claude-opus-4-7`, accessed via the Claude Code CLI in May 2026). The AI system contributed to drafting prose in the Abstract and Connection-to-Mission sections. The human authors specified the content, edited the prose, and verified all technical claims, command examples, figures, and references. -The `con-duct` software described in this work was also developed with substantial assistance from the same Claude model family across multiple sessions during 2024-2026, used by the authors for code generation, refactoring, and review. All merged code was reviewed by the human authors before commit. +The `con-duct` software described in this work was also developed with assistance from the multiple agents used by the authors for code generation, refactoring, and review. All merged code was reviewed by the human authors. ## References @@ -63,7 +66,7 @@ The `con-duct` software described in this work was also developed with substanti 4. brainlife `smon`. 5. ReproNim / ReproMan. 6. Esteban, O. et al. *fMRIPrep: a robust preprocessing pipeline for functional MRI.* Nature Methods, 2019. -7. `ds000007-mriqc` (Hoffstaedter / cerebra.fz-juelich.de). +7. Hoffstaedter, F. `ds000007-mriqc`. 8. *con/demos sfn-2025: duct + DataLad demo.* ## Connection to Mission, Goals, & Interests of US-RSE Community From 589c94ba77adecec53f740a73d0f265c8643eda4 Mon Sep 17 00:00:00 2001 From: Austin Macdonald Date: Fri, 29 May 2026 13:04:13 -0500 Subject: [PATCH 4/5] 2026-usrse: credit smon, trim references - Acknowledgments: credit brainlife's smon (resource-monitoring origin) - References: drop fmriprep, sfn-2025 demo, intro-duct-tion blog, ReproNim/ReproMan (related work not cited in prose) - References: drop Halchenko author attribution from DataLad (community project, not single-author), add DataLad RRID - References: renumber 1-4, drop "candidates below" header Co-Authored-By: Claude Opus 4.7 --- 2026-usrse/duct-poster-draft.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/2026-usrse/duct-poster-draft.md b/2026-usrse/duct-poster-draft.md index 9eb46bd..55946d9 100644 --- a/2026-usrse/duct-poster-draft.md +++ b/2026-usrse/duct-poster-draft.md @@ -51,6 +51,7 @@ Hoffstaedter's `ds000007-mriqc` dataset ships a `logs/duct/` directory alongside ## Acknowledgments We thank the broader ReproNim and OpenNeuro communities for ongoing feedback on `con-duct`'s design and use. +`con-duct`'s resource-monitoring approach is based on brainlife's `smon` (). *AI-assisted content disclosure (per IEEE policy).* This submission was prepared with assistance from Anthropic's Claude (model: `claude-opus-4-7`, accessed via the Claude Code CLI in May 2026). The AI system contributed to drafting prose in the Abstract and Connection-to-Mission sections. The human authors specified the content, edited the prose, and verified all technical claims, command examples, figures, and references. @@ -58,16 +59,10 @@ The `con-duct` software described in this work was also developed with assistanc ## References -*(to finalize. candidates below)* - 1. `con-duct`. Center for Open Neuroscience. . RRID:SCR_025436. -2. Macdonald, A. *An intro-duct-tion to con-duct.* DataLad blog, 2024. -3. DataLad. Halchenko, Y. O. et al. -4. brainlife `smon`. -5. ReproNim / ReproMan. -6. Esteban, O. et al. *fMRIPrep: a robust preprocessing pipeline for functional MRI.* Nature Methods, 2019. -7. Hoffstaedter, F. `ds000007-mriqc`. -8. *con/demos sfn-2025: duct + DataLad demo.* +2. DataLad. . RRID:SCR_003931. +3. brainlife `smon`. +4. Hoffstaedter, F. `ds000007-mriqc`. ## Connection to Mission, Goals, & Interests of US-RSE Community From ada5083734360722e259581eade759d15479eab8 Mon Sep 17 00:00:00 2001 From: Austin Macdonald Date: Fri, 29 May 2026 13:28:01 -0500 Subject: [PATCH 5/5] 2026-usrse: rework connection section - Add origin story: built for provenance, dev-side was unexpected bonus - Replace "current research-software work" with explicit "AI amplifies" framing (more context, faster pace, parallel streams) - Drop colons throughout the section Co-Authored-By: Claude Opus 4.7 --- 2026-usrse/duct-poster-draft.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/2026-usrse/duct-poster-draft.md b/2026-usrse/duct-poster-draft.md index 55946d9..be4b11e 100644 --- a/2026-usrse/duct-poster-draft.md +++ b/2026-usrse/duct-poster-draft.md @@ -66,14 +66,11 @@ The `con-duct` software described in this work was also developed with assistanc ## Connection to Mission, Goals, & Interests of US-RSE Community -Maturing conventions, increasingly capable tooling, and the arrival of AI agents bring rigor, reproducibility, reusability, and efficiency within closer reach than ever. -US-RSE represents the researchers and engineers who build, maintain, and sustain the software that turns that potential into practice. -`con-duct` was built by RSEs at the Center for Open Neuroscience for precisely that audience: a small, dependency-light tool that captures what a command actually did, so the next person (or agent) can pick up where the last one left off without rerunning. -That is the day-to-day texture of research-software work: handing off enough context for someone else to act, and doing it cheaply enough that nobody skips the step. - -The conference theme, *Advancing Science in the Age of AI*, sharpens this concern. +`con-duct` was built by RSEs at the Center for Open Neuroscience to record provenance for neuroimaging pipelines. +The dev-side payoff (reaching back into outputs that would otherwise be gone) was an unexpected bonus. As LLM agents take on more of the executing (writing throwaway pipelines, exploring datasets, calling tools), RSEs are the people who decide whether that work remains auditable. -`con-duct` is one small piece of an answer: a wrapper that makes the agent's work, like the human's, leave a trace. +AI only amplifies all of this. +More context is produced, more streams run in parallel, and everything moves faster. +RSEs still need to preserve that context, make it discoverable, and keep the capture cheap enough that nobody skips the step. -The project is openly developed at , registered (RRID:SCR_025436), and composes with the broader ecosystem of RSE-built tools we depend on (DataLad, BIDS, fmriprep, ReproNim/containers), rather than reinventing them. -We hope to find collaborators at US-RSE working on adjacent pieces of this puzzle. +`con-duct` is one small piece of an answer: a wrapper that makes the agent's work, like the human's, leave a trace.