Skip to content

Feat/repository hydration - #16

Merged
amk9978 merged 2 commits into
mainfrom
feat/repository-hydration
Sep 13, 2026
Merged

amk9978 merged 2 commits into
mainfrom
feat/repository-hydration

Conversation

@amk9978

@amk9978 amk9978 commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Summary

Describe the focused change and the OSS investment decision it improves.

Evidence and design

Link the issue, product-spec section, fixture, evidence, or architectural decision behind the
change. Explain important tradeoffs and why the selected scope is appropriate.

Validation

  • uv run ruff check .
  • uv run ruff format --check .
  • uv run mypy src
  • uv run pytest
  • uv run contribution-compass site when views or schemas change

Project invariants

  • Project evaluation happens before issue selection.
  • Evidence, Measurements, Taste Policy, and Recommendations remain distinguishable.
  • Missing evidence remains unknown rather than being silently imputed.
  • Domain, application, adapter, controller, and view responsibilities remain separated.
  • Tests use fixtures or mocks rather than live network calls.
  • No credentials, private profile data, or unnecessary raw source snapshots are included.
  • User-facing configuration or schema changes are documented.

amk9978 and others added 2 commits September 12, 2026 00:38
Search pages carry only the discovery fields because every added field
pushes the query past GitHub's timeout. The collected node IDs now go to
nodes(ids:) in batches of 50 with the evidence selection, which fills 14
more TopicProject fields: created_at, pushed_at, is_archived,
has_issues_enabled, license_spdx_id, default_branch, last_commit_at,
latest_release_at, watchers_count, open_issues_count,
open_good_first_issue_count, open_pr_count, language_bytes and
has_contributing_guide.

A batch that still fails after githubkit's retries splits in two. A
half of 25 that fails leaves its repositories with null evidence instead
of failing the topic. is_archived and has_issues_enabled become
bool | None so an unhydrated project cannot read as evidence.

GitHubClient.graphql wraps every call and retries the empty 200 body
GitHub returns on some timed-out queries, which githubkit surfaces as
pydantic.ValidationError and does not retry. One such response on a
javascript search page ended the first full sweep after 10 topics.

Full sweep: 22 topics, 9,587 projects, all hydrated, 59 minutes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RYYuZDX8ERptcuFR53iA8
@amk9978
amk9978 merged commit fcca272 into main Sep 13, 2026
3 checks passed
@amk9978
amk9978 deleted the feat/repository-hydration branch September 13, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant