toga-ai 1.0.980 → 1.0.981

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.
@@ -287,7 +287,6 @@
287
287
  ],
288
288
  "ask": [
289
289
  "mcp__clickup__clickup_update_task",
290
- "mcp__clickup__clickup_create_comment",
291
290
  "Bash(git push *)"
292
291
  ],
293
292
  "deny": [
@@ -114,6 +114,9 @@ All tested 2026-10-08:
114
114
  replace `/kickoff`, `/capture`, `/plan-ticket`, `/work-ticket`, `/rework-ticket`. (jcardinal)
115
115
  - 2026-10-08 — Branch claims always re-checked fresh; `/finish` runs `/commit` on yes and
116
116
  guides `gh auth login`. (jcardinal)
117
+ - 2026-10-08 — Claude posts the PM comment and writes PR/commit/KB summaries without asking
118
+ for approval; `clickup_create_comment` removed from permissions.ask. Field changes and
119
+ pushes still ask. (jcardinal)
117
120
 
118
121
  ## Related
119
122
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toga-ai",
3
- "version": "1.0.980",
3
+ "version": "1.0.981",
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",
@@ -34,7 +34,9 @@ describes. It does not authorize publishing anything else in the session.
34
34
  - `/commit` — local commits of only the files this session changed. Never pushes.
35
35
  - `/finish` — the KB push to `_main`, the ticket-branch pushes, the PRs, and the ticket writes.
36
36
  If this session's files are uncommitted, `/finish` asks once and, on "yes", runs the
37
- `/commit` steps itself (same rules as `/commit`).
37
+ `/commit` steps itself (same rules as `/commit`). Claude writes and posts the PM comment,
38
+ PR subject/body, commit notes, and KB summary itself — no approval prompt (secret scan
39
+ still runs). Ticket field changes still need the one approval list; pushes still ask.
38
40
  - `/ship`, `/land-and-deploy` — the commits, pushes, and PRs they describe.
39
41
 
40
42
  Force-pushing is never automatic in any repo, including the knowledge repo.
@@ -436,7 +436,10 @@ const RETIRED_TOGA_HOOKS = ['kickoff-gate.js'];
436
436
 
437
437
  // Permission rules the TOGA template once shipped and no longer wants. Only exact TOGA-owned
438
438
  // strings go here — a developer's own rules are never removed.
439
- const RETIRED_TOGA_PERMISSIONS = { ask: ['mcp__clickup__clickup_create_task_comment'] };
439
+ const RETIRED_TOGA_PERMISSIONS = { ask: [
440
+ 'mcp__clickup__clickup_create_task_comment',
441
+ 'mcp__clickup__clickup_create_comment',
442
+ ] };
440
443
 
441
444
  function mergeSettings(claudeDir, sourceDir) {
442
445
  const templatePath = path.join(sourceDir, '.claude', 'settings.json');
@@ -9,7 +9,11 @@ Order: **Part 1** KB capture (always) → **Part 2** ticket field check (always,
9
9
  a ticket) → **Part 3** "Is this ticket finished?" → push, PRs, PM comment, status.
10
10
 
11
11
  Keep the main thread lean: the KB write pipeline runs in the `session-capture` subagent, and
12
- ClickUp reads run in the `ticket-reader` subagent. The main thread distills, asks, and approves.
12
+ ClickUp reads run in the `ticket-reader` subagent. The main thread distills and asks only for real decisions.
13
+
14
+ Claude writes and posts all summary text itself — PM comment, PR subject and body, commit
15
+ notes, KB capture summary. Never ask the developer to approve that wording. Approvals are only
16
+ for real decisions: ticket field changes (one list), ELEVATED KB docs, and pushes.
13
17
 
14
18
  ## Step 0 — Rules, helpers, session ticket
15
19
 
@@ -31,8 +35,8 @@ Never: force-push, push any other branch, commit source code (that is `/commit`)
31
35
  **Has Code Changes** field (`af9eaba8-d3d3-4769-b8bc-28de78b04570` — worker2 owns it), write
32
36
  "Pseudocode Review" / "Pseudocode Required", touch any other ticket, or use the old read-only
33
37
  `mcp__claude_ai_ClickUP_for_Dev__*` tools. The `start-gate` hook blocks every other ClickUp
34
- write (other tools, other fields, other tickets). Claude Code asks the developer before every
35
- ClickUp write — that prompt is expected; it is the approval gate. `git push` may also ask for
38
+ write (other tools, other fields, other tickets). Claude Code asks before `clickup_update_task`
39
+ (field changes) — that prompt is expected. The PM comment posts without a prompt. `git push` may also ask for
36
40
  permission — that is expected too.
37
41
 
38
42
  **Helpers** (both print JSON):
@@ -428,7 +432,7 @@ Exit 0 + `{ok:true}` = clean. Exit 1 + `{ok:false, hits:[...]}` = a hit: show th
428
432
  the hit types (it never prints the values), fix the text, and scan again. Exit 2 = the file
429
433
  could not be read — fix the path. Never post until it prints `{ok:true}`.
430
434
 
431
- ## Step 15 — PM comment (developer approves the text first)
435
+ ## Step 15 — PM comment (Claude writes and posts it — no approval)
432
436
 
433
437
  Draft a short comment for the PM and release notes. Plain words, no code dumps, no secrets,
434
438
  no local paths:
@@ -443,15 +447,15 @@ no local paths:
443
447
  **Ticket fields changed by Claude:** <from Step 10 — or "None">
444
448
  ```
445
449
 
446
- Show it; after the developer approves (edit if asked), write the text to a temp file
450
+ Do not ask the developer to approve it. Write the text to a temp file
447
451
  (`toga-comment-<TICKET>.md` in the OS temp dir), run the **Secret scan** on it, delete the
448
- file, then post:
452
+ file. Stop only on a hit. Then post it, and show the posted text in the Step 17 report:
449
453
 
450
454
  ```
451
455
  mcp__clickup__clickup_create_comment
452
456
  entity_type: "task"
453
457
  entity_id: "<internalId>"
454
- comment_text: "<approved markdown, max 40000 characters>"
458
+ comment_text: "<markdown, max 40000 characters>"
455
459
  ```
456
460
 
457
461
  ## Step 16 — Set the status
@@ -472,7 +476,7 @@ Short list:
472
476
  1. KB: publish status (Step 5).
473
477
  2. Ticket fields changed (or "none").
474
478
  3. PRs: one url per repo, and which got `re-review`.
475
- 4. PM comment: posted (yes/no).
479
+ 4. PM comment: posted (yes/no), with the posted text.
476
480
  5. Status: `development finished` (or why not).
477
481
  6. Anything manual the developer must still do — as a numbered list.
478
482