@quantiya/codevibe-claude-plugin 2.0.38 → 2.0.40

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 (341) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/scrubber.d.ts +8 -0
  3. package/node_modules/@quantiya/codevibe-core/dist/index.js +441 -432
  4. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +12 -0
  5. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +763 -155
  6. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts +111 -2
  7. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-items.d.ts +21 -1
  8. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-store.d.ts +44 -0
  9. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +60 -7
  10. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/quorum-loop.d.ts +41 -5
  11. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/slash-router.d.ts +8 -0
  12. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/team-decompose.d.ts +17 -0
  13. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/user-rules.d.ts +83 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/web/fetch.d.ts +14 -0
  15. package/node_modules/@quantiya/codevibe-core/package.json +4 -3
  16. package/package.json +2 -2
  17. package/node_modules/@quantiya/codevibe-core/dist/__tests__/cp-5-baseline-invariants.test.d.ts +0 -1
  18. package/node_modules/@quantiya/codevibe-core/dist/__tests__/gate-ux-regressions.test.d.ts +0 -1
  19. package/node_modules/@quantiya/codevibe-core/dist/__tests__/mobile-prompt-input.test.d.ts +0 -1
  20. package/node_modules/@quantiya/codevibe-core/dist/__tests__/no-raw-control-bytes-in-source.test.d.ts +0 -1
  21. package/node_modules/@quantiya/codevibe-core/dist/__tests__/prompt-parser.test.d.ts +0 -1
  22. package/node_modules/@quantiya/codevibe-core/dist/__tests__/terminal-menu.test.d.ts +0 -1
  23. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/capabilities.test.d.ts +0 -1
  24. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/contract-conformance.test.d.ts +0 -1
  25. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/packets.test.d.ts +0 -1
  26. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/progress.test.d.ts +0 -1
  27. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/registry.test.d.ts +0 -1
  28. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/smoke/claude.smoke.test.d.ts +0 -1
  29. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/smoke/codex.smoke.test.d.ts +0 -1
  30. package/node_modules/@quantiya/codevibe-core/dist/adapter/__tests__/smoke/gemini.smoke.test.d.ts +0 -1
  31. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-apply-user-decision.test.d.ts +0 -1
  32. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-classb.test.d.ts +0 -1
  33. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-context-items.test.d.ts +0 -1
  34. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-event-source-filter.test.d.ts +0 -1
  35. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-flag-locator.test.d.ts +0 -1
  36. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-planner.test.d.ts +0 -1
  37. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client-task-group.test.d.ts +0 -1
  38. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/appsync-client.test.d.ts +0 -1
  39. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/cleanup-subscription.test.d.ts +0 -1
  40. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/coerce-awsjson-and-review-summary.test.d.ts +0 -1
  41. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/cp1f-quorum-sdk.test.d.ts +0 -1
  42. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/dispose-watcher-socket.test.d.ts +0 -1
  43. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/event-throttle.test.d.ts +0 -1
  44. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/group-operation-result.test.d.ts +0 -1
  45. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/heartbeat-active.test.d.ts +0 -1
  46. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/orphan-sweep-null-heartbeat.test.d.ts +0 -1
  47. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/refresh-open-prompt-ttl-chunk.test.d.ts +0 -1
  48. package/node_modules/@quantiya/codevibe-core/dist/appsync/__tests__/supervision-subscription.test.d.ts +0 -1
  49. package/node_modules/@quantiya/codevibe-core/dist/audit-keys/__tests__/audit-keys-parity.test.d.ts +0 -1
  50. package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/auth-telemetry.test.d.ts +0 -1
  51. package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/keychain-cli-nudge.test.d.ts +0 -1
  52. package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/keychain-cli.test.d.ts +0 -1
  53. package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/vendor-key-cli.test.d.ts +0 -1
  54. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/mode-selected-emit.test.d.ts +0 -1
  55. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/persist-preference.test.d.ts +0 -1
  56. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/private-launcher-detection.test.d.ts +0 -1
  57. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/private-launcher-path.test.d.ts +0 -1
  58. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/__tests__/resolve-agent.test.d.ts +0 -1
  59. package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/dirty-state-collector.test.d.ts +0 -1
  60. package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/integration.test.d.ts +0 -1
  61. package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/packet-reader.test.d.ts +0 -1
  62. package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/packet-writer.test.d.ts +0 -1
  63. package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/parity.test.d.ts +0 -1
  64. package/node_modules/@quantiya/codevibe-core/dist/continuation/__tests__/status-cli.test.d.ts +0 -1
  65. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/broker-c4.test.d.ts +0 -1
  66. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/broker-streaming.test.d.ts +0 -1
  67. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/broker.test.d.ts +0 -1
  68. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/canonical.test.d.ts +0 -1
  69. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/chatgpt-config.test.d.ts +0 -1
  70. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/oauth-account-lock.test.d.ts +0 -1
  71. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/oauth-refresh.test.d.ts +0 -1
  72. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/scrubber.test.d.ts +0 -1
  73. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/upstream-client.test.d.ts +0 -1
  74. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/upstream-result-helpers.d.ts +0 -21
  75. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/vendor-key-store.test.d.ts +0 -1
  76. package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/crypto-service.test.d.ts +0 -1
  77. package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/encrypt-for-emit.test.d.ts +0 -1
  78. package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/open-prompt-id.test.d.ts +0 -1
  79. package/node_modules/@quantiya/codevibe-core/dist/daemon/__tests__/process-guards.test.d.ts +0 -1
  80. package/node_modules/@quantiya/codevibe-core/dist/e1/__tests__/prompt-publication.test.d.ts +0 -1
  81. package/node_modules/@quantiya/codevibe-core/dist/e1/__tests__/prompt-raise.test.d.ts +0 -1
  82. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-backend.test.d.ts +0 -1
  83. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-manager.test.d.ts +0 -1
  84. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-migrate.test.d.ts +0 -1
  85. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/migrate-nudge.test.d.ts +0 -1
  86. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/agentic-disposable-repo.test.d.ts +0 -1
  87. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/agentic-resolve.test.d.ts +0 -1
  88. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/agentic-resolver-flag.test.d.ts +0 -1
  89. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/anchored-fs.test.d.ts +0 -1
  90. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/authority-symlink-fixture.d.ts +0 -15
  91. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/authority.test.d.ts +0 -1
  92. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-directory.test.d.ts +0 -1
  93. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-output.test.d.ts +0 -1
  94. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-a-emit.test.d.ts +0 -1
  95. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-a-sign.test.d.ts +0 -1
  96. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-b-consumer.integration.test.d.ts +0 -1
  97. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class-b-consumer.test.d.ts +0 -1
  98. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class1-reconcilers.test.d.ts +0 -1
  99. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/class2-resolver.test.d.ts +0 -1
  100. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/confined-model-caller.test.d.ts +0 -1
  101. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/conflict-classifier.test.d.ts +0 -1
  102. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/conflict-resolution-durable-store.test.d.ts +0 -1
  103. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/conflict-resolution-store.test.d.ts +0 -1
  104. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/cp1f-quorum-consumer.test.d.ts +0 -1
  105. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/cp7-audit-writer.test.d.ts +0 -1
  106. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/durable-directory.test.d.ts +0 -1
  107. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/durable-store.test.d.ts +0 -1
  108. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/git-lock-retry.test.d.ts +0 -1
  109. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/hook-bridge.test.d.ts +0 -1
  110. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/hosted-class-a-sink.test.d.ts +0 -1
  111. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/implementor-argv.test.d.ts +0 -1
  112. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor-teams-summary.test.d.ts +0 -1
  113. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor-teams.test.d.ts +0 -1
  114. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor.integration.test.d.ts +0 -1
  115. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-extract.test.d.ts +0 -1
  116. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-git.integration.test.d.ts +0 -1
  117. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-resolve-agentic.integration.test.d.ts +0 -1
  118. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-conflict-resolve.integration.test.d.ts +0 -1
  119. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-journal-store.test.d.ts +0 -1
  120. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train-agentic-recovery.integration.test.d.ts +0 -1
  121. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train-w3.integration.test.d.ts +0 -1
  122. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train-waveb.integration.test.d.ts +0 -1
  123. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/merge-train.test.d.ts +0 -1
  124. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-identity.test.d.ts +0 -1
  125. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-tree.test.d.ts +0 -1
  126. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/promote-wal-store.test.d.ts +0 -1
  127. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/protocol-backlog-wiring.test.d.ts +0 -1
  128. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/protocol-backlog.test.d.ts +0 -1
  129. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/publication-authority-capability.test.d.ts +0 -1
  130. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/revert-reconcile.test.d.ts +0 -1
  131. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/revert-runner.test.d.ts +0 -1
  132. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/reviewer-rationale-flag.test.d.ts +0 -1
  133. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/shared-contract-detector.test.d.ts +0 -1
  134. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/snapshot-merge.test.d.ts +0 -1
  135. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/spawn.test.d.ts +0 -1
  136. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/substrate-engage.test.d.ts +0 -1
  137. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/team-execution-flag.test.d.ts +0 -1
  138. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/track-registry.test.d.ts +0 -1
  139. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/verification-runner.test.d.ts +0 -1
  140. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/wb2-review-bundle.test.d.ts +0 -1
  141. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/wb2-substrate-spawn.live.test.d.ts +0 -1
  142. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority-fixture.d.ts +0 -3
  143. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority.test.d.ts +0 -1
  144. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-cleanup-audit.test.d.ts +0 -1
  145. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-materializer.test.d.ts +0 -1
  146. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-shadow.test.d.ts +0 -1
  147. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/worktree-merge.test.d.ts +0 -1
  148. package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/installer.test.d.ts +0 -1
  149. package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/manager.test.d.ts +0 -1
  150. package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/ollama-context-window.test.d.ts +0 -1
  151. package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/ollama.test.d.ts +0 -1
  152. package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/runtime.test.d.ts +0 -1
  153. package/node_modules/@quantiya/codevibe-core/dist/local-model/__tests__/state.test.d.ts +0 -1
  154. package/node_modules/@quantiya/codevibe-core/dist/orchestration/__tests__/detect-agents.test.d.ts +0 -1
  155. package/node_modules/@quantiya/codevibe-core/dist/orchestration/__tests__/v1-options.test.d.ts +0 -1
  156. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/a1a-planner-offers.test.d.ts +0 -1
  157. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/a6-cli-surface.test.d.ts +0 -1
  158. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachment-journal.test.d.ts +0 -1
  159. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachments-dir-race.test.d.ts +0 -1
  160. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-multi-mention-panel.test.d.ts +0 -1
  161. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-panel-attachments.test.d.ts +0 -1
  162. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-quota-stdout-result.test.d.ts +0 -1
  163. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/agent-turn-context-batch.test.d.ts +0 -1
  164. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/attachments.test.d.ts +0 -1
  165. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-browser.test.d.ts +0 -1
  166. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-buffer-join.test.d.ts +0 -1
  167. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-normalization.test.d.ts +0 -1
  168. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-summary.test.d.ts +0 -1
  169. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audited-path-fixes.test.d.ts +0 -1
  170. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/bounded-shutdown.test.d.ts +0 -1
  171. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/bracketed-paste.test.d.ts +0 -1
  172. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/brainstorm-quorum-wiring.test.d.ts +0 -1
  173. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/brainstorm-quorum.test.d.ts +0 -1
  174. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/browse-prompt-urls.test.d.ts +0 -1
  175. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-authority-bridge.test.d.ts +0 -1
  176. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-group-halt-wiring.test.d.ts +0 -1
  177. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-orchestration-session-bootstrap.test.d.ts +0 -1
  178. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-planner-stack.test.d.ts +0 -1
  179. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-probe-group-status.test.d.ts +0 -1
  180. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-quorum-loop-tier.test.d.ts +0 -1
  181. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-singleton-enforcement.test.d.ts +0 -1
  182. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-team-session-key.test.d.ts +0 -1
  183. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-verdict-classifier-wiring.test.d.ts +0 -1
  184. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/command-intent.test.d.ts +0 -1
  185. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/companion-turn-mirror.test.d.ts +0 -1
  186. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/components.test.d.ts +0 -1
  187. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-compaction.test.d.ts +0 -1
  188. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items-hosted-sync.test.d.ts +0 -1
  189. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items-wiring.test.d.ts +0 -1
  190. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items.test.d.ts +0 -1
  191. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-store.test.d.ts +0 -1
  192. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp10-585-accept-echo-target.test.d.ts +0 -1
  193. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp10-585-loop.test.d.ts +0 -1
  194. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp10-585-prompts.test.d.ts +0 -1
  195. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp12-w2b-team-loop.test.d.ts +0 -1
  196. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp12-w4-team-recovery.test.d.ts +0 -1
  197. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp1f-quorum-loop.test.d.ts +0 -1
  198. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp606-team-track-user-resolved.test.d.ts +0 -1
  199. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp7-reviewer-substrate.test.d.ts +0 -1
  200. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp8-full-team-events.test.d.ts +0 -1
  201. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp8-team-decomposed-zk.test.d.ts +0 -1
  202. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt-live-handoff.test.d.ts +0 -1
  203. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt-recovery.test.d.ts +0 -1
  204. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt-session-serialization.test.d.ts +0 -1
  205. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-attempt.test.d.ts +0 -1
  206. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-effect.test.d.ts +0 -1
  207. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-map-lifecycle.test.d.ts +0 -1
  208. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/declared-test-runner.test.d.ts +0 -1
  209. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/destructive-request.test.d.ts +0 -1
  210. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/emit-shell-event.test.d.ts +0 -1
  211. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/explicit-tty-exit.test.d.ts +0 -1
  212. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/familiarize-routing.test.d.ts +0 -1
  213. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/flag-command.test.d.ts +0 -1
  214. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-decision-submit.test.d.ts +0 -1
  215. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-details-panel.test.d.ts +0 -1
  216. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-prompts.test.d.ts +0 -1
  217. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-resolution-event.test.d.ts +0 -1
  218. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/gate-verdict-details-dispatch.test.d.ts +0 -1
  219. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/group-decision-submit.test.d.ts +0 -1
  220. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/halt-message-wire-content.test.d.ts +0 -1
  221. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/hostile-grep.test.d.ts +0 -1
  222. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/image-attach-e2e.test.d.ts +0 -1
  223. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/input-bar-autocomplete.test.d.ts +0 -1
  224. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/live-region-cap.test.d.ts +0 -1
  225. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/live-static-order.test.d.ts +0 -1
  226. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mention-suggest.test.d.ts +0 -1
  227. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mobile-user-prompt-return.test.d.ts +0 -1
  228. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mode-selection.test.d.ts +0 -1
  229. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/model-cli.test.d.ts +0 -1
  230. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/non-gate-prompt-routing.test.d.ts +0 -1
  231. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/o5-diagnostics.test.d.ts +0 -1
  232. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/orchestration-app-group-decision-transport.test.d.ts +0 -1
  233. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/orchestration-app-layout.test.d.ts +0 -1
  234. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-confirmation-routing.test.d.ts +0 -1
  235. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-offer-e1.test.d.ts +0 -1
  236. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/process-markers.test.d.ts +0 -1
  237. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/query_audit_tier_gate.test.d.ts +0 -1
  238. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-fail-safe.test.d.ts +0 -1
  239. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-outcome-recency.test.d.ts +0 -1
  240. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-summary.test.d.ts +0 -1
  241. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reducer.test.d.ts +0 -1
  242. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reissue-team-retained-spec.test.d.ts +0 -1
  243. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/review-summary-render.test.d.ts +0 -1
  244. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reviewer-wizard.test.d.ts +0 -1
  245. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/reviewers-format.test.d.ts +0 -1
  246. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/root-discovery.test.d.ts +0 -1
  247. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/route-browse-multi-result.test.d.ts +0 -1
  248. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/route-browse-summarize-recovery.test.d.ts +0 -1
  249. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-browse-cancel.test.d.ts +0 -1
  250. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-classify-dispatch.test.d.ts +0 -1
  251. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-planner-wiring.test.d.ts +0 -1
  252. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-session-retire.test.d.ts +0 -1
  253. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell-signal.test.d.ts +0 -1
  254. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/runOrchestrationShell.test.d.ts +0 -1
  255. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/serialize-submissions.test.d.ts +0 -1
  256. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/slash-router.test.d.ts +0 -1
  257. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/slash-suggest.test.d.ts +0 -1
  258. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/status-format.test.d.ts +0 -1
  259. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/sticky-preference.test.d.ts +0 -1
  260. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/supervision-catch-up.test.d.ts +0 -1
  261. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/task-progress.test.d.ts +0 -1
  262. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-decompose-routing.test.d.ts +0 -1
  263. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-decompose-types.test.d.ts +0 -1
  264. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-decompose.test.d.ts +0 -1
  265. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/team-e2e-smoke.test.d.ts +0 -1
  266. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/tier2-reviewer-selection.test.d.ts +0 -1
  267. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/web-browsing.test.d.ts +0 -1
  268. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-outcome.test.d.ts +0 -1
  269. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-shutdown.test.d.ts +0 -1
  270. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-terminal-coordinator.test.d.ts +0 -1
  271. package/node_modules/@quantiya/codevibe-core/dist/ordinal-presentation.test.d.ts +0 -1
  272. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/cache-clarification-bypass.test.d.ts +0 -1
  273. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/cache.test.d.ts +0 -1
  274. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/client.test.d.ts +0 -1
  275. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/health-machine-transitions.test.d.ts +0 -1
  276. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/local-gemma-browse-regression.test.d.ts +0 -1
  277. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/local-gemma-followup-hotfix.test.d.ts +0 -1
  278. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/local-gemma.test.d.ts +0 -1
  279. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/types-zod.test.d.ts +0 -1
  280. package/node_modules/@quantiya/codevibe-core/dist/planner/__tests__/url-protect.test.d.ts +0 -1
  281. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/antigravity-provider.test.d.ts +0 -1
  282. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/claude-provider-json.test.d.ts +0 -1
  283. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/cp7-reviewer-sandbox.test.d.ts +0 -1
  284. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/integration.test.d.ts +0 -1
  285. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/mocks.test.d.ts +0 -1
  286. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/output-parser-classifier-helpers.test.d.ts +0 -1
  287. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/output-parser.test.d.ts +0 -1
  288. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/registry.test.d.ts +0 -1
  289. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/round-scope.test.d.ts +0 -1
  290. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/subprocess.test.d.ts +0 -1
  291. package/node_modules/@quantiya/codevibe-core/dist/reviewer/__tests__/verdict-classifier.test.d.ts +0 -1
  292. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/claude-live-smoke.test.d.ts +0 -1
  293. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/claude.test.d.ts +0 -1
  294. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/codex-live-smoke.test.d.ts +0 -1
  295. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/codex.test.d.ts +0 -1
  296. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/__tests__/failure-classifier.test.d.ts +0 -1
  297. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/device-registration-lease.test.d.ts +0 -1
  298. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/pending-session-create.test.d.ts +0 -1
  299. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/prepare-event-timestamp.test.d.ts +0 -1
  300. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-rekey-fingerprint.test.d.ts +0 -1
  301. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-key-reconciliation.test.d.ts +0 -1
  302. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-pending-first.test.d.ts +0 -1
  303. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-service-keys.test.d.ts +0 -1
  304. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/__fixtures__/fixture-helpers.d.ts +0 -11
  305. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/assembler.test.d.ts +0 -1
  306. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/generator.test.d.ts +0 -1
  307. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/language-detect.test.d.ts +0 -1
  308. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/cargo.test.d.ts +0 -1
  309. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/gomod.test.d.ts +0 -1
  310. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/gradle.test.d.ts +0 -1
  311. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/index.test.d.ts +0 -1
  312. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/npm.test.d.ts +0 -1
  313. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/podfile.test.d.ts +0 -1
  314. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/manifest-parsers/pyproject.test.d.ts +0 -1
  315. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/opt-in-store.test.d.ts +0 -1
  316. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/privacy-filter.test.d.ts +0 -1
  317. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/safe-file-read.test.d.ts +0 -1
  318. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/user-ignore-matcher.test.d.ts +0 -1
  319. package/node_modules/@quantiya/codevibe-core/dist/structural-summary/__tests__/walker.test.d.ts +0 -1
  320. package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/command-runner.test.d.ts +0 -1
  321. package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/docker.test.d.ts +0 -1
  322. package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/forwarder.test.d.ts +0 -1
  323. package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/sandbox-exec.test.d.ts +0 -1
  324. package/node_modules/@quantiya/codevibe-core/dist/substrate/__tests__/substrate-e2e.integration.test.d.ts +0 -1
  325. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/apikey-bootstrap.test.d.ts +0 -1
  326. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/creditless-loop.integration.test.d.ts +0 -1
  327. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/engage-substrate.test.d.ts +0 -1
  328. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/fallback-ladder.test.d.ts +0 -1
  329. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/le-env-scrub.test.d.ts +0 -1
  330. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/reviewer-credential-preflight.test.d.ts +0 -1
  331. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/sanitized-env.test.d.ts +0 -1
  332. package/node_modules/@quantiya/codevibe-core/dist/test-publication-authority-setup.d.ts +0 -1
  333. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/consolidator.test.d.ts +0 -1
  334. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/digest.test.d.ts +0 -1
  335. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/flock-rollout-lock.test.d.ts +0 -1
  336. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/ledger.test.d.ts +0 -1
  337. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/outbox.test.d.ts +0 -1
  338. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/replay-cursor.test.d.ts +0 -1
  339. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/session-map.test.d.ts +0 -1
  340. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/socket-rollout-lock.test.d.ts +0 -1
  341. package/node_modules/@quantiya/codevibe-core/dist/track-presentation.test.d.ts +0 -1
