Skip to content

DM-55096: Initial version#1

Open
timj wants to merge 44 commits into
mainfrom
tickets/DM-55096
Open

DM-55096: Initial version#1
timj wants to merge 44 commits into
mainfrom
tickets/DM-55096

Conversation

@timj
Copy link
Copy Markdown
Member

@timj timj commented May 29, 2026

No description provided.

timj and others added 30 commits May 28, 2026 15:02
Needs expanding
Captures decisions from brainstorming: httpx+GraphQL behind a swappable
source, Pydantic models/config, glob+regex grouping with auto-topic
clustering, automatic token discovery (gh/git credential), and the
report pipeline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Separate raw Repository from derived RepositorySummary so a summary is
  never half-populated.
- Archived/disabled repos excluded by default; --include-* flags opt them
  back into both counts and tables.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bottom-up TDD plan: scaffolding, models, config, activity, grouping,
orchestrator, GraphQL source + token discovery, report writers, CLI, CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
httpx's 5s default timeout was too short for large orgs (lsst-dm pages
take 3-5s each over 11 pages). Raise the default to 30s, add a --timeout
option, and emit debug logging (token source, per-page progress, timing,
rate-limit retries) wired to --verbose.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fetch subcommand saves an unfiltered raw-repository envelope; report
--from-raw replays it through the pipeline offline via a RawFileSource.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
render_markdown gains an optional fetched_at; report --from-raw passes the
cache envelope's timestamp so cache staleness is visible. Omitted for live
runs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
So dmtn-000 sorts before DMTN-095 rather than all uppercase names first.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
timj and others added 14 commits May 28, 2026 20:46
Reporting 'Archived: 0' when archived repos were filtered out wrongly
implied there were none. Only list the archived/disabled counts when the
corresponding include flag is set.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add an apply-metadata command that compares a baseline CSV with an edited CSV.

Prompt or dry-run per-field updates, with --yes for bulk application.

Skip stale live GitHub values by default unless --allow-stale is used.

Extend the GitHub API abstraction with REST-backed metadata update methods.

Cover the planner, CLI behavior, and REST calls with tests.
Show added and removed topic names in apply-metadata output.

Only annotate when both sides have topics.

Keep empty-to-nonempty output clear.

Cover the display behavior with CLI tests.
Make explicit glob and regex group rules take precedence over topics.

This keeps broad topics like documentation from overriding targeted name patterns.

Update grouping tests to cover glob-over-topic and regex-over-topic cases.
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