Skip to content

feat: add support for OhMyPi skills and extra modes - #39

Merged
Fryuni merged 18 commits into
mainfrom
t3code/ohmypi-slash-commands-before-first-turn
Sep 22, 2026
Merged

Fryuni merged 18 commits into
mainfrom
t3code/ohmypi-slash-commands-before-first-turn

Conversation

@Fryuni

@Fryuni Fryuni commented Sep 22, 2026

Copy link
Copy Markdown
Owner

What Changed

Adds two ADRs and a CONTEXT.md glossary covering the OhMyPi integration design:

  • docs/adr/0005-ohmypi-session-toggles-as-provider-options.md: OhMyPi's session toggles (computer use, advisor, prewalk) are modeled as provider options, applied at process launch via CLI flags and a small config overlay rather than slash commands.
  • docs/adr/0006-ohmypi-skills-and-commands-from-acp-probe.md: OhMyPi skills and commands are discovered through an ephemeral ACP probe session instead of replicating omp's on-disk skill scan.
  • CONTEXT.md: glossary entries for provider option, provider setting, and skill to keep the vocabulary consistent across the codebase.

Why

OhMyPi's session toggles never persist to its session file, so a toggle set once by slash commands silently decays whenever T3 Code stops and resumes the session. Persisting them as provider options and re-applying them at every launch makes the desired state exactly what the process was told, while reusing existing traits picker, defaults, and restart-with-resume machinery.

OhMyPi has no CLI to list skills and its own discovery logic is too complex to mirror safely. A throwaway ACP probe reads omp's own available_commands_update view, which stays accurate for both the $ and / menus without drift, and the session directory override keeps probes out of the user's omp resume list.

Checklist

  • This PR is small and focused
  • I explained what changed and why

- ADR 0005: session toggles launch as provider options, not commands
- ADR 0006: skills and commands come from an ephemeral ACP probe
- CONTEXT.md: glossary for provider option, provider setting, and skill
Copilot AI lite review requested due to automatic review settings September 22, 2026 10:53
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 22, 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-09-22T18:09:17.506858Z 9f851c1 New commits
ℹ️ 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.

Copilot AI 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.

Copilot review overview

🟢 Approval recommended

The changes are documentation-only, consistent with existing ADR formatting, and introduce no behavioral or interface changes.

Review effort: Lite
Findings: None

What changed in this PR

Adds architectural documentation for the OhMyPi provider integration, capturing two key design decisions (session toggles as provider options and ACP-based skill discovery) and introducing a small glossary to keep terminology consistent.

Changes:

  • Added ADR 0005 documenting modeling OhMyPi session toggles as persisted provider options applied at process launch.
  • Added ADR 0006 documenting discovering OhMyPi skills/commands via an ephemeral ACP probe session.
  • Added CONTEXT.md glossary entries to standardize “provider option”, “provider setting”, and “skill” terminology.
File Description
docs/​adr/​0005-ohmypi-session-toggles-as-provider-options.md Records the decision to persist and re-apply OhMyPi session toggles as provider options at launch time.
docs/​adr/​0006-ohmypi-skills-and-commands-from-acp-probe.md Records the decision to source skills/commands from a short-lived ACP probe rather than on-disk scanning.
CONTEXT.md Adds a repo-level glossary for provider-integration terms to keep wording consistent across ADRs and code.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@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: ca96849790

ℹ️ 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 thread docs/adr/0005-ohmypi-session-toggles-as-provider-options.md
Comment thread docs/adr/0006-ohmypi-skills-and-commands-from-acp-probe.md
- Probe workspace commands without a session so skills/slash commands appear before the first turn
- Split omp's skill:<name> commands into skills; rewrite $mentions to /skill: prompts
- Apply advisor/computer-use/prewalk toggles via launch config overlays
- Restart sessions only when launch-time options change, per-provider restart option ids
Copilot AI review requested due to automatic review settings September 22, 2026 11:19

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

There is a concrete yield*/?? precedence bug in OhMyPiAdapter.ts that can attempt to yield* undefined when workspaceCatalog is not provided.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity · 1 Low severity

Open (2)

Comment thread apps/server/src/provider/Layers/OhMyPiAdapter.ts Outdated
Comment thread apps/server/src/provider/Drivers/OhMyPiSkillDispatch.ts

@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: 9420eddc1e

ℹ️ 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 thread apps/server/src/orchestration/Layers/ProviderCommandReactor.ts Outdated
@Fryuni Fryuni changed the title docs: record OhMyPi provider option and skill discovery decisions feat: add support for OhMyPi skills and extra modes Sep 22, 2026
- Compare launch-time options strictly so Claude's thinking off and
  OhMyPi's toggles off both restart the session (Codex P1).