@@ -45,6 +45,25 @@ export declare const SESSION_CONTEXT_SECTION_MAX_CHARS_CLASSIFY = 6000;
45
45
  * between multi-agent deliberation turns while preserving the overall budget.
46
46
  */
47
47
  export declare const SESSION_CONTEXT_SECTION_MAX_CHARS_BRAINSTORM = 4800;
48
+ /**
49
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1 "Budget") — the user-context list's
50
+ * budgets. Pins are placed first, newest first; messages then fill their own
51
+ * budget, newest first, each message's text capped with an ends-preserving
52
+ * cut. Implementors and the decomposer get the larger budgets (their list rides
53
+ * the stdin, outside the 4,800-char dispatch block); the planner's
54
+ * classification render and the brainstorm panel get the smaller ones inside
55
+ * their section, plus a message floor reserved before the hot tail.
56
+ */
57
+ export declare const USER_CONTEXT_PIN_MAX_CHARS_IMPLEMENTOR = 2400;
58
+ export declare const USER_CONTEXT_MESSAGE_MAX_CHARS_IMPLEMENTOR = 2000;
59
+ export declare const USER_CONTEXT_PIN_MAX_CHARS_PLANNER = 1600;
60
+ export declare const USER_CONTEXT_MESSAGE_MAX_CHARS_PLANNER = 1500;
61
+ export declare const USER_CONTEXT_MESSAGE_FLOOR_CHARS = 600;
62
+ export declare const USER_CONTEXT_MESSAGE_LINE_MAX_CHARS = 300;
63
+ /** §3.2 — the implementor (and decomposer) header: the wording tested in E12. */
64
+ export declare const USER_CONTEXT_HEADER_IMPLEMENTOR = "The user's own words from earlier in this session, oldest first: rules the shell pinned and the user's recent messages. Follow every standing rule, convention or preference they state; where two conflict, the later one wins. They take precedence over the repository context and any codebase overview below. Other requests in these messages are context only; the TASK above is what to do now.";
65
+ /** §3.2 — the planner and panel header; the lines below it stay self-describing if trimming cuts it (E6). */
66
+ export declare const USER_CONTEXT_HEADER_PLANNER = "The user's own words from earlier in this session, oldest first, including the latest ones shown above; where two entries conflict, the later one wins:";
48
67
  /**
49
68
  * A1f Stage-1 R1 HIGH + Stage-2 R1 (H1/M2/M3/M5) — one distilled FACT:
50
69
  * - `body` — the source item's COMPLETE typed payload, verbatim (M3:
@@ -243,7 +262,15 @@ export declare function maybeFireCompactionSafetyValve(sessionId: string): Promi
243
262
  * `null` = the chain failed verification — fail-closed, rehydrate NOTHING
244
263
  * (the A1e projection contract).
245
264
  */
246
- export declare function rehydrateSessionContext(deps: {
265
+ export declare function rehydrateSessionContext(deps: RehydrateSessionContextDeps,
266
+ /**
267
+ * M7 — receives the verified items this rehydration read, so the user list
268
+ * (rendered from the log, not the cache — §3.2) needs no second read.
269
+ */
270
+ observe?: {
271
+ verifiedItems?: (items: readonly ContextItem[]) => void;
272
+ }): Promise<RehydratedSessionContext | null>;
273
+ export interface RehydrateSessionContextDeps {
247
274
  sessionId: string;
248
275
  role: ContextItemProjectionRole;
249
276
  clearance: ContextItemSensitivity;
@@ -253,7 +280,7 @@ export declare function rehydrateSessionContext(deps: {
253
280
  * dispatch. ABSENT (e.g. the decomposer, pre-task) → session-scoped only.
254
281
  */
255
282
  scope?: DispatchScope;
256
- }): Promise<RehydratedSessionContext | null>;
283
+ }
257
284
  /**
258
285
  * Render the rehydrated session context as ONE bounded prompt section (fed
259
286
  * to `composeDispatchContextBlock`'s `renderSessionContextFn` seam —
@@ -271,6 +298,88 @@ export declare function renderRehydratedSessionContext(deps: {
271
298
  /** Classifier control state comes from the current request, not prior decisions. */
272
299
  purpose?: 'classification';
273
300
  }): Promise<string>;
