You teach Hermes how to extract XMM/ESAS spectra

Real programs + real logs + interactive configuration draft + user audit

Instead of announcing a standard answer first, this puts the XARTATOMS, M31CGM, M31HotISM, and esas_playground source programs side by side, letting the user audit and teach step by step.
Published on

July 13, 2026

This time Hermes does not decide the "standard pipeline" by itself

The biggest problem of the previous round was not missing commands, but not first learning from the programs and logs you have already run successfully. This site splits the four materials apart:

  1. XARTATOMS 0900170101 's latest production extraction;
  2. M31CGM 0800732701 's historical PBS / full-reduction track;
  3. M31HotISM 0112570101 's recent MOS-only pilot and strong product acceptance;
  4. xmm/python_xmmscripts/ipynb/esas_playground_v1.4.1.py 's current engine.

The user's teaching decision was received on 2026-07-13; this version preserves the evidence chain and turns the decision into auditable rules.

NoteAdopted user decision; not equal to authorizing execution
  • canonical engine: uniformly use esas_playground_v1.4.1.py; different OBSIDs, regions, and requirements are all configured by .par , no longer duplicating multiple engines.
  • Each time, first specify the OBSID, band, RA/Dec DS9 region, whether to exclude point sources, and whether to remove extended sources.
  • First inventory ODF/RPC and 1.calibration → 2.filter → 2.1.filter → 3A.edetect_stack progress; only fill in missing field stages.
  • Before extraction, use evselect image to visually confirm the region in RA/Dec sky coordinates.
  • After extraction, overlay the mos-spectra image with the exact region in RA/Dec, and deliver an xsherpa inspect no-fit check.
  • The user retains clean shell, field/extraction separation, camera×region matrix, pilot→batch, hash, region-specific QPB, product verifier, no-fit/spatial QA, and structured status.

The original teaching decision marks execution_authorized=false; therefore what is confirmed here is the method, not an execution license for any specific OBSID.

ImportantCan the page be interactive? Yes, but the boundary must be clear

The text boxes on Cloudflare Pages can accept the observation root, ODF, RPC, engine, parameter file, region, and camera you fill in; the browser locally generates .par, launch command, and teaching-plan JSON, and allows download.

It cannot directly read paths on your computer, check FITS, start SAS, or submit a batch job. To actually run, you still need to bring the downloaded draft back to a local shell and execute after visual and file preflight. The page has no upload interface; fields are only saved in the browser localStorage。

The real materials of this audit round

RECENT PRODUCTION

XARTATOMS · 0900170101

v1.4.1 / MOS2 / R4–7 / clean-shell pilot → batch → qualification

Newest, closest to production discipline: preflight, hash gate, region-specific products, no-fit QA, fail-closed unavailable camera-sector.

HISTORICAL SCALE

M31CGM · 0800732701

PBS / v1.2–v1.3 / redu + C modes / many observations

Best for learning early mode design, batch scheduling, and real failures; do not copy hard-coded host, environment dump, or credentials as-is.

STRONG ACCEPTANCE

M31HotISM · 0112570101

v1.3.2 / MOS-only / custom region / 84 hard gates

geometry, point-source mask, PHA/QPB/RMF/ARF acceptance are worth learning; the runner's compatibility recovery layer is not an ideal routine extraction template.

ENGINE SOURCE

esas_playground · v1.4.1

current local engine / ConfigObj / extra_region_list / region-specific CCD

is the XARTATOMS production engine; rProfile, final sync, logging noise, etc. still need your judgment on whether to trim.

Material division after the user decision

Material Provisionally best for learning What should not be copied directly Current status
XARTATOMS 0900170101 clean-shell、pilot→scale-up、hash/test/status、region-specific QPB/response Project-specific R4–7/CCD/Fe-L wrapper runner/QA pattern, not another engine
upstream v1.4.1 engine main logic, .par driver, extra_region_list, camera/region handling Unclosed rProfile/sync/noisy bootstrap User-selected canonical engine; still needs central fixes/qualification before execution
M31HotISM E009 spatial gate、source mask、84/84 product acceptance Multiple compatibility shims, runtime copies, per-ObsID thick wrappers Acceptance material
M31CGM 0800732701 redu/C Mode history, PBS scale, failure logs Expired host/path, 49 MB single log, full environment dump, hard-coded notification credentials Historical material

Adopted upstream_v1.4.1_engine as base. You can still revise specific steps on the Teach Hermes page; any revision will not automatically run SAS.

Suggested reading order

01

First look at the four-material comparison

Look at entry point, mode, region, log, product qualification item by item, avoiding being misled by file-name version numbers.

Enter the comparison page →

02

Then follow the tutorial thread

From observation root to no-fit handoff, every step marks "which material it comes from" and "what you need to answer".

Enter the tutorial →

03

Fill in RPC / ODF / region yourself

Generate .par draft, command, and teaching-plan JSON; the page executes no command.

Open the configurator →

04

Teach me with real logs

Learn success markers, fake errors, environment pollution, partial products, QPB/response, and retry boundaries.

Enter the log class →

05

Give your teaching decision

Choose base, keep mode, reject mode, specify golden script / golden log, and export JSON.

Start the audit →

Science and execution boundaries

  • This site does not run SAS, does not newly extract any spectrum, does not fit, and has no physical conclusion.
  • Old spectra that have passed product-level validation do not automatically become invalid because of the tutorial audit.
  • The canonical engine has been designated by the user as esas_playground_v1.4.1.py; the band/region/source-exclusion/field readiness of a specific run must still be confirmed each time.
  • New spatial transforms still need exact DS9 + camera-mask overlay human-eye approval.
  • QPB must come from the region-specific ESAS workflow; parent-scaled / surrogate / copied responses must not be substituted.

Public pages only use de-identified source labels, versions, hashes, and summaries. Internal absolute paths, host topology, Bark credentials, and environment variables are not published. Complete internal provenance remains in each project's cognition OS and local logs.

Downloads

中文