# From HN video mentions to an astronomy watchlist

*A small independent evidence audit inspired by HackerTube. Frozen inputs: 3 November 2026.*

## Result and scope

Five unique videos have astronomy-related subject evidence and supported recommendation judgments in this sample. Six separate source-comment relationships support them. This is a traceable shortlist, not a ranking of video quality.

The sample contains **23 comments, 38 distinct comment–video pairs and 36 unique videos**. We did not evaluate HackerTube's catalogue or full system, watch videos, test playback, measure another model's performance, or compare judgments against a human gold standard. This was a non-blind evidence review by the same assistant.

**Open the [clickable final watchlist](final_watchlist.html).** For all relative links and embedded figures, extract the accompanying ZIP and open this report in a Markdown viewer. All linked local files are included. Earlier provisional outputs are retained as historical versions.

## Inputs and provenance

The [source brief](source_brief.md) describes a frozen Algolia HN search for “astronomy youtube.com”, with tags=comment and hitsPerPage=40, retrieved at 2026-11-03T05:26:08.015008+00:00. Within the first 40 relevance-ranked hits, comments containing specific YouTube video IDs were retained mechanically. This is a keyword-selected convenience sample, not representative sampling of HN.

Selected comments span December 2009 to October 2026. Official HN Firebase HTML is authoritative; convenience plain text is secondary. Up to three nearest parent items and a separately fetched root story provide bounded context. All 23 selected comments were available; three parent chains are truncated. A root story does not restore missing intermediate comments.

| Original input | Meaning and boundary |
|---|---|
| [analysis_notes.md](analysis_notes.md) | Analysis contract, not preassigned judgments. |
| [source_brief.md](source_brief.md) | Collection provenance and limitations. The complete 40-hit response is not supplied. |
| [hn_comments.jsonl](hn_comments.jsonl) | Selected HTML, search snapshots, links, timestamps and parent/root context. |
| [comment_video_links.csv](comment_video_links.csv) | Distinct mentions by comment and 11-character video ID, not recommendations. |
| [video_metadata.csv](video_metadata.csv) | Recorded oEmbed responses, not transcripts, descriptions or playback evidence. |

