perf: skip the per-skill realpath in skill discovery when no workspace snapshot exists
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 78/100
- Type d'issue
- Refactorisation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- cli, performance
Piste de recherche
Read packages/opencode/src/skill/index.ts, focusing on withoutForeignSnapshots, then run the workspace snapshot attribution tests in test/skill/skill.test.ts. The change is done when discovery avoids unnecessary per-skill realpath work without an existing workspace snapshot, while the covered symlink and fail-closed cases continue to pass.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Found during the v0.12.4 release review. Deferred because it is a small, correctness-preserving optimisation rather than a bug.
withoutForeignSnapshots in packages/opencode/src/skill/index.ts (added in #1377) calls fs.realpath on every skill file discovery finds, on every discovery pass, for every user — including users who have never enabled workspaces and have no .altimate-code/skill/_workspace directory anywhere. For them the check can never withhold anything, so the cost buys nothing.
Suggested fix: skip the realpath pass when no match's path contains a _workspace snapshot segment and no snapshot directory exists under the scanned roots, keeping the current fail-closed behaviour whenever a snapshot is present. The symlink cases covered by the "workspace snapshot attribution" tests in test/skill/skill.test.ts must keep passing.
- Langage dominant
- TypeScript
- Étoiles
- 812
- Forks
- 123
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 97
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de AltimateAI/altimate-code
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
AltimateAI/altimate-code#1454 ·
Les mainteneurs répondent en général sous 1 jour
-
test: MCP tests fail when the developer's ~/.claude.json has MCP servers (HOME is not sandboxed)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
AltimateAI/altimate-code#1386 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
AltimateAI/altimate-code#1384 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
AltimateAI/altimate-code#1323 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
AltimateAI/altimate-code#1288 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de AltimateAI/altimate-code
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
endora-commerce/endora-commerce#397 ·
Les mainteneurs répondent en général sous 1 jour
-
level/task
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
wazuh/wazuh-dashboard-plugins#9472 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
Les mainteneurs répondent en général sous 1 jour
-
ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
xavxyz/bei-shan-lin-shui#57 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
opennextjs/opennextjs-cloudflare#1461 ·
Les mainteneurs répondent en général sous 1 jour