Commit Graph

8 Commits

Author SHA1 Message Date
naps62 b453e72d42 Revert "feat: draw the grid by default, --markdown to opt out"
The drawn grid was solving the wrong problem: the script output was
already right, and fencing it in chat is what turned a rendered table
into raw dashes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 19:52:30 +00:00
naps62 bf1dc76125 feat: draw the grid by default, --markdown to opt out
A markdown table carries no borders of its own; whether any get drawn is
up to the renderer, and terminal renderers mostly draw none. Emitting the
grid directly makes the output look the same everywhere it lands.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 19:51:28 +00:00
naps62 ea9c3acecf feat: emit the day report as a markdown table
Padded pipes, so it reads as a grid in the terminal and renders as a
real table when pasted anywhere else. Each cell carries hours, share and
active minutes; a flags column carries what needs judgement.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 19:26:06 +00:00
naps62 658b9850bb style: rule off the report, count only sessions in range
The session count came from the mtime prefilter, so an old date range
reported every file on disk as if it had contributed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 18:42:15 +00:00
naps62 39d88899af refactor: back to per-day blocks, add a totals line
The matrix table dropped the evidence — share, active minutes, hour
range, and the outside-working-hours flags — which are what make a
proposed number checkable rather than asserted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 18:40:44 +00:00
naps62 cd63a4c18e refactor: hourlog prints a day-by-project table
One row per day, one column per project, hours in the cell. The per-day
blocks repeated the project name on every line and buried the totals.

Share, active minutes, hour ranges, and the outside-working-hours flags
move to --json, which is where the skill reads them anyway.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 18:38:45 +00:00
naps62 95e98a1e77 refactor: hourlog reports whole days, timer to 18:00
Half-days forced every result into a 4h bucket. Days with hours split by
share give the same answer at finer granularity and drop a concept.

Session minutes are now stated as a floor on real work, not a measure:
the day's length comes from the calendar and only the split between
projects comes from the sessions. Meetings and review leave no
transcript, so a thin day is still a full day.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 18:36:34 +00:00
naps62 e4ffd5d93d feat: hourlog skill + Friday timer
Turns Claude Code and Codex session activity into a half-day-per-project
proposal, reconciles it against the timesheet API, and submits only what
the user approves in-session.

Activity is measured in 5-minute active slots, deduplicated per project,
not message counts — otherwise one overnight autonomous run outweighs a
real morning's work.

The path-to-project mapping and the API credentials stay in
~/.config/hourlog/ and ~/.env.claude. This repo is public.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 17:35:24 +00:00