instar 1.3.1296 → 1.3.1297

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.
@@ -3744,15 +3744,6 @@
3744
3744
  .sub-account-email { font-size:12px; opacity:.5; margin:0 0 10px; }
3745
3745
  .sub-account-noquota { font-size:12px; opacity:.6; }
3746
3746
  .sub-account-quota-age { font-size:11px; opacity:.5; margin-top:4px; }
3747
- .sub-profile-provision { border:1px solid var(--border,#2a2a2a); border-left:4px solid #16a34a;
3748
- border-radius:10px; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
3749
- .sub-profile-title { font-size:16px; font-weight:650; }
3750
- .sub-profile-copy { margin:0; font-size:13px; line-height:1.5; opacity:.78; }
3751
- .sub-profile-input { width:100%; box-sizing:border-box; min-height:44px; padding:10px 12px;
3752
- font-size:16px; border:1px solid var(--border,#2a2a2a); border-radius:8px; background:transparent; color:inherit; }
3753
- .sub-profile-create { min-height:44px; padding:10px 14px; font-size:14px; font-weight:600;
3754
- border-radius:8px; border:1px solid #16a34a; background:rgba(22,163,74,.12); color:inherit; cursor:pointer; }
3755
- .sub-profile-status { min-height:18px; font-size:12px; line-height:1.45; opacity:.8; }
3756
3747
  .sub-quota { margin:8px 0; }
3757
3748
  .sub-quota-head { display:flex; justify-content:space-between; font-size:12px; margin-bottom:4px; }
3758
3749
  .sub-quota-label { opacity:.8; }
@@ -3825,11 +3816,6 @@
3825
3816
  your subscriptions (ws52-operator-tap-not-text Part A). Leads the panel as the primary
3826
3817
  action when present; silent otherwise. -->
3827
3818
  <div id="subFollowMe"></div>
3828
- <section class="ph-section">
3829
- <h3 class="ph-h">Dedicated browser profiles</h3>
3830
- <p class="ph-h-sub">Prepare a private Chrome profile for one Google account. The agent handles the machine; you only respond to a secure password, verification, or approval link when the provider truly requires it.</p>
3831
- <div id="subProfileProvision"></div>
3832
- </section>
3833
3819
  <!-- Account × Machine matrix (account-machine-matrix) — at-a-glance "which account is set up
3834
3820
  on which machine," with a one-tap "Set up" per empty cell that runs the whole sign-in in
3835
3821
  the dashboard (PIN → sign-in link → paste the code). Hidden when there's nothing to show. -->
@@ -9866,7 +9852,6 @@
9866
9852
  accounts: document.getElementById('subAccounts'),
9867
9853
  followMe: document.getElementById('subFollowMe'),
9868
9854
  matrix: document.getElementById('subMatrix'),
9869
- profileProvision: document.getElementById('subProfileProvision'),
9870
9855
  };
9871
9856
  // Pass opts through (method/body/signal) so the controller can POST the follow-me
9872
9857
  // scan + the PIN-gated issue-for-machine, not just GET.
@@ -1092,53 +1092,8 @@ const URLS = {
1092
1092
  relogin: '/subscription-relogin?scope=pool',
1093
1093
  reloginAction: '/subscription-relogin',
1094
1094
  repairCell: '/subscription-relogin/repair-cell',
1095
- provisionProfile: '/playwright-profiles/provision',
1096
1095
  };
1097
1096
 
1098
- export function renderProfileProvisioner(doc, target) {
1099
- if (!target) return;
1100
- const card = el(doc, 'div', 'sub-profile-provision');
1101
- card.setAttribute('data-interaction-open', '1');
1102
- card.appendChild(el(doc, 'div', 'sub-profile-title', 'Create a dedicated sign-in profile'));
1103
- card.appendChild(el(doc, 'p', 'sub-profile-copy',
1104
- 'Instar prepares the private Chrome profile on this machine. If a password or verification step is needed, your agent will send a secure link — you never need to access this machine.'));
1105
-
1106
- const identity = el(doc, 'input', 'sub-profile-input');
1107
- identity.setAttribute('type', 'email');
1108
- identity.setAttribute('inputmode', 'email');
1109
- identity.setAttribute('autocomplete', 'email');
1110
- identity.setAttribute('placeholder', 'Google account email');
1111
- identity.setAttribute('aria-label', 'Google account email');
1112
- card.appendChild(identity);
1113
-
1114
- const profileId = el(doc, 'input', 'sub-profile-input');
1115
- profileId.setAttribute('type', 'text');
1116
- profileId.setAttribute('placeholder', 'Profile name, for example work-google');
1117
- profileId.setAttribute('aria-label', 'Profile name');
1118
- card.appendChild(profileId);
1119
-
1120
- const method = el(doc, 'select', 'sub-profile-input');
1121
- method.setAttribute('aria-label', 'Sign-in method');
1122
- for (const [value, label] of [
1123
- ['session-cookie', 'Already signed in / provider approval'],
1124
- ['password', 'Password'],
1125
- ['password+totp', 'Password + authenticator'],
1126
- ]) {
1127
- const option = el(doc, 'option', '', label);
1128
- option.setAttribute('value', value);
1129
- method.appendChild(option);
1130
- }
1131
- card.appendChild(method);
1132
-
1133
- const button = el(doc, 'button', 'sub-profile-create', 'Create dedicated profile');
1134
- button.setAttribute('type', 'button');
1135
- card.appendChild(button);
1136
- const status = el(doc, 'div', 'sub-profile-status', '');
1137
- status.setAttribute('aria-live', 'polite');
1138
- card.appendChild(status);
1139
- target.replaceChildren(card);
1140
- }
1141
-
1142
1097
  export function createController(opts) {
1143
1098
  const {
1144
1099
  doc,
@@ -1160,7 +1115,7 @@ export function createController(opts) {
1160
1115
  // add the D4 ceremony when the episode lands. recentOutcomes: client-observed terminal
1161
1116
  // outcomes rendered as explicit cards in the pending panel (D4 — never a vanishing line).
1162
1117
  const state = { timerId: null, active: false, inFlight: null, offers: [], approveWired: false,
1163
- reloginWired: false, reloginEpisodes: [], reloginFailures: [], profileProvisionWired: false,
1118
+ reloginWired: false, reloginEpisodes: [], reloginFailures: [],
1164
1119
  matrixWired: false, matrixTransient: {}, lastPoolBody: null, lastPendingBody: null,
1165
1120
  matrixEpisodes: {}, recentOutcomes: [] };
1166
1121
 
@@ -1225,61 +1180,10 @@ export function createController(opts) {
1225
1180
  state.reloginEpisodes = reloginBody && Array.isArray(reloginBody.episodes) ? reloginBody.episodes : [];
1226
1181
  state.reloginFailures = reloginBody && reloginBody.pool && Array.isArray(reloginBody.pool.failed)
1227
1182
  ? reloginBody.pool.failed : [];
1228
- if (els.profileProvision && !state.profileProvisionWired) {
1229
- renderProfileProvisioner(doc, els.profileProvision);
1230
- wireProfileProvisioner();
1231
- }
1232
1183
  render(accountsBody, pendingBody, inUseBody, poolBody);
1233
1184
  reschedule();
1234
1185
  }
1235
1186
 
1236
- function wireProfileProvisioner() {
1237
- if (!els.profileProvision || state.profileProvisionWired) return;
1238
- state.profileProvisionWired = true;
1239
- els.profileProvision.addEventListener('click', (event) => {
1240
- const button = event.target && event.target.closest ? event.target.closest('.sub-profile-create') : null;
1241
- if (!button) return;
1242
- const proof = getOperatorSessionToken();
1243
- const identity = els.profileProvision.querySelector('[aria-label="Google account email"]')?.value?.trim() || '';
1244
- const profileId = els.profileProvision.querySelector('[aria-label="Profile name"]')?.value?.trim() || '';
1245
- const loginMethod = els.profileProvision.querySelector('[aria-label="Sign-in method"]')?.value || 'session-cookie';
1246
- const status = els.profileProvision.querySelector('.sub-profile-status');
1247
- if (!proof) {
1248
- requestUnlock();
1249
- status.textContent = 'Enter your dashboard PIN, then retry.';
1250
- return;
1251
- }
1252
- if (!identity || !profileId) { status.textContent = 'Enter the Google account and a profile name.'; return; }
1253
- button.setAttribute('disabled', 'disabled');
1254
- status.textContent = 'Preparing the private profile…';
1255
- void (async () => {
1256
- try {
1257
- const response = await fetchImpl(URLS.provisionProfile, {
1258
- method: 'POST',
1259
- headers: { 'Content-Type': 'application/json', 'X-Instar-Operator-Session': proof },
1260
- body: JSON.stringify({ profileId, identity, loginMethod }),
1261
- });
1262
- const body = await response.json().catch(() => ({}));
1263
- if (!response.ok) {
1264
- if (response.status === 401) requestUnlock();
1265
- status.textContent = response.status === 401
1266
- ? 'Enter your dashboard PIN, then retry.'
1267
- : `Couldn’t create the profile: ${body.error || 'try again'}`;
1268
- button.removeAttribute('disabled');
1269
- return;
1270
- }
1271
- status.textContent = loginMethod === 'session-cookie'
1272
- ? 'Profile ready. Your agent can now open the provider sign-in and send you any required approval link.'
1273
- : 'Profile ready. Your agent will send a secure credential link before the first sign-in.';
1274
- button.textContent = 'Profile created';
1275
- } catch {
1276
- status.textContent = 'Couldn’t reach the server — try again.';
1277
- button.removeAttribute('disabled');
1278
- }
1279
- })();
1280
- });
1281
- }
1282
-
1283
1187
  // ── Episode + outcome bookkeeping (D1/D4/D5) ───────────────────────────────
1284
1188
  function purgeTransients() {
1285
1189
  const t = now();
@@ -119,6 +119,23 @@ export declare function WRITE_ADMISSION_CLAUDEMD_SECTION(port: number): string;
119
119
  export declare function CONTEXT_AWARE_REVIEW_CLAUDEMD_SECTION(port: number): string;
120
120
  /** The one `google-passkey` bullet inside the Playwright Profile Registry section (also patched into existing CLAUDE.md files). */
121
121
  export declare const PASSKEY_LOGIN_METHOD_CLAUDEMD_BULLET = "- **Passkey login method (`google-passkey`, \u2697\uFE0F dark)**: an account may carry `loginMethod: \"google-passkey\"` with a `vaultBindings.passkey` entry KEY (a machine-local passkey store key, never material; refused unless that store exists on this machine). The registry records the method it REPLACED as `priorLoginMethod`. Rollback lever: `POST /passkeys/revert-method` with the dashboard PIN (`{\"pin\":\"\u2026\"}`, optional `accounts:[{profileId,service,identity}]`; default = every passkey account) restores the prior method and lists accounts with none as `noPriorMethod` \u2014 it never guesses a method. Repair for a passkey account is admitted ONLY when its cell is `ready`; on this build the cell always reads unknown, so the path is inert.\n- **Passkey grants + issuers (per account \u00D7 machine, \u2697\uFE0F dark)**: a passkey may be minted/loaded on a machine only under a GRANT written on that machine. Read them: `GET /passkeys/grants` (grants, issued peer-grant copies, confirmed issuers, revoke high-water, `issuerBootstrapRequired`). PIN levers: `POST /passkeys/grant` `{\"pin\":\"\u2026\",\"email\":\"\u2026\"}`, `POST /passkeys/revoke` `{\"pin\":\"\u2026\",\"email\":\"\u2026\"}` (stops THIS agent's passkey path only \u2014 live sessions and stored passwords remain), `POST /passkeys/issuer-add` / `issuer-remove` `{\"pin\":\"\u2026\",\"machineId\":\"\u2026\"}`. Add `targetMachineId` to act on a PEER: the op is signed with this machine's identity key as a `passkey-cell` mandate and delivered to the peer's `POST /passkeys/cell-action`, which accepts it only from a machine the operator confirmed as an issuer on THAT machine's own dashboard (no trust-on-first-use), once per nonce, within 15 minutes (revokes never expire). On a multi-machine agent the first grant is refused with `issuer-bootstrap-required` until a peer issuer is confirmed. NEVER ask the user to paste the PIN into chat \u2014 point them at the dashboard.\n";
122
+ /**
123
+ * The dedicated-profile provisioning bullet inside the Playwright Profile Registry section. The
124
+ * dashboard's "Create a dedicated sign-in profile" form was removed (it only made an empty profile
125
+ * and never signed in); the agent creates and signs in these profiles itself.
126
+ */
127
+ export declare const DEDICATED_PROFILE_PROVISIONING_CLAUDEMD_BULLET = "- **Dedicated Google profile provisioning**: create it yourself \u2014 `POST /playwright-profiles` then `POST /playwright-profiles/<id>/accounts` with `{\"service\":\"google\",\"identity\":\"<email>\",\"owner\":\u2026,\"vaultRefs\":[\u2026]}` \u2014 then sign it in with the /subscription-signin skill. `POST /playwright-profiles/provision` does the create + assign in one call but needs a recent dashboard PIN session (`X-Instar-Operator-Session`); there is no dashboard form for it. If a password/TOTP is missing, send ONE Secret Drop link. Never ask the operator to access the host machine.\n";
128
+ /**
129
+ * The Registry-First table answer to "How do I create a dedicated Google browser profile without
130
+ * host-machine access?" (generateClaudeMd uses it; migrateClaudeMd swaps the old stock answer for it).
131
+ */
132
+ export declare const DEDICATED_PROFILE_REGISTRY_ROW_ANSWER = "Do it yourself: `POST /playwright-profiles` + `POST /playwright-profiles/<id>/accounts`, then sign it in with /subscription-signin (`POST /playwright-profiles/provision` is the one-call, PIN-scoped equivalent; there is no dashboard form). If credentials are needed, send one Secret Drop link and continue after receipt \u2014 never ask the operator to access the machine";
133
+ /**
134
+ * Exact text this repo shipped that pointed at the removed dashboard form, paired with its
135
+ * replacement. migrateClaudeMd swaps ONLY these exact strings, so anything an operator added around
136
+ * them survives and a line whose stock wording was edited is left alone (never silently rewritten).
137
+ */
138
+ export declare const OBSOLETE_PROFILE_FORM_CLAUDEMD_TEXT: ReadonlyArray<readonly [string, string]>;
122
139
  export declare function PLAYWRIGHT_PROFILE_REGISTRY_CLAUDEMD_SECTION(port: number): string;
123
140
  /**
124
141
  * CLAUDE.md awareness block for the Doorway/Model Knowledge Registry + the `GET /doorways`
@@ -907,6 +924,12 @@ export declare class PostUpdateMigrator {
907
924
  * untouched.
908
925
  */
909
926
  private migrateSubscriptionSigninCrossMachine;
927
+ /**
928
+ * The dashboard's "Create a dedicated sign-in profile" form was removed. Drop the one sentence in
929
+ * an installed /subscription-signin skill that pointed at it. Only that exact stock sentence is
930
+ * removed; the rest of the file (and any local edits) is kept. Idempotent: once gone, a no-op.
931
+ */
932
+ private migrateSubscriptionSigninDropProfileFormPointer;
910
933
  private migrateSubscriptionSigninByHand;
911
934
  /**
912
935
  * Agent-owned memory (operator rule 2026-09-25: logins hold tokens and quota,
@@ -1 +1 @@
1
- {"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
@@ -350,6 +350,30 @@ Beyond the tone gate, a response-review pipeline (nine specialist reviewers driv
350
350
  }
351
351
  /** The one `google-passkey` bullet inside the Playwright Profile Registry section (also patched into existing CLAUDE.md files). */
352
352
  export const PASSKEY_LOGIN_METHOD_CLAUDEMD_BULLET = `- **Passkey login method (\`google-passkey\`, ⚗️ dark)**: an account may carry \`loginMethod: "google-passkey"\` with a \`vaultBindings.passkey\` entry KEY (a machine-local passkey store key, never material; refused unless that store exists on this machine). The registry records the method it REPLACED as \`priorLoginMethod\`. Rollback lever: \`POST /passkeys/revert-method\` with the dashboard PIN (\`{"pin":"…"}\`, optional \`accounts:[{profileId,service,identity}]\`; default = every passkey account) restores the prior method and lists accounts with none as \`noPriorMethod\` — it never guesses a method. Repair for a passkey account is admitted ONLY when its cell is \`ready\`; on this build the cell always reads unknown, so the path is inert.\n- **Passkey grants + issuers (per account × machine, ⚗️ dark)**: a passkey may be minted/loaded on a machine only under a GRANT written on that machine. Read them: \`GET /passkeys/grants\` (grants, issued peer-grant copies, confirmed issuers, revoke high-water, \`issuerBootstrapRequired\`). PIN levers: \`POST /passkeys/grant\` \`{"pin":"…","email":"…"}\`, \`POST /passkeys/revoke\` \`{"pin":"…","email":"…"}\` (stops THIS agent's passkey path only — live sessions and stored passwords remain), \`POST /passkeys/issuer-add\` / \`issuer-remove\` \`{"pin":"…","machineId":"…"}\`. Add \`targetMachineId\` to act on a PEER: the op is signed with this machine's identity key as a \`passkey-cell\` mandate and delivered to the peer's \`POST /passkeys/cell-action\`, which accepts it only from a machine the operator confirmed as an issuer on THAT machine's own dashboard (no trust-on-first-use), once per nonce, within 15 minutes (revokes never expire). On a multi-machine agent the first grant is refused with \`issuer-bootstrap-required\` until a peer issuer is confirmed. NEVER ask the user to paste the PIN into chat — point them at the dashboard.\n`;
353
+ /**
354
+ * The dedicated-profile provisioning bullet inside the Playwright Profile Registry section. The
355
+ * dashboard's "Create a dedicated sign-in profile" form was removed (it only made an empty profile
356
+ * and never signed in); the agent creates and signs in these profiles itself.
357
+ */
358
+ export const DEDICATED_PROFILE_PROVISIONING_CLAUDEMD_BULLET = `- **Dedicated Google profile provisioning**: create it yourself — \`POST /playwright-profiles\` then \`POST /playwright-profiles/<id>/accounts\` with \`{"service":"google","identity":"<email>","owner":…,"vaultRefs":[…]}\` — then sign it in with the /subscription-signin skill. \`POST /playwright-profiles/provision\` does the create + assign in one call but needs a recent dashboard PIN session (\`X-Instar-Operator-Session\`); there is no dashboard form for it. If a password/TOTP is missing, send ONE Secret Drop link. Never ask the operator to access the host machine.\n`;
359
+ /**
360
+ * The Registry-First table answer to "How do I create a dedicated Google browser profile without
361
+ * host-machine access?" (generateClaudeMd uses it; migrateClaudeMd swaps the old stock answer for it).
362
+ */
363
+ export const DEDICATED_PROFILE_REGISTRY_ROW_ANSWER = `Do it yourself: \`POST /playwright-profiles\` + \`POST /playwright-profiles/<id>/accounts\`, then sign it in with /subscription-signin (\`POST /playwright-profiles/provision\` is the one-call, PIN-scoped equivalent; there is no dashboard form). If credentials are needed, send one Secret Drop link and continue after receipt — never ask the operator to access the machine`;
364
+ /**
365
+ * Exact text this repo shipped that pointed at the removed dashboard form, paired with its
366
+ * replacement. migrateClaudeMd swaps ONLY these exact strings, so anything an operator added around
367
+ * them survives and a line whose stock wording was edited is left alone (never silently rewritten).
368
+ */
369
+ export const OBSOLETE_PROFILE_FORM_CLAUDEMD_TEXT = [
370
+ // Bullet, as the Playwright Profile Registry section shipped it.
371
+ ['- **Remote/phone-complete provisioning**: the Subscriptions dashboard creates and materializes a dedicated Google profile after a recent PIN unlock. Programmatic equivalent: `POST /playwright-profiles/provision` with `X-Instar-Operator-Session` + `{profileId,identity,loginMethod}`. Handle everything else yourself; if a password/TOTP is missing, send ONE Secret Drop link. Never ask the operator to access the host machine.', DEDICATED_PROFILE_PROVISIONING_CLAUDEMD_BULLET.trimEnd()],
372
+ // Bullet, as migrateClaudeMd patched it into existing agents.
373
+ ['- **Remote/phone-complete provisioning**: use the Subscriptions dashboard or `POST /playwright-profiles/provision` with a recent dashboard operator session to create + materialize a dedicated Google profile. If credentials are missing, send one Secret Drop link; never ask the operator to access the host machine.', DEDICATED_PROFILE_PROVISIONING_CLAUDEMD_BULLET.trimEnd()],
374
+ // Registry-First table answer.
375
+ ['Use the Subscriptions dashboard or PIN-scoped `POST /playwright-profiles/provision`; if credentials are needed, send one Secret Drop link and continue after receipt — never ask the operator to access the machine', DEDICATED_PROFILE_REGISTRY_ROW_ANSWER],
376
+ ];
353
377
  export function PLAYWRIGHT_PROFILE_REGISTRY_CLAUDEMD_SECTION(port) {
354
378
  return `\n### Playwright Profile Registry (which browser profile holds which account)
355
379
 
@@ -357,8 +381,7 @@ A durable per-agent registry mapping each Playwright browser **profile** (a phys
357
381
  - **List profiles + accounts** (the FULL detail — identities, owner, vault key NAMES, loginMethod, last-asserted/verified, dangling-ref flags; never values): \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles\`
358
382
  - **The compact boot pointer** (also injected at session start): \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/session-context\`
359
383
  - **Create a custom profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles -H 'Content-Type: application/json' -d '{"id":"justin-google","description":"..."}'\` (userDataDir auto-allocated under the agent home, or supply an absolute path jailed to it).
360
- - **Remote/phone-complete provisioning**: the Subscriptions dashboard creates and materializes a dedicated Google profile after a recent PIN unlock. Programmatic equivalent: \`POST /playwright-profiles/provision\` with \`X-Instar-Operator-Session\` + \`{profileId,identity,loginMethod}\`. Handle everything else yourself; if a password/TOTP is missing, send ONE Secret Drop link. Never ask the operator to access the host machine.
361
- - **Assign an account to a profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/default/accounts -H 'Content-Type: application/json' -d '{"service":"github","identity":"EchoOfDawn","owner":"agent","vaultRefs":["github_token"],"loginMethod":"oauth-token"}'\` (\`owner\` REQUIRED — \`agent\`|\`operator\`; refs validated against the live vault, fails CLOSED).
384
+ ${DEDICATED_PROFILE_PROVISIONING_CLAUDEMD_BULLET}- **Assign an account to a profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/default/accounts -H 'Content-Type: application/json' -d '{"service":"github","identity":"EchoOfDawn","owner":"agent","vaultRefs":["github_token"],"loginMethod":"oauth-token"}'\` (\`owner\` REQUIRED — \`agent\`|\`operator\`; refs validated against the live vault, fails CLOSED).
362
385
  ${PASSKEY_LOGIN_METHOD_CLAUDEMD_BULLET}- **Pick the right profile for a task**: \`curl -H "Authorization: Bearer $AUTH" "http://localhost:${port}/playwright-profiles/resolve?service=github&identity=EchoOfDawn"\` → the owning profile + \`dirExists\`; an ambiguous service-only match returns \`{ambiguous:true, candidates}\` (disambiguate by identity — never silently pick a privileged account).
363
386
  - **Switch the browser onto a profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/<id>/activate\` (rewrites the MCP config + restarts the session; ships \`dryRun:true\` — it LOGS the intended rewrite/refresh until a deliberate \`dryRun:false\`; reversible by activating \`default\`).
364
387
  - **Registry First**: which browser profile holds account X? → \`GET /playwright-profiles\` / \`…/resolve\` — read it, never guess.
@@ -1466,6 +1489,7 @@ export class PostUpdateMigrator {
1466
1489
  this.migrateSubscriptionSigninByHand(result);
1467
1490
  this.migrateSubscriptionSigninAgentRun(result);
1468
1491
  this.migrateSubscriptionSigninCrossMachine(result);
1492
+ this.migrateSubscriptionSigninDropProfileFormPointer(result);
1469
1493
  this.migrateAgentOwnedMemory(result);
1470
1494
  this.migrateTestAsSelfSkill(result);
1471
1495
  this.migrateInstarDevBuildLocationRegrounding(result);
@@ -4380,6 +4404,27 @@ export class PostUpdateMigrator {
4380
4404
  result.errors.push(`skills/subscription-signin/SKILL.md cross-machine migration: ${err instanceof Error ? err.message : String(err)}`);
4381
4405
  }
4382
4406
  }
4407
+ /**
4408
+ * The dashboard's "Create a dedicated sign-in profile" form was removed. Drop the one sentence in
4409
+ * an installed /subscription-signin skill that pointed at it. Only that exact stock sentence is
4410
+ * removed; the rest of the file (and any local edits) is kept. Idempotent: once gone, a no-op.
4411
+ */
4412
+ migrateSubscriptionSigninDropProfileFormPointer(result) {
4413
+ const skillFile = path.join(this.config.projectDir, '.claude', 'skills', 'subscription-signin', 'SKILL.md');
4414
+ const stale = " Phone-first alternative: the Subscriptions dashboard's profile provisioning.";
4415
+ try {
4416
+ if (!fs.existsSync(skillFile))
4417
+ return; // installBuiltinSkills handles fresh installs
4418
+ const current = fs.readFileSync(skillFile, 'utf8');
4419
+ if (!current.includes('name: subscription-signin') || !current.includes(stale))
4420
+ return;
4421
+ fs.writeFileSync(skillFile, current.replace(stale, ''));
4422
+ result.upgraded.push('skills/subscription-signin/SKILL.md (removed the pointer to the retired dashboard profile form)');
4423
+ }
4424
+ catch (err) {
4425
+ result.errors.push(`skills/subscription-signin/SKILL.md profile-form pointer migration: ${err instanceof Error ? err.message : String(err)}`);
4426
+ }
4427
+ }
4383
4428
  migrateSubscriptionSigninByHand(result) {
4384
4429
  const skillFile = path.join(this.config.projectDir, '.claude', 'skills', 'subscription-signin', 'SKILL.md');
4385
4430
  const marker = '## 3. Signing in by hand';
@@ -6531,7 +6576,7 @@ setTimeout(() => process.exit(0), 2000);
6531
6576
  }
6532
6577
  if (content.includes('Playwright Profile Registry') && !content.includes('/playwright-profiles/provision')) {
6533
6578
  const marker = '- **Assign an account to a profile**:';
6534
- const addition = `- **Remote/phone-complete provisioning**: use the Subscriptions dashboard or \`POST /playwright-profiles/provision\` with a recent dashboard operator session to create + materialize a dedicated Google profile. If credentials are missing, send one Secret Drop link; never ask the operator to access the host machine.\n`;
6579
+ const addition = DEDICATED_PROFILE_PROVISIONING_CLAUDEMD_BULLET;
6535
6580
  const at = content.indexOf(marker);
6536
6581
  if (at >= 0)
6537
6582
  content = content.slice(0, at) + addition + content.slice(at);
@@ -6540,6 +6585,26 @@ setTimeout(() => process.exit(0), 2000);
6540
6585
  patched = true;
6541
6586
  result.upgraded.push('CLAUDE.md: added phone-complete Playwright profile provisioning awareness');
6542
6587
  }
6588
+ // The dashboard provisioning form was removed: swap each exact shipped text that pointed at it
6589
+ // (both bullet wordings + the Registry-First row answer) for the agent-does-it text. Only the
6590
+ // exact stock text is replaced, so operator additions around it survive; an edited wording is
6591
+ // left intact and reported in `skipped`. Idempotent: the replacements contain no stock text.
6592
+ {
6593
+ let rewrote = false;
6594
+ for (const [stale, current] of OBSOLETE_PROFILE_FORM_CLAUDEMD_TEXT) {
6595
+ if (content.includes(stale)) {
6596
+ content = content.split(stale).join(current);
6597
+ rewrote = true;
6598
+ }
6599
+ }
6600
+ if (rewrote) {
6601
+ patched = true;
6602
+ result.upgraded.push('CLAUDE.md: profile provisioning guidance no longer points at the removed dashboard form');
6603
+ }
6604
+ else if (content.includes('- **Remote/phone-complete provisioning**:') || content.includes('Use the Subscriptions dashboard or PIN-scoped')) {
6605
+ result.skipped.push('CLAUDE.md: customized profile provisioning guidance left as-is (it may still mention the removed dashboard form)');
6606
+ }
6607
+ }
6543
6608
  // Passkey login method (spec agent-held-google-passkey §3.4 / §6) — Agent Awareness
6544
6609
  // Standard + Migration Parity item 3: existing agents learn the `google-passkey`
6545
6610
  // method, the `priorLoginMethod` record and the PIN-gated revert lever. Same bullet as