301
+ /** One live pinned rule the list may show. */
302
+ export interface UserContextPin {
303
+ seq: string;
304
+ id: string;
305
+ /** `- [pinned rule] …` — redacted, on one line. */
306
+ line: string;
307
+ }
308
+ /** One earlier message the list may show. */
309
+ export interface UserContextMessage {
310
+ seq: string;
311
+ id: string;
312
+ /** `- [earlier message] …` — redacted, on one line, text capped. */
313
+ line: string;
314
+ }
315
+ export interface UserContextCandidates {
316
+ /** Live pins, oldest first. */
317
+ pins: UserContextPin[];
318
+ /** Messages eligible for the list (after the request-part exclusion and the merge rule), oldest first. */
319
+ messages: UserContextMessage[];
320
+ }
321
+ /** A live pin for `/rules` and the revocation guard (label-permitted for the planner). */
322
+ export interface LiveUserRule {
323
+ id: string;
324
+ seq: string;
325
+ text: string;
326
+ source: 'turn' | 'explicit';
327
+ }
328
+ /** True for a pinned-rule or a pin-retirement `decision` body. */
329
+ export declare function isUserRuleBody(body: unknown): boolean;
330
+ /** §3.1 DL-2 — every live pin, oldest first (the `/rules` numbering). */
331
+ export declare function liveUserRules(items: readonly ContextItem[]): LiveUserRule[];
332
+ /** The session's live pins from the VERIFIED log; `null` when the chain does not verify. */
333
+ export declare function readLiveUserRules(sessionId: string): Promise<LiveUserRule[] | null>;
334
+ /**
335
+ * §3.1 — select what the list may show for a role: the label floor
336
+ * (`projectItemsForRole`), live pins, and the user's own messages (human
337
+ * `turn` items only — never agent, conductor or panel turns). With
338
+ * `requestText` (implementors and the decomposer), a message the brief's
339
+ * request part already carries is left out. Merge rule (R2-F1): a listed
340
+ * message whose WHOLE text is its pin appears once, as the pin; otherwise the
341
+ * message and its pin both appear, ordered by `seq`. A retired pin (`/rules
342
+ * forget`) takes its words out of its message: a whole-text message leaves the
343
+ * list, and a longer message stays without the pinned sentence(s) — or leaves
344
+ * too when they cannot be cut out (implementation gate R1-F2) — so the rule's
345
+ * words stop reaching agents. Pure; exported for tests.
346
+ */
347
+ export declare function selectUserContextCandidates(items: readonly ContextItem[], opts: {
348
+ role: ContextItemProjectionRole;
349
+ clearance: ContextItemSensitivity;
350
+ requestText?: string;
351
+ }): UserContextCandidates;
352
+ /**
353
+ * §3.1 presentation — the newest `keptPinCount` pins and `keptMessageCount`
354
+ * messages merged by `seq`, oldest first. Older pins that did not fit collapse
355
+ * into one `[N older pinned rules omitted — /rules lists them all]` line at the
356
+ * top; messages that did not fit become `[N earlier messages omitted]` exactly
357
+ * where they were, between the shown entries. Pure; exported for tests.
358
+ */
359
+ export declare function presentUserContext(candidates: UserContextCandidates, keptPinCount: number, keptMessageCount: number): string[];
360
+ /**
361
+ * §3.2 — the implementor (and decomposer) list from verified items: pins
362
+ * within 2,400 chars, then messages within 2,000, newest first, presented
363
+ * oldest first under the binding header. Returns '' when there is nothing to
364
+ * show. Pure; exported for tests.
365
+ */
366
+ export declare function renderUserContextFromItems(items: readonly ContextItem[], opts: {
367
+ role: ContextItemProjectionRole;
368
+ clearance: ContextItemSensitivity;
369
+ requestText?: string;
370
+ }): string;
371
+ /**
372
+ * §3.2/§3.3 — the implementor's and the decomposer's user-context section,
373
+ * read from the VERIFIED log. `requestText` is the round's (or the
374
+ * decomposer's) brief. Fail-closed to '' (one warning per session) — the
375
+ * dispatch proceeds without it. Never throws.
376
+ */
377
+ export declare function renderUserContextSection(deps: {
378
+ sessionId: string;
379
+ role: ContextItemProjectionRole;
380
+ clearance: ContextItemSensitivity;
381
+ requestText?: string;
382
+ }): Promise<string>;
274
383
  /**
275
384
  * §6 Eviction/GC — TTL-only retention sweep of the per-session log dirs
276
385
  * under `~/.codevibe/context-items/`: a session dir whose NEWEST file mtime
@@ -1,4 +1,4 @@
1
- import { loadContextStore, resolveContextRef, probeWorkspaceGitHead } from './context-store';
1
+ import { loadContextStore, resolveContextRef, probeWorkspaceGitHead, probeWorkspaceTreeFingerprint } from './context-store';
2
2
  import type { StructuralSummaryGenerator, RepoSummary } from '../structural-summary/types';
3
3
  import type { Tier } from './types';
4
4
  /** AppSync's pinned blind-hold ciphertext ceiling (ASCII base64 characters). */
