Skip to content

[codex] add agent approval protocol and work console trust surface#9

Merged
redsunjin merged 12 commits into
mainfrom
codex/work-console-feature
Jun 23, 2026
Merged

[codex] add agent approval protocol and work console trust surface#9
redsunjin merged 12 commits into
mainfrom
codex/work-console-feature

Conversation

@redsunjin

Copy link
Copy Markdown
Owner

Summary

  • Adds the VU-001 Work Console session core, hook installer, and goal-level orchestration roadmap.
  • Introduces the Agent Registry, ApprovalRequest store, ApprovalDecision polling and ack API, and decision-separated executor boundary.
  • Adds the Work Console Agent Trust surface with connected agent, heartbeat, latest request, decision delivery, and executor status visibility.

Validation

  • 2026-06-23: npm run qa
  • Server regression: 41 tests passed
  • UI regression: 23 tests passed
  • Production build completed through the QA script

Notes

  • Branch is pushed as codex/work-console-feature.
  • Existing untracked handoff docs are intentionally left out of this PR.

@redsunjin redsunjin marked this pull request as ready for review June 23, 2026 14:33

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1e82e5e581

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +111 to +114
fetch(`${apiBase}?limit=${SESSION_RENDER_LIMIT}`, {
method: 'GET',
signal: controller.signal,
})

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include auth headers in Work Console requests

The new /api/work-sessions routes all enforce isRequestAuthorized, but this hook never sends the saved maestro.server.api-token like the other protected dashboard hooks do. In deployments with MAESTRO_SERVER_TOKEN enabled, this initial list request returns 401, and create/send/close use the same unauthenticated pattern, so the Work Console cannot load or manage sessions from the dashboard.

Useful? React with 👍 / 👎.

Comment thread maestro-server.js
Comment on lines +2121 to +2122
const existing = approvalDecisionsByRequestId.get(requestId) || null;
if (existing) return existing;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow later operator decisions to replace stale ones

Because this returns the first decision unconditionally, any later operator action for the same request is ignored. A concrete path is an APPROVE whose merge executor fails: markApproveFinished puts the request back in READY and the UI exposes it for another action; if the operator then rejects it, the REJECT handler calls storeApprovalDecision, but this early return leaves the polling endpoint serving the stale approve/merge decision to the agent instead of the rejection.

Useful? React with 👍 / 👎.

@redsunjin redsunjin merged commit 9c3baba into main Jun 23, 2026
1 of 2 checks passed
@redsunjin redsunjin deleted the codex/work-console-feature branch June 23, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant