Skip to content

fix(cli): spaced-path hint takes the longest path and reads --flag=value; telemetry docs name the reverse session id - #7452

Merged
WaterrrForever merged 1 commit into
mainfrom
miao/rav-nits
Nov 9, 2026
Merged

WaterrrForever merged 1 commit into
mainfrom
miao/rav-nits

Conversation

@WaterrrForever

Copy link
Copy Markdown
Collaborator

Follow-ups from review on #7443 and #7444.

Changes

  • The spaced-path hint names the longest path. It used to return the first run of words that existed on disk, so a Final Cut/ folder hid Final Cut export.mp4. It now keeps the longest match.
  • --flag=value gets the hint too. --compare=my clip.mp4 arrives as --compare=my and clip.mp4. The value after = now starts a run, the same as a separate flag value.
  • The telemetry docs name what feat(cli): reverse and templates report their own runs; commands say which skills are installed #7444 added. The collection list in docs/packages/cli.mdx now says which skill a reverse start or templates pull ran for, and that a recorded reverse run carries its HeyGen session id (so a retry counts once). The paragraph below it says "Nothing else personal is added", so the list has to be complete.

Tests

reject-extra-positionals.test.ts: a ref one/ folder sits next to ref one take.mp4, so every case also checks that the folder no longer shadows the file. A third case covers the --compare= form. All 5 pass.

🤖 Generated with Claude Code

…lue; telemetry docs name the reverse session id

Follow-ups from review on #7443 and #7444:
- The quote hint returned the first run of words that existed, so a
  "Final Cut/" folder hid "Final Cut export.mp4". It now names the longest.
- "--compare=my clip.mp4" got no hint; the value after = now starts a run.
- The telemetry section lists the skill a reverse or templates command ran
  for, and the HeyGen session id a recorded reverse run carries.
@mintlify

mintlify Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
hyperframes 🟢 Ready View Preview Nov 9, 2026, 3:21 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@jrusso1020 jrusso1020 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at b5ec1f2f93f7caabbfa27d1d1b6af28fdc237172. No blocker found.

utils/reject-extra-positionals.ts:49–70 now retains the longest existing joined candidate and starts a candidate from a flag’s value after =. The change remains on the usage-error diagnostic path; it neither rewrites parsed arguments nor changes command execution. Source-traced its leaf-command caller and the existing JSON/stderr and exit-2 behavior. docs/packages/cli.mdx:2310–2312 now discloses authoring skill and recorded reverse session ID, matching trackSkillCommandRan and its command callers.

Nit — clarify aggregation: the parenthesis “so a retry counts once” would be more precise as “so recorded runs can be deduplicated by session ID.” Commands still emit each observation; consumers must count distinct nonempty session IDs. This is wording precision, not a new runtime counting defect.

Validation: Gated Vitest focused helper suite: 5 passed; replacing the helper with origin/main’s predecessor gives 3 failures / 2 passing controls, then the reviewed source was restored byte-for-byte. The fixture uses the PR’s assertions and actual helper, substituting only an unrelated audio-command object to avoid the borrowed dependency graph. Fresh independent adversarial source pass found no additional blocker. No full build, spawned CLI or live analytics validation claimed.

Need: yes · Size: ok · Reuse: existing resolveExtraPositionals, usage errors and telemetry producer contract · Simpler: already minimal · Structure: fine (checked existing resolveExtraPositionals, usage errors and telemetry producer contract; no split)
Risk: low — diagnostic selection and documentation only.

Verdict: APPROVE
Reasoning: The path-hint gaps are covered by discriminating regressions, and the disclosure names the emitted fields.

— Rames / hf-review

@jerrai-bot-heygen jerrai-bot-heygen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed exact head b5ec1f2f93f7caabbfa27d1d1b6af28fdc237172. The diagnostic now retains the longest existing joined path instead of stopping at a shorter directory, and extracts the value after = for split flag values. The fixture places a shorter existing directory beside the intended longer file and covers positional, separate flag-value, and equals forms. This remains a usage-error hint; parsed command arguments are not rewritten. The telemetry disclosure names the emitted skill and the recorded reverse session ID. No blocker found.

Wording nit: “so a retry counts once” is contingent on the analytics consumer counting distinct nonempty session IDs; the CLI still emits each command observation, and signed-out attempts have no session ID. “So recorded runs can be deduplicated by session ID” would be more precise. CLI CI shards and docs validation were still running at my check, independent merge gates; skipped checks were not treated as tests. No local test or merge/enqueue by reviewer.

— Jerrai

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Edit accuracy: accurate 267 (base branch 267), smooth 99 of those

The gate passes.
Smoothness is reported in the artifact, not gated. A case fails only if it fails 2 of 3 runs.

Quarantined, measured but not gated (8)

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review at b5ec1f2f. This follows up on the nits from #7443 and #7444. Rames and Jerrai approved at this head; this adds to their reviews.

  • reject-extra-positionals.ts:55-65: spacedPath now keeps the longest existing join across every start, so a Final Cut/ folder no longer shadows Final Cut export.mp4. The updated test makes ref one/ a real directory beside ref one take.mp4 and pins the longer name. That is the exact shadowing case.
  • runStart handles --flag=value by joining from the value, and returns "" for a bare flag, so a flag name never starts a run. The new a flag=value case pins it.
  • cli.mdx:2310: the telemetry list now names which skill reverse start or templates pull ran for, and the HeyGen session id of a recorded reverse run.

Nits (non-blocking):

  • The comment "the longest run of them that is a file names it" now sits above runStart, not spacedPath. It also says file, but existsSync accepts a directory. Only a directory longer than every matching file would change the hint, so this is wording only. Move the comment down a function, and say "path" or switch to statSync(...).isFile().
  • cli.mdx: "so a retry counts once" overstates what the CLI does, as Rames and Jerrai noted. The session id lets a consumer dedupe recorded runs, while each attempt is still sent, and a signed-out one carries no id. "so recorded retries can be counted once" would be exact.

CI at this head: 71 success / 15 skipped, none failed or pending, including CLI smoke (required).

Verdict: APPROVE
Reasoning: Both spaced-path gaps are closed and pinned by tests that fail on the previous head's behavior, and the disclosure now covers the new fields. What's left is wording.

@WaterrrForever
WaterrrForever added this pull request to the merge queue Nov 9, 2026
Merged via the queue into main with commit 3a24da8 Nov 9, 2026
86 checks passed
@WaterrrForever
WaterrrForever deleted the miao/rav-nits branch November 9, 2026 16:06
SanHsien added a commit to SanHsien/hyperframes that referenced this pull request Nov 9, 2026
…n-com#7110, heygen-com#7000; advance watermark

Eight commits, PR heygen-com#7452 and ten pin moves are recorded with their evidence
in the continued ledger, DECISIONS and UPSTREAM. Adopted: heygen-com#7249 (template
entries detected structurally), heygen-com#7110 (whisper nan/inf output), heygen-com#7000
(engine probe test on fake timers). Deferred: heygen-com#7444, heygen-com#7452. Not applicable:
heygen-com#7257, heygen-com#7443, heygen-com#7450. The watermark moves to c149730, PR heygen-com#7452, and the
nine moved pins plus heygen-com#7434 are re-pinned at their current heads.

Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
@miguel-heygen miguel-heygen mentioned this pull request Nov 9, 2026
3 of 4 tasks

This branch was successfully deployed

1 active deployment
staging - docs — b5ec1f2f Deployed Nov 9, 2026 by mintlify[bot]
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.

4 participants