Repository navigation
feat(collective): ship standalone Service and remote SSH mode in alpha.16 - #144
Conversation
Why: independent deployments need the same verified Client, a durable ordinary-attachment custodian, canonical outside URLs and connector-only Cafe lifecycle. Preserve original Work custody and prove restart, authorization, response-loss and clean installed-package behavior. [小星星·砚砚/gpt-6-astra🐾]
…-astra # Conflicts: # packages/collective-connector/plugin.yaml
Why: an independent custodian must preserve modelContent audio capabilities when its operator has supplied a local ASR. Verify model and backend before transmitting audio, retain explicit unavailability and cancellation, and exercise the actual installed CLI through the authorized model-read lane. [小星星·砚砚/gpt-6-astra🐾]
Why: publish the standalone Service and explicit remote Connector as a new immutable version after alpha.15, and document the normal install and recovery paths. [小星星·砚砚/gpt-6-astra🐾]
…ce bin Why: npm installation masked a 0644 archive entry; the canonical archive gate requires the standalone command to ship as an executable 0755 file, including offline extraction. [小星星·砚砚/gpt-6-astra🐾]
|
CI run 40497353782 passed the Collective behavior suite (424 passed; one ffmpeg-dependent media check explicitly skipped on the runner). It stopped at package-inventory because the retained candidate catalog still names alpha.15 while this PR prepares alpha.16. The catalog remains deliberately unchanged until the preceding alpha.15 live cut (#143) is released by its owner; that dependency is being resolved before this PR becomes merge-ready. No check is waived. The canonical bin archive check separately exposed a 0644 entry that ordinary npm installation had made executable. Commit |
Why: systemd must reload a changed release path before restart, and backup restoration should have a concrete command that preserves the original directory. [小星星·砚砚/gpt-6-astra🐾]
…ackaging Why: a newer workspace Contract or SDK candidate must not silently replace a consumer shrinkwrap pin. Verify local archive identity before substitution, exercise the actual installed versions, and register the alpha.16 candidate after the alpha.15 live cut. [小星星·砚砚/gpt-6-astra🐾]
|
Independent local review is approved for exact HEAD Accepted source: Evidence validation E1–E5 passed: local and PR HEAD match; review covers exact HEAD without post-review source changes; typed provenance and accepted source match; approved with no unresolved findings; Contract CI 40501069712 and Personal Chrome CI 40501068582 both succeeded. Local Risk: behavior changes standalone/remote lifecycle; durable data changes ordinary attachment custody; security preserves current authority and exact origins; contracts add the supported bin/settings/status; immutable npm publication follows the verified source. No delete/migration, temporary workaround or production runtime restart. Reviewer independently reran build/typecheck, lifecycle 12, scoped attachment/HTTP/sticker 19, archive helper 29, source 4, and both clean installations with four standalone checks each. Installed dependencies remain Contract 0.3.0 / SDK 0.3.0-beta.1. The canonical archive matches the reviewed build byte-for-byte, SHA256 Reviewer worktree disposition is released/removed, source |
A standalone Collective installation previously started only the API, without its Client or attachment owner; the Host plugin always started an embedded Service. This adds the supported
clowder-collective-servicebin and an explicit remote Connector mode so a private SSH server can host the Service, same-version Client and durable ordinary attachments while each member keeps their own Café.The Service retains its instance, provider state, bootstrap credential and immutable attachment receipts across restart and stopped backup/restore. Canonical browser origins support a different SSH-facing port without widening origin checks. Original shared Works remain with their Café content owner over the existing relay. Remote mode preserves embedded data and existing authority, reports outages and instance mismatch, and does not start a local listener.
alpha.16 includes pinned dependencies, installation/upgrade/recovery documentation, optional explicitly configured local ASR, and systemd examples. The Client retains source
5f055fcc907a67f015bceb84500256d8ad41e65dwith 542 verified inputs. Host Contract0.3.0/ SDK0.3.0-beta.1and Core remote-entry merge64019020ac268cb3695a1b9025dfad1cc5a104c8are the compatible integration cut.Validation: package typecheck; lifecycle/remote/owner control and transport checks; business and attachment tests; real image/audio/video decoding; two clean package installations executing the actual bin and four standalone recovery checks each; retained Client provenance checks. Isolated OpenSSH browser journeys cover canonical Manifest URLs, two member contexts, images/files/audio/stickers, module pairing, original Work read/propose/adopt, and one-event recovery after an accepted response is dropped. Provider identities are fixtures; real cloud/two-computer/two-Human/GitHub acceptance remains the later deployment window. Evidence and reproduction commands: https://github.com/zts212653/cat-cafe/tree/main/docs/evidence/2026-10-27-f290-private-ssh-deployment
Release ordering is resolved: alpha.15 live catalog PR #143 merged as
4a01f85fc883a1f9953ba96731da1e2197bf2a63, and its owner released the shared writer. This PR preserves that live catalog and all historical rows, adding only the alpha.16 candidate. The #137 main integration is retained; Collective still installs published Contract0.3.0/ SDK0.3.0-beta.1, not the newer workspace candidates. A reproduced materializer bug installed candidate bytes under a frozen lock; exact local archive identity now gates substitution, with a red/green regression and actual installed-version assertions. The archive-verifier suite passes 29 checks and both clean installation paths pass four standalone checks each. The canonical bin is executable 0755.Independent local review and fresh CI are required before merge; this PR does not claim an official alpha.16 package yet. Alpha installation of the merged package follows publication using this task's original instance. The final package includes explicit systemd daemon-reload and restore-to-a-new-directory commands. Global activation of unrelated candidate cohorts is outside this change.