path-types

par openai

Choisissez les types Rust pour les chemins du système d'exploitation dans le dépôt Codex. Utilisez lors de la définition de nouveaux types porteurs de chemins ou de la migration explicite de types existants.

npx skills add https://github.com/openai/codex --skill path-types

Path Types

Apply this guidance when defining new types. Change existing code only when explicitly requested, and keep edits minimal and proportional. Treat these rules as the target state of an ongoing migration; if compliance is difficult, ask the user how to proceed.

  • In app-server protocol types, use LegacyAppPathString for backwards compatibility during the URI migration. At the protocol boundary, convert it to PathUri and use PathUri internally. For host-local logic, such as some config values, use AbsolutePathBuf or PathBuf instead.
  • In exec-server protocol types, use PathUri. Internally, use PathUri or AbsolutePathBuf as appropriate.
  • In dependencies shared by both servers, use PathUri or separate APIs that decouple their use cases.
  • Tool call arguments that the model is expected to generate should be deserialized as regular Strings with feature-specific path handling code.

Migration requirements

Keep these requirements in mind while migrating code to conform with the above guidelines:

  • existing app-server clients keep sending and receiving legacy native-path strings
  • app-server can retain and manipulate foreign-platform path URIs
  • exec-server APIs use file:// URIs
  • local-only operation must not change model-visible text
  • model tool arguments may contain raw relative or absolute paths for any OS
  • path reasoning must work before the related environment has come online
  • URIs cannot explicitly encode the executor’s path convention or operating system
  • users must not configure the environment’s OS/path convention explicitly
  • URIs should not yet be stored in rollouts, databases, or other persistent storage
  • path conversion errors: fail-closed for security-relevant paths, fail-open for UI/diagnostics
  • prefer small focused methods on PathUri or LegacyAppPathString over local helpers
  • represent PathUri values as URIs in diagnostics

It is OK if the conversion between paths and URIs is somewhat lossy as long as it will do the right thing for real users.

Migrating to URIs should not add significant new failure modes. We will need to surface errors in some places that were previously infallible but it should be kept to a minimum.

Plus de skills de openai

release
openai
Créez une version Symphony en incrémentant la version validée, en la fusionnant, en taguant le commit fusionné et en vérifiant le workflow de publication Burrito. Utilisez lorsque l'on vous demande de…
signing-entitlements
openai
Inspectez les problèmes de signature, d’entitlements, de runtime renforcé et de Gatekeeper pour les applications macOS. Utilisez lorsque l’on vous demande de diagnostiquer des échecs de signature de code, des entitlements manquants,…
building-ai-agent-on-cloudflare
openai
Construit des agents IA sur Cloudflare en utilisant le SDK Agents avec gestion d'état, WebSockets en temps réel, tâches planifiées, intégration d'outils, et chat…
epigraphdb-skill
openai
Soumettre des requêtes compactes à l'API EpiGraphDB pour l'ontologie, la littérature, la MR, les gènes-médicaments et les preuves de voies de soutien. Utiliser lorsqu'un utilisateur souhaite des résumés concis d'EpiGraphDB.
runtime-behavior-probe
openai
Planifier et exécuter des investigations sur le comportement d'exécution avec des scripts de sonde temporaires, des matrices de validation, des contrôles d'état et des rapports axés sur les résultats. Utiliser uniquement lorsque…
deep-security-scan
openai
À utiliser lorsque l’utilisateur demande une analyse de sécurité Codex approfondie, exhaustive, multi-passes ou réduisant la variance, à l’échelle du dépôt ou sur un chemin ciblé. Exécutez des passes indépendantes répétées…
define-security-policy
openai
Définir, réviser ou mettre à jour les directives SECURITY.md pour un dépôt ou un composant. À utiliser lorsque l’utilisateur souhaite clarifier ce que Codex Security doit examiner, ce qui est hors…
validation
openai
À utiliser lorsque Codex est déjà dans la phase de validation d'un scan de sécurité ou que l'utilisateur demande explicitement de déterminer si une ou plusieurs conclusions de sécurité candidates…