feat: collect repository metrics in an independent store - #206
hannesrudolph wants to merge 5 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 15, 2026, 6:44 PM ET / 22:44 UTC (Revision 4). ClawSweeper reviewWhat this changesAdds commands to collect GitHub repository counters and releases, import historical observations, and inspect a separate private SQLite database. Merge readiness⛔ Needs changes before merge - 3 items remain The feature remains useful and absent from the pinned main branch; both previously reported correctness blockers remain unchanged. Priority: P2 Review scores
Verification
How this fits togetherGitcrawl normally maintains searchable GitHub thread archives. The new metrics subsystem takes repository targets and GitHub responses or imported history, then stores observations independently of those archives. flowchart TD
A[Metrics configuration] --> B[Metrics commands]
C[GitHub counters and releases] --> D[Collector]
B --> D
E[Imported history] --> F[Scope and row validation]
D --> F
F --> G[Independent SQLite store]
G --> H[Read-only status]
Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Keep the independent store design, compare timestamp instants accurately, and make first-time initialization recoverable without relaxing protection of existing databases. Do we have a high-confidence way to reproduce the issue? Yes, source establishes both patch defects: import offset-bearing timestamps before reading status, or cancel first-time initialization after file creation and retry. Neither scenario was executed here; the metrics feature is absent from pinned main. Is this the best way to solve the issue? Yes, an independent store fits the requested isolation, but chronological comparisons and recoverable initialization are necessary for reliable operation. 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 0bb13412e4c8. 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 (3 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