instar 1.3.576 → 1.3.577

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.
Files changed (52) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +13 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +14 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/CommitmentMutation.d.ts +1 -1
  8. package/dist/core/CommitmentMutation.d.ts.map +1 -1
  9. package/dist/core/CommitmentMutation.js +32 -0
  10. package/dist/core/CommitmentMutation.js.map +1 -1
  11. package/dist/core/CommitmentsSync.d.ts.map +1 -1
  12. package/dist/core/CommitmentsSync.js +20 -1
  13. package/dist/core/CommitmentsSync.js.map +1 -1
  14. package/dist/core/MeshRpc.d.ts +1 -1
  15. package/dist/core/MeshRpc.d.ts.map +1 -1
  16. package/dist/core/MessagingToneGate.d.ts +22 -0
  17. package/dist/core/MessagingToneGate.d.ts.map +1 -1
  18. package/dist/core/MessagingToneGate.js +27 -1
  19. package/dist/core/MessagingToneGate.js.map +1 -1
  20. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  21. package/dist/core/PostUpdateMigrator.js +8 -0
  22. package/dist/core/PostUpdateMigrator.js.map +1 -1
  23. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  24. package/dist/core/devGatedFeatures.js +6 -0
  25. package/dist/core/devGatedFeatures.js.map +1 -1
  26. package/dist/core/internal-id-leak.d.ts +23 -0
  27. package/dist/core/internal-id-leak.d.ts.map +1 -0
  28. package/dist/core/internal-id-leak.js +38 -0
  29. package/dist/core/internal-id-leak.js.map +1 -0
  30. package/dist/core/parked-on-user.d.ts +25 -0
  31. package/dist/core/parked-on-user.d.ts.map +1 -0
  32. package/dist/core/parked-on-user.js +49 -0
  33. package/dist/core/parked-on-user.js.map +1 -0
  34. package/dist/monitoring/CommitmentTracker.d.ts +107 -0
  35. package/dist/monitoring/CommitmentTracker.d.ts.map +1 -1
  36. package/dist/monitoring/CommitmentTracker.js +156 -0
  37. package/dist/monitoring/CommitmentTracker.js.map +1 -1
  38. package/dist/monitoring/PromiseBeacon.d.ts +60 -0
  39. package/dist/monitoring/PromiseBeacon.d.ts.map +1 -1
  40. package/dist/monitoring/PromiseBeacon.js +165 -19
  41. package/dist/monitoring/PromiseBeacon.js.map +1 -1
  42. package/dist/scaffold/templates.d.ts.map +1 -1
  43. package/dist/scaffold/templates.js +10 -0
  44. package/dist/scaffold/templates.js.map +1 -1
  45. package/dist/server/routes.d.ts.map +1 -1
  46. package/dist/server/routes.js +99 -2
  47. package/dist/server/routes.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/data/builtin-manifest.json +63 -63
  50. package/src/scaffold/templates.ts +10 -0
  51. package/upgrades/1.3.577.md +29 -0
  52. package/upgrades/side-effects/agent-owned-followthrough.md +73 -0
@@ -3606,6 +3606,14 @@ setTimeout(() => process.exit(0), 2000);
3606
3606
  patched = true;
3607
3607
  result.upgraded.push('CLAUDE.md: added Real-Check Verification section');
3608
3608
  }
3609
+ // The Agent Carries the Loop (agent-owned-followthrough C1+C2) — agent
3610
+ // awareness for the owner⟂blockedOn commitment model + the probe + that the
3611
+ // user is never status-pinged for an agent-owned commitment. Content-sniffed.
3612
+ if (!content.includes('The Agent Carries the Loop')) {
3613
+ content += `\n### The Agent Carries the Loop (commitment follow-through)\n\nA commitment is MY job to finish — never something the user has to remember or chase. Every commitment carries \`owner\` (agent|user) ⟂ \`blockedOn\` (none|external|user-input|user-authorization):\n- **owner:agent** → I drive it to closure; the user is NEVER status-pinged (the beacon suppresses my status sends). They hear from me only on a result.\n- **owner:agent, blockedOn:external** (waiting on a vendor/CI/calendar) → I monitor and record a dependency-probe each time I check (\`POST /commitments/:id/probe\` with \`{checked, readinessSignal}\`); a fresh probe resets the staleness window. If a wait goes silent past the window (or an absolute ceiling), ONE honest dead-letter surfaces — never a nagging stream, never silence.\n- **owner:user, blockedOn:user-input** → a genuine info/taste decision that is theirs: I surface it ONCE as a plain question, then wait.\n- **owner:user, blockedOn:user-authorization** → an approval I lack: surfaced ONCE (no self-grant).\n\nI declare owner/blockedOn at commitment creation; a later state change goes through \`POST /commitments/:id/transition\` (re-runs the gate, no close-and-reopen). I never park my own action on the user ("your call", "remember to") — the B-PARK/B-IDLEAK signals flag that for the outbound gate. Ships dark-on-fleet / live-in-dryRun-on-dev (\`commitments.agentOwnedFollowthrough\`). Constitution: "The Agent Carries the Loop".\n`;
3614
+ patched = true;
3615
+ result.upgraded.push('CLAUDE.md: added The Agent Carries the Loop section');
3616
+ }
3609
3617
  // Self-Unblock Before Escalating (docs/specs/self-unblock-before-escalating.md,
3610
3618
  // CMT-1519) — Agent Awareness Standard + Migration Parity item 3. The reflex
3611
3619
  // LEADS WITH THE BOUNDARY (within permissions / org-granted scope), THEN "find a