@@ -285,6 +285,12 @@ export interface RepoStateBody {
285
285
  summary: string;
286
286
  /** The workspace git HEAD recorded AT READ TIME (§8.3 freshness). */
287
287
  gitHead?: string;
288
+ /**
289
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5) — the working-tree fingerprint
290
+ * recorded AT READ START (`probeWorkspaceTreeFingerprint`). A record without
291
+ * one (written before M7) never projects fresh at an unchanged HEAD.
292
+ */
293
+ worktreeFingerprint?: string;
288
294
  producedAt: string;
289
295
  }
290
296
  export type RepoStateProjection = {
@@ -337,6 +343,16 @@ export declare const NON_GIT_REPO_STATE_MAX_AGE_MS: number;
337
343
  * error, git missing, unborn HEAD) proves nothing and borrows NOTHING:
338
344
  * never fresh (no F5 allowance) and NO re-delegation (a re-read under a
339
345
  * failing probe records no head → a permanent loop) — stale, no-fire.
346
+ * - M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5, DL-4) — an UNCHANGED HEAD is
347
+ * necessary but no longer sufficient: Accept applies a diff without
348
+ * committing, so the overview can contradict the tree while HEAD stays
349
+ * put. The record's `worktreeFingerprint` must equal a fresh
350
+ * `probeWorkspaceTreeFingerprint`. A differing fingerprint (applied,
351
+ * uncommitted edits), a record without one (written before M7) or a
352
+ * failed / timed-out probe is STALE with NO re-delegation — a re-read per
353
+ * Accept would be a frontier read of the whole codebase; the overview
354
+ * returns at the next commit (HEAD moves → re-read) or familiarize. Each
355
+ * probe's duration is logged (the per-dispatch cost on a dirty tree).
340
356
  */
341
357
  export declare function projectRepoStateForDispatch(deps: {
342
358
  sessionId: string;
@@ -346,6 +362,8 @@ export declare function projectRepoStateForDispatch(deps: {
346
362
  onStaleRedelegate?: () => void;
347
363
  /** Test seam — defaults to the real git probe. */
348
364
  probeGitHeadFn?: typeof probeWorkspaceGitHead;
365
+ /** Test seam — defaults to the real working-tree fingerprint probe (M7). */
366
+ probeTreeFingerprintFn?: typeof probeWorkspaceTreeFingerprint;
349
367
  }): Promise<RepoStateProjection>;
350
368
  /**
351
369
  * The deterministic-emitter write path for a freshly-delegated codebase
@@ -359,6 +377,8 @@ export declare function appendRepoStateItem(deps: {
359
377
  /** The LE AgentKind that authored the read (e.g. 'CLAUDE'). */
360
378
  agentId: string;
361
379
  gitHead?: string;
380
+ /** M7 §3.5 — the working-tree fingerprint at read start. */
381
+ worktreeFingerprint?: string;
362
382
  producedAt?: string;
363
383
  }): Promise<ContextItem | null>;
364
384
  /**
@@ -87,6 +87,11 @@ export interface RepoStateRecord {
87
87
  producedAt: string;
88
88
  /** The git HEAD the overview was produced at, when captured cheaply. */
89
89
  gitHead?: string;
90
+ /**
91
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5) — the working-tree fingerprint at
92
+ * read start (`probeWorkspaceTreeFingerprint`). Absent on older records.
93
+ */
94
+ worktreeFingerprint?: string;
90
95
  }
91
96
  /**
92
97
  * §5.4 — `slice_selector` is FORMALLY TYPED so the writer and the
@@ -359,6 +364,45 @@ export type WorkspaceGitHeadProbe = {
359
364
  * the sound handling, pinned by test.
360
365
  */
361
366
  export declare function probeWorkspaceGitHead(workspaceRoot: string): Promise<WorkspaceGitHeadProbe>;
367
+ /**
368
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.5, DL-4) — the dirty-tree fingerprint
369
+ * probe outcome. `durationMs` feeds the per-dispatch log line.
370
+ */
371
+ export type WorkspaceTreeFingerprintProbe = {
372
+ kind: 'fingerprint';
373
+ value: string;
374
+ entries: number;
375
+ durationMs: number;
376
+ } | {
377
+ kind: 'probe-failed';
378
+ durationMs: number;
379
+ };
380
+ /** §3.5 — the whole probe's budget; running past it is a failed probe (R1-F9). */
381
+ export declare const WORKSPACE_TREE_FINGERPRINT_TIMEOUT_MS = 3000;
382
+ /**
383
+ * M7 §3.5 — a lock-free fingerprint of the working tree's applied-but-
384
+ * uncommitted state: SHA-256 over every entry of
385
+ * `git --no-optional-locks status --porcelain=v1 -z --untracked-files=all`
386
+ * (run with `LC_ALL=C`, from the repository root) with the `lstat` size and
387
+ * mtime of each listed path.
388
+ * - `--no-optional-locks` never takes or rewrites `.git/index` (a plain
389
+ * `git status` refreshes it — design E7);
390
+ * - `--untracked-files=all` lists every untracked file on its own, so an edit
391
+ * inside an untracked directory moves the value (`=normal` collapses the
392
+ * directory to one entry — E7);
393
+ * - the stat half catches a second edit to an already-modified file, whose
394
+ * porcelain line does not change;
395
+ * - a rename/copy entry's source-path field is skipped, and a listed path that
396
+ * no longer exists hashes as `absent` (R1-F15).
397
+ * A clean tree hashes the empty string. A timeout, a git failure or a
398
+ * non-repository is `probe-failed`, which the freshness projection treats as
399
+ * stale without a re-read. Known limit: a further edit inside an already-dirty
400
+ * submodule does not move the value (git reports one entry for it). Never
401
+ * throws.
402
+ */
403
+ export declare function probeWorkspaceTreeFingerprint(workspaceRoot: string, options?: {
404
+ timeoutMs?: number;
405
+ }): Promise<WorkspaceTreeFingerprintProbe>;
362
406
  /**
363
407
  * Hash the generation inputs (§4.2 conjunct (d)). A `StructuralSummary` is a
364
408
  * pure function of `tree content × generation inputs`; this hashes the
@@ -207,6 +207,16 @@ export interface RunOrchestrationShellArgs {
207
207
  agent: string;
208
208
  roundNumber: number;
209
209
  }) => Promise<string>;
210
+ /**
211
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.3) — the user's own words for every
212
+ * implementor round; `runOrchestrationShell` installs `renderUserContextSection`.
213
+ */
214
+ userContextFn?: (input: {
215
+ taskId: string;
216
+ agent: string;
217
+ roundNumber: number;
218
+ brief: string;
219
+ }) => Promise<string>;
210
220
  };
211
221
  /**
212
222
  * PHASE-589/469 W3.2 — the two-phase group-escalation decision deps, built in
@@ -676,8 +686,25 @@ export declare function routeTeamDecompose(deps: {
676
686
  /** Stage-2 R3 HIGH — the loop's durable store, so the live launch persists the retained spec + attachments. */
677
687
  durableStore?: RevertManifestStore;
678
688
  }): Promise<void>;
679
- /** Test seam — reset the module-level A1e composer (vitest-gated). */
689
+ /** Test seam — reset the module-level A1e and M7 composers (vitest-gated). */
680
690
  export declare function resetDispatchContextComposerForTests(): void;
