Repository navigation
fix(cli): composition path errors name the resolved entry and project directory - #6458
Merged
Merged
Conversation
Contributor
Edit accuracy: accurate 271 (base branch 271), smooth 161 of thoseThe gate passes. Quarantined, measured but not gated (0) |
Contributor
There was a problem hiding this comment.
Verdict: APPROVE · 0 blocker · 0 important · 1 nit · head d6f78268
- nit:
cloud renderstill sends the rawargs.compositionto the server (commands/cloud/render.ts:299) while the local check now accepts././/absolute spellings and normalizes them to a project-relative entry. Not introduced here, but passingentry.valuethrough would make the server see the path that was validated.
Scope
Read the full diff. The move into utils/compositionEntry.ts is byte-equivalent apart from the new entryPath/projectDir fields and the message wording. The cloud check now goes through parseCompositionEntryArg: default index.html, .→index.html, absolute-inside, and rejecting outside-project entries all behave as intended, and it keeps failCommand. No other importers of the moved symbols. CI on this head is green, including Windows render verification and Comments.
SanHsien
added a commit
to SanHsien/hyperframes
that referenced
this pull request
Oct 26, 2026
Merge 20 more upstream commits (acd0bc3..ad4d3fa, v0.8.205: heygen-com#6403, heygen-com#6363, heygen-com#6209, heygen-com#6395, heygen-com#6424, heygen-com#6426, heygen-com#6442, heygen-com#6430, heygen-com#6402, heygen-com#6435, heygen-com#6439, heygen-com#6449, heygen-com#5436, heygen-com#6455 and docs). No conflicts. Record the 11 open PRs heygen-com#6440-heygen-com#6458 and issue heygen-com#6443 in docs/DECISIONS.md (none adopted), re-check the earlier open PRs, and advance the commit watermark to ad4d3fa, the PR watermark to heygen-com#6458 and the issue watermark to heygen-com#6443. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
What
When
--compositionpoints outside the project, at a missing file, or at a directory, the error now names the path it resolved to and the project directory it was checked against, next to the value that was passed:Why
The old outside-project error printed only the raw value (
Entry file must stay inside the project directory: ../x.html), and the not-found and directory errors said "the project directory" without naming it. Agents reading this error could not tell which directory the path was resolved against, so they retried with the same wrong path. Both resolved paths make the mistake visible in one read.How
CompositionEntryParseErrornow carries the resolvedentryPathandprojectDir, andcompositionEntryErrorMessageis the one place that words all three cases.cloud renderhad its own missing-entry message with the raw values. It now validates through the sameparseCompositionEntryArgand prints through the same message, so it also rejects an entry outside the project before uploading. It keeps its own exit path.--compositionhelpers move fromrenderArgs.tstoutils/compositionEntry.ts, socloud rendercan use them without loading the render engine.renderArgs.tsis otherwise unchanged.Test plan
renderArgs.test.ts: each of the three cases must return the resolved entry path and project directory, and its message must name both.cloud/render.test.ts: a missing entry must print both. 51 passed, 3 runs; with the old message wording and the old cloud check restored, exactly these 4 fail.src/commands/renderplus both files: 215 passed, 3 runs.tsc --noEmitshows no errors in the changed files.render -c ../x.html,render -c missing.htmlandcloud render --composition ../x.html --dry-runprint the messages above.check-cli-lazy-deps(on a fresh CLI build): clean.Why under 100 lines
The behaviour change is about 30 lines across the error type, its message and the cloud check. The rest of the diff is the helpers moving to their own module, unchanged apart from shorter comments.