feat(web): share conversation attribution across agent applications - #594
Merged
Merged
Conversation
drewstone
marked this pull request as ready for review
September 15, 2026 22:14
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Shared attribution in the existing browser-safe foundation
Extract SUPER's generally useful assistant-message grouping into
/web. One pure helper, not another transcript store, model loop, framework or execution state machine.groupConversationMessagesgroups successive assistant messages until a real user message, speaker change or conversation change. Tool/progress notices do not repeat attribution. Streaming/working rows can share a group. Original bodies, IDs, timestamps and objects remain intact; accessible attribution stays the renderer's responsibility.The existing web implementation is moved byte-for-byte into
core.tsbehind its original entry point; the barrel exports all previous helpers plus the attribution helper. No new dependency, peer-floor change, public package subpath or manual version bump.Documentation
docs/conversation-attribution.mdcovers usage, speaker/thread boundaries, pagination, streaming and accessibility.CHANGELOG.mdrecords Unreleased changes. The generated API documentation/codemap has been regenerated and checked, not left stale. The temporary branch-scoped regeneration workflow was removed after it completed; there is no added write-capable workflow in the final branch diff.Full-checkout verification passed
At
cbaffe49cf1cee16b54b062c96ec4a168c696217:Evidence: https://github.com/tangle-network/agent-app/actions/runs/35031975226 (artifact
pr-verification-594contains source, exact commit and logs/results).Full-checkout checks initially caught stale generated docs and strict test-indexing/assertion conventions. Those were corrected on this same PR; the checks were not disabled or replaced with offline shims.
Actual consumer cutover
https://github.com/drewstone/super-agent/pull/4 replaces its independently maintained grouping body with a hash-verified generated build of this canonical source. Both its existing renderers use that build. Until a published compatible package exists, exact source/build pins keep the app runnable without an invented release version or a second maintained fallback.
Related provider primitives: tangle-network/agent-integrations#304.
Non-draft and ready for review. This does not claim a React migration in SUPER, actual browser/device usability qualification, a live model benchmark, npm publication, or a production deployment. No default AgentProfile or permission policy is changed.