- Parenthesize the optional workspace catalog effect so `yield*` never
  receives undefined (Copilot).
- Describe the skill mention pattern accurately against the composer
  chip pattern (Copilot).
- Drop a no-op @effect-diagnostics directive that failed the typecheck.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 22, 2026 11:41

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

The mock ACP agent publishes T3_ACP_AVAILABLE_COMMANDS via a raw JSON.parse without error handling, which can crash the script outside Effect control flow if the env var is malformed.

Review effort: Lite
Findings: 1 High severity · 1 Low severity

Open (2)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Handle malformed T3_ACP_AVAILABLE_COMMANDS JSON without crashing

apps/​server/​scripts/​acp-mock-agent.ts:450

T3_ACP_AVAILABLE_COMMANDS is parsed with JSON.parse without validation; if the env var is malformed, this throws outside the Effect error channel and crashes the mock agent in a hard-to-diagnose way. Wrap the parse in Effect.try (or pre-parse with a try/catch) so failures surface with a clear error message and stay in Effect control flow.

@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: f06cffbe0e

ℹ️ 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 thread apps/server/src/provider/Layers/OhMyPiAdapter.ts Outdated
Wait for the workspace catalog before preparing the first OhMyPi prompt.
The first turn in a fresh workspace could outrun omp's command update and
the probe, sending a $skill mention literally or folding the runtime block
into a command's arguments. The driver now subscribes to its snapshot
before re-checking, bounded by five seconds, and the mock agent can delay
its command update so the race is covered by a test.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 22, 2026 12:14

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

There is a confirmed yield*/?? precedence issue in OhMyPiAdapter that can attempt to yield* an undefined effect when workspaceCatalog isn’t provided.

Review effort: Lite
Findings: 1 High severity · 1 Low severity

Open (2)

@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: 966efb3cef

ℹ️ 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 thread apps/server/src/provider/Drivers/OhMyPiSkillDispatch.ts
Offer "View instructions" only for skills with a filesystem path. OhMyPi
names its skills with its own skill:// scheme, which the composer would
have tried to open as a file. Web and mobile now share one client-runtime
rule for which skill paths are openable.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 22, 2026 12:28

Copilot AI 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.

Copilot review overview

🟢 Approval recommended

The implementation is cohesive, well-tested across server and UI surfaces, and the only noted issue is a small in-code documentation mismatch.

Review effort: Lite
Findings: 1 High severity · 1 Low severity

Open (2)
Previously missed (1)

In code that hasn't changed since last review

Low severity Correct overlay filename comment about toggle coverage

apps/​server/​src/​provider/​OhMyPiSessionOptions.ts:54

The comment claims the overlay filename prevents sharing for “different toggles”, but the overlay only varies with advisor and computerUse (prewalk is not represented in the overlay). This is a small documentation mismatch that could mislead future changes (e.g. assuming prewalk state is encoded in the overlay filename).

State which toggles the launch overlay carries; prewalk travels as a flag.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 22, 2026 12:39

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

The new client helper for opening skill-instruction paths should normalize Windows separators to match the existing “paths use '/' even on Windows” convention, and the current test locks in the inconsistent behavior.

Review effort: Lite
Findings: 1 High severity · 1 Low severity

Open (2)
Previously missed (2)

In code that hasn't changed since last review

Medium severity Update Windows path expectation to use normalized separators

packages/​client-runtime/​src/​providerSkills.test.ts:196

The Windows-path expectation should match the normalized /-separator form returned by resolveProviderSkillInstructionsPath (and used elsewhere in the client).

Medium severity Normalize Windows instruction paths for consistent client handling

packages/​client-runtime/​src/​providerSkills.ts:31

resolveProviderSkillInstructionsPath returns Windows paths with backslashes unchanged, but the rest of the client treats workspace/file paths as /-separated even on Windows (e.g. RightPanel openFile comment and path handling). This can cause the “View instructions” action to open a path the UI/preview layer won’t resolve consistently.

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Unresolved moderate findings remain in context handling, skill-path filtering, restart behavior, and ACP catalog freshness.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 High severity · 1 Medium severity · 1 Low severity

Open (5)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Prevent stale probe results from overwriting live catalog updates

apps/​server/​src/​provider/​Drivers/​OhMyPiDriver.ts:144

Probe and live-session updates share this write path without recording their source. refreshWorkspaceSnapshot starts the probe immediately after startSession returns, so a delayed probe can finish after the session's available_commands_update and overwrite the live catalog with an older snapshot, despite the comment that live data replaces probe data. Track the source/generation or suppress a probe commit once a live update has arrived.

