Repository navigation
Embed native Onyx Chat in Twenty with authorized record context - #131
Conversation
|
Final local gate: GitHub Actions cannot start on this head. The review job has no runner or steps. Annotation: "The job was not started because your account is locked due to a billing issue." The owner-approved 2026-10-31 local-gate exception applies. Independent reviewers Command (cwd Command (cwd Command (cwd Command (cwd Command (cwd Command (cwd Python verification uses an isolated environment with lockfile-pinned litellm 1.100.4 and ty 0.0.63. The shared runtime environment was not changed. Staff acceptance and deployment remain unproved. Issue #9 stays open. File exports and saved-memory writes remain unavailable for Twenty record turns. Search and attachment reading remain available. |
|
Merged as 510733c. The merged Git tree equals the tested candidate tree. Local main is clean and current. No deployment or staff acceptance pass is claimed. |
Summary
Twenty #9 needs native Onyx Chat in the existing CRM drawer, including attachments and current record permissions. Paired with https://github.com/Subconscious-ai/twenty/pull/7 and market-ontology onyx-dot-app#539.
Reuse native upload, file-access, streaming, cancellation, retry, and history owners. Recheck record access on sends and history reads/search. Keep record-bound conversations private; serialize sharing/project moves against context binding. Preserve the embed route through native conversation navigation. No new schema or service.
Evidence
Candidate head:
bb9f25e1db13c2012a05553414719b62a6251dd6./causlinto/app; Twenty's drawer still used its own composer and the backend execution path forwarded text only.After: the embed-navigation regression passes; native
file_descriptorsandtwenty_context_idreach the send request. Transport and host-auth Jest: 11 passed.node node_modules/typescript-7/bin/tsc --noEmit --project tsconfig.types.jsonexited 0. Changed Python Ruff check/format exited 0. Changed web Oxlint exited 0 with existing-file warnings; the new TwentyChat file has no warnings.CAUSL_KB_HOST_AUTH_ENABLEDnorTWENTY_PANEL_ORIGINconfigured. No production configuration changed.Hosted checks, including
review / Claude review, did not start: GitHub reports "The job was not started because your account is locked due to a billing issue." The inspected review and quality jobs have no runner or steps. Independent agent review is recorded above; hosted CI is not green.Final independent Standards and Spec code reviews pass on both exact heads. Search and attachment reading remain available. File export, image generation, custom actions, and saved-memory writes are unavailable for record-bound Twenty turns. History checks release database connections, run concurrently, and reject late responses. The timeout does not guarantee strict 15-second completion. Whole-repository Python types pass with the lockfile-pinned packages.
Merge Danger
Door: one-way
Authentication and record authorization cross application boundaries. Requires paired Twenty changes, existing host-auth/allowed-origin configuration, and
TWENTY_PANEL_ORIGINset to the trusted Twenty origin. The owner approved push and merge on 2026-11-02. Staff acceptance remains pending. No migration, paid model fallback, or deployment is included.Blast Radius: authentication