NEC-158: Raise MIN_PLUGIN_VERSION to the release that ships canvas merge #238

Merged
nectenda-agent merged 2 commits from worktree-nec-158-raise-min-plugin-version-to-the-release into main 2026-10-01 09:14:32 +01:00
Collaborator

Task: NEC-158 — https://projectron.nerchure.com/tasks/166

Raises the hosted plugin floor to 0.3.0, the first release that merges canvases, so an older build can no longer connect beside it and split a canvas into conflict copies. The floor was set on eu1 by hand on 1 Oct 2026 (startup dump shows MIN_PLUGIN_VERSION 0.3.0; the three live connections are all 0.3.0). This PR makes provision-shard.sh write the fleet's floor into every new shard and refuse to run without one, documents it in the env examples, SETUP.md and README, and marks the sync-limitations entry fixed on the hosted service. Local gate passed at 421ce41; the follow-up commit is docs and an example file only.

Spec: docs/changes/NEC-158-min-plugin-version/spec.md

Changelog

NONE

Task: NEC-158 — https://projectron.nerchure.com/tasks/166 Raises the hosted plugin floor to 0.3.0, the first release that merges canvases, so an older build can no longer connect beside it and split a canvas into conflict copies. The floor was set on eu1 by hand on 1 Oct 2026 (startup dump shows MIN_PLUGIN_VERSION 0.3.0; the three live connections are all 0.3.0). This PR makes provision-shard.sh write the fleet's floor into every new shard and refuse to run without one, documents it in the env examples, SETUP.md and README, and marks the sync-limitations entry fixed on the hosted service. Local gate passed at 421ce41; the follow-up commit is docs and an example file only. Spec: `docs/changes/NEC-158-min-plugin-version/spec.md` ## Changelog NONE
0.3.0 is the first release that merges canvases. An older build cannot merge
with it, so its canvas edits arrive as conflict copies and it sees nobody
else's. The floor is what closes that. provision-shard.sh now writes the
fleet's floor into every shard it renders and refuses to run without one, so
a new shard cannot come up at 0 beside a fleet at 0.3.0.

Task: NEC-158

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMYikqjaWCeexBDUd2NC76
Leave the example floor empty, list it with the fleet secrets, and say what a refused canvas gets
All checks were successful
Release note / release-note (pull_request) Successful in 14s
CI / build (pull_request) Successful in 5m2s
CI / e2e (pull_request) Successful in 7m0s
CI / promote (pull_request) Has been skipped
d8a2e0d3bf
A fleet.env copied from an example that already names 0.3.0 would pass the
empty-value guard and carry a stale floor after the next raise. Empty makes
the operator choose. SETUP.md and README now list it beside the other fleet
values, and sync-limitations no longer claims a refused client's canvas edits
merge after it updates: they go through adoption, which nothing tests from a
refused client.

Task: NEC-158

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMYikqjaWCeexBDUd2NC76
cruelacid force-pushed worktree-nec-158-raise-min-plugin-version-to-the-release from d8a2e0d3bf
All checks were successful
Release note / release-note (pull_request) Successful in 14s
CI / build (pull_request) Successful in 5m2s
CI / e2e (pull_request) Successful in 7m0s
CI / promote (pull_request) Has been skipped
to 1fca795588
All checks were successful
Release note / release-note (pull_request) Successful in 16s
CI / build (pull_request) Successful in 5m1s
CI / e2e (pull_request) Successful in 6m57s
CI / promote (pull_request) Has been skipped
CI / build (push) Successful in 5m16s
CI / e2e (push) Successful in 6m52s
CI / promote (push) Successful in 30s
2026-10-01 09:06:31 +01:00
Compare
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Nectenda/nectenda!238
No description provided.