astrophotography/state/DECISIONS.md
laurence 3f785136ed Bring the state files up to date so a cold session can resume
Rule 2 of the workflow is that state lives in the repo rather than the
chat, and a long session had put most of the current position only in
the chat. This writes it down.

TODO.md gains a RESUME HERE block at the top, because the useful
question for the next session is not what has been done but what to do
next and what is blocking it. It names the three live strands, the three
decisions waiting on the user, and the one thing that will break the
batch run if it is forgotten: NGC 6744 mixes bin1 luminance at 4096x4096
with bin2 colour at 2048x2048, so registration has to resample onto a
common grid. Nothing else in the archive does that, which is exactly why
it will be forgotten. It also drops three duplicate "Done (recent)"
headings that had accumulated, and tabulates what the five archived
sessions actually contain.

NOTES.md gains the gotchas, all of which produced plausible wrong
answers rather than errors: every frame is delivered twice as calibrated
and raw, so extracting both silently doubles the stack; an interrupted
segmented download leaves DIRECTORIES named like files, which defeats
anything that trusts an extension; a re-mirror duplicates rather than
replaces; two T20 archives are genuinely corrupt; extraction triples the
disk footprint and filled the drive. Alongside them the analysis lessons
from NGC 5128, kept for the same reason - each is a way to be confidently
wrong.

DECISIONS.md records why the pipeline reads headers rather than
filenames, and why imaging is being made push-button while the science
stays hand-driven.

ARCHITECTURE.md described a documentation-only repository with no code,
which stopped being true when the pipeline merged in. It now covers all
three parts, the code-and-data separation the pipeline is built around,
and the on-disk session layout.

Both of this session's own errors are recorded in TODO.md as things not
to repeat: measuring a foreground star instead of the galaxy nucleus and
booking telescope time to fix it, and telling the user NGC 6744 had not
been processed when it had.
2026-07-21 17:32:00 +01:00

4.7 KiB

Decisions

A dated, append only log of decisions and their rationale. Newest at the top. Never rewrite past entries; if a decision is reversed, add a new entry that says so.

2026-07-21: the pipeline reads headers, not filenames

The first pipeline parsed calibrated-T32-...-Luminance-BIN2-W-300-001.fit to learn a frame's filter, binning and exposure. That works for one telescope, one binning and one exposure length. Three of the four archived sessions have no luminance channel at all and one is from 2021 with different naming, so the approach could not survive contact with the archive.

FITS headers carry FILTER, EXPTIME, XBINNING, OBJECT and DATE-OBS precisely so software does not have to guess, and iTelescope fills them in properly. The pipeline opens each frame and asks. Filter aliases are mapped, so H-alpha, Halpha and HA all resolve to Ha.

The colour scheme is then derived from what is present rather than assumed: LRGB, RGB without luminance, SHO, HOO, or mono. That is what lets one command handle a galaxy in LRGB and a nebula in narrowband without being told which is which.

2026-07-21: push-button imaging, hand-driven science

The imaging half - unzip, measure, register, stack, plate solve, compose - is mechanical and should run unattended on any session. The analyses are not: a globular cluster survey suits an elliptical galaxy and is meaningless for an emission nebula, and much of the value in the NGC 5128 work came from noticing when a result was wrong rather than from running the code. So the pipeline is being built to be push-button, and the science stays step by step.

2026-07-21: merge itelescope and astro-pipeline into one repository

The two were split by accident of chronology rather than by design. itelescope began as a reference to the telescope network and grew into the campaign that books and runs sessions; astro-pipeline was created three hours before this merge to hold the processing code once it was moved out of the image directory. They describe two halves of one activity, and the seam was already leaking: the campaign's TODO referred to processing results held in the other repo, and the processing code's README explained a campaign it did not contain.

Merged with both histories preserved, by relocating each repository's files into a subdirectory in its own history first and then merging the unrelated histories. 44 commits, and git log --follow still traces a file across the move.

Layout: itelescope/ for the network and campaign, pipeline/ for the code, observing/ for in-person plans, with the Default Workflow files (CLAUDE.md, docs/, state/) at the top level governing the whole repository.

The old repositories are not deleted. The drain campaign is live until 10 Aug with sessions running most nights, and other sessions may be working in itelescope at the moment of the merge. Both carry a notice pointing here. Archive them once the campaign closes, not before.

2026-07-21: image data does not live in the repository

A single calibrated frame is 61 MB and a session runs to several gigabytes. Sessions stay on disk, organised into named subdirectories, and the code finds them through the ASTRO_SESSION environment variable. Each session carries its own METHODS.md describing what was done and what was found, so the account of the data travels with the data while the code travels separately.

2026-07-17: follow the Google Sheet, not the support article

The support article (https://support.itelescope.net/support/solutions/articles/247371) and the maintained Google Sheet (https://docs.google.com/spreadsheets/d/1jZWkkjewOuyNC9YzQ8y2d0pO1e4T7EBeysmQMPBVSOk/) disagree: the article lists T9, T19, T31, T69, which the sheet omits; the sheet has T25, T26, T59, T71-T75, T80, which the article lacks. The article itself points to the sheet as the current source, so the review follows the sheet and notes the discrepancy. The sheet CSV export is snapshotted in data/ so the review's numbers remain reproducible even if the sheet changes.

2026-07-17: single review document, not per-telescope files

23 active scopes each need only a spec block and a short assessment; one TELESCOPES.md grouped by observatory reads better and is easier to keep current than 23 stub files. Revisit if per-scope content grows (photos, session logs).

2026-07-17: no launchpad scraping

https://go.itelescope.net/ is an authenticated app shell with no public data. All content comes from public support pages and the public sheet; nothing in this repo requires iTelescope credentials.

Per-telescope detail pages, if ever needed: support.itelescope.net/support/solutions/articles/231901-231920 (older scopes), 245471 (T68), 251171 (T70), 251556 (T69), 251589 (T19).