Skip to content

feat(share): measure local sharing outcomes and document rollout - #7138

Merged
terencecho merged 1 commit into
codex/unified-cli-sharefrom
codex/share-rollout
Nov 7, 2026
Merged

terencecho merged 1 commit into
codex/unified-cli-sharefrom
codex/share-rollout

Conversation

@terencecho

@terencecho terencecho commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Record CLI sharing attempts, authentication, accepted uploads, completed videos, processing, recovery, and existing-link retrieval through the existing telemetry controls. Provide interaction helpers for the local Studio follow-up. Payloads use fixed fields and allowlisted failure categories; they exclude project paths, titles, links, credentials, and raw errors.

Restacked only the telemetry commit onto #7135 after #7137 merged. The source-capture, target-identity, upload-recovery, and explicit video-only safeguards remain inherited from that parent. Recovery is counted before status reconciliation clears saved state, and a completed video is counted even when its review link is disabled. Link reactivation cannot create a first share outside the audience/rollout checks.

Validation at 154d9a8eb:

  • 51 CLI sharing/command tests and 87 sharing-package tests passed.
  • Real telemetry-client tests verify that persisted opt-out changes and both privacy environment variables stop event queueing in a long-lived process.
  • CLI build/typecheck, lint, formatting, comment checks, and all repository commit hooks including Fallow passed.
  • Independent review findings addressed; no remaining concrete findings.
  • Full CI and CodeQL are running on this head.

Local Studio interaction wiring belongs to the subsequent Studio slice. Signed-in end-to-end sharing and production telemetry delivery remain unverified. #7135 stays draft; this PR is ready for review, not queued to merge.

@terencecho
terencecho force-pushed the codex/hyperframes-share-sources branch 2 times, most recently from 05b822b to e21f751 Compare November 4, 2026 04:28
@terencecho
terencecho force-pushed the codex/hyperframes-share-sources branch from e21f751 to 109c0a0 Compare November 4, 2026 04:32
@terencecho
terencecho force-pushed the codex/hyperframes-share-sources branch from 109c0a0 to e295ce2 Compare November 4, 2026 05:47
@terencecho
terencecho force-pushed the codex/hyperframes-share-sources branch from e295ce2 to 3694130 Compare November 5, 2026 19:04
@terencecho
terencecho force-pushed the codex/share-rollout branch 2 times, most recently from 93d025d to 734e2f3 Compare November 5, 2026 22:33
@terencecho
terencecho force-pushed the codex/hyperframes-share-sources branch 2 times, most recently from 6ec6d5a to 95e550d Compare November 7, 2026 00:56
Base automatically changed from codex/hyperframes-share-sources to codex/unified-cli-share November 7, 2026 01:59

terencecho commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@terencecho
terencecho marked this pull request as ready for review November 7, 2026 02:07

@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 154d9a8eb1ca9d9cf2e41b6fa1f48a21412dbd0c, the six-file increment over #7135 at ce7aabdcdf5e47805a9699482179570abd2e6637 (verified ancestor and tree-identical to the previously reviewed #7137 head 8a3a0cc3a1d7e3207f734ea66016e98c92fee419).

No blocking findings. service.ts:45 captures recovery before reconciliation clears pending state; telemetry.ts:65 deduplicates admission per attempt, and complete counts a ready video from the kernel's onAdded callback even when its link is disabled. Status polling and existing-link retrieval do not count new videos. New payloads contain surface/action enums, a random attempt UUID, a recovery boolean, fixed failure categories, or the declared interaction enum fields; no path, title, link, token or raw error is forwarded. Emission refreshes the existing persisted/privacy-env opt-out controls. Its config-read, posture-reset and trackEvent calls are inside the fail-silent boundary; mutation failures are rethrown unchanged.

Read all six changed files, the CLI consumer, and kernel upload/completion/reconciliation boundaries; independently adversarially checked retry, disabled-link and failure scenarios. Validation: full bun run build passed; Node 22 vitest run src/share src/commands/share.test.ts passed 51 tests across 7 files, including actual telemetry-client opt-out tests; node --test tests/*.test.mjs in packages/share passed 87 tests. Service tests mock render/upload execution; kernel tests exercise their own boundary fakes. Studio interaction helpers are scaffolding for the next slice, not wired UI instrumentation. No signed-in end-to-end sharing or production telemetry delivery exercised; standard client identity enrichment remains existing behavior.

Need: yes · Size: ok · Reuse: existing telemetry client/config and share kernel callbacks · Simpler: already minimal · Structure: fine
Risk: low — bounded observability increment with existing consent and sharing guards preserved.

— hf-review

Verdict: APPROVE
Reasoning: The increment separates attempts, upload admission, completed videos and link retrieval without introducing private share data or altering upload outcomes.

@terencecho
terencecho merged commit f78dca1 into codex/unified-cli-share Nov 7, 2026
64 of 65 checks passed
@terencecho
terencecho deleted the codex/share-rollout branch November 7, 2026 02:28
sanetrawiley-sys pushed a commit to sanetrawiley-sys/hyperframes that referenced this pull request Nov 11, 2026
…7135)

* feat(cli): share rendered videos through unified reviews (heygen-com#7135)

* feat(share): attach editable project sources to reviews (heygen-com#7137)

* feat(share): measure local sharing outcomes (heygen-com#7138)

* feat(cli): stage the sixty-day publish transition (heygen-com#7136)

* feat(studio): share review pages from local preview (heygen-com#7140)

Advertise the CLI sharing bridge before bootstrapping it so standalone Studio does not
request unsupported routes. Preserve origin and session checks.

Budget the intended sharing artifact: clean main packs at 8,060,519 bytes versus
8,162,979 with sharing (8,169,168 in CI). Required policy and Unicode tables, bundled
sharing code, and Studio controls account for the growth. Set the packed-only budget
to 8,577,627, following the 5% headroom convention; retain the unpacked cap and all
package checks.

* fix(share): persist refusals and improve CLI retry feedback

* fix(ci): restore render diagnostics and include sharing workspace

* fix(cli): keep sharing owner error codes stable

* fix(share): clarify update feedback and align audience changes

* fix(share): clarify updates and avoid scratch-file rerenders

* fix(cli): report active shares and preserve update channels

* fix(cli): resolve update channel when checking registry

* fix(ci): refresh sharing package budgets after rebase

* fix(share): require consent before uploading project files
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.

2 participants