harvest-worklog 0.13.9 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 906a869acc7922f20bff20368d1652e9e899ef4a7f8128a6c1727239e8670dfb
4
- data.tar.gz: 3bd8f924e8ce07aaa725010a63baa660fba55ca75b1d5bcb36a56933bfb116d3
3
+ metadata.gz: 13fec06aaf3ff2a74302d0c41946f1988db2491883837632da26fa9725466b4f
4
+ data.tar.gz: 160e48eeea80b3979a8895620af3da85e57079e557aee9cf153040651c00da62
5
5
  SHA512:
6
- metadata.gz: b7fe183dbba632c05ea4371a64ab7dfa670ecd50d78f210ae27f7990d45be3c8c82ffa1913a438bc6fa6f293ff1d5bc7e8febabd2e491f292d52d41955b7d5e1
7
- data.tar.gz: f52fe0cb6c3d6278c59c5a8688e590505c7815b0a7d3f9a923608c8ca67fd9e0a9c5dbd6b2ecc3f163fc0595e9cdb7a430281cc54f1bb3a9080a94c60c77f442
6
+ metadata.gz: 8381621ee4fc913b2c167dbf969930dae01783eefe611010e075171a92a387988f397ef560e961bc95699a95b99d85684f5dc0a06a0d954829f67a189d68b82c
7
+ data.tar.gz: b28784a10c7767eb721d87ad3f0d59c63aedf59ffea27f81b870658c088b77fd878b595e34a8a2954df1621a0d10c1a64d27801aa72278635be19846ea009ae8
data/README.md CHANGED
@@ -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 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
- 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.
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,13 +95,15 @@ Configure `projectTimeMappings` with the recorded OMP Project Time project name
95
95
  }
96
96
  ```
97
97
 
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
+
98
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.
99
101
 
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.
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 groups, candidate mapped entries, and any unmapped or excluded rows; it never writes Harvest.
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
108
 
107
109
  ## Daily reconciliation
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HarvestWorklog
4
- VERSION = "0.13.9"
4
+ VERSION = "0.13.10"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harvest-worklog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.9
4
+ version: 0.13.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marlen Brunner