Skip to content

feat(collective): package explicit world identity in alpha.11 - #130

Merged
zts212653 merged 2 commits into
mainfrom
feat/f290-world-identity-assets
Oct 26, 2026
Merged

zts212653 merged 2 commits into
mainfrom
feat/f290-world-identity-assets

Conversation

@zts212653

@zts212653 zts212653 commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

What

Packages the F290 explicit-world-identity Client from Core PR cat-cafe#6206 as the unreleased @clowder-ai/collective-connector@0.1.0-alpha.11 candidate.

The installed Client now carries deterministic world selection, the visible current-Human identity card, safe account switching, exact audience copy, and Human-scoped draft continuity. Bilingual README guidance, package/plugin versions, shrinkwrap metadata, candidate catalog identity, compiled assets, and complete source/build provenance move together.

This PR does not publish the package, activate a runtime, or claim F290 complete. Merge order is Core #6206 first, then this package PR.

Source and package identity

  • Core source: zts212653/cat-cafe@7d8b575a1adb8765e295fd71fb5919b654f3a4df
  • Core PR: #6206
  • Plugin HEAD: 07644fc7f5bf7578a5c3490ffff2f3149a9e468f
  • Version: 0.1.0-alpha.11 (candidate only)
  • Source state: exact-source-head
  • Source-checked inputs: 517
  • Client asset digest: d0b87a380e00b2b0d3489bd3e315fd2ad482128e0df7c7d998ca0040ca915160
  • Build-input digest: 97eb84c69284d3eb455816594496afffb7467f2a0bb11b9d00653890842812e4
  • Manifest digest: c9c17d80318881f688aecfdbd354a6ff3dd31b32131786544afbf6e61318ce99
  • Candidate archive shasum: 24c733c6be691daa8b7b8382bed4ab703a2db695
  • Candidate archive integrity: sha512-dgsWReeuYBoWKdPMqEOmMl+0A5VwLZlR1X4NCjCejvkfeEMyArQLvJq2yphie7NAAO9KyJRgUrVepKS7ALZqpQ==
  • Candidate archive size: 4,618,897 bytes

source.json binds all compiled bytes to the exact Core commit, manifest, lockfile, and enumerated build inputs with no overrides.

Why

The Host consumes the packaged Client, not the Core worktree. Shipping the Core UI without refreshing the Connector would leave installed users on the old identity and connection-selection behavior. This PR keeps source, compiled bytes, package metadata, catalog identity, and actual Host acceptance in one auditable chain.

Risk routing

  • behavior: medium — installed Host users receive the paired Core behavior
  • data/security: inherited identity/session behavior is reviewed in the Core source; this PR adds no Service schema, authority, migration, or secret handling
  • contract: medium — package/candidate identity and exact Core provenance must agree
  • irreversible: none — no npm publish, catalog activation, runtime switch, or production write
  • independent source selected: the same non-author local reviewer as Core #6206, so generated bytes are reviewed against their source and real Host behavior rather than in isolation

Validation

@clowder-ai/collective-connector build → exit 0
@clowder-ai/collective-connector typecheck → exit 0
Client source continuity → 4/4
installed-directory physical dependency closure → 1/1
Collective catalog static checks → 2/2
package integrity / source / manifest checks → PASS
real Host journey against package root → PASS
real Host journey against separately packed, unpacked, production-dependency-installed alpha.11 tarball → PASS
git diff --check origin/main...HEAD → exit 0
artifact hygiene → no root media

The browser acceptance uses the actual Connector Service, actual Host launch-surface iframe, two fixture Humans, creator-owned declared Cat, 1440/390, light/dark, zh/en, keyboard profile action, exact audience placeholder, account switching, and A→B→A private draft isolation. The packaged and tarball runs log Core source 7d8b575a... and asset digest d0b87a38.... Fixture Humans remain development evidence, not real-Human acceptance.

Whole-repository catalog checks have unrelated current-main failures: connector-feishu exact-head shrinkwrap drift and 17 unrelated plugin/bin/integrity entries. official.collective-connector is absent from those failures, and all targeted Collective checks above pass. This PR does not absorb those external baselines.

The unpacked candidate's existing package shrinkwrap does not include dev-only dependency lock entries, so plain npm ci is not a valid production-consumer install. npm install --omit=dev succeeds, after which the real Host journey passes. No published version was overwritten.

CI R1 canonical-pack correction

