Blocking fault in design 47's release delivery (issue 774, L3). Since 12:09 CET the running controller logs every 10 s: the provisioner's plans are refused ...: artifact-store: credential-form "none" is not shared, pair, issued, given. The release's catalogue states none on every offer without a credential (mesh-sdk catalogue.CredentialFormNone), but the controller's own list of forms never gained it. With the whole plan set refused, the controller issues no credential for a new build, and the assigner holds about 35 modules on every machine under rule 6.
Fix: credentialForms gains catalogue.CredentialFormNone. The form is read only by this validation; the controller issues credentials from the catalogue's offer, and the pinned sdk's provisions already treat none as "the vault mints nothing".
Test: TestAPlanNamesTheCredentialFormOfEachProvidersOffer carries a none provision; it fails without the fix. Unit suite and go vet -tags integration pass locally.
Quick vs thorough: quick (this one line) chosen; the thorough fix, the controller taking its form list from the sdk instead of its own copy, is moot since design 47 hands its lease away. Controller NATS-native research piece moved: none (a recovery of the release, said as such).
Blocking fault in design 47's release delivery (issue 774, L3). Since 12:09 CET the running controller logs every 10 s: `the provisioner's plans are refused ...: artifact-store: credential-form "none" is not shared, pair, issued, given`. The release's catalogue states `none` on every offer without a credential (mesh-sdk `catalogue.CredentialFormNone`), but the controller's own list of forms never gained it. With the whole plan set refused, the controller issues no credential for a new build, and the assigner holds about 35 modules on every machine under rule 6.
Fix: `credentialForms` gains `catalogue.CredentialFormNone`. The form is read only by this validation; the controller issues credentials from the catalogue's offer, and the pinned sdk's provisions already treat `none` as "the vault mints nothing".
Test: `TestAPlanNamesTheCredentialFormOfEachProvidersOffer` carries a `none` provision; it fails without the fix. Unit suite and `go vet -tags integration` pass locally.
Quick vs thorough: quick (this one line) chosen; the thorough fix, the controller taking its form list from the sdk instead of its own copy, is moot since design 47 hands its lease away. Controller NATS-native research piece moved: none (a recovery of the release, said as such).
Reviewed-by: rev-none@shanks at 2154ea8e3c4eb3dbb51cfd040d6e98fc6bcda32d
Deliverynovox/mesh-controller@2154ea8e3c4e — merged since 2026-10-30T11:23:42Z
Source — source.main moved to novox/mesh-controller@a4426190b0. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-30 11:20 (new) → proposed (announced): novox/mesh-controller#483's head announced
2026-10-30 11:20 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-10-30 11:23 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@2154ea8e3c4e` — **merged** since 2026-10-30T11:23:42Z
**Source** — source.main moved to novox/mesh-controller@a4426190b0c7. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-30 11:20 (new) → proposed (announced): novox/mesh-controller#483's head announced
- 2026-10-30 11:20 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-10-30 11:23 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Blocking fault in design 47's release delivery (issue 774, L3). Since 12:09 CET the running controller logs every 10 s:
the provisioner's plans are refused ...: artifact-store: credential-form "none" is not shared, pair, issued, given. The release's catalogue statesnoneon every offer without a credential (mesh-sdkcatalogue.CredentialFormNone), but the controller's own list of forms never gained it. With the whole plan set refused, the controller issues no credential for a new build, and the assigner holds about 35 modules on every machine under rule 6.Fix:
credentialFormsgainscatalogue.CredentialFormNone. The form is read only by this validation; the controller issues credentials from the catalogue's offer, and the pinned sdk's provisions already treatnoneas "the vault mints nothing".Test:
TestAPlanNamesTheCredentialFormOfEachProvidersOffercarries anoneprovision; it fails without the fix. Unit suite andgo vet -tags integrationpass locally.Quick vs thorough: quick (this one line) chosen; the thorough fix, the controller taking its form list from the sdk instead of its own copy, is moot since design 47 hands its lease away. Controller NATS-native research piece moved: none (a recovery of the release, said as such).
Reviewed-by: rev-none@shanks at
2154ea8e3cDelivery
novox/mesh-controller@2154ea8e3c4e— merged since 2026-10-30T11:23:42ZSource — source.main moved to novox/mesh-controller@a4426190b0. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.