@tablation/crew 0.16.0 → 0.17.0
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.
package/package.json
CHANGED
|
@@ -379,6 +379,17 @@ if `report_type` is either of those.
|
|
|
379
379
|
not from this checkout's working
|
|
380
380
|
state, is deliberate: the primary checkout may have anything going on.
|
|
381
381
|
`cd` into the worktree and do everything else below there.
|
|
382
|
+
**`crew worktree <number>` does all of this for you and is the preferred
|
|
383
|
+
route** — it prints the worktree's path on stdout. It cuts from
|
|
384
|
+
`<remote>/<branch>` when the branch is already pushed (another ship built
|
|
385
|
+
it, or an earlier run of yours), fresh from `<remote>/<base>` when no
|
|
386
|
+
branch exists anywhere, fast-forwards a clean stale worktree at the same
|
|
387
|
+
path, and re-cuts one whose branch is gone from the remote and which holds
|
|
388
|
+
no work of its own. It exits 1 and leaves the directory alone when that
|
|
389
|
+
worktree has uncommitted changes or commits that are not on the remote
|
|
390
|
+
(someone may be editing it by hand) — say so in a ticket comment and carry
|
|
391
|
+
on from a fresh worktree path only if a person says so. **A missing
|
|
392
|
+
worktree is never a reason to stop.**
|
|
382
393
|
2. A worktree is a clean checkout, so it is missing exactly the files git
|
|
383
394
|
ignores — which are usually the ones without which nothing runs. Copy the
|
|
384
395
|
files the Environment section lists across from the primary checkout, then
|
|
@@ -562,11 +573,17 @@ if `report_type` is either of those.
|
|
|
562
573
|
found, and QA never sees it. When it matches, the runner records
|
|
563
574
|
`pushed <sha> to <remote>/<branch>` on the ticket itself; you still state the
|
|
564
575
|
sha in your last progress comment.
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
576
|
+
**Your worktree is yours for this run only, and the branch on the remote is
|
|
577
|
+
what QA tests.** Leave the branch exactly where it is, unmerged, and do not
|
|
578
|
+
remove the worktree by hand: when your session ends at a verified push the
|
|
579
|
+
runner removes it (nothing on this ship's disk is needed again). The one
|
|
580
|
+
exception is a repo that declares a `handoff` hook — there the worktree is
|
|
581
|
+
kept, because a server you left running serves from it; the runner records
|
|
582
|
+
that on the ticket, and QA on another ship cuts its own worktree from the
|
|
583
|
+
remote instead. Your last progress comment is what QA reads first — say what
|
|
584
|
+
you changed, how you verified it, which ports and database you used, and
|
|
585
|
+
anything you could not test yourself. A later run, on any ship, starts from
|
|
586
|
+
`<remote>/<branch>`, so anything not committed and pushed is gone.
|
|
570
587
|
|
|
571
588
|
## Question and Investigation tickets
|
|
572
589
|
|
|
@@ -56,6 +56,10 @@ human review, so "probably fine" is not a pass.
|
|
|
56
56
|
Does the change actually do what the comment claims? Does it handle the
|
|
57
57
|
empty/error/permission path, or only the happy one? Does it touch
|
|
58
58
|
anything the ticket never mentioned?
|
|
59
|
+
**You never need the builder's worktree.** Cut your own from the remote
|
|
60
|
+
branch with `crew worktree <number>` (prints its path) — unless the builder's
|
|
61
|
+
hand-off event says its ship kept a worktree and a server for you, in which
|
|
62
|
+
case you may open that URL instead. Remove yours when you hand the ticket on.
|
|
59
63
|
**A branch on the remote is testable.** The builder may be on another ship:
|
|
60
64
|
the digest's `branch` column then reads `<name> (on origin only)` and no
|
|
61
65
|
worktree exists here yet. Cut one from the remote branch —
|
|
@@ -127,7 +131,12 @@ human review, so "probably fine" is not a pass.
|
|
|
127
131
|
write itself conditional on the `updated_at` you just read, with an
|
|
128
132
|
`X-Expected-Updated-At` header; a 409 means the same thing.
|
|
129
133
|
|
|
130
|
-
- **It holds up** → `status` = `verified`, and clear `assignee_id`.
|
|
134
|
+
- **It holds up** → `status` = `verified`, and clear `assignee_id`. When
|
|
135
|
+
the Issues table has a `verified_sha` column, set it in the same write to
|
|
136
|
+
the full sha of the branch head you tested (`git rev-parse HEAD` in the
|
|
137
|
+
worktree): for a repo that hands work to human review, the crew compares
|
|
138
|
+
the branch against it every cycle and sends the ticket back to you if a
|
|
139
|
+
reviewer's commit moves it. That
|
|
131
140
|
is the merge trigger: the release phase will squash-merge the branch,
|
|
132
141
|
bump the version, and deploy this cycle or the next. Say in
|
|
133
142
|
the comment what you exercised, so the record shows what "verified"
|
|
@@ -361,6 +361,17 @@ if `report_type` is either of those.
|
|
|
361
361
|
not from this checkout's working
|
|
362
362
|
state, is deliberate: the primary checkout may have anything going on.
|
|
363
363
|
`cd` into the worktree and do everything else below there.
|
|
364
|
+
**`crew worktree <number>` does all of this for you and is the preferred
|
|
365
|
+
route** — it prints the worktree's path on stdout. It cuts from
|
|
366
|
+
`<remote>/<branch>` when the branch is already pushed (another ship built
|
|
367
|
+
it, or an earlier run of yours), fresh from `<remote>/<base>` when no
|
|
368
|
+
branch exists anywhere, fast-forwards a clean stale worktree at the same
|
|
369
|
+
path, and re-cuts one whose branch is gone from the remote and which holds
|
|
370
|
+
no work of its own. It exits 1 and leaves the directory alone when that
|
|
371
|
+
worktree has uncommitted changes or commits that are not on the remote
|
|
372
|
+
(someone may be editing it by hand) — say so in a ticket comment and carry
|
|
373
|
+
on from a fresh worktree path only if a person says so. **A missing
|
|
374
|
+
worktree is never a reason to stop.**
|
|
364
375
|
2. A worktree is a clean checkout, so it is missing exactly the files git
|
|
365
376
|
ignores — which are usually the ones without which nothing runs. Copy the
|
|
366
377
|
files the Environment section lists across from the primary checkout, then
|
|
@@ -544,11 +555,17 @@ if `report_type` is either of those.
|
|
|
544
555
|
found, and QA never sees it. When it matches, the runner records
|
|
545
556
|
`pushed <sha> to <remote>/<branch>` on the ticket itself; you still state the
|
|
546
557
|
sha in your last progress comment.
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
558
|
+
**Your worktree is yours for this run only, and the branch on the remote is
|
|
559
|
+
what QA tests.** Leave the branch exactly where it is, unmerged, and do not
|
|
560
|
+
remove the worktree by hand: when your session ends at a verified push the
|
|
561
|
+
runner removes it (nothing on this ship's disk is needed again). The one
|
|
562
|
+
exception is a repo that declares a `handoff` hook — there the worktree is
|
|
563
|
+
kept, because a server you left running serves from it; the runner records
|
|
564
|
+
that on the ticket, and QA on another ship cuts its own worktree from the
|
|
565
|
+
remote instead. Your last progress comment is what QA reads first — say what
|
|
566
|
+
you changed, how you verified it, which ports and database you used, and
|
|
567
|
+
anything you could not test yourself. A later run, on any ship, starts from
|
|
568
|
+
`<remote>/<branch>`, so anything not committed and pushed is gone.
|
|
552
569
|
|
|
553
570
|
## Question and Investigation tickets
|
|
554
571
|
|
|
@@ -118,7 +118,12 @@ human review, so "probably fine" is not a pass.
|
|
|
118
118
|
write itself conditional on the `updated_at` you just read, with an
|
|
119
119
|
`X-Expected-Updated-At` header; a 409 means the same thing.
|
|
120
120
|
|
|
121
|
-
- **It holds up** → `status` = `verified`, and clear `assignee_id`.
|
|
121
|
+
- **It holds up** → `status` = `verified`, and clear `assignee_id`. When
|
|
122
|
+
the Issues table has a `verified_sha` column, set it in the same write to
|
|
123
|
+
the full sha of the branch head you tested (`git rev-parse HEAD` in the
|
|
124
|
+
worktree): for a repo that hands work to human review, the crew compares
|
|
125
|
+
the branch against it every cycle and sends the ticket back to you if a
|
|
126
|
+
reviewer's commit moves it. That
|
|
122
127
|
is the merge trigger: the release phase will squash-merge the branch,
|
|
123
128
|
bump the version, and deploy this cycle or the next. Say in
|
|
124
129
|
the comment what you exercised, so the record shows what "verified"
|