691
+ /** Test seam — install the M7 decomposer user-context composer (vitest-gated). */
692
+ export declare function setUserContextComposerForTests(composer: ((brief: string) => Promise<string>) | null): void;
693
+ /**
694
+ * A1e §8.3 (design "Freshness" bullet) — the QUIET background re-delegation
695
+ * of the codebase read, fired when a `repo_state` projection finds the
696
+ * workspace git-HEAD diverged from the record. Mirrors `routeFamiliarize`'s
697
+ * frontier-delegation half but renders NOTHING (no advisory, no spinner) —
698
+ * it only refreshes the persisted `repo_state` (legacy record + typed
699
+ * ContextItem, both stamped with the HEAD probed AT READ TIME) so the NEXT
700
+ * projection is fresh. Best-effort: every failure is logged and dropped —
701
+ * a background refresh must never affect the dispatch that triggered it.
702
+ * Exported for tests.
703
+ */
704
+ export declare function redelegateRepoStateReadQuietly(deps: {
705
+ args: RunOrchestrationShellArgs;
706
+ workspaceRoot: string;
707
+ }): Promise<void>;
681
708
  /**
682
709
  * CP-4 §4.1 (#600) — `familiarize` desktop route: the context-priming task.
683
710
  *
@@ -1092,6 +1119,28 @@ export declare function resetTurnAuthoringStateForTests(): void;
1092
1119
  * on any exit path. Non-throwing (delete on a Map/Set never throws).
1093
1120
  */
1094
1121
  export declare function clearTurnAuthoringSessionState(sessionId: string): void;
1122
+ /**
1123
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1, DL-2) — `/rule <text>`: pin the text
1124
+ * verbatim (capped) as a durable `user_rule` decision with source `explicit`,
1125
+ * and return the acknowledgement once the append is durable. The fail-soft
1126
+ * floor (no at-rest key) pins nothing and says so. Exported for tests.
1127
+ */
1128
+ export declare function pinExplicitUserRule(sessionId: string, commandText: string): Promise<string>;
1129
+ /**
1130
+ * M7 DL-2 — `/rules` lists every live pin, numbered oldest first; `/rules
1131
+ * forget <n>` retires pin n with an append-only `user_rule_retired` decision
1132
+ * whose `refs` names it and whose body carries its `seq` — identical texts share
1133
+ * a content address, so the `seq` names this occurrence (implementation gate
1134
+ * Stage 1 R1-F1). The renderer drops that pin and takes its words out of the
1135
+ * message it came from (R1-F2). Reads the VERIFIED log; an unverifiable chain
1136
+ * lists nothing. Exported for tests.
1137
+ */
1138
+ export declare function runUserRulesCommand(sessionId: string, commandText: string): Promise<string>;
1139
+ /** What `authorTurnContextItems` authored that the turn mirror still needs. */
1140
+ export interface TurnContextAuthoringResult {
1141
+ /** M7 — the pin acknowledgements shown this turn (dispatched and added to the delta). */
1142
+ pinAcknowledgements: string[];
1143
+ }
1095
1144
  /**
1096
1145
  * A1f (design §6 + the A1e-deferred full-vocabulary authoring) — author this
1097
1146
  * turn's typed ContextItems at the ONE per-turn chokepoint: the turn mirror
@@ -1100,12 +1149,16 @@ export declare function clearTurnAuthoringSessionState(sessionId: string): void;
1100
1149
  * turn's conversation delta.
1101
1150
  *
1102
1151
  * Deterministic emitter-assigned labels (§4.2 — never the conductor):
1103
- * - human `turn` (DURABLE per Finding-2) — Stage-2 R1 H1: labeled
1104
- * planner/brainstorm ONLY (conversation, not task contract — §5
1105
- * explicitly excludes the full conversation from implementor windows;
1106
- * the implementor-sanctioned "answered clarifications + prior handoff
1107
- * turns" ride the existing brief-composition path, not this projection).
1152
+ * - human `turn` (DURABLE per Finding-2) — labeled planner/brainstorm AND
1153
+ * implementor (M7, SHARED-CONTEXT-M7-ADDENDUM.md §3.1 "Labels", DL-1
1154
+ * design-locked 2026-09-14, replacing Stage-2 R1 H1's planner/brainstorm-
1155
+ * only label): implementors receive the user's own earlier messages,
1156
+ * bounded and redacted, through `renderUserContextSection`; reviewer and
1157
+ * resolver stay out (DL-3). Nothing already written is relabelled.
1108
1158
  * An answering turn carries `refs` to the question item it answers (M5).
1159
+ * - `decision` `{action:'user_rule'}` when the turn states a standing rule
1160
+ * (the M7 pin grammar) — authored after the durable human turn, `refs`
1161
+ * naming it, and acknowledged once durable (step 1b).
1109
1162
  * - `decision` per planner-decision entry (author `conductor`; durable) —
1110
1163
  * broadly visible (task-shaping, §6 distillation payload), task-scoped
1111
1164
  * when the decision carries a taskId (H1 scope).
@@ -1142,7 +1195,7 @@ export declare function authorTurnContextItems(deps: {
1142
1195
  */
1143
1196
  panelOwnedThisTurn?: boolean;
1144
1197
  turnOwnership?: BrainstormTurnOwnership;