Contract CI showed that the first catalog pin came from the local Node 24.16/npm 11.13 archive encoding. Repacking the unchanged package tree with the repository CI toolchain, Node 24.18/npm 11.16, reproduced the CI archive exactly: 4,618,897 bytes, shasum 24c733c6be691daa8b7b8382bed4ab703a2db695, and the dgsW... integrity above. Commit 07644fc7f5bf7578a5c3490ffff2f3149a9e468f changes only those two derived catalog fields. The source, Client assets, package files, version, and manifest are unchanged.

The local reviewer approved the package/source semantics at fa9cb287e100210e53aaea984d1b61e90d4be560; the current head is bridged by this canonical-output continuity proof rather than represented as a new behavior review.

Accepted-Source-Reack: docs/features/F290-ai-native-collective.md — the current source settles first-batch alpha.10/Task042, explicitly keeps Task038 world-entry integration open, and preserves the J4 plus real two-Human/two-Café acceptance boundaries; it introduces no scope delta to this alpha.11 candidate.

Independent validation

  • Review the source/package scope together with Core #6206; the exact reviewed plugin source head and the mechanical pin continuity are recorded above.
  • Highest-risk question: do the packaged bytes and account-switch/draft behavior faithfully match the Core source and preserve Human isolation?
  • Merge Core first, then this PR. Publication/activation remains a separate authority boundary.

Still open outside this PR

  • Normal Café-start J4 with read position, back navigation, and a failure state.
  • Post-merge Alpha verification.
  • Real two-Human/two-Café acceptance.
  • Any npm publication or runtime activation.

[小太阳·砚砚/gpt-5.6-sol🐾]

Why: Installed Collective users need the same deterministic world selection, visible current Human, safe account switching, and Human-scoped draft continuity that the paired Core Client now provides. Freeze the exact Core source, asset manifest, build inputs, package version, and candidate archive identity so Host consumers can verify the bytes they load.

[小太阳·砚砚/gpt-5.6-sol🐾]
@zts212653
zts212653 requested a review from mindfn as a code owner October 26, 2026 20:39
Why: Contract CI packs release candidates with the repository's frozen Node 24.18/npm 11.16 toolchain. Record those exact archive bytes so catalog verification, later publication, and installed-host provenance all refer to the same artifact rather than a local npm 11.13 encoding.\n\n[小太阳·砚砚/gpt-5.6-sol🐾]
@zts212653
zts212653 merged commit c6dbe2c into main Oct 26, 2026
2 checks passed
@mindfn

mindfn commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Scope corrected: no longer a dependency for #118. The generic Contract/SDK/plugin permission deletion proceeds with main's latest Client and source metadata unchanged. This unused schema has no active Client consumer or permission effect; it is now the independent Core/Client producer follow-up #132. No source response or handoff is required for #118 to finish its current merge. The earlier investigation below is retained as history, not a continuing source request or merge blocker. No generated JS will be hand-edited and no new UI behavior discarded.

Earlier investigation (non-blocking)

The new main integration in #118 must preserve this PR's identity UI and the expression/media work delivered by #126. The alpha.11 Client bundle reintroduces the unused archive-replacement permission schemas removed by #118 (PluginArchiveReplacementConfirmationSchema / PluginArchiveReplacementOfferSchema, including expectedGrantRevision and candidateEffectiveGrants, currently around app.js:40521). No active Client consumer was found.

I am preserving the new main implementation and published alpha.10/alpha.11 identities. I will rebuild the combined source under a fresh unpublished identity rather than overwrite published bytes or restore the older #118 Client. The current source blocker is concrete: recorded Core 7d8b575a1adb8765e295fd71fb5919b654f3a4df and its private repository return 404 to the current account; latest public export 5941b402… and available local roots do not contain the newly shipped CollectiveIdentitySummary, expression/voice/sticker UI and related inputs. The old accessible f0056865… build cannot substitute without losing these changes. No generated bundle is being hand-edited.

Please provide an accessible reviewed Core ref, or a source/build snapshot covering the 517 recorded project inputs plus build recipe, package manifests, lockfile and dependency closure. A disclosed replacement source preserving these new behaviors is also acceptable; exact reconstruction of the unavailable private history is not imposed as the only path. The necessary outcome is a source-based rebuild that preserves the new UI while removing the unused schema exports.

Please post the handoff ref/status on #118 so its existing event subscription can resume the integration. This requests build inputs only, not a new authorization/compatibility framework or publication/installation/restart.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants