Repository navigation
feat(trellis): read-only agent profile view in settings and project pages - #26
Merged
Merged
Conversation
…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>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
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
trellis.getProfile {target?}(read scope) wrapsGET /v1/profile.t3-coderow comes first, since T3 gives its own MCP server to both providers.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
Trellis.test.tsdecodes a realistic untrusted-workspace view (every special state, an unknown status, profile errors), filtering byprovider, and the no-target view.TrellisProfile.logic.test.tscovers grouping, badges (approved + off, with and without a layer) and per-provider error attribution./trellis/dev-t3(Trellis 479b13f), with a temporary project-layerprofile.tomlin an untrusted project, removed afterwards. Screenshots are kept locally:/tmp/stagec-profile-*.png.knip:check,vp check,vpr typecheckandrelease-smokepass.t3tests fail only on the knownCodexInstallationandAcpSessionRuntime.processTreefailures. 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:desktopfails on the known libsecret helper.🤖 Generated with Claude Code