Skip to content

Commit 36686b7

Browse files
m17keacodex
andauthored
docs: record secure agent transcript viewer goal (#10)
Summary: - document a read-only issue-scoped conversation viewer - define transcript persistence, redaction, retention, and access controls - identify visible app-server event projection as upstreamable work Rationale: - operators need more than the dashboard's latest activity summary - live app-server transports should not be exposed from shared EKS Tests: - make -C elixir all - git diff --check Co-authored-by: Codex <codex@openai.com>
1 parent 20d9fd8 commit 36686b7

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

ACTIVEVIAM.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,49 @@ This is documented future work only. The next multi-repository implementation sh
297297
repository-label routing contract above and should not create subtasks or coordinate deployments
298298
automatically.
299299

300+
## Future goal: secure agent conversation viewer
301+
302+
The current Symphony dashboard is an operational status surface. It shows active issues, session
303+
identifiers, turn counts, token use, retry state, and the latest summarized Codex activity, but it
304+
does not expose the complete visible agent conversation. The issue-detail API reserves a
305+
`codex_session_logs` collection, which is currently empty.
306+
307+
A future dashboard enhancement should provide a read-only, issue-scoped conversation view without
308+
exposing the live Codex app-server transport from EKS.
309+
310+
The target experience is:
311+
312+
~~~text
313+
operator opens a Jira issue from the Symphony dashboard
314+
-> issue page lists implementation and AI-review sessions in chronological order
315+
-> each session shows visible prompts, agent messages, commands, tool calls, and results
316+
-> Jira transitions, pull-request revisions, and validation evidence are correlated on a timeline
317+
-> retained transcripts remain available after the worker pod or workspace is replaced
318+
~~~
319+
320+
Implementation guidelines:
321+
322+
- Capture normalized visible app-server events in `AgentRunner` rather than parsing an unstable
323+
on-disk transcript format.
324+
- Key records by Jira issue, Codex thread and turn, workflow role, repository, and immutable pull-
325+
request commit when available.
326+
- Persist transcripts outside pod-local `emptyDir` storage with explicit retention and deletion
327+
policies.
328+
- Extend `/api/v1/<issue_identifier>` and add a linked LiveView issue page for transcript browsing.
329+
- Stream updates to the page while a session is active, but keep the first version read-only.
330+
- Show user-visible prompts, agent messages, command and tool activity, concise command output, and
331+
validation results. Never expose hidden model reasoning.
332+
- Redact credentials and sensitive environment values before persistence, and cap or separately
333+
store large command output.
334+
- Protect transcript routes with the approved internal authentication and authorization mechanism;
335+
source code, diffs, commands, and Jira content must not become anonymously accessible.
336+
- Record access and retain enough correlation data for operational and compliance investigation.
337+
- Do not expose a pod's app-server WebSocket or stdio transport through the shared ingress. Any
338+
later steering or approval UI requires a separate threat model and explicit authorization.
339+
340+
This is documented future work only. The current dashboard and JSON API remain operational status
341+
surfaces and do not provide a second interactive Codex UI.
342+
300343
## Candidate upstream contributions
301344

302345
Contribute these as small, independent changes rather than proposing the complete ActiveViam
@@ -311,6 +354,7 @@ deployment policy upstream:
311354
| Token-file reread and retry handling | Generic operational hardening with little policy coupling |
312355
| Tracker-neutral issue type names | Follow-up refactor after Jira behaviour is accepted |
313356
| Issue context for workspace hooks | Generic input for safe repository bootstrap without Jira-specific hook logic |
357+
| Read-only session transcript projection | Generic dashboard/API enhancement using visible app-server events |
314358
| Container reference implementation | Offer separately; keep Bedrock, EKS, and ActiveViam defaults out |
315359
| Dashboard instance/role label | Generic improvement for multiple Symphony instances |
316360

0 commit comments

Comments
 (0)