Skip to content

feat(trellis): read-only agent profile view in settings and project pages - #26

Merged
Andrey170170 merged 3 commits into
dev_v2from
trellis-v2/c-profile-view
Oct 3, 2026
Merged

Andrey170170 merged 3 commits into
dev_v2from
trellis-v2/c-profile-view

Conversation

@Andrey170170

Copy link
Copy Markdown
Owner

Trellis v1 Stage C, Lane T3 step 7: read-only agent profile view (design: Trellis docs/v1/agent-profiles.md §3, §8; API: docs/api.md "Agent profiles").

Change

  • RPC trellis.getProfile {target?} (read scope) wraps GET /v1/profile.
    • Decoding is lenient: optional fields, unknown statuses kept as text, unknown fields ignored.
    • An older Trellis gets a message naming the version it needs.
  • Settings → Trellis → Agent profile: the profile with no target, i.e. the agent homes and the global layer.
    • A Claude/Codex toggle and a refresh button sit in the section header.
    • Items are grouped into MCP servers, Skills and Instructions; Plugins and Repository settings appear when present.
    • Each row shows its source layer, a one-line detail (transport and URL or command, or the skill's description), and badges: Needs approval, Needs trust, Not enforced, Not loaded, Approved (with who approved it), Error, "Off in ".
    • Profile errors that no row shows are listed, attributed to the provider being viewed.
    • A failed refresh shows a stale notice beside the cached data.
  • Project settings (Trellis projects): the same view per workspace (a select when the project has live forks).
    • A t3-code row comes first, since T3 gives its own MCP server to both providers.
    • A trusted or untrusted badge, and when the profile was generated ("sessions opened before then run with the earlier profile"), with a warning when Trellis reports it stale.
  • Read-only: no approve, apply or trust controls; those are Stage D.
  • docs/user/trellis.md: one sentence.

Left out

"Changed since the session opened" per thread: a session's open time lives only in each thread's own projection, which the project page doesn't load. The generation time and its rule are shown instead. A per-thread badge in the chat view, which has the projection, is a natural follow-up.

Checks

  • Tests:
    • Trellis.test.ts decodes a realistic untrusted-workspace view (every special state, an unknown status, profile errors), filtering by provider, and the no-target view.
    • TrellisProfile.logic.test.ts covers grouping, badges (approved + off, with and without a layer) and per-provider error attribution.
  • Browser against /trellis/dev-t3 (Trellis 479b13f), with a temporary project-layer profile.toml in an untrusted project, removed afterwards. Screenshots are kept locally: /tmp/stagec-profile-*.png.
  • Local CI: knip:check, vp check, vpr typecheck and release-smoke pass. t3 tests fail only on the known CodexInstallation and AcpSessionRuntime.processTree failures. Package tests fail only on the known desktop libsecret and snapshot file-mode failures (desktop rerun after an Electron install race); client-runtime, relay and mobile pass when run separately. build:desktop fails on the known libsecret helper.
  • Reviews:
    • Codex gpt-6.1-sol: stale profile after a failed refresh, error attribution across providers, Off badge on approved items; fixed.
    • Codex gpt-6-astra: approved instructions that are off; fixed.

🤖 Generated with Claude Code

Andrey170170 and others added 3 commits October 2, 2026 21:24
…ages

Adds trellis.getProfile (GET /v1/profile) with a lenient decoder, and an
Agent profile section: Settings > Trellis shows the agent homes and global
layer, a Trellis project's settings show each live workspace's effective
profile with T3's own t3-code server. Items show their layer and states
(needs approval, needs trust, not enforced, not loaded, error); profile
errors show as warnings. No approve or apply actions yet.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A failed refresh flags the cached profile as possibly out of date; loose
profile errors are matched by layer, item and message against the shown
provider only; a layer's switch shows on approved items too. The server
test's fake filters by provider as Trellis does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T03:57:34.141300Z 0c73f51 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Oct 3, 2026
Andrey170170 added a commit that referenced this pull request Oct 3, 2026
@Andrey170170
Andrey170170 merged commit 2628551 into dev_v2 Oct 3, 2026
8 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant