feat: silent visual defaults and host-adaptive config locations - #20
Merged
Merged
Conversation
Silent by default: the dashboard widget and its footer status line were installed automatically in active repositories. Users who only want the tools now get exactly that — dashboard.enabled defaults to false, so nothing is drawn on screen until it is enabled explicitly; watch notifications still follow dashboard.notifications independently. Host-adaptive config: config paths were hardcoded to ~/.pi/agent and <cwd>/.pi. Under omp the toolkit now prefers the active agent directory (~/.omp/agent) and the project .omp/ directory, falling back to the legacy .pi locations when they already hold a config so existing shared setups keep working on upgrade. pi behavior is unchanged. The host context is resolved once at session start in the extension entry, which keeps config.ts free of pi-coding-agent imports (they would drag optional dependencies into the test graph). Verified live on both hosts: omp resolves the legacy shared config and activates in-repository (forgejo_context current reports the resolved repo), pi regression unchanged; vitest 212/212.
The Node 22 build/import smoke test follows runtime imports; importing pi-coding-agent from the extension entry dragged its optional pi-server dependency into the bundle and broke the build. pi sets PI_CODING_AGENT=true for extensions and omp does not, so the host and agent directory are now derived purely from the environment (PI_CODING_AGENT / PI_CODING_AGENT_DIR / OMP_PROFILE), with no module import at all.
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.
Silent by default
The dashboard widget and its footer status were installed automatically in active repositories. This PR makes visual silence the default:
dashboard.enableddefaults to false — a repository still activates tools and skills, but nothing is drawn on screen (no widget, no footer status) until the dashboard is enabled explicitlyinstallWidget), so a single default silences bothdashboard.notificationsindependently — functional wakes are unaffectedHost-adaptive config locations
Config paths were hardcoded to
~/.pi/agent/forgejo.jsonand<cwd>/.pi/forgejo.json. Under omp (the pi-mono fork):~/.omp/agent) and project.omp/directory are preferred.piconfig keeps working unchanged, so shared pi/omp setups do not break on upgradeThe host context (
isOmp,getAgentDir()) is resolved once at session start in the extension entry and injected into config.ts — keeping config.ts free of pi-coding-agent imports that would drag optional dependencies into the test graph.Verification
tsc --noEmitcleanforgejo_context current→sentirum:sentirum/agent-cortex), no widget/status