Repository navigation
Conversation
Why: Build the owner view from route, inbox, and matching Task references, then ask Core for that exact owner-visible set instead of walking every private thread on each participation read. [小太阳·砚砚/gpt-5.6-sol🐾] Thread-Context: threadId=thread_mtr820c45n7l2b2s invocationId=9655091a-9825-425f-b44f-46860173ff70 catId=codex-sol
Why: A valid persisted participation history can exceed the Host's per-request candidate bound. Read every referenced thread in fenced batches, merge the complete owner-visible result, and retain duplicate protection without truncating history. [小太阳·砚砚/gpt-5.6-sol🐾]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
threadIdstype to the next plugin SDK sourceWith 120 unrelated private threads, the regression now returns only the referenced
channeland performs one candidate list, one metadata read, and one participant read. The previous code returned all 120 unrelated rows and performed 3 list + 120 get + 120 getCats calls.Dependency and release boundary
Depends on Core PR https://github.com/zts212653/cat-cafe/pull/6341. Core must land before this caller is packaged or installed; an older Host rejects the new option rather than silently restoring the full scan.
This PR intentionally does not change Collective version, shrinkwrap, catalog, or alpha.23. The existing alpha.23 owner retains package/release custody.
Risk and architecture
threadsbecomes the complete participation/work-referenced subset, not the unrelated owner directoryArchitecture cell:
plugin/ existing Collective runtime adapterMap delta: none. The caller and view remain the same read owner; only the input set is narrowed to canonical route/inbox/Task references.
Canonical source:
packages/collective-connector/src/owner-participation-view.ts#collectiveOwnerParticipationViewandowner-participation-caller.ts#createCollectiveOwnerViewConsumer evidence:
rg -n "threads\.list\(|owner-participation-view|PluginThreadHost" packagesClaim guard:
owner-participation-view.test.tsadds 120 unrelated owner threads and asserts the fixed response and constant Host-call count.Verification
pnpm --filter @clowder-ai/plugin-sdk test— 228/228pnpm --filter @clowder-ai/plugin-sdk lintpnpm --filter @clowder-ai/collective-connector buildpnpm --filter @clowder-ai/collective-connector typecheckpnpm --filter @clowder-ai/collective-connector test:business— 443/443git diff --checkPost-merge/live timing remains with the existing Task485 deployment consumer; this source PR does not claim boot64 or two-Human acceptance.