The brief cites [Karpathy's HackerTube post](https://karpathy.bearblog.dev/hacker-tube/) and its [HN discussion](https://news.ycombinator.com/item?id=50319510). Its whole-site figures are attributed background claims, not measurements made here.

## 1. Reconcile the units before interpreting links

Extraction from original HTML hrefs **and visible-text URLs** recovered all 38 supplied pairs, with no extra or missing relationships. One link occurs only as visible text. Normalization by video ID preserves separate comments mentioning the same video.

![Figure 1. Counts of comments, distinct comment–video pairs and unique videos.](sample_counts.png)

*Figure 1. Different units must not be added. See the [saved mapping](comment_video_mapping.csv) and [rebuilt mapping](rebuilt_mapping.csv).*

## 2. Preserve the source network

Two videos occur in two comments each; 34 occur once. The graph has 23 comment nodes, 36 video nodes and 38 mention edges. Repeated mentions are not votes for quality. A comment's stance toward one link must not automatically extend to another.

![Figure 2. Source-comment to video network.](source_network.png)

*Figure 2. Each node appears once. Shared video nodes retain both source edges. An edge denotes a mention, not necessarily endorsement.*

## 3. Judge stance separately from topic fit

Every pair received a stance label: recommend, critical, neutral/reference or unclear. Topic fit was assessed independently as yes, no or unclear, using supplied comments, context and metadata. Appreciative presentation can support recommendation; factual citation alone does not automatically do so. Disagreement with a parent claim does not imply dislike of a video.

| Stance | Topic fit: yes | No | Unclear | Total pairs |
|---|---:|---:|---:|---:|
| Recommend | 19 | 4 | 2 | 25 |
| Neutral or reference | 2 | 9 | 2 | 13 |
| Critical | 0 | 0 | 0 | 0 |
| Unclear | 0 | 0 | 0 | 0 |
| **Total** | **21** | **13** | **4** | **38** |

![Figure 3. Stance distribution with separate topic-fit categories.](stance_distribution.png)

*Figure 3. Zero categories remain visible rather than being populated with invented examples. All 38 pairs remain in the [final judgments](final_judgments.csv).*

Four topic cases remain unclear: uD4izuDMUQA, -Pc3IuVNuO0, QCIRkD71do4 and hSuSG19Pcoc. An end-of-time title, astronomy-course association, science-media outtake or supporting physics demonstration does not necessarily establish a video's astronomy focus. These uncertainties were not resolved from memory.

## 4. Audit the reasons for selection

All five provisional selections were retained after checking original wording and available context. Three supporting pairs directly praise or recommend the individual video; three endorse it within a favorable list. None of these six pairs was classified solely as a passing reference or criticism.

In the imaging discussion, negative language targets a parent's image-noise claim; the linked videos are appreciatively listed. Two comments support the same beginner-guide ID and remain separate. Ranks suggest viewing order, not measured quality.

![Figure 4. Evidence matrix for the six supporting source pairs.](evidence_matrix.png)

*Figure 4. The [selected-entry audit](evidence_audit_and_revisions.csv) retained all entries. The later full audit clarified four rows without changing labels or selections.*

The full audit removed a redundant extract from source 49536680, restricted technical-treatment praise in source 17036313 to the channel, removed an unverified film/scene identification from source 25299540's reason, and removed an unverified comedy characterization from source 47579661's reason.

The [revision log](revision_log.csv) records 38 outcomes: four clarified and 34 unchanged, with no stance/topic label changes. This is not measured accuracy: the same assistant reviewed the same evidence without an independent human reference.

### Final selected list

Titles and author names below come from successful supplied oEmbed responses. Evidence explanations describe comments, not inspected video contents.

| Rank | Video and supplied author attribution | Recommendation evidence |
|---|---|---|
| 1 | [Getting Started in Amateur Astronomy - for COMPLETE BEGINNERS. Telescopes? Books? Binos? Part 1](https://www.youtube.com/watch?v=9IlmekWsEAQ) — Ed Ting | Broad beginner observing entry, separately included in favorable advice lists in [42387446](https://news.ycombinator.com/item?id=42387446) and [49536680](https://news.ycombinator.com/item?id=49536680). |
| 2 | [Joseph Fraunhofer Biography: The Father of Modern Astronomy [CC]](https://www.youtube.com/watch?v=d0cjG1UdqKo) — Kathy Loves Physics | Astronomy history with direct praise of this biography in [31451807](https://news.ycombinator.com/item?id=31451807). |
| 3 | [How Starlink is changing Astronomy](https://www.youtube.com/watch?v=TifUa8ENQes) — Verse | Explicitly recommended for discussing Starlink's benefits and drawbacks in [26458700](https://news.ycombinator.com/item?id=26458700). The comment title differs, but the ID matches. |
| 4 | [Pluto on the Horizon: Anticipating our First Encounter with the Double Planet](https://www.youtube.com/watch?v=KfODJpfS0fo) — SVAstronomyLectures | Explicit recommendation in [9071833](https://news.ycombinator.com/item?id=9071833). Historical pre-encounter coverage, not verified current mission coverage. |
| 5 | [Basics of Statistics for Astro Imaging](https://www.youtube.com/watch?v=T_k9B01AeFM) — The Astro Imaging Channel | Included among enjoyed imaging resources in [47936513](https://news.ycombinator.com/item?id=47936513). Its ancestry is truncated, but the immediate criticism target is available. |

Selection favors clear evidence and a spread across beginner observing, history, satellites, planetary science and imaging methods. Other eligible videos were omitted to keep five entries, not declared inferior. All **31 remaining videos**, including unavailable and uncertain cases, are preserved with reasons in [final_omissions.csv](final_omissions.csv).

## 5. Separate metadata requests from video availability

All 36 videos have recorded oEmbed request times: **33 HTTP 200 successes, one HTTP 403 and two HTTP 404 responses**. Failed rows retain blank titles, author names and thumbnail URLs. HTTP errors do not prove deletion.

![Figure 5. Recorded metadata outcomes and unperformed checks.](metadata_request_statuses.png)

*Figure 5. Request categories are mutually exclusive. Playback/content flags describe the same videos and must not be added to request totals. No videos were playback-tested or viewed.*

Metadata failures affect QCIRkD71do4 (403), tJOJ6B2XOyA (404) and ubaX1Smg6pY (404). Successful metadata provides title and author attribution and may contain a thumbnail URL; no thumbnail image was verified here. Durations, full descriptions and transcripts are absent. Neither comments nor oEmbed establish regional availability, accuracy or educational quality. See the [metadata review](metadata_review.csv).

## 6. What this small audit says

![Figure 6. Synthesis and final list evidence coverage.](figure_6_audit_synthesis.png)

*Figure 6. Findings are bounded to this sample; unresolved limits remain explicit.*

Turning comments into a useful list requires more than link extraction. It requires identifying who is speaking, which link is endorsed, whether criticism targets the video or something else, and whether the apparent subject fits the list. Deduplication must preserve those relationships. Metadata success helps name a video; it does not validate its contents.

Here, a small shortlist is supported by inspectable sources, while four unclear topic judgments, three truncated parent chains and three metadata failures remain visible. The selected Starlink title mismatch and one selected source's missing ancestry remain unresolved. No conclusion about HackerTube's full system, whole-site accuracy or another model's performance follows.

## Checks, quotation accounting and earlier versions

The [rebuild checks](rebuild_checks.json) validate pair coverage, source IDs, exact extracts, metadata consistency and selected support. The [numerical summary](numerical_summary.json) records computed totals. These are consistency checks, not semantic truth tests.

Every nonblank extract matches HTML-derived source wording. The [quotation ledger](source_quote_ledger.csv) covers 58 selected/context/root item IDs. Repeated extracts count each time. The first-pass table had at most 18 words per source, but a preserved provisional card repeats a four-word source phrase: conservative combined counting yielded 21 words for source 49536680. Removing that redundant extract lowered this source to 17 across the final table and historical cards. The final maximum is 18 words per source; parent quotations contribute zero.

This report and rebuilt cards paraphrase evidence, without adding source extracts. Metadata titles are attributed titles rather than comment quotations. First-pass and final tables are alternative versions; do not concatenate their repeated extracts into one publication. The historical edge case is disclosed, not erased.

- [First-pass judgments](comment_video_judgments_first_pass.csv) and [final judgments](final_judgments.csv).
- [Provisional selection](provisional_selection.csv), [provisional list](provisional_watchlist.html), and [provisional omissions](provisional_omissions.csv).
- [Prior audited selection](final_selection.csv), [qualified list](qualified_watchlist.html), and [qualified selection](final_selection_qualified.csv).
- [Final audited selection](final_selection_audited.csv), [final omissions](final_omissions.csv), [revision log](revision_log.csv), and [quotation ledger](source_quote_ledger.csv).

## Reproduce the counts, figures and list

The single [Python script](rebuild_audit.py) rebuilds the mapping, numerical summaries, six figures, final clickable list, validation results and manifest. It reads original inputs and frozen decision tables. It makes no network calls and invokes no model.

After extracting the ZIP, run from its directory in an environment with Python 3.9+, pandas, matplotlib and Pillow:

~~~sh
python rebuild_audit.py --input-dir . --decisions-dir . --out rebuilt
~~~

The output directory must be new or empty; nonempty output directories are refused. Inputs remain untouched. Explicit aliases also support the original hashed notebook input basenames. Figure text is English and PNG longest sides are at most 2400 pixels.

Required frozen tables are final_judgments.csv, final_selection_audited.csv, revision_log.csv, final_omissions.csv and evidence_audit_and_revisions.csv. The last records the selected-entry audit stage; the revision log records later full-table clarifications. Reasons are read from saved decisions, not regenerated.

**Semantic judgments are recorded decisions, not automatically reproduced by rerunning Python.** Python verifies and renders them. It does not infer stance from keywords, reclassify comments, or guarantee that another model run would reach identical conclusions. The runtime reported Codex / GPT-6; its exact deployment/build version was unavailable.

The script executed successfully in this session. [rebuild_manifest.json](rebuild_manifest.json) records Python/package versions, SHA-256 input hashes and model identity. Figure layouts were redrawn by the reusable script; they retain the checked findings but are not promised to be pixel-identical to earlier exploratory figures. Structural checks do not replace independent visual review or scientific validation.

All six report figures and the final clickable list in this package were generated by the tested script. Original inputs and earlier decision versions are included for inspection.
