feat(agent-org): ship bounded public Team timeline - #1153
Open
ShiboSheng wants to merge 6 commits into
Open
Conversation
ShiboSheng
force-pushed
the
codex/issue-765-bounded-group-projection
branch
4 times, most recently
from
September 1, 2026 03:07
9ebbea7 to
fd8ad16
Compare
ShiboSheng
force-pushed
the
codex/issue-765-bounded-group-projection
branch
from
September 1, 2026 03:22
fd8ad16 to
696d9fa
Compare
ShiboSheng
force-pushed
the
codex/issue-765-bounded-group-projection
branch
3 times, most recently
from
September 1, 2026 04:15
597feef to
ccf132c
Compare
ShiboSheng
force-pushed
the
codex/issue-765-bounded-group-projection
branch
from
September 1, 2026 04:31
ccf132c to
1f9f6b0
Compare
ShiboSheng
force-pushed
the
codex/issue-765-bounded-group-projection
branch
2 times, most recently
from
September 1, 2026 19:15
59ff895 to
f6355e2
Compare
ShiboSheng
marked this pull request as ready for review
September 1, 2026 20:46
ShiboSheng
marked this pull request as draft
September 1, 2026 20:50
Replace per-member session subscriptions and timestamp reply matching with one backend-authoritative bounded projection and run-scoped frontend store. Keep Group-origin Coordinator and Member replies in the continuous chat UI, with exact per-turn Stop and Retry, source isolation, bounded indexes, lifecycle cleanup, and 13-locale parity. The rollout remains disabled because repeated Group and Member navigation still misses the RSS stability gate and the Data Science Agent Org template cannot access task graph tools. Verification: - pnpm exec vitest run on six affected suites: 48 passed - pnpm typecheck: passed - cargo test -p session_persistence: 47 passed - cargo test -p agent_core --lib: 3429 passed, 3 ignored - cargo clippy -p agent_core --all-targets -- -D warnings: passed - cargo check: passed - ORGII_AGENT_ORG_REDESIGN=1 pnpm run tauri:build:fast: passed - Packaged App Computer Use: Default Agent Org journeys passed; performance and Data Science template remain blocked Pre-commit hook ran. Total eslint: 5, total circular: 0
Pre-commit hook ran. Total eslint: 5, total circular: 0
Project Group chat from canonical initial input, task and lifecycle authorities, public final summaries, and exact causal reply markers. Keep Direct and Linked traffic private while maintaining bounded stable-cursor pagination. Verification: - cargo test -p agent_core group_projection::tests -- --nocapture (6 passed, 1 ignored) - cargo test -p agent_core only_the_exact_initial_root_turn_gets_a_public_reply_marker -- --nocapture (passed) - cargo test -p session_persistence group_projection_reply_queries_use_canonical_expression_indexes -- --nocapture (passed) - cargo test -p agent_core public_timeline_p90_stays_bounded_for_fifty_members_and_ten_thousand_events -- --ignored --nocapture (P90 11.707ms) - cargo check -p agent_core; cargo fmt --all -- --check; pnpm typecheck (passed) - targeted Vitest: 28 tests passed; E2E spec syntax passed - BuildFast Instance 10 with representative SQLite data: Group timeline rendered and remained open for manual acceptance Pre-commit hook ran. Total eslint: 5, total circular: 0
Give each pending formal-receipt batch a stable scheduler identity so receipts arriving during an active Coordinator turn queue a trailing turn instead of coalescing into a turn that cannot consume them. Preserve exact-batch idempotency and include delivered pending receipts in recovery. Verification: - cargo test -p agent_core --quiet (3441 passed, 0 failed, 3 ignored) - cargo clippy -p agent_core --all-targets -- -D warnings (passed) - focused formal-trigger, inbox-wake, scheduler, return, and idle tests (passed) - BuildFast Instance 11 with codexharry gpt-5.4-mini real provider (passed, including restart and idle checks)
ShiboSheng
force-pushed
the
codex/issue-765-bounded-group-projection
branch
from
September 1, 2026 21:04
f6355e2 to
bada9b9
Compare
ShiboSheng
marked this pull request as ready for review
September 1, 2026 23:32
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.
Problem
Fixes #765
Depends on #1085 and is intentionally based on
codex/issue-764-group-inbox, the frozen PR9 head.The pre-PR10 Group surface subscribed to the Coordinator plus every materialized Member Session, loaded complete histories, merged them in the frontend, and guessed reply relationships from timestamps. That made cost grow with Team size and could not enforce Direct versus Group visibility at the authoritative boundary.
The first bounded PR10 projection removed that unsafe path, but initially projected only
group_rootandgroup_mention. Real completed Team runs therefore hid the launch requirement, Task progress, Team lifecycle changes, completion certificate, and final report, leaving users with an empty or materially incomplete Group timeline even though canonical records existed.Solution
This branch delivers the complete PR10 boundary across all three commits:
(created_at, source_rank, stable_source_id, item_ordinal), retain the 50 default / 100 maximum page limits and response-byte cap, and execute at most four SQL statements per page.turnIntentIdStop/Retry state, single-flight refresh, deduplication, stale-generation rejection, push coalescing, hidden-dirty behavior, and listener/cache cleanup in the shared store.sessions.jsonlocales.The internal Agent Org redesign rollout gate remains closed by default while this PR is Draft. This branch does not add a second projection table, polling loop, shared Group lifecycle, schema migration, or compatibility fallback.
Potential risks
Verification
pnpm exec vitest runon the original six affected suites — 48 passed.pnpm vitest run src/engines/ChatPanel/ChatHistory/GroupChatView/AgentOrgGroupProjectionView.test.ts src/engines/ChatPanel/hooks/agentOrgGroupProjectionStore.test.ts src/api/tauri/agent/orgTasks.test.ts— 28 passed.cargo test -p session_persistence— 47 passed on the original bounded-projection commit.cargo test -p agent_core --lib— 3,429 passed, 3 ignored on the original bounded-projection commit.cargo test -p agent_core group_projection::tests -- --nocapture— 6 passed, 1 performance test intentionally ignored by the default run.cargo test -p agent_core only_the_exact_initial_root_turn_gets_a_public_reply_marker -- --nocapture— passed.cargo test -p session_persistence group_projection_reply_queries_use_canonical_expression_indexes -- --nocapture— passed and proves the canonical expression indexes are selected.cargo test -p agent_core public_timeline_p90_stays_bounded_for_fifty_members_and_ten_thousand_events -- --ignored --nocapture— 50 Members, 10,000 events, 30 samples, P90 11.707 ms against the 200 ms budget; no writes.cargo clippy -p agent_core --all-targets -- -D warnings— passed on the original bounded-projection commit.agent_coreandsession_persistence; ESLint checked 5 staged frontend files; circular dependencies 0.cargo check -p agent_core,cargo fmt --all -- --check, andpnpm typecheck— passed on the final head.node --check tests/e2e/specs/core/agent-org-group-chat-ui.spec.mjs— passed.ORGII_AGENT_ORG_REDESIGN=1 pnpm tauri:build:fast -- --instance 10plus representative SQLite data — packaged Tauri app opened the real Team run and rendered the launch requirement, Task lifecycle, completion certificate, exact later Group replies, and public final reports. Direct/Linked/internal raw rows were absent from the Group surface.Stack and review map
3a97ebca4e36138149e0d0302989ead0a3b513b4.bb6cc17f6d88421224a2d9efb0bb4d9b176f4757.fa7398efd2b7d6159e3b2aa4c7f8b2ac888bd87e.dc1133eebe206f81a10c7925e3046c8023415293.Deliberately deferred before Ready