squad-kit 1.3.17 → 1.3.18

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.
@@ -7,8 +7,8 @@
7
7
  <link rel="icon" href="/favicon.ico" sizes="any" />
8
8
  <link rel="icon" href="/logo.svg" type="image/svg+xml" />
9
9
  <title>squad-kit board</title>
10
- <script type="module" crossorigin src="/assets/index-CEkj542W.js"></script>
11
- <link rel="stylesheet" crossorigin href="/assets/index-CzkdWSYI.css">
10
+ <script type="module" crossorigin src="/assets/index-BV9HD-7y.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/assets/index-CT6ZEPGo.css">
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
package/docs/console.md CHANGED
@@ -316,6 +316,53 @@ program it did not start without your press.
316
316
  The same rule reads an agent's answer in a chat, where technical words are fine, because you asked. An answer that
317
317
  asks you to do one of the things nobody may ask is left out, and you read one plain line instead.
318
318
 
319
+ ## A story too big for one
320
+
321
+ Before the Analyst asks any questions, squad-kit counts the story's size itself, with no AI: its words, the pages of an
322
+ attached Word or PDF file, requirement numbers (FR-1, REQ-12…), headings and "shall" or "must" lines, separate asks, and
323
+ how many roles, screens and flows it names. Code, tables, logs and stack traces are left out first. A short story is
324
+ one story, and nothing more is asked. 400 words or 3 requirement numbers is never one story. 2,500 words, a document of
325
+ 8 pages or 10 requirement numbers is a whole requirements document. The Analyst judges the rest, and can still say one
326
+ story, with the same sizes as a breakdown: **About a day**, **A few days**, **A week or more**. A bug, and a story
327
+ pulled from a tracker, is never split. It only suggests: nothing is split or sent until you press.
328
+
329
+ - **A few stories in one.** The Analyst suggests the parts in the order to build them, each with its size and what it
330
+ needs ("Needs 1"). On a story that exists, the card waits in its Now tab and in the Analyst's popup: **Split into N**,
331
+ **Keep as one**, or **Change the split** (your note goes in the chat's own box, and the Analyst splits it again).
332
+ After Split, the story keeps the first part with its new title, the Analyst asks part 1's questions, and the other
333
+ parts wait in Tickets with "depends on" ("Waits for MA-21"), each started when you like. Each part has its own
334
+ "done when" lines. Keep as one goes on with the questions the Analyst already asked. A whole document has **Send to
335
+ Requirements** and **Keep as one** instead.
336
+ - **New ticket, From an idea or message:** the same suggestion shows before anything is created: **Create N stories**
337
+ (the first starts, the others wait in Tickets), **Create as one story** (the form, as usual), or **Cancel**.
338
+ - **A whole requirements document:** "Too big for one story", with a rough count by part ("about 25 stories in 6
339
+ parts"): **Send to Requirements** starts a breakdown with your text and files, **Make one story anyway** keeps a short
340
+ warning on the story, or **Cancel**.
341
+ - **The Squad lead** never drafts one giant story: its draft goes through the same count and offers Create N stories,
342
+ or Send to Requirements. A requirements document pasted to the lead gets that card at once, with no AI.
343
+ - **A talk beside the work** changes nothing on the story: a big text pasted there gets a hint under it, and for a
344
+ whole document a Send to Requirements button. Once sent, the hint links to the breakdown.
345
+
346
+ The cards speak the language you wrote in, right to left in Arabic. The Harness page shows the numbers.
347
+
348
+ Terminal: `squad split MA-21` shows the suggestion; `--yes` splits it, `--keep` keeps it as one, `--change "<how>"` asks
349
+ for another split, `--requirements` sends a whole document to Requirements. Like the card's buttons, a split has no
350
+ `--requirements` and a whole document no `--yes` or `--change`. `squad split MA-21 --chat-requirements` sends the
351
+ document pasted into its talk, as the hint does. `squad new --from "<text>"` prints the suggestion and asks; `--split`
352
+ or `--one` answer up front, and `--requirements` sends the text and files to Requirements with no draft.
353
+ `squad lead run <card> --split | --one | --requirements`.
354
+
355
+ REST (under `/p/<project>/api/v1`):
356
+
357
+ | Call | What |
358
+ | --- | --- |
359
+ | `POST /tickets/<id>/split` | `{ "choice": "split" \| "keep" \| "change" \| "requirements", "note": "…" }`, only the choices its card offers. From a decision card, `expect` is the mark of what it showed. Answers with the story. |
360
+ | `POST /tickets/<id>/chat/requirements` | `{ "at": "…" }`: send the whole document pasted into the story's talk to Requirements, once. Answers `{ "breakdown": { "id" } }`. |
361
+ | `POST /tickets/draft/<draft>/split` | Create N stories from the New ticket draft. The same press sent again gets the same stories. Answers `{ "tickets": [...] }`. |
362
+ | `POST /tickets/draft/<draft>/requirements` | Send the draft's text and files to Requirements; again, the same breakdown. Answers `{ "breakdown": { "id" } }`. |
363
+ | `POST /tickets` | As before, with `"sized": "checked" \| "kept" \| "brd"` when the size was judged in the dialog. |
364
+ | `POST /lead/cards/<id>/run` | `{ "choice": "split" \| "one" \| "requirements" }` on a story draft that is more than one story. |
365
+
319
366
  ## Chat
320
367
 
321
368
  Open a chat with any agent on a ticket: **Ask the Analyst** on the Now tab, **Talk it through** on a spec or
@@ -412,7 +459,7 @@ REST (under `/p/<project>/api/v1`):
412
459
  | `POST /lead/conversations/<id>/messages` | A follow-up, the same body. |
413
460
  | `GET /lead/conversations/<id>` | The conversation: each question with its facts, the work trace, the answer (headline, body, evidence, sources, cards, learned), the time and the cost. |
414
461
  | `POST /lead/conversations/<id>/stop` | Stop the answer being written. |
415
- | `POST /lead/cards/<id>/run` | Press a card. `{ "always": true }` turns Always allow on first, only for the low-risk ones; `{ "dismiss": true }` is Not now; `{ "edits": { "title": "...", "doneWhen": [...] } }` is Edit before Create. |
462
+ | `POST /lead/cards/<id>/run` | Press a card. `{ "always": true }` turns Always allow on first, only for the low-risk ones; `{ "dismiss": true }` is Not now; `{ "edits": { "title": "...", "doneWhen": [...] } }` is Edit before Create; `{ "choice": "split" }`, `"one"` or `"requirements"` on a draft that is more than one story (see [A story too big for one](#a-story-too-big-for-one)). |
416
463
  | `GET /lead/rules`, `PUT /lead/rules` | Always allow and the morning brief: `{ "always": ["more_time"], "brief": true }`. The never list is shown and cannot change. |
417
464
  | `GET /lead/can` | The three levels in words, what it reads, and its limits, for "What it can do". |
418
465
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squad-kit",
3
- "version": "1.3.17",
3
+ "version": "1.3.18",
4
4
  "author": "Momen Yasser <momenysr@gmail.com>",
5
5
  "description": "Your AI Engineering Squad transforms ideas into production-ready software.",
6
6
  "keywords": [