Comment thread packages/shared/src/composerContextReferences.ts Outdated
Copilot AI review requested due to automatic review settings September 22, 2026 13:41

@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: 96e584ebc3

ℹ️ 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 thread apps/server/src/provider/Drivers/OhMyPiSkillDispatch.ts
Comment thread apps/server/src/provider/Drivers/OhMyPiSkillDispatch.ts

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

Unresolved moderate issues remain in catalog consistency, termination handling, URI filtering, and context-envelope detection.

Review effort: Lite
Findings: 3 High severity

Open (3)
Resolved since last review (2)
Previously missed (2)

In code that hasn't changed since last review

Medium severity Probe can overwrite newer live session catalog

apps/​server/​src/​provider/​Drivers/​OhMyPiDriver.ts:144

Both the live-session callback and the probe call this same updater. snapshotForCwd can launch a probe while a newly started live session is still waiting to report its commands, so the probe may finish afterward and overwrite the live catalog for this cwd; whichever process finishes last wins. Keep probe and live sources separate or make the update source-aware so a live notification always wins.

Medium severity Accept only valid multi-character URI schemes

packages/​client-runtime/​src/​providerSkills.ts:35

URI schemes are not limited to two characters. This regex lets a one-character scheme such as x://skill through, so openMention later treats it as a workspace file path; packages/shared/src/composerInlineTokens.ts:46-69 already handles this by matching one-character schemes and exempting Windows drive paths. Reuse that rule here so all scheme identifiers are withheld.

Picking an option closed the menu, so setting thinking, advisor, and
computer use for one thread meant opening it three times. A lone section
still closes on pick, like the model picker.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 22, 2026 16:11

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

Five unresolved moderate review findings remain in skill dispatch, ACP cleanup, probe consistency, and URI filtering.

Review effort: Lite
Findings: 3 High severity

Open (3)
Previously missed (3)

In code that hasn't changed since last review

Medium severity Stale probe overwrites newer live workspace command catalog

apps/​server/​src/​provider/​Drivers/​OhMyPiDriver.ts:143

refreshWorkspaceSnapshot starts probeWorkspace detached before startSession, and both the probe and live adapter call this same recordWorkspaceCommands. If the live session reports its commands first, a slower probe can complete afterward and overwrite the live catalog, despite the comment and ADR that live updates replace probed data. Track the source/generation or reject probe writes once a live update for the cwd has landed.

Medium severity Blocked dispatch still rewrites known skill mentions

apps/​server/​src/​provider/​Drivers/​OhMyPiSkillDispatch.ts:79

This rewrites every known $mention before applying omp's opening-prefix rules. For example, /tmp/x is broken, $grill-me is not dispatchable because the prompt starts with /, but it is still sent as /tmp/x is broken, /skill:grill-me with consumedByCommand: false, changing the user's prose. Guard the rewrite with the same prefix check (while allowing a known leading skill), or leave the body unchanged whenever dispatch is blocked.

Medium severity One-character URI schemes are misclassified as filesystem paths

packages/​client-runtime/​src/​providerSkills.ts:35

URI schemes may legally be one character long (x:...), but this + quantifier requires at least two characters. That makes x://... look like a filesystem path and exposes it via View instructions, contrary to the shared composer parser's one-character scheme rule. Use a * scheme regex plus an explicit Windows drive-path exception.

Copilot AI review requested due to automatic review settings September 22, 2026 16:20

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Unresolved critical and moderate review findings remain.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 4 High severity

Open (4)
Previously missed (1)

In code that hasn't changed since last review

Medium severity URI detection rejects one-character schemes

packages/​client-runtime/​src/​providerSkills.ts:36

This URI check requires at least two characters before :, but URI schemes may be one character. As a result, a provider-reported path such as x:resource is treated as a filesystem path and offered to openMention, unlike the shared parser's any-scheme rule (packages/shared/src/composerInlineTokens.ts:46-69). Use the shared scheme quantifier and explicitly exempt Windows drive paths.

Comment thread apps/server/src/provider/Drivers/OhMyPiDriver.ts Outdated
The probe only timed out while waiting for the command list, so an omp that
hung during the ACP handshake or on session close kept both the probe process
and the caller waiting forever. Every wait is now bounded on its own.

A probe also launches without a thread's provider options, so it sees only the
commands omp's own configuration enables. One that finished after a live
session had already reported could therefore narrow the menu it found. A live
report now claims the workspace for good and a late probe write is dropped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@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: fae0fa1877

