Skip to content

docs: scaffold PyAutoLens-Assistant JOSS paper #69

Description

@Jammy2211

Overview

Create a current-format JOSS manuscript for PyAutoLens-Assistant in the autolens_assistant repository. The paper will explain how a domain-specific natural-language and agentic interface translates gravitational-lensing science goals into explicit, inspectable, and reproducible PyAutoLens workflows.

Plan

  • Add a dedicated paper/ manuscript directory to autolens_assistant.
  • Use the exact approved title and author-supplied Summary.
  • Follow current JOSS metadata and required-section conventions.
  • Scaffold sections around the Assistant's architecture, safety, reproducibility, scientific use, and benchmark evidence.
  • Seed a focused bibliography and add drafting/build guidance.
  • Validate the manuscript structure and compile it with JOSS tooling where available.
Detailed implementation plan

Affected Repositories

  • autolens_assistant (primary)

Branch Survey

Repository Current Branch Dirty?
./autolens_assistant main 1 untracked benchmark-run directory

Suggested branch: feature/pyautolens-assistant-joss-paper

Work Classification: Workspace

Worktree root: ~/Code/PyAutoLabs-wt/pyautolens-assistant-joss-paper/

Current conflict: benchmark-calibration claims autolens_assistant on feature/benchmark-calibration; preserve its untracked benchmark outputs and wait for that task to release the repository.

Implementation Steps

  1. Add paper/paper.md with current JOSS YAML, the exact title, the supplied Summary and Statement of need, required sections, and explicit drafting prompts.
  2. Scaffold Assistant-specific coverage of natural-language analysis, the instructions/skills/wiki architecture, API and real-data safety gates, reproducible science-project workflows, supported interfaces, and the frozen benchmark protocol.
  3. Add paper/paper.bib with verified starter references for PyAutoLens and the software/AI systems cited by the manuscript.
  4. Add paper/README.md with a drafting checklist and official Inara build instructions, plus paper/.gitignore for generated PDF output.
  5. Validate metadata, section structure, citation keys, and PDF compilation without modifying existing benchmark results or Assistant content.

Key Files

  • paper/paper.md — JOSS manuscript template and supplied prose.
  • paper/paper.bib — focused starter bibliography.
  • paper/README.md — drafting checklist and compilation instructions.
  • paper/.gitignore — generated paper output.

Verification

  • Confirm all pre-existing autolens_assistant files and benchmark outputs are unchanged.
  • Validate YAML front matter, required JOSS sections, and all cited BibTeX keys.
  • Compile with the official openjournals/inara image when Docker is available.

Original Prompt

Click to expand starting prompt

Set up the PyAutoLens-Assistant JOSS paper

Type: docs
Target: autolens_assistant
Repos:

  • autolens_assistant
    Difficulty: small
    Autonomy: supervised
    Priority: normal
    Status: formalised

Request

Create a current-format JOSS paper template for PyAutoLens-Assistant with the title:

PyAutoLens-Assistant: Using Natural Language and AI to Analyse Gravitational Lenses

Place the manuscript in the autolens_assistant repository so that the JOSS paper is hosted with the software it describes. Preserve all existing assistant content and benchmark outputs.

Summary draft supplied by the author

Summary

Stage IV weak-lensing surveys, such as Euclid and the Vera C. Rubin Observatory, are measuring increasingly large samples of galaxies, while strong-lensing searches are discovering rapidly growing numbers of galaxy-, group-, and cluster-scale lenses. These systems are observed through optical and infrared imaging, radio interferometry, point-source measurements of lensed quasars and supernovae, and weak-lensing shear catalogues, enabling studies of cosmology, dark matter, galaxy formation, and the early Universe. Mature open-source software such as PyAutoLens supports simulations, lensing calculations, and strong- and weak-lensing modelling across these datasets, but constructing a bespoke analysis can still require substantial effort to locate, adapt, and combine the relevant examples using the correct Python API and syntax.

PyAutoLens-Assistant allows scientists to use natural language to describe the gravitational-lens analysis they want to perform. It provides a domain-specific interface to the documented and tested capabilities of PyAutoLens, supporting simulations, ray-tracing calculations, probabilistic modelling, data preparation, result interpretation, and visualization. Researchers can use it through a conversational AI assistant, such as ChatGPT, to ask questions and develop workflows interactively, or through agentic coding tools, such as Claude Code or Codex, which can inspect data, write and execute scripts, diagnose errors, analyse outputs, and iteratively refine an analysis. PyAutoLens-Assistant is grounded in curated, version-controlled documentation, examples, scientific reference material, and task-specific instructions, and produces explicit Python code and inspectable analysis products.

Statement of need draft supplied by the author

Statement of Need

Experienced PyAutoLens users often know exactly which scientific analysis they want to perform, but implementing it still requires substantial time assembling the appropriate Python workflow. An expert can quickly specify: “Perform multi-wavelength lens modelling of the F115W, F150W, F277W, and F444W JWST imaging of the COSMOS-Web Ring using a multi-Gaussian expansion lens-light model, a singular isothermal ellipsoid plus external shear mass model, and a Delaunay pixelized source reconstruction.” Translating this concise scientific specification into executable code requires locating and combining several examples, loading and configuring each dataset, composing the model components with the correct API, and adapting the workflow to the system being analysed. As models incorporate more datasets, cluster-scale mass distributions, or joint strong- and weak-lensing constraints, this implementation burden increases even when the underlying scientific choices are already clear. PyAutoLens-Assistant reduces this overhead by translating natural-language specifications into explicit, executable, and reproducible PyAutoLens workflows.

New users face a complementary challenge: they may not yet know which modelling approach, software abstractions, or examples are appropriate for the task they are learning. PyAutoLens has grown from galaxy-scale imaging analyses to support point-source lenses, group- and cluster-scale systems, weak lensing, interferometry, simulations, and joint analyses, accompanied by well over one hundred worked examples across the autolens_workspace. Navigating this material while simultaneously learning gravitational-lensing science, Bayesian inference, and the PyAutoLens API can be overwhelming. PyAutoLens-Assistant enables users to describe their immediate goal in natural language and receive targeted explanations, example code, and pointers to the relevant documentation. Its teaching mode also explains the underlying science and numerical methods, encourages follow-up questions, and supports learning rather than simply returning code.

Original request verbatim

ok, the second paper is PyAutoLens-Assistant and its title is PyAutoLens-Assistant: Using Natural Language and AI to Analyse Gravitational Lenses, make another JOSS paper and template

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions