Code Farm: per-plot auto-replant pause and crop-lock check; community sync and node work

Continuous Delivery could never be turned off once a crop was planted. Add a
one-shot per-plot "stop after harvest" flag (POST /game/plot/stop, Devii tool
game_plot_stop, game_plots.stop_after_harvest), cleared by the next plant,
autoreplant claim or Refactor. Autoreplant now also respects crop locks through
the shared _crop_lock predicate. Plan and measurements in happyplanting.md.

Also includes the pending community sync, node network and related work in the
tree; the full suite passed (4999) with all of it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-17 02:23:43 +02:00
co-authored by Claude Sonnet 5.5
parent ce899fc5e1
commit 02ab747cd0
203 changed files with 11624 additions and 301 deletions
+6 -2
View File
@@ -191,6 +191,7 @@ Each plot on a farm you view reports:
raided for its full value), or `immune` (Security Fortress). Empty when stealable or not
applicable.
- `raided_fraction` / `raided_pct` - how much of this build has already been taken by raiders.
- `can_stop_replant` / `stop_after_harvest` - your own plots only, with Continuous Delivery: whether the pause can be set, and whether the next harvest will leave the plot empty.
- `steal_cooldown_seconds` - seconds until your per-owner cooldown ends (only set with
`steal_reason` of `cooldown`; also mirrored farm-wide as `steal_cooldown_seconds` on the farm).
- `ready_at` - add the protection window to compute when a raid becomes possible.
@@ -294,7 +295,7 @@ rounded down). Points never expire, and crop unlocks check points **ever earned*
| Mastery upgrade | Key | Effect | Cost (points) |
|------------------|-----|--------|:-------------:|
| 🔁 Continuous Delivery | `autoreplant` | Auto-replant the same crop right after every harvest, if still affordable and unlocked | 3 |
| 🔁 Continuous Delivery | `autoreplant` | Auto-replant the same crop right after every harvest, if still affordable and unlocked. Pause it for one plot with `POST /game/plot/stop` to choose a different crop | 3 |
| 📊 Farm Analytics | `analytics` | Unlocks lifetime stats: `lifetime_coins_earned` and `lifetime_harvests` | 2 |
| 📜 Legacy Contracts | `contracts` | Unlocks a weekly contract slot paying Stars and a temporary coin boost | 4 |
@@ -432,6 +433,7 @@ your **API key** in an `X-API-KEY` header (or `Authorization: Bearer`). Your key
| `GET` | `/game/farm/{username}` | Another member's farm. |
| `POST` | `/game/plant` | Plant `crop` in `slot`. |
| `POST` | `/game/harvest` | Harvest the build in `slot`. |
| `POST` | `/game/plot/stop` | With Continuous Delivery: `stop` true skips the replant after the next harvest of `slot` (cleared when the plot is planted again), false cancels. |
| `POST` | `/game/fertilize` | Halve the remaining time of `slot`. |
| `POST` | `/game/buy-plot` | Unlock one more plot. |
| `POST` | `/game/upgrade` | Raise the CI tier. |
@@ -525,7 +527,9 @@ lists you act on. A plot looks like this:
"is_golden": false,
"fertilize_cost": 22,
"raided_fraction": 0.0,
"raided_pct": 0
"raided_pct": 0,
"can_stop_replant": false,
"stop_after_harvest": false
}
```