micro / micro/mu

News: preserve Hacker News discussions for “what are people saying?”

Open
#1,651 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
434
Forks
21
Avg merge
18m
Merged PRs (30d)
326

Description

User need

Sometimes the discussion is useful before the article: what practitioners think, where they disagree and what experience supports their views. Asim described this as sentiment as a service. The useful output is richer than a positive/negative score.

Related: #1645 (apps compose capabilities). Keep retrieval as a News capability and interpretation in the agent/analysis layer; no separate sentiment service is required by this proposal.

Current code

  • getMetadata fetches HN comments only for URLs containing news.ycombinator.com/item?id=.
  • FetchHNComments reads the first ten top-level children, strips HTML and flattens author/text into one string. It does not retain individual IDs/links, timestamps or reply structure.
  • Comments are saved in link metadata. HN metadata has an hourly freshness check, and RefreshHNMetadata can refresh and reindex comments.
  • Feed ingestion uses item.Link. For external article links, the HN discussion URL is not retained through this path; the comments-only RSS description is deliberately stripped. Having HN in the feed therefore does not mean every linked story's comments are collected.
  • Existing sentiment tagging analyses article titles and short descriptions, not comment discussion.

Proposed narrow slice

  • Preserve the article URL and HN discussion identity as distinct linked records when ingesting HN.
  • Retrieve a bounded sample of comments/replies with stable IDs, author, timestamp, parent, permalink and deleted/dead handling. Use bounded requests/timeouts and cache refresh rather than unbounded recursive fetching.
  • Expose discussion data and coverage/freshness through the existing API/tool surface so apps and agents can use it.
  • Answer “what are people saying?” with main arguments, disagreements, firsthand reports, uncertainty and representative source links. Keep article claims distinct from commenter opinions.
  • Describe sample coverage; do not present the first ten HN commenters as broad public consensus. Treat all comment text as untrusted source material.
  • Preserve fetched evidence separately from generated analysis so summaries can be checked and refreshed.

This records the inspected gap and proposed follow-up. No claim that a complete discussion archive or discussion sentiment API exists today.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing getMetadata and FetchHNComments, then inspect RefreshHNMetadata, feed ingestion through item.Link, and the existing API/tool surface. The work is done when article and HN identities remain distinct, bounded comment evidence retains its stated metadata and freshness, and the discussion data and coverage are available for later analysis without conflating opinions with article claims.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ai, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.