feat: collect repository metrics in an independent store - #206
hannesrudolph wants to merge 6 commits into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs changes before merge. Reviewed September 17, 2026, 1:34 PM ET / 17:34 UTC (Revision 7). ClawSweeper reviewWhat this changesAdds commands to collect GitHub repository counters and releases, import historical observations, and inspect an independent SQLite metrics database. Merge readiness⛔ Needs changes before merge - 3 items remain Keep open: this remains a distinct contribution absent from main, and both previously reported correctness blockers remain in the pinned head. Priority: P2 Review scores
Verification
How this fits togetherGitcrawl normally maintains searchable GitHub thread archives. The new metrics subsystem reads repository statistics or imported history into a separate database and returns collection results or read-only status. flowchart LR
A[Metrics configuration] --> B[Metrics commands]
C[GitHub statistics] --> B
D[Imported history] --> B
B --> E[Writer lock and validation]
E --> F[Independent metrics database]
F --> G[Read-only status]
B --> H[Collection or import result]
Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Retain the independent store design, select timestamps by parsed instant without rewriting imported history, and make initial database creation safely retryable while preserving foreign-database rejection. Do we have a high-confidence way to reproduce the issue? Yes, source establishes both branch-level failure paths: mixed timestamp representations misorder status, and cancellation during initial SQLite opening leaves a rejected file. Neither path was executed during this read-only review. Is this the best way to solve the issue? Yes, the separate store is a coherent implementation boundary, but chronological status selection and retryable initialization must be repaired before landing. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against d99af2ed7b3b. LabelsLabel justifications:
EvidenceAcceptance criteria:
What I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (6 earlier review cycles)
|
What Problem This Solves
Repository headline history currently requires a separate collector instead of a discoverable Gitcrawl command.
User Impact
Adds
gitcrawl metrics collect|import|status --config metrics.jsonfor stars, forks, actual subscribers, open PRs/issues, optional completed-day clones, and stable releases. Operators can retain OpenClaw repository metrics in a separate private SQLite metrics database, using native GitHub authentication and JSON output.Why This Change Was Made
The metrics store preserves unknown values, zeroes, decreases, original import IDs, and daily corrections. Imports are scoped and atomic; archive/wrong-owner databases are rejected before a writable open. The commands never invoke archive refresh, embeddings, models, or schedules. Help, control metadata, and source documentation expose the full workflow.
Evidence