Skip to content

fix(selfhost): auto-generate self-host secrets instead of empty placeholders#7196

Merged
JSONbored merged 1 commit into
mainfrom
worktree-selfhost-secret-generation-tooling
Jul 18, 2026
Merged

fix(selfhost): auto-generate self-host secrets instead of empty placeholders#7196
JSONbored merged 1 commit into
mainfrom
worktree-selfhost-secret-generation-tooling

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • scripts/selfhost-init-secrets.sh used to create empty placeholder files for every Docker Compose secret — the operator still had to manually run openssl rand -hex 32 and paste a value into each one before the app would boot.
  • For the seven secrets no external party has to agree on beforehand (github_webhook_secret, loopover_api_token, loopover_mcp_token, internal_job_token, selfhost_setup_token, token_encryption_secret, draft_token_encryption_secret), the script now generates a real random value the first time the file is missing or still empty — same idempotent/non-destructive guard as before ([ ! -e "$path" ] || [ ! -s "$path" ]), so a file that already has real content is never touched again.
  • The four externally-issued secrets (GitHub App private key, Orb enrollment secret, PagerDuty routing key, Claude Code OAuth token) are unaffected — there's no value this host could generate that would actually work against those external services, so they still get an empty placeholder exactly as before.
  • Updates the docs/env-var comments (.env.example, .env.selfhost.example, secrets/README.md, self-hosting-quickstart.mdx, self-hosting-security.mdx) that described the old manual step.

Closes #4928

Test plan

  • Manually ran the updated script end-to-end in a scratch directory: first run generates 7 distinct 64-char-hex secrets + creates 4 empty external placeholders; second run is a true no-op on the generated files (byte-identical content, confirmed via diff) and only re-heals the mode on the still-empty external placeholders, matching the pre-existing idempotency contract
  • npm run typecheck — clean (this change touches no TypeScript)
  • npm run docs:drift-check — passes
  • npm run test:ci (full local gate, unsharded) — green
  • UI Evidence — not applicable, no frontend/UI change (shell script + docs only)

