harvest-worklog 0.13.8 → 0.13.10
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 +10 -9
- 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: 13fec06aaf3ff2a74302d0c41946f1988db2491883837632da26fa9725466b4f
|
|
4
|
+
data.tar.gz: 160e48eeea80b3979a8895620af3da85e57079e557aee9cf153040651c00da62
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8381621ee4fc913b2c167dbf969930dae01783eefe611010e075171a92a387988f397ef560e961bc95699a95b99d85684f5dc0a06a0d954829f67a189d68b82c
|
|
7
|
+
data.tar.gz: b28784a10c7767eb721d87ad3f0d59c63aedf59ffea27f81b870658c088b77fd878b595e34a8a2954df1621a0d10c1a64d27801aa72278635be19846ea009ae8
|
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,8 +71,8 @@ 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
|
|
75
|
-
When a Project Time log has no narrative text, the draft does not turn activity labels into Harvest notes; it
|
|
74
|
+
The `/harvest-worklog timesheet today --project wrap` slash command reads the requested local OMP Project Time day and renders a deterministic `Inferred work-timesheet draft (review only; nothing written)`. Only `projectTimeMappings` can supply its Harvest project/task destination. Explicit and carried-forward evidence is mapped; unassigned and ambiguous task evidence stays visible but not submittable. Every source entry shows its ID, source kind, repository identity, interval, task-attribution provenance, and any source narrative. The command never calls or changes Harvest.
|
|
75
|
+
When a Project Time log has no narrative text, the draft does not turn activity labels into Harvest notes; it asks the user to add factual detail.
|
|
76
76
|
`/project-time history` reports all logged dates, so its totals can be larger than the selected day.
|
|
77
77
|
|
|
78
78
|
Type `/harvest-worklog ` in OMP to discover `timesheet`; date aliases appear only after selecting `timesheet `. After `--project`, Tab lists local human-active Project Time project names; a prefix filters them case-insensitively. Completion preserves the case-sensitive name required by the command.
|
|
@@ -95,15 +95,16 @@ Configure `projectTimeMappings` with the recorded OMP Project Time project name
|
|
|
95
95
|
}
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
Harvest Worklog reads only the documented `omp-project-time/evidence` format at version `1`. An absent, unsupported, or malformed version produces a no-write diagnostic; run a current Project Time session to persist the v1 ledger format before retrying.
|
|
99
99
|
|
|
100
|
-
`
|
|
100
|
+
`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.
|
|
101
|
+
|
|
102
|
+
`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 preserves source entry IDs, intervals, source kind, repository identity, narratives, work items, and task-attribution provenance. Explicit and carried-forward evidence can use the existing project-to-Harvest mapping; unassigned and ambiguous evidence stays visible but not submittable. Generated narratives are review evidence, never task identity or a factual Harvest note. The tool reads the local log only; it never calls or mutates Harvest.
|
|
101
103
|
|
|
102
104
|
### Activity transforms
|
|
103
105
|
|
|
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
|
|
106
|
+
`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, source records, candidate mapped entries, and any unmapped or excluded rows; it never writes Harvest.
|
|
105
107
|
|
|
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
108
|
|
|
108
109
|
## Daily reconciliation
|
|
109
110
|
|
|
@@ -116,9 +117,9 @@ harvest-worklog reconcile 2026-07-21 \
|
|
|
116
117
|
--task Programming
|
|
117
118
|
```
|
|
118
119
|
|
|
119
|
-
Empty local or Harvest data is reported as zero, so this command is suitable for daily capture checks while manual tracking remains authoritative.
|
|
120
|
+
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
121
|
|
|
121
|
-
|
|
122
|
+
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
123
|
|
|
123
124
|
## Migration from harvest-time-off
|
|
124
125
|
|