feat/time-tracking #46

Merged
joshtronic merged 3 commits from feat/time-tracking into master 2026-05-20 03:17:05 +00:00
Owner
No description provided.
feat: log Claude wall-clock to Forgejo time tracking
All checks were successful
Lint / check-sync (push) Successful in 4s
1e6e102cbe
Wire the elapsed-seconds the harness already measures into
Forgejo's built-in time-tracking API on three completion paths:

- Issue work at PR-open (uses ELAPSED, posts on the issue)
- Report mode at issue-close (uses ELAPSED, posts on the issue)
- PR-review after push or no-op (uses PR_ELAPSED, posts on the PR)

Adds forgejo_log_time helper in lib/forgejo.sh. Best-effort:
if a repo has time tracking disabled or the API rejects, the
harness logs a warning and continues -- never aborts the tick.

Counts pure Claude wall-clock, not harness overhead (lint
re-runs, brain pulls, etc.) so the signal stays clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
fix: log issue-work time on the PR, not the parent issue
All checks were successful
Lint / check-sync (push) Successful in 5s
Lint / check-sync (pull_request) Successful in 4s
8105026958
PRs are the unit of work Igor actually completes -- and an issue
can have multiple PRs (rework, follow-ups). Logging on the PR
keeps each attempt's time legible instead of collapsing it all
onto one issue counter.

- forgejo_open_pr now prints the new PR number on stdout so the
  caller can capture it.
- Issue-work path captures NEW_PR_NUMBER (from either the
  existing-PR check or the fresh open) and logs ELAPSED against
  that PR.
- Report mode and PR-review mode unchanged: report has no PR
  (logs on the issue at close), PR-review already logged on the
  PR.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Merge branch 'master' into feat/time-tracking
All checks were successful
Lint / check-sync (push) Successful in 4s
Lint / check-sync (pull_request) Successful in 4s
a85fcdb7a8
joshtronic deleted branch feat/time-tracking 2026-05-20 03:17:05 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joshtronic/igor!46
No description provided.