harvest-worklog 0.13.7 → 0.13.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -8
- data/lib/harvest_worklog/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 906a869acc7922f20bff20368d1652e9e899ef4a7f8128a6c1727239e8670dfb
|
|
4
|
+
data.tar.gz: 3bd8f924e8ce07aaa725010a63baa660fba55ca75b1d5bcb36a56933bfb116d3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b7fe183dbba632c05ea4371a64ab7dfa670ecd50d78f210ae27f7990d45be3c8c82ffa1913a438bc6fa6f293ff1d5bc7e8febabd2e491f292d52d41955b7d5e1
|
|
7
|
+
data.tar.gz: f52fe0cb6c3d6278c59c5a8688e590505c7815b0a7d3f9a923608c8ca67fd9e0a9c5dbd6b2ecc3f163fc0595e9cdb7a430281cc54f1bb3a9080a94c60c77f442
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Harvest Worklog
|
|
2
2
|
|
|
3
|
-
Harvest Worklog is a Ruby CLI and OMP plugin
|
|
3
|
+
Harvest Worklog is a Ruby CLI and OMP plugin that infers reviewable personal work timesheets from local Project Time evidence while keeping Harvest authoritative. It creates holiday-aware time-off entries and writes only explicitly requested ordinary-work entries.
|
|
4
4
|
|
|
5
5
|
## Credentials
|
|
6
6
|
|
|
@@ -71,7 +71,7 @@ The CLI `timesheet` command and `harvest_time_sheet` OMP tool read the authentic
|
|
|
71
71
|
harvest-worklog timesheet today --project WRAP
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
The `/harvest-worklog timesheet today --project wrap` slash command reads the requested local OMP Project Time day and fetches available Harvest project/task categories through the read-only `mapping-data` path. It asks the configured model to classify local activities into those exact categories and concise feature/workstream labels, then renders
|
|
74
|
+
The `/harvest-worklog timesheet today --project wrap` slash command reads the requested local OMP Project Time day and fetches available Harvest project/task categories through the read-only `mapping-data` path. It asks the configured model to classify local activities into those exact categories and concise feature/workstream labels, then renders an `Inferred work timesheet (review only; nothing written)` grouped by project and task with exact local duration totals. This timesheet is a reviewable source for manually entering Harvest time, not a Harvest replacement. Mapped groups include source narratives as reviewable notes when the log provides them; otherwise they explicitly say that a factual Harvest note is required. Unmapped work is marked not submittable and retains bounded local activity evidence. If Harvest lookup or classification is unavailable, configured mappings remain available as a fallback.
|
|
75
75
|
When a Project Time log has no narrative text, the draft does not turn activity labels into Harvest notes; it shows them as reference evidence and asks the user to add factual detail. Logs that provide `narrative.text` can supply reviewable source notes.
|
|
76
76
|
`/project-time history` reports all logged dates, so its totals can be larger than the selected day.
|
|
77
77
|
|
|
@@ -95,15 +95,14 @@ Configure `projectTimeMappings` with the recorded OMP Project Time project name
|
|
|
95
95
|
}
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
`harvest_preview_project_time_entries` reads only `human_active` sessions from the configured time log, splits them across local dates,
|
|
98
|
+
`harvest_preview_project_time_entries` reads only `human_active` sessions from the configured time log, splits them across local dates, combines sources that map to the same Harvest date/project/task, and performs a no-write Harvest preflight. It reports the inferred timesheet entries, source policy, and unmapped sessions; it never records Project Time-derived work in Harvest.
|
|
99
99
|
|
|
100
|
-
`harvest_preview_project_time_drafts` produces one deterministic, copyable Date/Project/Task/Duration block per mapped local day and Harvest destination from
|
|
100
|
+
`harvest_preview_project_time_drafts` produces one deterministic, copyable Date/Project/Task/Duration block per mapped local day and Harvest destination from `human_active` evidence. It is the primary reviewable timesheet output: use it as the source for manual Harvest entry after supplying a factual note. Unmapped and excluded evidence remains visible. It reads the local log only; it never calls or mutates Harvest.
|
|
101
101
|
|
|
102
102
|
### Activity transforms
|
|
103
103
|
|
|
104
|
-
`harvest_preview_project_time_transforms` emits deterministic JSON for local raw intervals. It accepts an inclusive date range and optional exact `repositoryId`, `project`, and `sourceKind` filters; each matching interval is split by local date and grouped by activity, with missing labels reported as `unlabelled`. It defaults to `human_active` and returns the effective top-level `sourceKind`; selecting `agent_turn_elapsed` requires an explicit source-kind request. Set `applyMappings` to include configured Harvest project/task mappings. The output reports
|
|
104
|
+
`harvest_preview_project_time_transforms` emits deterministic JSON for local raw intervals. It accepts an inclusive date range and optional exact `repositoryId`, `project`, and `sourceKind` filters; each matching interval is split by local date and grouped by activity, with missing labels reported as `unlabelled`. It defaults to `human_active` and returns the effective top-level `sourceKind`; selecting `agent_turn_elapsed` requires an explicit source-kind request. Set `applyMappings` to include configured Harvest project/task mappings. The output reports groups, candidate mapped entries, and any unmapped or excluded rows; it never writes Harvest.
|
|
105
105
|
|
|
106
|
-
`harvest_record_project_time_transforms` is a separate approval-gated write step. It always applies configured mappings and records the reviewed activity entries through the existing locked and duplicate preflight. Different activity labels may share a date/project/task; rerunning the same activity label is skipped, as are locked or unrelated existing entries.
|
|
107
106
|
|
|
108
107
|
## Daily reconciliation
|
|
109
108
|
|
|
@@ -116,9 +115,9 @@ harvest-worklog reconcile 2026-07-21 \
|
|
|
116
115
|
--task Programming
|
|
117
116
|
```
|
|
118
117
|
|
|
119
|
-
Empty local or Harvest data is reported as zero, so this command is suitable for daily capture checks while manual tracking remains authoritative.
|
|
118
|
+
Empty local or Harvest data is reported as zero, so this command is suitable for daily capture checks while manual tracking remains authoritative. It never decides or applies a Harvest delta.
|
|
120
119
|
|
|
121
|
-
|
|
120
|
+
Manual Harvest entries remain separate from inferred Project Time durations. Review the timesheet and reconciliation output, then choose the actual Harvest entry yourself; do not sum local evidence and manually recorded Harvest time as if they were independent entries.
|
|
122
121
|
|
|
123
122
|
## Migration from harvest-time-off
|
|
124
123
|
|