toga-ai 1.0.1063 → 1.0.1064
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.
|
@@ -156,6 +156,8 @@ VALUES (4188, '<pre-generated v4 uuid>', 219, 'serviceAddressId');
|
|
|
156
156
|
|
|
157
157
|
Because the `id`s must be reserved by a human, **this cannot be guessed or derived** — asking is mandatory. Record the assigned values in a comment at the top of the file so the next reader knows they were allocated, not invented.
|
|
158
158
|
|
|
159
|
+
**`/finish` always reports the central ids** — every `Records` / `RecordFields` id the ticket inserted (id → route / route.field) plus the next free ids, or "none used by this ticket". Every time, never skipped: the developer copies the next ids into Tools → Developers → Central IDs.
|
|
160
|
+
|
|
159
161
|
#### The next free `id` is NOT the same in every environment
|
|
160
162
|
|
|
161
163
|
The rule above keeps *existing* ids aligned, but each environment's `Core` has drifted independently, so **the next free value differs**. Verified 2026-08-17: the same new `ServiceRequests._serialNumbers` recordField took id **2483 in production** and **2766 in dev-sandbox**. Consequences:
|
|
@@ -398,5 +400,6 @@ The extra `SELECT … FROM ( … ) existing` layer both dodges error 1093 and pi
|
|
|
398
400
|
|
|
399
401
|
## Change history
|
|
400
402
|
|
|
403
|
+
- 2026-10-17 — /finish reports central ids used + next free (TRUE-82889). (jcardinal)
|
|
401
404
|
- 2026-10-17 — Second same-folder file also allowed for interceptor rows that must run after the code deploy (TRUE-82889). (jcardinal)
|
|
402
405
|
- 2026-10-13 — Added rule 15: no MySQL `CHECK` constraints (TRUE-82715). (jcardinal)
|
package/package.json
CHANGED
|
@@ -69,6 +69,9 @@ rows for the developer to write by hand.
|
|
|
69
69
|
4. **Put verify SELECTs at the end of the file.** After the developer runs it, Claude runs
|
|
70
70
|
those SELECTs itself (local DB, or `toga-db` read-only) and reports the result in plain
|
|
71
71
|
words. Never ask the developer to read verify output.
|
|
72
|
+
5. **Central ids at `/finish`** (team rule, 2026-10-17, jcardinal). When a ticket inserts
|
|
73
|
+
`Core.Records` / `Core.RecordFields` rows, the `/finish` report always lists the ids used
|
|
74
|
+
and the next free ids.
|
|
72
75
|
|
|
73
76
|
## No running commentary — one compiled report at the end (team rule, 2026-10-15)
|
|
74
77
|
|
package/skills/finish/SKILL.md
CHANGED
|
@@ -460,6 +460,8 @@ CU-<internalId>
|
|
|
460
460
|
|
|
461
461
|
## Migration steps
|
|
462
462
|
- <dbchanges2 file + database + order, config changes, queue registration — or "None">
|
|
463
|
+
- Central ids: <Records / RecordFields ids used, then "next free: Records <n>, RecordFields <n>"
|
|
464
|
+
— or "none used"> (dbchanges2 PRs only; same data as the Step 17 block)
|
|
463
465
|
|
|
464
466
|
## Review summary
|
|
465
467
|
**Risk: <LEVEL>**
|
|
@@ -578,10 +580,27 @@ developer the list name and leave the status alone.
|
|
|
578
580
|
Short list:
|
|
579
581
|
|
|
580
582
|
1. KB: publish status (Step 5).
|
|
581
|
-
2.
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
583
|
+
2. **Central ids — REQUIRED, always present, never skipped** (team rule, 2026-10-17). Its own
|
|
584
|
+
block with a clear heading, right after the KB line: the developer must copy the next ids
|
|
585
|
+
into Tools → Developers → Central IDs.
|
|
586
|
+
- Source: grep the ticket branch's dbchanges2 `Core/` SQL files for `INSERT INTO Records` /
|
|
587
|
+
`INSERT INTO RecordFields` ids. Confirm on the local DB:
|
|
588
|
+
`SELECT id, … FROM Core.Records WHERE id IN (…)`, the same for `Core.RecordFields`, and
|
|
589
|
+
`SELECT MAX(id)` on both.
|
|
590
|
+
- List every id: `Records <id> → <route>`, `RecordFields <id> → <route>.<field>`.
|
|
591
|
+
- Then: `Next free: Records <n>, RecordFields <n>` — n = the higher of (this ticket's top
|
|
592
|
+
id, local `MAX(id)`) + 1. Central IDs stays the source of truth.
|
|
593
|
+
- None inserted → write `Central ids: none used by this ticket.`
|
|
594
|
+
```
|
|
595
|
+
**Central ids**
|
|
596
|
+
- Records 412 → desk/tickets
|
|
597
|
+
- RecordFields 9031 → desk/tickets.priority
|
|
598
|
+
Next free: Records 413, RecordFields 9032
|
|
599
|
+
```
|
|
600
|
+
3. Ticket fields changed: before → after with the reason, one line each (or "none").
|
|
601
|
+
4. PRs: one url per repo, and which were created vs. updated.
|
|
602
|
+
5. PM comment: posted (yes/no), with the posted text.
|
|
603
|
+
6. Status: `development finished` (or why not).
|
|
604
|
+
7. Anything manual the developer must still do — as a numbered list.
|
|
586
605
|
|
|
587
606
|
After that, if the thread may continue another day, suggest `/session-save <slug>`.
|