fix(dojoos-api-consumer): repair the broken local OpenAPI spec paths (DOJ-6634) - #7
fix(dojoos-api-consumer): repair the broken local OpenAPI spec paths (DOJ-6634)#7lapc506 wants to merge 1 commit into
Conversation
…(DOJ-6634) Two absolute local paths still named `dojo-documentation`, which no longer exists on disk — the local checkout was renamed with the repo. Unlike the other two repos in this sweep, these are filesystem paths, and a filesystem has no rename redirect. They are broken now, not stale: /home/…/dojocoding/dojo-documentation/public/openapi.yaml BROKEN /home/…/dojocoding/dojocoding-docs/public/openapi.yaml EXISTS (64901 bytes) Nobody reported it because line 99 is guarded with "if the file exists" and the next step is a live WebFetch of docs.dojocoding.io. The agent degrades gracefully: step 1 silently never fires, step 2 succeeds, everything looks fine. A silent fallback that never fires is indistinguishable from one that works, which is exactly how this survived the rename. What was actually lost is the reason to fix it: every session pays a network round trip the local mirror existed to avoid, and the offline path is gone — if docs.dojocoding.io is unreachable the agent now falls through to `STATUS: ERROR — OpenAPI spec unreachable`, where the mirror would have carried it. Two lines. The six remaining `dojo-documentation` mentions in this repo are prose or repo-relative rather than absolute paths, including line 365's "the dojo-documentation platform", and are left for the separate cosmetic pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
✅ Approved
Approved — 0 blockers, 1 P3. Confidence: 4.80/5.00.
Walkthrough
main branch directly. Per standard GitFlow, PRs should target develop before merging to main. Since this repository has no develop branch and default-targets main, this warning is advisory and does not block approval.
Walkthrough
This PR corrects the absolute local fallback paths for the OpenAPI spec in the dojoos-api-consumer agent definition to match the newly renamed dojocoding-docs repository name.
Reviewed Files
agents/dojoos-api-consumer.md
Safety Rationale
The change is completely safe because the absolute path is checked conditionally ("if the file exists") and seamlessly falls back to a live network fetch of the spec if the local mirror is not found.
Approved — 0 blockers, 1 P3.
🔵 P3 — Minor
agents/dojoos-api-consumer.md:100— 🔵 P3 (minor) — The absolute local fallback path is specific to a single developer's machine structure (/home/kvttvrsis/...). If other team members run or develop this plugin locally, the absolute path lookup will fail for them, meaning they won't benefit from local offline mirroring. This forces them to fall back to live network fetches each time, which is slower and won't work in offline scenarios. We could add a sibling relative path fallback check (e.g.,../dojocoding-docs/public/openapi.yamlor checks relative to~) to make the setup portable across development environments.
[pass 1]
Total findings: 1 business context (1 total)
|
|
||
| 1. **Local fallback**: `Read` `/home/kvttvrsis/Documentos/GitHub/dojocoding/dojo-documentation/public/openapi.yaml` if the file exists. | ||
| 1. **Local fallback**: `Read` `/home/kvttvrsis/Documentos/GitHub/dojocoding/dojocoding-docs/public/openapi.yaml` if the file exists. | ||
| 2. **Live fetch**: `WebFetch` `https://docs.dojocoding.io/openapi.yaml` with the prompt `"Return the full raw YAML content verbatim, no summarization"`. |
There was a problem hiding this comment.
🔵 P3 (minor) — The absolute local fallback path is specific to a single developer's machine structure (/home/kvttvrsis/...). If other team members run or develop this plugin locally, the absolute path lookup will fail for them, meaning they won't benefit from local offline mirroring. This forces them to fall back to live network fetches each time, which is slower and won't work in offline scenarios. We could add a sibling relative path fallback check (e.g., ../dojocoding-docs/public/openapi.yaml or checks relative to ~) to make the setup portable across development environments.
[pass 1]
Summary
agents/dojoos-api-consumer.mdstill nameddojo-documentation, a directory that no longer exists on disk.Linear Issue
DOJ-6634
Measured
The local checkout was renamed along with the repository, so the old directory is simply gone.
Why nobody reported it
Line 99 is step 1 of the spec-resolution order and is guarded with "if the file exists". Step 2 immediately after it is a live
WebFetchofhttps://docs.dojocoding.io/openapi.yaml.So the agent degrades gracefully: step 1 silently never fires, step 2 succeeds, and everything appears to work. A silent fallback that never fires is indistinguishable from one that works — which is exactly how this survived the rename with no error, no log line, and no ticket.
What is actually lost, and the reason to fix it rather than shrug:
docs.dojocoding.iois unreachable the agent now falls through to step 3,STATUS: ERROR — OpenAPI spec unreachable, where the mirror would previously have carried it.The change
Scope — why only two lines
Six other
dojo-documentationmentions remain in this repo and are deliberately untouched:CHANGELOG.md×2,README.md,skills/stage-tracker/SKILL.md,skills/startup-intake/SKILL.md, andagents/dojoos-api-consumer.md:365("the dojo-documentation platform"). All are prose or repo-relative references, not absolute filesystem paths, so none of them is broken. They belong to the separate cosmetic pass.Verified after the change:
git grep -c dojo-documentationreturns exactly those 6.Base branch
Targets
main, this repository's default. Checked rather than assumed — this repo has nodevelop.Reviewer note on provenance
This change was initially briefed to me as "do not touch these — the local directory still has the old name, so updating them would break them today." Re-measuring showed the opposite, and the brief's author confirmed it after checking.
The brief was true when it was written and expired before it was acted on: the directory did exist under the old name earlier that day and was renamed afterwards. Worth recording because a measurement with no timestamp reads as current forever — that, rather than the two-line diff, is the transferable part.
Created by Claude Code on behalf of @lapc506