@open-tomato/rafa 0.31.0 → 0.32.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/README.md CHANGED
@@ -215,8 +215,9 @@ pr:
215
215
 
216
216
  The keys are: `release.fragments` (path, default `.changes/`), `release.strategy`
217
217
  (fold strategy, default `semver-by-level`), `release.settle` (`push` or `pr`,
218
- default `push`), `release.tag` (`manual` or `settle`, default `manual`).
219
- `pr.versionCollision` controls what happens when a merge would collide
218
+ default `push`), `release.tag` (`manual` or `settle`, default `manual`),
219
+ `release.publishCommand` (the publish line `rafa release tag` prints and never
220
+ runs, default `npm publish`). `pr.versionCollision` controls what happens when a merge would collide
220
221
  (default `report`). Read `context/release.md` for the full design,
221
222
  `docs/ci-release-settle.md` for automating settle in CI, and
222
223
  `rafa release settle --help` for the settle command.
@@ -469,6 +470,37 @@ status:
469
470
  notice: false
470
471
  ```
471
472
 
473
+ ### `claims`
474
+
475
+ Two settings control how claims work when two devices work on one project.
476
+ Devices claim issues to prevent collisions: no two can plan or start the same
477
+ issue, and stale or lost claims are recovered without losing work.
478
+
479
+ | Key | Default | What it sets |
480
+ |---|---|---|
481
+ | `claims.staleAfter` | `3d` | how long a `rafa:claimed` claim stands before takeover is allowed: a duration such as `3d`, `1w`, or `disabled` |
482
+ | `claims.ahead` | `off` | whether to reserve one issue ahead on the roadmap: `off` or `allow` |
483
+
484
+ `claims.staleAfter` takes a duration or the word `disabled`; `0`, a fraction,
485
+ and a quoted value are refused. When `disabled`, nothing is ever stale and
486
+ claims must be released by hand. `claims.ahead` enables claim-ahead as an
487
+ opt-in per run with `--claim-ahead` on `rafa next --roadmap` and `plan create
488
+ --next`.
489
+
490
+ ```yaml
491
+ # Default: claims are made, staleAfter is 3d, no claim ahead
492
+ # (nothing set, or claims: {})
493
+
494
+ # Set staleness only
495
+ claims:
496
+ staleAfter: 3d
497
+
498
+ # Disable staleness and enable claim ahead
499
+ claims:
500
+ staleAfter: disabled
501
+ ahead: allow
502
+ ```
503
+
472
504
  ### `loop` and the guard
473
505
 
474
506
  A loop guards itself: every turn, it watches the checkout's branch and HEAD
@@ -577,6 +609,18 @@ from GitHub Issues:
577
609
  `waiting on #C (owner review)` until the team reviews and approves. The
578
610
  hop record (`.rafa/hop.json`) tracks where home is and what rafa works.
579
611
  When `rafa next` finishes, it deletes the record and returns home.
612
+ - **Board relationships: a choice of modes.** A board tracks relationships
613
+ — which issues block which — in one of two ways. `labels` (the default)
614
+ uses `spec:blocked` labels and `Blocked by:` lines, carrying no cost
615
+ when a board is read. `native` uses GitHub's built-in parent and
616
+ blocked-by links, showing them in GitHub's UI and costing about 8 API
617
+ points per read of 5,000 per hour. Solo projects and those new to rafa
618
+ start with `labels`. Chose `native` when the relationships should show
619
+ in GitHub, or when nothing should clear a blocker by hand. Config it as
620
+ `board: relationships: native`, then run `rafa init --board` to move
621
+ from one mode to the other and remove the old marks. Read
622
+ [docs/specs-and-roadmap.md](docs/specs-and-roadmap.md) under "Board
623
+ relationships" for the full choice and upgrade path.
580
624
  - **Other trackers.** GitHub Issues is what works today. Linear support
581
625
  is being ported from the project rafa grew out of, as an optional
582
626
  add-on in a later version. For anything else, open or upvote a request