toga-ai 1.0.917 → 1.0.918

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.
@@ -6,7 +6,7 @@ project: Worker
6
6
  client: shared
7
7
  type: feature
8
8
  status: active
9
- updated: 2026-09-25
9
+ updated: 2026-09-29
10
10
  owners: [jcardinal]
11
11
  files:
12
12
  - worker2/Worker/Clickup/QaReview.php
@@ -65,6 +65,20 @@ the QA/QC branch — see [QA/QC branch automation](./qa-qc-branch-automation.md)
65
65
  **enters** "Development Finished". **Moved off the legacy leaving-trigger** — the old code triggered
66
66
  when a task *left* a status; the QA/QC entry must be on entering the status.
67
67
 
68
+ ### Review-field reset on status ENTRY (`_Worker_Clickup::resetReviewFieldOnStatusEntry`)
69
+
70
+ - Runs in the `taskStatusUpdated` loop before the status switch. Map `REVIEW_FIELD_ID_BY_ENTERED_STATUS`:
71
+ `ui review`→UI Review, `front-end review`→FE Review, `back-end review`→BE Review, `qa approved`→QC Defects;
72
+ sets the field to **Needs Review** so a stale value from a prior pass (Rework) does not carry over.
73
+ - Skips: out of `isTaskInQaQcScope`; task's current status != entered status (late/redelivered webhook);
74
+ already Needs Review. Feature subtasks are reset too.
75
+ - UI/FE/BE reset **only when blank or Denied** — an early **Approved/N/A is kept** (e.g. BE Approved by
76
+ `BeReview::FromPr`, which fires once; wiping it strands the task). QC Defects always resets.
77
+ - Kept early value → `replayEarlyReview()` dispatches **both** `Clickup/QaReview/Process` and
78
+ `Clickup/FeatureReview/Process` with a synthetic history item `{field:'custom_field', custom_field:{id}}`
79
+ (matches `QaReview::changedCustomFieldIds`), each in its own try/catch; safe because each skips the
80
+ other's task kind. Write failures are logged + Sentry, never thrown.
81
+
68
82
  ### QA review chain (`_Worker_Clickup_QaReview`)
69
83
 
70
84
  - Three ordered review fields: **UI → FE (front-end) → BE (back-end)**.
@@ -151,6 +165,10 @@ when a task *left* a status; the QA/QC entry must be on entering the status.
151
165
  - **The automation user needs edit rights on every field it writes** — a missing field permission
152
166
  returns HTTP 401 `ACCESS_606`. See [credential rotation](../workflows/clickup-credential-rotation.md).
153
167
 
168
+ - **`FeatureReview::Process` returns `locked` with no retry.** A one-shot replay that hits the lock
169
+ leaves the feature waiting until the next review-field change. Workaround: re-select the field value
170
+ (fix deferred).
171
+
154
172
  ### Known security gaps (discovered, not yet fixed — separate tickets)
155
173
 
156
174
  - **ClickUp and GitHub webhooks are NOT signature-verified today.** Verification (incl. the GitHub HMAC
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toga-ai",
3
- "version": "1.0.917",
3
+ "version": "1.0.918",
4
4
  "description": "TOGA Technology Team Claude Knowledge System — shared AI coding harness with skills, knowledge base CLI, and project installer for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",