1145
- }): Promise<void>;
1198
+ }): Promise<TurnContextAuthoringResult>;
1146
1199
  export declare function emitOrchestrationTurnMirror(deps: {
1147
1200
  store: OrchestrationStore;
1148
1201
  sessionId: string;
@@ -100,7 +100,7 @@ export declare function policyRejectionAdvisoryText(info: {
100
100
  /**
101
101
  * Audited-path fix (Fix 5) — select the implementor `AgentKind` for a START.
102
102
  *
103
- * - An explicit `override` (from `/task --agent codex|claude`) wins, BUT only
103
+ * - An explicit `override` (from `/task --agent claude|codex|antigravity`) wins, BUT only
104
104
  * when that agent was actually detected on this host (else fail-closed to the
105
105
  * default — we never spawn a binary the host doesn't have).
106
106
  * - Otherwise: CLAUDE when it is among the detected agents (the documented
@@ -371,6 +371,26 @@ export interface QuorumLoopDeps {
371
371
  agent: AgentKind;
372
372
  roundNumber: number;
373
373
  }) => Promise<string>;
374
+ /**
375
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.3, design-locked 2026-09-14) — the
376
+ * user's own words for THIS implementor round: one chronological list of the
377
+ * session's pinned rules and the user's earlier messages, minus any message
378
+ * the round's brief already carries in its request part. Called on EVERY
379
+ * round (round 0, a team track's round 0, revise, continuation) with that
380
+ * round's brief, so a rule stated while a task runs reaches its next revise
381
+ * round. STDIN-only, after the brief and before the prior rationale and the
382
+ * repository context — never `args.brief`/`task_brief`, so reviewers and the
383
+ * hosted engine never see it (DL-3). Wired by `cli.ts` through the
384
+ * dispatch-context tap; `runOrchestrationShell` installs
385
+ * `renderUserContextSection`. Returns `''` for "no section". ABSENT (legacy /
386
+ * companion / tests) → byte-identical stdin.
387
+ */
388
+ projectUserContext?: (input: {
389
+ taskId: string;
390
+ agent: AgentKind;
391
+ roundNumber: number;
392
+ brief: string;
393
+ }) => Promise<string>;
374
394
  /**
375
395
  * CP-1.f LOCK RP-6 — this orchestration host's detected coding agents
376
396
  * (UPPERCASE `CLAUDE` / `CODEX` / `GEMINI`), computed ONCE by `cli.ts` via
@@ -656,6 +676,20 @@ export declare class QuorumLoop {
656
676
  /** Recovery-authored briefs keyed by task/group/index/generation authority. */
657
677
  private readonly recoveredBriefsByAuthority;
658
678
  private readonly activeBriefByTask;
679
+ /**
680
+ * P45 D1 (M7 E2E step 8, 2026-09-14) — the brief + agent of EVERY single-
681
+ * implementor task this loop started, keyed by task id. `activeTaskId` /
682
+ * `activeBrief` / `activeImplementorAgent` are the LATEST task only: when a
683
+ * second single task started while the first still ran (the planner routed a
684
+ * mid-task turn as a task), the first task's revise round was composed from
685
+ * the second task's request (`buildReviseBrief` fell back to `activeBrief`)
686
+ * and its round-0 dispatch — whose envelope names the FIRST task — would have
687
+ * been mis-read as a team dispatch. Round-0 spawns, revise rounds and the
688
+ * continuation context resolve through this map first; the singletons stay
689
+ * as the legacy fallback (an empty envelope task id, the test seam). Entries
690
+ * are removed with the task's other per-task state at its terminal cleanup.
691
+ */
692
+ private readonly singleTaskContextByTask;
659
693
  /**
660
694
  * CP-1.f revise-context fix (dogfood task 2ac68708, 2026-06-11) — the BINDING
661
695
  * user-requested changes for a task, accumulated across ALL revise rounds.
@@ -1088,7 +1122,7 @@ export declare class QuorumLoop {
1088
1122
  * on `startTask` rejection the active context is rolled back + the buffer
1089
1123
  * discarded (a buffered packet whose START failed never spawns).
1090
1124
  */
1091
- private startTaskInFlight;
1125
+ private readonly startTasksInFlight;
1092
1126
  /**
1093
1127
  * Stage-2 r2 (Codex) FIX A — GATE_DISPATCH payloads that arrived while
1094
1128
  * `startTask` was in flight (single-impl early-packet race), OR (CP-12 W2.b,
@@ -1317,7 +1351,7 @@ export declare class QuorumLoop {
1317
1351
  * so the live WS can deliver that round-0 GATE_DISPATCH to the desktop BEFORE
1318
1352
  * the SDK `await` below resolves. To avoid spawning before the START is
1319
1353
  * confirmed (and to avoid the Stage-1 FIX-3 "drop forever" no-op that hangs the
1320
- * loop), we ARM the active context + set `startTaskInFlight` BEFORE the await;
1354
+ * loop), we ARM the active context + set `startTasksInFlight` BEFORE the await;
1321
1355
  * an early GATE_DISPATCH is then BUFFERED (not spawned) and DRAINED here once
1322
1356
  * the START resolves successfully. On rejection the armed context is rolled
1323
1357
  * back + the buffer discarded (a buffered packet whose START failed never
@@ -2500,8 +2534,10 @@ export declare class QuorumLoop {
2500
2534
  recordUserNote(taskId: string, note: string): void;
2501
2535
  /**
2502
2536
  * CP-1.f revise-context fix (dogfood task 2ac68708, 2026-06-11) — build the
2503
- * CUMULATIVE round-N+1 revise brief from the original task brief
2504
- * (`activeBrief`, set at start_task), every BINDING user note recorded for
2537
+ * CUMULATIVE round-N+1 revise brief from the original task brief (the task's
2538
+ * OWN request `singleTaskContextByTask` for a single task, `activeBriefByTask`
2539
+ * for a team track; `activeBrief` only as the fallback), every BINDING user
2540
+ * note recorded for
2505
2541
  * this task, and the current round's reviewer findings. The SAME brief is
2506
2542
  * used as the implementor stdin AND the execute-first `task_brief` rendered
2507
2543
  * into the reviewer prompts, so reviewers and the implementor share one
@@ -34,6 +34,14 @@ export interface SlashCommandInfo {
34
34
  name: string;
35
35
  blurb: string;
36
36
  }
37
+ /**
38
+ * M7 (SHARED-CONTEXT-M7-ADDENDUM.md §3.1, DL-2) — the PENDING markers the
39
+ * `/rule` family returns; `handleShellUserInput` authors / reads the session's
40
+ * pinned rules and rewrites the output (the router stays pure — no store, no log).
41
+ */
42
+ export declare const USER_RULE_PIN_PENDING = "PENDING \u2014 entrypoint pins the rule";
43
+ export declare const USER_RULES_LIST_PENDING = "PENDING \u2014 entrypoint lists pinned rules";
44
+ export declare const USER_RULES_FORGET_PENDING = "PENDING \u2014 entrypoint retires a pinned rule";
37
45
  /** True if `command` is a shell-exit command (`/quit` / `/exit`). */
38
46
  export declare function isExitCommand(command: string): boolean;
39
47
  /**
@@ -176,6 +176,23 @@ export declare function appendTestSurfaceGuidance(brief: string, testSurfaces: s
176
176
  * `unknown_create_error`).
177
177
  */
178
178
  export declare function parseDecomposerResult(text: string): DecomposerResult | null;
179
+ /**
180
+ * P45 D2 — why a decomposer reply did not parse, for the warn log that used to say
181
+ * only "unparseable" (the M7 E2E could never tell which stage rejected the reply).
182
+ * `preview` is the reply's head, whitespace-collapsed and secret-shape redacted
183
+ * (`redactSecretShapesInText`), bounded to 240 characters — never the whole text.
184
+ * `provider_error` names a Claude `is_error` envelope (unwrapped to '' by
185
+ * `unwrapClaudeJson`) so it never reads as an empty capture (Stage-1 r1 F6);
186
+ * `unwrapClaudeJson` gives a successful envelope with an EMPTY `.result` the same
187
+ * `provider_error` usage reason, so that case carries this label too (Stage-1 r2 N2).
188
+ */
189
+ export declare function describeDecomposerReply(text: string, opts?: {
190
+ providerError?: boolean;
191
+ }): {
192
+ reason: 'provider_error' | 'empty' | 'no_json_object' | 'json_parse_error' | 'schema_mismatch';
193
+ length: number;
194
+ preview: string;
195
+ };
179
196
  export interface RunLocalDecomposerDeps {
180
197
  localExecutor: LocalExecutor;
181
198
  /** Canonicalized real working dir (the repo) — the decomposer reads the tree. */
@@ -0,0 +1,83 @@
1
+ /** `decision` body action of a pinned rule (§3.1 "Item"). */
2
+ export declare const USER_RULE_ACTION = "user_rule";
3
+ /** `decision` body action retiring the pinned rule named in its `refs`. */
4
+ export declare const USER_RULE_RETIRED_ACTION = "user_rule_retired";
5
+ /**
6
+ * The roles a human turn and a pinned rule are labelled for (§3.1 "Labels"):
7
+ * the planner, the brainstorm panel and implementors. Reviewer and resolver
8
+ * are excluded everywhere (DL-3).
9
+ */
10
+ export declare const USER_WORDS_VISIBLE_TO: readonly ["planner", "brainstorm", "implementor"];
11
+ /** A pinned rule's text is capped at this many chars (ends-preserving cut). */
12
+ export declare const USER_RULE_MAX_CHARS = 600;
13
+ /**
14
+ * The label that opens a brief's background-only handoff section
15
+ * (`composeImplementationBrief`, index.ts). Everything before it is the brief's
16
+ * REQUEST PART: the request, its clarifications and the task review contract.
17
+ */
18
+ export declare const WORKFLOW_HANDOFF_SECTION_LABEL = "Workflow handoff context:";
19
+ export type PinRule = 'standing-scope' | 'rule-label' | 'revocation';
20
+ export interface PinCapture {
21
+ /** The matching sentence(s), verbatim and in source order, joined by one space. */
22
+ text: string;
23
+ rules: PinRule[];
24
+ }
25
+ export interface PinMatchContext {
26
+ /** True when the session already holds a live pin — only then can a revocation pin. */
27
+ hasPriorPins?: boolean;
28
+ }
29
+ /** Split into sentences: newlines, then [.!?] followed by whitespace — not after a common abbreviation. */
30
+ export declare function splitSentences(text: string): string[];
31
+ /** Cap a rule's text for storage (the pin grammar's capture and `/rule` share it). */
32
+ export declare function capUserRuleText(text: string): string;
33
+ /**
34
+ * The pin grammar (§3.1 "Pinning (a)"): the standing-rule capture for one human
35
+ * turn, or null. Per sentence, skipping questions and fenced code; the matching
36
+ * sentence plus the one before it when the match has fewer than six words.
37
+ * Slash commands are never captured. A revocation fires only when
38
+ * `ctx.hasPriorPins`.
39
+ */
40
+ export declare function matchPinRule(turnText: string, ctx?: PinMatchContext): PinCapture | null;
41
+ /** Collapse every whitespace run to one space, trimmed. */
42
+ export declare function collapseWhitespace(text: string): string;
43
+ /** Remove a leading `@agent` mention, as the planner's prompt does. */
44
+ export declare function stripLeadingAgentMention(text: string): string;
45
+ /**
46
+ * The brief's request part (§3.1 "Which messages"): the text before its
47
+ * `Workflow handoff context:` section — the request itself, its clarifications
48
+ * and the task review contract. A brief without that section is all request.
49
+ */
50
+ export declare function requestPartOf(brief: string): string;
51
+ /**
52
+ * Does the brief's request part already carry this message? Exact containment
53
+ * after collapsing whitespace, with and without a leading `@agent` mention. A
54
+ * message the brief no longer carries verbatim (rewritten attachment tokens,
55
+ * renumbered image chips, a hard-cap cut) does not match and stays in the list
56
+ * as context (§3.6).
57
+ */
58
+ export declare function briefRequestContainsMessage(requestPart: string, message: string): boolean;
59
+ /**
60
+ * A retired pin's source message without the pinned sentence(s) (implementation
61
+ * gate Stage 1 R1-F2): `/rules forget` must stop the rule's words reaching
62
+ * agents even when the user stated it inside a longer message. The message is
63
+ * split into sentences after collapsing whitespace; each sentence of the pin
64
+ * text must equal one of them, and every equal sentence is removed. Returns null
65
+ * when a pin sentence is not a whole sentence of the message — a pin cut at 600
66
+ * chars, a sentence split around fenced code, or a rule captured from a line
67
+ * that broke mid-sentence, whose continuation would otherwise stay behind
68
+ * (Stage 1 r2 N8) — or when no letter or digit is left; the caller then leaves
69
+ * the whole message out.
70
+ */
71
+ export declare function messageWithoutRule(message: string, ruleText: string): string | null;
72
+ /** The placeholder for an absolute local path (§3.1 "Text"). */
73
+ export declare const LOCAL_PATH_PLACEHOLDER = "[local path]";
74
+ export declare function redactLocalPaths(text: string): string;
75
+ /** Known secret shapes (core's scrubber patterns) → `[redacted secret]`, then local paths. */
76
+ export declare function redactUserText(text: string): string;
77
+ /** One list line's text: redacted and on one line. */
78
+ export declare function renderUserText(text: string): string;
79
+ /**
80
+ * §3.1 "Acknowledgement" — shown once the pin is durable; the same scrubbed
81
+ * text the agents receive.
82
+ */
83
+ export declare function renderPinAcknowledgement(pinText: string): string;
@@ -1,3 +1,5 @@
1
+ import * as dns from 'node:dns';
2
+ import type * as net from 'node:net';
1
3
  export type FetchFailureKind = 'blocked' | 'too_large' | 'timeout' | 'network' | 'bad_content' | 'too_many_redirects' | 'http_error';
2
4
  export declare class FetchError extends Error {
3
5
  readonly kind: FetchFailureKind;
@@ -12,6 +14,18 @@ export interface GuardedFetchOptions {
12
14
  headers?: Record<string, string>;
13
15
  allowJson?: boolean;
14
16
  }
17
+ /** Resolve a host's records and return the frozen set of validated public IPs, or throw FetchError('blocked'). */
18
+ export declare function resolveValidatedIps(host: string, signal?: AbortSignal, customLookup?: typeof dns.lookup): Promise<{
19
+ addresses: {
20
+ address: string;
21
+ family: number;
22
+ }[];
23
+ }>;
24
+ /** Build a custom `lookup` that returns ONLY from the frozen validated set (no re-resolution). */
25
+ export declare function pinnedLookup(frozen: {
26
+ address: string;
27
+ family: number;
28
+ }[]): net.LookupFunction;
15
29
  /**
16
30
  * Guarded GET with manual redirect following (full guard re-run per hop). Returns
17
31
  * decoded text or throws FetchError. `signal` lets the caller (Esc) abort.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.33",
3
+ "version": "2.0.35",
4
4
  "description": "Core library for CodeVibe plugins - shared keychain, crypto, AppSync, and auth functionality",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,9 +15,10 @@
15
15
  ],
16
16
  "scripts": {
17
17
  "typecheck": "tsc --noEmit",
18
- "emit-types": "tsc --emitDeclarationOnly",
19
- "build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --minify-syntax --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/orchestration-shell/cli.js --banner:js=\"#!/usr/bin/env node\" && npm run verify-no-test-hooks",
18
+ "emit-types": "tsc -p tsconfig.types.json --emitDeclarationOnly",
19
+ "build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --minify-syntax --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/orchestration-shell/cli.js --banner:js=\"#!/usr/bin/env node\" && npm run verify-no-test-hooks && npm run verify-no-test-types",
20
20
  "verify-no-test-hooks": "if grep -ERl 'CODEVIBE_TEST_FORCE_QUOTA_FAIL|CODEVIBE_TEST_FORCE_IMPLEMENTOR_AGENT|CODEVIBE_ANCHORED_PUBLICATION_AUTHORITY_ROOT|codevibe-anchored-publications-|cv-publication-authority-vitest-|codevibe\\.test\\.publication-authority-|setPublicationAuthorityRootForTestBuild|__CODEVIBE_TEST_BUILD__|_onBeforeLinkForTesting|_onBeforeSummariesLockForTesting|__codevibe_test_on_before_link|__codevibe_test_on_before_summaries_lock' dist; then echo 'ERROR: a test-only hook leaked into a published artifact (prod-unreachability invariant)'; exit 1; fi; echo 'OK — no test-only hooks in published artifacts'",
21
+ "verify-no-test-types": "if find dist -type f \\( -path '*/__tests__/*' -o -name '*.test.d.ts' -o -name 'test-publication-authority-setup.d.ts' \\) | grep -q .; then echo 'verify-no-test-types: test declarations present in dist (tsconfig.types.json must exclude test sources)' >&2; exit 1; fi",
21
22
  "clean": "rm -rf dist",
22
23
  "prepublishOnly": "npm run build",
23
24
  "test": "vitest run",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-claude-plugin",
3
- "version": "2.0.38",
3
+ "version": "2.0.40",
4
4
  "description": "Control Claude Code from your iPhone and Android — real-time sync, approve file edits, send prompts by voice. Part of CodeVibe.",
5
5
  "main": "dist/server.js",
6
6
  "codevibe": {
@@ -48,7 +48,7 @@
48
48
  "node": ">=22.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@quantiya/codevibe-core": "^2.0.33",
51
+ "@quantiya/codevibe-core": "^2.0.35",
52
52
  "@quantiya/quorum-core": "^1.0.1",
53
53
  "dotenv": "^16.6.1",
54
54
  "express": "^5.1.0",