ℹ️ 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 thread apps/server/src/provider/Drivers/OhMyPiDriver.ts Outdated
Remembering which workspaces a live session had claimed kept a second set
alongside the snapshots, which are capped at 32. Once a workspace aged out,
its marker stayed behind and rejected the probe that would have refilled it,
leaving that workspace with empty menus for good.

A probe only runs for a workspace with no entry, so an entry that appeared
since can only have come from a live session. Reading it is the whole signal,
and it ages out with the snapshot it belongs to.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Moderate unresolved issues remain around restart detection, catalog lifecycle, termination handling, and URI scheme validation.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
Resolved since last review (4)
Previously missed (4)

In code that hasn't changed since last review

Medium severity Raw undefined/false comparison triggers redundant session restart

apps/​server/​src/​orchestration/​Layers/​ProviderCommandReactor.ts:226

The reactor compares raw selections, but resolveOhMyPiSessionToggles deliberately normalizes both an absent value and false to the same launch state. Consequently, selecting Off for a previously unset OhMyPi toggle changes undefined to false here and restarts/resumes the session even though the generated flags and overlay are identical. Compare effective provider values or carry per-option defaults into the restart capability; raw undefined/false comparison is only correct for providers where omission has different semantics.

Medium severity CWD-only catalogs overwrite commands across concurrent sessions

apps/​server/​src/​provider/​Drivers/​OhMyPiDriver.ts:148

Live catalogs are keyed only by cwd, so the last OhMyPi session to report wins even when multiple threads share a workspace with different advisor/computer/prewalk launch options. A session with fewer enabled commands can therefore overwrite a richer catalog, causing the other thread's menu and $skill dispatch to treat valid commands as unknown. Track catalogs per session/thread or merge/select the catalog for the active session instead of replacing the cwd entry globally.

Medium severity Scheme validation rejects valid one-character URI schemes

packages/​client-runtime/​src/​providerSkills.ts:35

This scheme check requires at least two characters before :, so a valid one-character URI such as a://skills/x is treated as a filesystem path and can be passed to openMention. The shared file-link parser uses the RFC scheme form with * plus an explicit Windows-drive exception (packages/shared/src/composerInlineTokens.ts:46-69); apply the same rule here so external skill identifiers are never offered as files.

Low severity Glossary incorrectly implies skills are discovered on disk

CONTEXT.md:21

This glossary defines every skill as being discovered on disk, but the OhMyPi design added here deliberately discovers skills through ACP and represents them with skill:// identifiers. Keeping this wording makes the new integration contradict its own ADR and can lead future contributors to reintroduce an on-disk scan; describe skills as provider-exposed instruction bundles and leave discovery mechanism/provider invocation unspecified.

Comment thread apps/server/src/provider/Drivers/OhMyPiDriver.ts Outdated
Copilot AI review requested due to automatic review settings September 22, 2026 17:28

@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: e138f2c36e

ℹ️ 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 thread apps/server/src/provider/Layers/OhMyPiAdapter.ts Outdated

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

Unresolved moderate issues remain in catalog isolation, option-aware discovery, prompt handling, and URI validation.

Review effort: Lite
Findings: None

Resolved since last review (1)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Allow one-character URI schemes

packages/​client-runtime/​src/​providerSkills.ts:35

The scheme check requires at least two characters before :, but URI schemes may legally be one character (for example, x://...). A provider-reported one-letter URI would therefore be returned as a filesystem path and offered to open, contrary to this helper's purpose. Detect schemes with * and explicitly allow Windows drive paths (^[a-z]:([\\/\\]|$)) instead.

Launch options gate omp's commands, so two threads in one workspace can
advertise different sets. Prompt preparation read the shared per-cwd
snapshot, so whichever session reported last decided how the other's
`$skill` mentions and slash commands were dispatched. Each session now
keeps the catalog its own omp reported and prepares from that; the
workspace snapshot stays what it was for, the pre-first-turn menu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@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: a3161d1367

ℹ️ 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 thread apps/server/src/provider/Drivers/OhMyPiDriver.ts
Comment thread apps/server/src/provider/Drivers/OhMyPiDriver.ts
Measured against omp 18.2.7: the advertised command list is identical with
computer use on and off, so the comments claiming T3's launch options gate
commands were wrong. The reason the dispatch catalog must follow the session
and not the workspace cache is that the cache is keyed by cwd and written by
whichever probe or session reported last, which a skill or plugin change on
disk can leave disagreeing with the process about to receive the prompt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Fryuni
Fryuni merged commit 28f327b into main Sep 22, 2026
8 checks passed
@Fryuni
Fryuni deleted the t3code/ohmypi-slash-commands-before-first-turn branch September 22, 2026 18:25
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.

2 participants