scripts/** and *.mdx/*.example/*.md are outside Codecov's src/** patch-coverage scope, so this PR carries no coverage obligation.

…holders

scripts/selfhost-init-secrets.sh used to create empty placeholder files for
every Docker Compose secret, requiring the operator to manually run
`openssl rand -hex 32` and paste a value into each one before the app would
boot.

For the seven secrets no external party has to agree on (webhook secret,
bearer tokens, encryption master keys), generate a real random value the
first time the file is missing or empty. The four externally-issued secrets
(GitHub App private key, Orb enrollment secret, PagerDuty routing key,
Claude Code OAuth token) are unaffected -- there's no value this host could
generate that would actually work, so they still get an empty placeholder.

Updates the docs and env-var comments that described the old manual step.

Closes #4928
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
loopover-ui 2a90817 Commit Preview URL

Branch Preview URL
Jul 18 2026, 10:34 AM

@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 608 bytes (0.01%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
loopover-ui 7.57MB 608 bytes (0.01%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: loopover-ui

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/add-scalar-classes-C6NBaZFs.js (New) 2.17MB 2.17MB 100.0% 🚀
assets/tanstack-vendor-B3VZMW5a.js (New) 804.85kB 804.85kB 100.0% 🚀
assets/docs.fumadocs-spike-api-reference-1KB_NUEv.js (New) 442.94kB 442.94kB 100.0% 🚀
assets/AgentScalarChatInterface.vue-DIgAoap8.js (New) 201.71kB 201.71kB 100.0% 🚀
assets/modal-C7x_ZA8z.js (New) 184.28kB 184.28kB 100.0% 🚀
assets/client-CCcZNlkt.js (New) 146.06kB 146.06kB 100.0% 🚀
assets/maintainer-panel-E60yFhjV.js (New) 78.53kB 78.53kB 100.0% 🚀
assets/ui-vendor-BTY3jOWI.js (New) 57.05kB 57.05kB 100.0% 🚀
assets/self-hosting-security-D7s8ACDC.js (New) 38.89kB 38.89kB 100.0% 🚀
assets/routes-Do_u-Ldg.js (New) 34.29kB 34.29kB 100.0% 🚀
assets/owner-panel-Z2-Le6rc.js (New) 26.89kB 26.89kB 100.0% 🚀
assets/app-EJ9QL0jo.js (New) 25.65kB 25.65kB 100.0% 🚀
assets/self-hosting-quickstart-BY1Ig_zu.js (New) 24.32kB 24.32kB 100.0% 🚀
assets/app.runs-BR-_fxi6.js (New) 23.55kB 23.55kB 100.0% 🚀
assets/miner-panel-CuXgbdyp.js (New) 20.25kB 20.25kB 100.0% 🚀
assets/docs-source-CE96UxXa.js (New) 19.3kB 19.3kB 100.0% 🚀
assets/api._op-Dw34OPVg.js (New) 17.82kB 17.82kB 100.0% 🚀
assets/self-hosting-docs-audit-kJM-LpOv.js (New) 16.73kB 16.73kB 100.0% 🚀
assets/app.index-DAx32cFF.js (New) 15.62kB 15.62kB 100.0% 🚀
assets/playground-panel-Ep-aHodE.js (New) 14.35kB 14.35kB 100.0% 🚀
assets/extension-CeZnFQjC.js (New) 10.04kB 10.04kB 100.0% 🚀
assets/app.config-generator-BV9YYjxg.js (New) 9.86kB 9.86kB 100.0% 🚀
assets/app.audit-dgGtH43V.js (New) 9.54kB 9.54kB 100.0% 🚀
assets/maintainers-VLmvrba3.js (New) 8.06kB 8.06kB 100.0% 🚀
assets/miners-CmLi6fCh.js (New) 7.89kB 7.89kB 100.0% 🚀
assets/agents-CvJWgWhU.js (New) 7.76kB 7.76kB 100.0% 🚀
assets/commands-panel-Cub6tlUe.js (New) 6.63kB 6.63kB 100.0% 🚀
assets/roadmap-Dc1V3_6x.js (New) 6.33kB 6.33kB 100.0% 🚀
assets/repos._owner._repo.quality-CM-h2lWZ.js (New) 6.14kB 6.14kB 100.0% 🚀
assets/digest-panel-DVgCp0IX.js (New) 6.14kB 6.14kB 100.0% 🚀
assets/docs.index-DTtjaeMe.js (New) 5.42kB 5.42kB 100.0% 🚀
assets/api.index-Dcc8bB3K.js (New) 4.74kB 4.74kB 100.0% 🚀
assets/api-BPX_I4Xx.js (New) 2.69kB 2.69kB 100.0% 🚀
assets/docs-y-P8shQp.js (New) 2.67kB 2.67kB 100.0% 🚀
assets/app.workbench-k95FuuXt.js (New) 1.58kB 1.58kB 100.0% 🚀
assets/tooltip-CXKxZBm5.js (New) 1.45kB 1.45kB 100.0% 🚀
assets/session-oNrB5qjT.js (New) 1.44kB 1.44kB 100.0% 🚀
assets/tabs-CmmZWFgk.js (New) 1.39kB 1.39kB 100.0% 🚀
assets/app.repos-DLZPdHOG.js (New) 1.07kB 1.07kB 100.0% 🚀
assets/input-Dut-5v9n.js (New) 796 bytes 796 bytes 100.0% 🚀
assets/file-cog-M1YTpD-3.js (New) 758 bytes 758 bytes 100.0% 🚀
assets/docs.ai-summaries-J8UAFDoh.js (New) 506 bytes 506 bytes 100.0% 🚀
assets/app.maintainer-BI4okNRn.js (New) 502 bytes 502 bytes 100.0% 🚀
assets/docs.branch-analysis-C-xYrjkO.js (New) 499 bytes 499 bytes 100.0% 🚀
assets/docs.scoreability-CvGZ6bSU.js (New) 499 bytes 499 bytes 100.0% 🚀
assets/docs.upstream-drift-kOhd3Z04.js (New) 499 bytes 499 bytes 100.0% 🚀
assets/docs.federated-fleet-intelligence-2hiWciL2.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.maintainer-install-trust-Dj6zyhNW.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-ai-providers-Cyo28bXS.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-backup-scaling-aRvxlmYE.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-configuration-bNIzi83O.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-docs-audit-23FI_6C7.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-github-app-WUH7ZjM2.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-quickstart-QgoKXRLr.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-rag-D5uUg1_0.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-rees-CTqKQhkb.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-rees-analyzers-DOayRB1w.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-release-checklist-Bcif4SfK.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-releases-Dw-a5hAK.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-security-CMERWvlp.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-troubleshooting-Bm7HsxVE.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.self-hosting-unified-ams-orb--bTQTSRY.js (New) 498 bytes 498 bytes 100.0% 🚀
assets/docs.ams-config-precedence-AS5eASIM.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-deployment-By_vFWbK.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-discovery-plane-bMSUg3Vq.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-env-reference-BbdttuJD.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-fleet-manifest-DmUT-xla.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-goal-spec-B-s-orHh.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-observability-BqbFKy_y.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-operations-runbook-DULt1r14.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-sizing-B-BVlvwj.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.ams-unattended-scheduling-C5HN8dDp.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.beta-onboarding-DFovT6Gq.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.maintainer-self-hosting-C6_Ew3yN.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.mcp-clients-DI3Caklg.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.owner-checklist-C_VExRQR.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.quickstart-e4DcU-Xe.js (New) 497 bytes 497 bytes 100.0% 🚀
assets/docs.github-app-DPIF0AGb.js (New) 495 bytes 495 bytes 100.0% 🚀
assets/docs.maintainer-workflow-CqMEVR21.js (New) 495 bytes 495 bytes 100.0% 🚀
assets/docs.privacy-security-DERUmAEW.js (New) 495 bytes 495 bytes 100.0% 🚀
assets/docs.troubleshooting-BjqrTlbM.js (New) 495 bytes 495 bytes 100.0% 🚀
assets/docs.tuning-BLM5Q5Sg.js (New) 495 bytes 495 bytes 100.0% 🚀
assets/docs.loopover-commands-DxmwLcOW.js (New) 494 bytes 494 bytes 100.0% 🚀
assets/sparkles-CSkdQ5FO.js (New) 494 bytes 494 bytes 100.0% 🚀
assets/docs.how-reviews-work-DwbG2_xP.js (New) 493 bytes 493 bytes 100.0% 🚀
assets/app.owner-DInkvC_X.js (New) 474 bytes 474 bytes 100.0% 🚀
assets/app.commands-CL6u0khQ.js (New) 455 bytes 455 bytes 100.0% 🚀
assets/app.playground-D56msUka.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/reveal-Dj6HrsH7.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/index-B1lpEuCk.js (New) 438 bytes 438 bytes 100.0% 🚀
assets/app.digest-CfI14j0t.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/eye-off-B8Y7ZMNy.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/app.miner-CX6uCa-c.js (New) 422 bytes 422 bytes 100.0% 🚀
assets/key-round-Dn2hKusg.js (New) 355 bytes 355 bytes 100.0% 🚀
assets/bot-DIUM4aCx.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/trash-2-z1W518cw.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/save-DQjneZRM.js (New) 327 bytes 327 bytes 100.0% 🚀
assets/git-pull-request-arrow-g5aqb3_f.js (New) 321 bytes 321 bytes 100.0% 🚀
assets/shield-check-D33BA_VZ.js (New) 320 bytes 320 bytes 100.0% 🚀
assets/wrench-BjNHG3vB.js (New) 303 bytes 303 bytes 100.0% 🚀
assets/list-checks-bx_3uKKW.js (New) 279 bytes 279 bytes 100.0% 🚀
assets/shield-D4kdKBWx.js (New) 272 bytes 272 bytes 100.0% 🚀
assets/workflow-nHxIfiK8.js (New) 265 bytes 265 bytes 100.0% 🚀
assets/compass-DgZbBv4-.js (New) 251 bytes 251 bytes 100.0% 🚀
assets/history-D-7OQrgT.js (New) 237 bytes 237 bytes 100.0% 🚀
assets/activity-D88US0l_.js (New) 234 bytes 234 bytes 100.0% 🚀
assets/message-square-CgNJZwLf.js (New) 233 bytes 233 bytes 100.0% 🚀
assets/lock-DvzsrNvH.js (New) 206 bytes 206 bytes 100.0% 🚀
assets/rotate-cw-CiX6e-no.js (New) 201 bytes 201 bytes 100.0% 🚀
assets/play-DRZpGojI.js (New) 190 bytes 190 bytes 100.0% 🚀
assets/circle-check-C_O7baGl.js (New) 178 bytes 178 bytes 100.0% 🚀
assets/search-B8tqB0RA.js (New) 174 bytes 174 bytes 100.0% 🚀
assets/self-hosting-docs-audit-oETKTJ17.js (New) 141 bytes 141 bytes 100.0% 🚀
assets/self-hosting-quickstart-D2EnqYfh.js (New) 141 bytes 141 bytes 100.0% 🚀
assets/self-hosting-security-BoUid-dM.js (New) 139 bytes 139 bytes 100.0% 🚀
assets/circle-D6oaeNVz.js (New) 130 bytes 130 bytes 100.0% 🚀
assets/modal-qrB-PGBQ.js (New) 115 bytes 115 bytes 100.0% 🚀
assets/add-scalar-classes-C1a-EvYU.js (Deleted) -2.17MB 0 bytes -100.0% 🗑️
assets/tanstack-vendor-BXvb09T9.js (Deleted) -804.85kB 0 bytes -100.0% 🗑️
assets/docs.fumadocs-spike-api-reference-BxE161Ep.js (Deleted) -442.94kB 0 bytes -100.0% 🗑️
assets/AgentScalarChatInterface.vue-CELnBfyL.js (Deleted) -201.71kB 0 bytes -100.0% 🗑️
assets/modal-BoWVPsFy.js (Deleted) -184.28kB 0 bytes -100.0% 🗑️
assets/client-BvWSRrIy.js (Deleted) -146.06kB 0 bytes -100.0% 🗑️
assets/maintainer-panel-B4vWZN61.js (Deleted) -78.53kB 0 bytes -100.0% 🗑️
assets/ui-vendor-BIRmO7rA.js (Deleted) -57.05kB 0 bytes -100.0% 🗑️
assets/self-hosting-security-BT-FlgQT.js (Deleted) -38.85kB 0 bytes -100.0% 🗑️
assets/routes-j4wWSHAs.js (Deleted) -34.29kB 0 bytes -100.0% 🗑️
assets/owner-panel-oy5dxxJw.js (Deleted) -26.89kB 0 bytes -100.0% 🗑️
assets/app-C3aVHvlq.js (Deleted) -25.65kB 0 bytes -100.0% 🗑️
assets/self-hosting-quickstart-BHFBZ-NJ.js (Deleted) -23.75kB 0 bytes -100.0% 🗑️
assets/app.runs-vYrWCSQ5.js (Deleted) -23.55kB 0 bytes -100.0% 🗑️
assets/miner-panel-CHAUkJcu.js (Deleted) -20.25kB 0 bytes -100.0% 🗑️
assets/docs-source-B3Pxfflz.js (Deleted) -19.3kB 0 bytes -100.0% 🗑️
assets/api._op-B0r4TFaP.js (Deleted) -17.82kB 0 bytes -100.0% 🗑️
assets/self-hosting-docs-audit-BuZckK9C.js (Deleted) -16.73kB 0 bytes -100.0% 🗑️
assets/app.index-DykVpZPj.js (Deleted) -15.62kB 0 bytes -100.0% 🗑️
assets/playground-panel-rzcJRKU3.js (Deleted) -14.35kB 0 bytes -100.0% 🗑️
assets/extension-XyzvZ1OW.js (Deleted) -10.04kB 0 bytes -100.0% 🗑️
assets/app.config-generator-Cq2F_cOL.js (Deleted) -9.86kB 0 bytes -100.0% 🗑️
assets/app.audit-DOBCt6OW.js (Deleted) -9.54kB 0 bytes -100.0% 🗑️
assets/maintainers-D9o5BFEf.js (Deleted) -8.06kB 0 bytes -100.0% 🗑️
assets/miners-XHm7jALY.js (Deleted) -7.89kB 0 bytes -100.0% 🗑️
assets/agents-DSXjSjSO.js (Deleted) -7.76kB 0 bytes -100.0% 🗑️
assets/commands-panel-DP85gEsG.js (Deleted) -6.63kB 0 bytes -100.0% 🗑️
assets/roadmap-DGP07u3j.js (Deleted) -6.33kB 0 bytes -100.0% 🗑️
assets/repos._owner._repo.quality-CobZD0Ao.js (Deleted) -6.14kB 0 bytes -100.0% 🗑️
assets/digest-panel-B4o0S5Ff.js (Deleted) -6.14kB 0 bytes -100.0% 🗑️
assets/docs.index-DaZ_0qgc.js (Deleted) -5.42kB 0 bytes -100.0% 🗑️
assets/api.index-WtmA0njc.js (Deleted) -4.74kB 0 bytes -100.0% 🗑️
assets/api-zXyV11gw.js (Deleted) -2.69kB 0 bytes -100.0% 🗑️
assets/docs-Bw1qNG20.js (Deleted) -2.67kB 0 bytes -100.0% 🗑️
assets/app.workbench-BnUN2f9y.js (Deleted) -1.58kB 0 bytes -100.0% 🗑️
assets/tooltip-DkPlJ6fh.js (Deleted) -1.45kB 0 bytes -100.0% 🗑️
assets/session-hgfetv7V.js (Deleted) -1.44kB 0 bytes -100.0% 🗑️
assets/tabs-BAdxpW-Y.js (Deleted) -1.39kB 0 bytes -100.0% 🗑️
assets/app.repos-Bv5WgnU7.js (Deleted) -1.07kB 0 bytes -100.0% 🗑️
assets/input-BErlMbe8.js (Deleted) -796 bytes 0 bytes -100.0% 🗑️
assets/file-cog-W_3ug5Of.js (Deleted) -758 bytes 0 bytes -100.0% 🗑️
assets/docs.ai-summaries-CANeuaDZ.js (Deleted) -506 bytes 0 bytes -100.0% 🗑️
assets/app.maintainer-ZlbVIBh8.js (Deleted) -502 bytes 0 bytes -100.0% 🗑️
assets/docs.branch-analysis-DGp_x74d.js (Deleted) -499 bytes 0 bytes -100.0% 🗑️
assets/docs.scoreability-DMVV2xul.js (Deleted) -499 bytes 0 bytes -100.0% 🗑️
assets/docs.upstream-drift-DIbj_pKc.js (Deleted) -499 bytes 0 bytes -100.0% 🗑️
assets/docs.federated-fleet-intelligence-DJB-F5Cc.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.maintainer-install-trust-BW9FsdWG.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-ai-providers-DF1E2nGi.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-backup-scaling-yK9HRhII.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-configuration-KrGOq_cs.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-docs-audit-Bkc6b04V.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-github-app-CXfEObmo.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-quickstart-D6hv0NKA.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rag-BDLvJh7e.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rees-BhTOuu7B.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rees-analyzers-BmL8R2-o.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-release-checklist-C2aLPfYM.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-releases-CNUKFC7w.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-security-B6VL1M6_.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-troubleshooting-j0yqqCT4.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-unified-ams-orb-DX1sktA7.js (Deleted) -498 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-config-precedence-Cum9xA_d.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-deployment-DIByKACb.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-discovery-plane-B-fdXN5Y.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-env-reference-C2g9VKD_.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-fleet-manifest-BYRP-tlF.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-goal-spec-CnqY62rO.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-observability-Dc3Uweja.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-operations-runbook-DTr6ur2U.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-sizing-CRpKxTxg.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-unattended-scheduling-BUdwP8JW.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.beta-onboarding-rIAXSqBM.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.maintainer-self-hosting-C1UKCn7_.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.mcp-clients-CAzEFOr2.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.owner-checklist-CWuO8h1I.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.quickstart-xmNtNIyv.js (Deleted) -497 bytes 0 bytes -100.0% 🗑️
assets/docs.github-app-DVrmXBxs.js (Deleted) -495 bytes 0 bytes -100.0% 🗑️
assets/docs.maintainer-workflow-CnH9drwf.js (Deleted) -495 bytes 0 bytes -100.0% 🗑️
assets/docs.privacy-security-2oe-nh9h.js (Deleted) -495 bytes 0 bytes -100.0% 🗑️
assets/docs.troubleshooting-ClwYdip0.js (Deleted) -495 bytes 0 bytes -100.0% 🗑️
assets/docs.tuning-Uh6otqmx.js (Deleted) -495 bytes 0 bytes -100.0% 🗑️
assets/docs.loopover-commands-BBqJxCpn.js (Deleted) -494 bytes 0 bytes -100.0% 🗑️
assets/sparkles-D8LWFoyY.js (Deleted) -494 bytes 0 bytes -100.0% 🗑️
assets/docs.how-reviews-work-rSB2rgag.js (Deleted) -493 bytes 0 bytes -100.0% 🗑️
assets/app.owner-DqU4vskn.js (Deleted) -474 bytes 0 bytes -100.0% 🗑️
assets/app.commands-BEE9KXRk.js (Deleted) -455 bytes 0 bytes -100.0% 🗑️
assets/app.playground-Bi5gO-Xm.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/reveal-C8FprKpZ.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/index-BxLH84PP.js (Deleted) -438 bytes 0 bytes -100.0% 🗑️
assets/app.digest-D7VmgERQ.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/eye-off-CAPoNDRs.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/app.miner-HPr__XEm.js (Deleted) -422 bytes 0 bytes -100.0% 🗑️
assets/key-round-BWf_Kruu.js (Deleted) -355 bytes 0 bytes -100.0% 🗑️
assets/bot-CnCKqU0z.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/trash-2-BzVGIyCj.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/save-Di4hi2o_.js (Deleted) -327 bytes 0 bytes -100.0% 🗑️
assets/git-pull-request-arrow-DBrR99i6.js (Deleted) -321 bytes 0 bytes -100.0% 🗑️
assets/shield-check-TIQwEe61.js (Deleted) -320 bytes 0 bytes -100.0% 🗑️
assets/wrench-B2IVaRRy.js (Deleted) -303 bytes 0 bytes -100.0% 🗑️
assets/list-checks-bhm7Y5Z3.js (Deleted) -279 bytes 0 bytes -100.0% 🗑️
assets/shield-BdEqsL5k.js (Deleted) -272 bytes 0 bytes -100.0% 🗑️
assets/workflow-BbK4toxY.js (Deleted) -265 bytes 0 bytes -100.0% 🗑️
assets/compass-BE4GApKQ.js (Deleted) -251 bytes 0 bytes -100.0% 🗑️
assets/history-Cv0funY6.js (Deleted) -237 bytes 0 bytes -100.0% 🗑️
assets/activity-DfaatRaI.js (Deleted) -234 bytes 0 bytes -100.0% 🗑️
assets/message-square-CSXr2WHv.js (Deleted) -233 bytes 0 bytes -100.0% 🗑️
assets/lock-D5j8K4FD.js (Deleted) -206 bytes 0 bytes -100.0% 🗑️
assets/rotate-cw-C7e6BEbY.js (Deleted) -201 bytes 0 bytes -100.0% 🗑️
assets/play-DUq3nouH.js (Deleted) -190 bytes 0 bytes -100.0% 🗑️
assets/circle-check-BIILffd7.js (Deleted) -178 bytes 0 bytes -100.0% 🗑️
assets/search-CiX-6qXE.js (Deleted) -174 bytes 0 bytes -100.0% 🗑️
assets/self-hosting-docs-audit-zwVUVeYW.js (Deleted) -141 bytes 0 bytes -100.0% 🗑️
assets/self-hosting-quickstart-BWoHa5pu.js (Deleted) -141 bytes 0 bytes -100.0% 🗑️
assets/self-hosting-security-BIE9SPel.js (Deleted) -139 bytes 0 bytes -100.0% 🗑️
assets/circle-TMDP00s1.js (Deleted) -130 bytes 0 bytes -100.0% 🗑️
assets/modal-CQna74HZ.js (Deleted) -115 bytes 0 bytes -100.0% 🗑️

@JSONbored JSONbored self-assigned this Jul 18, 2026
@JSONbored
JSONbored merged commit 0d4ed06 into main Jul 18, 2026
16 checks passed
@JSONbored
JSONbored deleted the worktree-selfhost-secret-generation-tooling branch July 18, 2026 10:36
@loopover-orb loopover-orb Bot added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jul 18, 2026
@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.77%. Comparing base (afde86b) to head (2a90817).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7196   +/-   ##
=======================================
  Coverage   93.77%   93.77%           
=======================================
  Files         695      695           
  Lines       69042    69042           
  Branches    18811    18811           
=======================================
  Hits        64746    64746           
  Misses       3302     3302           
  Partials      994      994           
Flag Coverage Δ
shard-1 43.91% <ø> (+<0.01%) ⬆️
shard-2 37.13% <ø> (ø)
shard-3 33.16% <ø> (ø)
shard-4 34.50% <ø> (ø)
shard-5 32.19% <ø> (ø)
shard-6 45.80% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build secret-generation tooling for onboarding

1 participant