cursedops 0.19.5 → 0.19.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursedops",
3
- "version": "0.19.5",
3
+ "version": "0.19.6",
4
4
  "description": "The build-and-ops answers this generation's apps wrote independently and identically: finding a generation's roots — and printing a command that runs when pasted — without knowing a path, the generation's whole-tree laws run over one repo from a checkout or a worktree, macOS launchd agent install/replace/remove and the live port a job serves, the scaffolding and verdicts of a deployed smoke (origin probe, the smoke's own environment, a network that lies about DNS, a settled version), the static-serving helpers eight apps copied — the path-traversal guard among them — the API floor that keeps an unmatched /api/... from ever being answered with the app shell, the commit and dirty flag a checkout-served process reports, the Cloudflare Worker deploy toolkit four apps copied (the deploy sequence, exact-set secrets over a pipe, origin-first rollback, the curl edge fetch, the row-for-row D1 import proof, the billed-CPU tail check around a deploy's walk and smoke, and each app's worker:secrets and worker:smoke main as one function of its data), the relay a Worker fronts a Mac-bound app with (the Durable Object, the frames, the Mac's dialer and key rotation — lifted from station for roms — and the signed-in stage walk's skeleton and the relay app's whole worker:deploy), the Worker import-graph and await-port checks every Worker app's suite runs over its own source, and the public-surface ratchet three published libraries each carried a forked copy of. Mechanism only — no app knows its name from here. Bun, zero runtime dependencies (typescript is an optional peer, for public-surface only), ships source.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -97,7 +97,7 @@ export const SECRET_PUT_ATTEMPTS = 3;
97
97
  * Reads of the account after the puts before a set that is not exact is believed. A read changes
98
98
  * nothing, so asking again can only replace a stale answer with a current one — see {@link syncSecrets}.
99
99
  */
100
- export const SECRET_READBACK_ATTEMPTS = 5;
100
+ export const SECRET_READBACK_ATTEMPTS = 8;
101
101
 
102
102
  /**
103
103
  * Apply `plan`: put every value, delete every extra, then READ THE ACCOUNT BACK and fail unless it
@@ -113,6 +113,9 @@ export const SECRET_READBACK_ATTEMPTS = 5;
113
113
  * listed both secrets, both puts said ok, and the list read straight after answered NOTHING — a
114
114
  * green deploy stopped as "secrets NOT attached". The same script run again a minute later read
115
115
  * both. The LAST read is the verdict, so a set that is really wrong is still a red.
116
+ * Eight reads, pausing 2 s more each time, wait 56 s: on 2026-10-24 (ship run 20-24-05) photos'
117
+ * FIRST put of FAMILY_PEOPLE_TOKEN said ok and five reads over 20 s never listed it, so the deploy
118
+ * stopped as "secrets NOT attached"; `--check` a few minutes later read it held.
116
119
  */
117
120
  export async function syncSecrets(
118
121
  plan: SecretPlan,