borgmcp 0.9.65 → 0.9.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -5
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +32 -12
- package/dist/auth.js.map +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +4 -1
- package/dist/cli-help.js.map +1 -1
- package/dist/codex-launch.js +1 -1
- package/dist/codex-launch.js.map +1 -1
- package/dist/health-beat.d.ts +17 -1
- package/dist/health-beat.d.ts.map +1 -1
- package/dist/health-beat.js +8 -2
- package/dist/health-beat.js.map +1 -1
- package/dist/index.js +21 -10
- package/dist/index.js.map +1 -1
- package/dist/log-stream.d.ts.map +1 -1
- package/dist/log-stream.js +13 -0
- package/dist/log-stream.js.map +1 -1
- package/dist/remote-client.d.ts +4 -0
- package/dist/remote-client.d.ts.map +1 -1
- package/dist/remote-client.js.map +1 -1
- package/dist/role-section.d.ts.map +1 -1
- package/dist/role-section.js +13 -12
- package/dist/role-section.js.map +1 -1
- package/dist/roster-render.d.ts +1 -0
- package/dist/roster-render.d.ts.map +1 -1
- package/dist/roster-render.js +3 -2
- package/dist/roster-render.js.map +1 -1
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +23 -5
- package/dist/templates.js.map +1 -1
- package/package.json +1 -1
package/dist/roster-render.js
CHANGED
|
@@ -67,6 +67,7 @@ export function renderRoster(inputs) {
|
|
|
67
67
|
const wakePathClassMarker = d.wake_path_alert_class && d.wake_path_alert_class !== 'independent'
|
|
68
68
|
? ` · \`wake-path-class:${d.wake_path_alert_class}\``
|
|
69
69
|
: '';
|
|
70
|
+
const regenCountMarker = typeof d.regen_count === 'number' ? ` · \`regen-count:${d.regen_count}\`` : '';
|
|
70
71
|
if (resolvedSince) {
|
|
71
72
|
// T2.1 awake/stale column. `seen_since === true` → drone called a
|
|
72
73
|
// tool after the resolved timestamp; treat as awake. False or
|
|
@@ -84,10 +85,10 @@ export function renderRoster(inputs) {
|
|
|
84
85
|
// particular drone."
|
|
85
86
|
const isAwake = d.seen_since === true;
|
|
86
87
|
const marker = isAwake ? '`awake`' : '`stale`';
|
|
87
|
-
lines.push(`- **${d.label}** (${roleLabel}) — last seen ${lastSeen} · ${marker}${wakePathMarker}${wakePathClassMarker}`);
|
|
88
|
+
lines.push(`- **${d.label}** (${roleLabel}) — last seen ${lastSeen} · ${marker}${regenCountMarker}${wakePathMarker}${wakePathClassMarker}`);
|
|
88
89
|
}
|
|
89
90
|
else {
|
|
90
|
-
lines.push(`- **${d.label}** (${roleLabel}) — last seen ${lastSeen}${wakePathMarker}${wakePathClassMarker}`);
|
|
91
|
+
lines.push(`- **${d.label}** (${roleLabel}) — last seen ${lastSeen}${regenCountMarker}${wakePathMarker}${wakePathClassMarker}`);
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
return lines.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roster-render.js","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"roster-render.js","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"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"}
|
package/dist/templates.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAI/B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,UAAU,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CACvC;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAI/B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,UAAU,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CACvC;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;AAiQrD,eAAO,MAAM,kCAAkC,g4DASqV,CAAC;AAErY,eAAO,MAAM,sCAAsC,srFAUgjB,CAAC;AAUpmB,eAAO,MAAM,4BAA4B,qvBAI8mB,CAAC;AAExpB,eAAO,MAAM,2BAA2B,0tDAS0R,CAAC;AAEnU,eAAO,MAAM,uBAAuB,skEAWsN,CAAC;AAE3P,eAAO,MAAM,4BAA4B,UAExC,CAAC;AAEF,eAAO,MAAM,8BAA8B,UAK1C,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC;AAkbD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAG9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAEzD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,MAAM,CAKR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/C,QAAQ,EAAE,QAAQ,GACjB,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACpD,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,eAAe,GAAG,IAAI,CAExB"}
|
package/dist/templates.js
CHANGED
|
@@ -104,14 +104,28 @@ const ACTIVE_MOMENTUM_OWNERSHIP = `
|
|
|
104
104
|
- **Standing-cadence quiet is for individual roles between triggers; it is NOT the steady state for the seat-holder.** Queen (or Queen-by-delegation) drives the trigger.
|
|
105
105
|
- **Hold capacity is wasted capacity.** Drones standing untouched across a long Queen-by-delegation session means the cube is under-utilized; route work to them.
|
|
106
106
|
- **If in doubt, discuss with the collective. Never passively wait.** When uncertain about scope / priority / approach, post the question to the cube log addressed to the relevant role(s) (PM, Code Reviewer, Security Auditor depending on surface). The collective IS the substitute for human Queen presence in autonomous mode.
|
|
107
|
-
- **Respond to drone "what's next?" requests promptly** — drones asking for next work signal a gap in dispatch discipline. Route them to open queue items or post a directed mini-sprint dispatch for their role
|
|
107
|
+
- **Respond to drone "what's next?" requests promptly** — drones asking for next work signal a gap in dispatch discipline. Route them to open queue items or post a directed mini-sprint dispatch for their role.
|
|
108
|
+
|
|
109
|
+
## Keeping the pipeline fed (idleness-detection)
|
|
110
|
+
|
|
111
|
+
Under autonomous mode you own the cube's throughput. An idle cube — no work units in flight, drones READY-waiting, no pending gate/merge — is a condition to catch and fix, not something to wait out. Do NOT dispatch reflexively on a timer: time passed ≠ work needed, and timer-driven dispatch manufactures work.
|
|
112
|
+
|
|
113
|
+
Use an idleness-detector: a short ScheduleWakeup heartbeat (~7 min ± 1 min jitter) whose job on each fire is only to check whether the cube went idle. An idle cube is a non-event: the inbox Monitor wakes you on things that happen (REVIEW-READY / DONE / BLOCKED), but structurally cannot wake you on "the queue emptied and stayed empty."
|
|
114
|
+
|
|
115
|
+
On each idleness-detector fire:
|
|
116
|
+
- Run \`borg:read-log\` with a since cursor + \`borg:roster\`.
|
|
117
|
+
- If idle (no WUs in flight, builders waiting, no pending gate/merge), plan + dispatch next work NOW. This is deliberate dispatch triggered by the idle condition.
|
|
118
|
+
- If work is in flight, run the liveness sweep only; do not manufacture a dispatch.
|
|
119
|
+
|
|
120
|
+
Trigger = the idle condition, not the clock. Both extremes are wrong: reflexive-dispatch-every-tick AND go-passive-and-wait. Sprint progression (gating / merging / unblocking) stays event-driven via the Monitor; the idleness-detector only catches the pipeline-empty non-event.`;
|
|
108
121
|
const ANTI_PASSIVE_STANDING_DISCIPLINE = `
|
|
109
122
|
|
|
110
123
|
**Anti-passive-Standing discipline:**
|
|
111
124
|
|
|
112
125
|
\`Standing.\` is the correct reply to an in-progress transition. It is the WRONG reply when the next expected signal is overdue. The seat-holder distinguishes these states by an on-wake stale check, NOT by waiting for the next Monitor event.
|
|
113
126
|
|
|
114
|
-
**On every Monitor wake AND every ScheduleWakeup heartbeat — run the stale check:**
|
|
127
|
+
**On every Monitor wake AND every ScheduleWakeup heartbeat — run the stale check using the cheapest sufficient Borg read:**
|
|
128
|
+
0. Routine wake triage starts with \`borg:read-log\` (usually with a \`since\` cursor) rather than \`borg:regen\`. \`read-log\` delivers new entries and still touches \`last_seen\`; reserve \`borg:regen\` for session start, post-compaction, about-to-act/full-context moments, or a periodic refresh every 4-5 wakes / 15-30 minutes.
|
|
115
129
|
1. For each in-flight dispatch / REVIEW-READY / synthesis-pending state, identify the next expected signal + the drone(s) it's expected from.
|
|
116
130
|
2. Compare elapsed-since-last-transition against the cadence table PING thresholds (in your role text above).
|
|
117
131
|
3. If ANY row is past its PING threshold, you do NOT post \`Standing.\` — you take action per the escalation ladder below.
|
|
@@ -210,6 +224,8 @@ When you post a dispatch with an "if X by time Y, then fallback Z" shape (e.g.,
|
|
|
210
224
|
**Therefore: arm your own ScheduleWakeup at deadline Y BEFORE posting the conditional dispatch.** When deadline Y fires, you wake + check the condition + either confirm the original assignee took it (no action) OR re-dispatch to Z explicitly + remove the conditional from active state. Without this discipline, conditional dispatches silently fail when the original assignee is correctly idle-by-design (per the anti-passive-waiting carve-out) and the fallback drone is correctly waiting for explicit routing (not preemptively claiming work based on conditional cube-log text).
|
|
211
225
|
|
|
212
226
|
**The discipline integrates with the standard Coordinator workflow:** conditional dispatches are valid (often useful for parallel-routing or drone-availability uncertainty) but they require timer-paired enforcement. If you can't arm a timer at the conditional deadline (e.g., you're about to step away from the session), post an unconditional dispatch instead.`;
|
|
227
|
+
const DISPOSITION_THRASH_GUARD = `
|
|
228
|
+
- **Refinement #16 — Disposition-thrash guard.** Small disposition calls can ping-pong when posts cross in flight. Hold while a specialist is actively checking the exact concern: once SR / CR / PM / UX / QA posts \`STARTING\` on that concern, do NOT direct a Builder fix for that concern until their verdict lands. Key on the observable \`STARTING\` review signal, not a private guess that someone might be checking. On benign defer-vs-fold loops, decide once and hold a terminal outcome; if reversal posts start ping-ponging, choose the zero-action outcome (usually defer / no fold / leave branch as-is) and declare it TERMINAL rather than mirroring the next reversal. Crossed in-flight Builder pushes are no-fault timing collisions: stop, preserve the branch/context, and do not ask for cleanup or rework unless explicitly re-dispatched. This extends no-collapse + reviewer-explicit-defer and pairs with merge-announcement race-safety.`;
|
|
213
229
|
const REVIEW_AND_FACILITATION_REFINEMENTS = `
|
|
214
230
|
|
|
215
231
|
**Review-discipline refinements:**
|
|
@@ -219,7 +235,8 @@ These refinements emerged from cross-PR review evidence and are codified as cano
|
|
|
219
235
|
- **Refinement #11 — Reviewer-explicit-defer overrides generic defer-aversion.** When a PR review surfaces a NIT and the reviewer EXPLICITLY frames it as defer-eligible (e.g., "deferring as follow-on" / "filing as issue rather than blocking this PR"), accept that as the reviewer's framed disposition rather than treating defer as the failure mode. Generic defer-aversion ("if it could be fixed now, fix it now") is the wrong heuristic when the reviewer has surfaced the defer-eligibility explicitly — they're using their reviewer authority to scope the PR, not avoiding work.
|
|
220
236
|
- **Refinement #12 — Side-effect-channel mock-coverage on BOTH directions for refactors that bifurcate behavior.** When a refactor introduces a side-effect that didn't exist before (or removes one that previously existed, or moves a side-effect from one channel to another), test coverage MUST include assertions in BOTH directions: the positive case (side-effect fires when expected) AND the regression-pin (side-effect does NOT fire when not expected). Mocking only the canonical channel and relying on "tests passed" is the canonical incomplete-coverage pattern. When mocking a component with side-effects, mock ALL the side-effect channels + assert each.
|
|
221
237
|
- **Refinement #13 — Verify factual claims against source-of-truth, not derivative artifacts.** See the universal drone playbook (\`borg:role\` for any role; appended on every regen) for the full statement + the three-surface-propagation sharpening (brainstorm-proposal time + comment/JSDoc-writing time + review-time). Refinement #13 applies to ALL reviewer-class actions (Code Reviewer, Security Auditor, PM-courtesy, UX-courtesy), not just Code Reviewer — which is why it lives in the universal playbook rather than this role's specific text.
|
|
222
|
-
- **Refinement #15 — Synthesis no-collapse discipline (Coordinator-side facilitation).** When facilitating brainstorm synthesis as Coordinator, EXPLICIT lens push-back with user-value-case must NEVER collapse into silent-align-with-majority in the convergence-call. The synthesis table's "NEEDS DECISION" cell must produce an explicit convergence resolution that NAMES the decision-needing lens column + makes the decision explicitly (with rationale), not silently align with the majority lean. Middle-ground proposals are third positions, not silent agreements with either pole. Conditional leans ("X UNLESS Y") need explicit-resolution-tracking when other lens contributions trigger the condition. Coordinator-override on consensus is legitimate but must be EXPLICIT (verbatim "I override because…" framing in the dispatch), not implicit via tally-flatten. Pairs with Refinement #11 (gate-class reviewer-explicit-defer) to close the consensus-flatten failure class at BOTH brainstorm and gate stages
|
|
238
|
+
- **Refinement #15 — Synthesis no-collapse discipline (Coordinator-side facilitation).** When facilitating brainstorm synthesis as Coordinator, EXPLICIT lens push-back with user-value-case must NEVER collapse into silent-align-with-majority in the convergence-call. The synthesis table's "NEEDS DECISION" cell must produce an explicit convergence resolution that NAMES the decision-needing lens column + makes the decision explicitly (with rationale), not silently align with the majority lean. Middle-ground proposals are third positions, not silent agreements with either pole. Conditional leans ("X UNLESS Y") need explicit-resolution-tracking when other lens contributions trigger the condition. Coordinator-override on consensus is legitimate but must be EXPLICIT (verbatim "I override because…" framing in the dispatch), not implicit via tally-flatten. Pairs with Refinement #11 (gate-class reviewer-explicit-defer) to close the consensus-flatten failure class at BOTH brainstorm and gate stages.
|
|
239
|
+
${DISPOSITION_THRASH_GUARD}`;
|
|
223
240
|
const COORDINATOR_WORKFLOW_RULES = `
|
|
224
241
|
|
|
225
242
|
**Codified git workflow rules:**
|
|
@@ -250,7 +267,8 @@ Format makes the multi-lens approval chain durable in git log independent of cub
|
|
|
250
267
|
- Client-published behavior is not live until drones restart/adopt it. Treat npm publish + fleet adoption as a separate step from worker/frontend deploy.
|
|
251
268
|
- Do not ship a strict rename with "output new field only" unless the Coordinator has verified deployed readers already consume the new field or Queen explicitly accepts the compatibility window.
|
|
252
269
|
|
|
253
|
-
**In-lane decision discipline:** when a drone escalates, make the call IN YOUR LANE: deploy from your session if the drone can't, pick A/B/C on tactical splits, authorize anti-scope clarifications, resolve cross-drone NIT disagreements. Surface to Queen ONLY for Queen-class decisions: sprint scope/sequencing, version-bump-or-not, branch deletion, product-copy decisions, irreversible mutations, anything affecting UX or business outcomes
|
|
270
|
+
**In-lane decision discipline:** when a drone escalates, make the call IN YOUR LANE: deploy from your session if the drone can't, pick A/B/C on tactical splits, authorize anti-scope clarifications, resolve cross-drone NIT disagreements. Surface to Queen ONLY for Queen-class decisions: sprint scope/sequencing, version-bump-or-not, branch deletion, product-copy decisions, irreversible mutations, anything affecting UX or business outcomes.
|
|
271
|
+
${DISPOSITION_THRASH_GUARD}`;
|
|
254
272
|
export const GIT_OPERATIONAL_DISCIPLINE_BUILDER = `
|
|
255
273
|
|
|
256
274
|
**Git operational discipline (empirically-motivated):**
|
|
@@ -276,7 +294,7 @@ const SCHEDULEWAKEUP_CADENCE = `
|
|
|
276
294
|
|
|
277
295
|
**ScheduleWakeup fallback cadence:**
|
|
278
296
|
|
|
279
|
-
- **Coordinator/Queen seat:** ~
|
|
297
|
+
- **Coordinator/Queen-by-delegation autonomous seat:** ~7 min ± 1 min jitter (uniform-random integer in [360, 480] seconds) for the ScheduleWakeup safety-net while in autonomous mode. Shorter than the event-driven-drone default because the seat-holder drives proactive iteration between events (dispatch progress checks, queue progression, gate ratifications, and idleness detection). The wake is a detector, not a dispatch trigger: read-log + roster, then act only when the idle condition or an overdue liveness condition is true.
|
|
280
298
|
- **Other drones (event-driven: Builder, Code Reviewer, QA, UX, PM, SR, Visionary):** 30 min fallback acceptable. Inbox Monitor is the primary wake; ScheduleWakeup is the safety-net for missed Monitor events. Their cadence floor is driven by external events (incoming dispatches, REVIEW-READY signals, watchdog pings), not proactive iteration.
|
|
281
299
|
- **Jitter rationale:** fixed timing creates synchronized wake patterns (thundering-herd shape; multiple drones all check at :00 of each hour). Uniform-random jitter desynchronizes correlated cube-log read bursts, spreads any external API calls, and matches the platform watchdog's existing jitter discipline.`;
|
|
282
300
|
export const WAKE_PATH_MONITOR_DISCIPLINE = `
|
package/dist/templates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAyBH,uEAAuE;AACvE,gEAAgE;AAChE,iEAAiE;AACjE,qCAAqC;AACrC,uEAAuE;AAEvE,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,6EAA6E;AAC7E,qEAAqE;AACrE,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,2FAA2F;AAC3F,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;+GAqBwE,CAAC;AAEhH,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;igBAsB0d,CAAC;AAElgB,MAAM,qBAAqB,GAAG;;;;;;;;gOAQkM,CAAC;AAEjO,MAAM,yBAAyB,GAAG
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "borgmcp",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.67",
|
|
4
4
|
"description": "Coordinate AI coding agents in shared cubes. Works with Claude Code and Codex. Create projects, assign roles, and share a live activity log.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|