borgmcp 0.9.53 → 0.9.56

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.
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Role-text section parsing + granular section patching (gh#473 PR1).
3
+ *
4
+ * Platform-dependency-free, same shape as `message-taxonomy.ts`: pure
5
+ * string logic so the worker DB layer AND unit tests can both import it
6
+ * without dragging in Cloudflare / Neon types.
7
+ *
8
+ * ## Why not markdown `##` headings
9
+ *
10
+ * Real role `detailed_description` text (see `client/src/templates.ts`)
11
+ * does NOT use `##` headings. It is structured as:
12
+ *
13
+ * - a PREAMBLE — free prose before the first label line
14
+ * (e.g. "You implement changes to the codebase…");
15
+ * - one or more SECTIONS, each headed by a PLAIN-LABEL LINE — a line
16
+ * that is a short label terminated by a single trailing colon and
17
+ * nothing else (e.g. `Workflow:`, `Project conventions:`,
18
+ * `Your job:`, `Log conventions you use:`);
19
+ * - TRAILING inlined `${ESCALATION_DISCIPLINE}` / `${...}` constant
20
+ * text woven onto the end of the field. That text uses `**bold:**`
21
+ * markdown emphasis, NOT bare label lines, so it is NOT a section
22
+ * boundary — it falls into the last label section as literal text.
23
+ *
24
+ * A parser that splits on `##` finds ZERO sections in real role text.
25
+ * The label-line delimiter below matches the ACTUAL structure.
26
+ *
27
+ * ## Byte-identical round-trip invariant
28
+ *
29
+ * `serializeSections(parseRoleSections(text)) === text` for ANY input.
30
+ * The parser does not trim, normalize newlines, or otherwise rewrite
31
+ * bytes — each section's `body` retains the exact slice (including its
32
+ * heading line and the newline that terminates it) so concatenation
33
+ * reproduces the original field verbatim. The single named-fragment
34
+ * mutation is therefore the ONLY byte-level change a patch makes.
35
+ */
36
+ /** What kind of label heads a section. */
37
+ export type RoleSectionKind = 'preamble' | 'label';
38
+ export interface RoleSection {
39
+ /**
40
+ * The section's label WITHOUT the trailing colon, trimmed
41
+ * (e.g. "Workflow", "Project conventions"). `null` for the preamble
42
+ * (the pre-first-label span). Used as the addressing key for patches.
43
+ */
44
+ heading: string | null;
45
+ kind: RoleSectionKind;
46
+ /**
47
+ * The EXACT source slice for this section, including its heading line
48
+ * (for label sections) and every byte through to (but not including)
49
+ * the next section's heading line. Concatenating every section's
50
+ * `body` in order reproduces the original text byte-for-byte.
51
+ */
52
+ body: string;
53
+ }
54
+ export type RoleSectionPatchOp = {
55
+ action: 'replace';
56
+ heading: string;
57
+ body: string;
58
+ } | {
59
+ action: 'insert';
60
+ heading: string;
61
+ body: string;
62
+ after?: string | null;
63
+ } | {
64
+ action: 'delete';
65
+ heading: string;
66
+ };
67
+ /**
68
+ * Test whether a single line is a plain-label section heading.
69
+ *
70
+ * Rules (deliberately narrow to avoid false positives against prose
71
+ * that merely contains a colon):
72
+ * - no leading whitespace (label lines start at column 0);
73
+ * - the line ends with exactly one `:`;
74
+ * - the text before the colon is non-empty, contains no other `:`,
75
+ * and is "short" (≤ 60 chars) — long colon-terminated prose lines
76
+ * are not labels;
77
+ * - the label is not a markdown emphasis run (does not start with
78
+ * `*`, `-`, `#`, `>` or backtick) — those are list/markdown lines,
79
+ * not plain labels (the woven `**Dense communication discipline:**`
80
+ * constant headings must NOT be treated as section boundaries).
81
+ */
82
+ export declare function isLabelLine(line: string): boolean;
83
+ /**
84
+ * Parse role `detailed_description` text into ordered sections.
85
+ *
86
+ * The result always round-trips byte-identical through
87
+ * `serializeSections`. An empty string yields a single empty preamble
88
+ * section so callers always have a stable shape to address.
89
+ */
90
+ export declare function parseRoleSections(text: string): RoleSection[];
91
+ /** Concatenate sections back into the original field text. */
92
+ export declare function serializeSections(sections: RoleSection[]): string;
93
+ /**
94
+ * Apply a single section-level patch to role text, returning the new
95
+ * full field text. Every other byte is preserved.
96
+ *
97
+ * - replace: overwrite the matched section's body with a re-rendered
98
+ * `<heading>:\n<body>` block. The heading match is case-insensitive
99
+ * on the label; the re-rendered heading uses the supplied casing.
100
+ * - insert: add a new label section. Placed after the section named by
101
+ * `after` (case-insensitive), or appended at the end when `after` is
102
+ * omitted/null. Rejects if a section with the same heading already
103
+ * exists (use replace instead).
104
+ * - delete: drop the matched section entirely.
105
+ *
106
+ * Throws when the target section is missing (replace/delete) or already
107
+ * present (insert), or when `after` does not resolve.
108
+ */
109
+ export declare function patchRoleSectionText(text: string, op: RoleSectionPatchOp): string;
110
+ //# sourceMappingURL=role-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-section.d.ts","sourceRoot":"","sources":["../src/role-section.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,0CAA0C;AAC1C,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1E;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CA4C7D;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAEjE;AAiDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,kBAAkB,GAAG,MAAM,CA2DjF"}
@@ -0,0 +1,207 @@
1
+ // ⚠ gh#496-A(b) client/worker PARSER-AGREEMENT — this file MUST stay
2
+ // behavior-identical to `workers/role-section.ts`. The client render
3
+ // compression (`regen-format.ts`) splits role text with THIS parser to
4
+ // decide which `… rationale:` sections to stub; the worker's
5
+ // `getRoleRationale` resolves stub headings with the worker copy. They
6
+ // MUST derive section headings identically (sans-colon, isLabelLine rules)
7
+ // or a correctly-quoted stub won't resolve. Parity is enforced by
8
+ // `client/__tests__/role-section-parity.test.ts` (client parse == worker
9
+ // parse, section-for-section, on every shipped role). If you edit one,
10
+ // edit BOTH — or relocate to a shared module both packages import (tracked
11
+ // DRY follow-up). Verbatim port; zero logic change.
12
+ //
13
+ // ---- (verbatim copy of workers/role-section.ts below this line) ----
14
+ /**
15
+ * Test whether a single line is a plain-label section heading.
16
+ *
17
+ * Rules (deliberately narrow to avoid false positives against prose
18
+ * that merely contains a colon):
19
+ * - no leading whitespace (label lines start at column 0);
20
+ * - the line ends with exactly one `:`;
21
+ * - the text before the colon is non-empty, contains no other `:`,
22
+ * and is "short" (≤ 60 chars) — long colon-terminated prose lines
23
+ * are not labels;
24
+ * - the label is not a markdown emphasis run (does not start with
25
+ * `*`, `-`, `#`, `>` or backtick) — those are list/markdown lines,
26
+ * not plain labels (the woven `**Dense communication discipline:**`
27
+ * constant headings must NOT be treated as section boundaries).
28
+ */
29
+ export function isLabelLine(line) {
30
+ // Leading whitespace disqualifies (label lines are flush-left).
31
+ if (/^\s/.test(line))
32
+ return false;
33
+ if (!line.endsWith(':'))
34
+ return false;
35
+ const label = line.slice(0, -1);
36
+ if (label.length === 0)
37
+ return false;
38
+ if (label.length > 60)
39
+ return false;
40
+ // Exactly one colon total (the trailing one).
41
+ if (label.includes(':'))
42
+ return false;
43
+ // Markdown/list/quote/code lead-ins are not plain labels.
44
+ if (/^[*\-#>`]/.test(label))
45
+ return false;
46
+ return true;
47
+ }
48
+ /**
49
+ * Parse role `detailed_description` text into ordered sections.
50
+ *
51
+ * The result always round-trips byte-identical through
52
+ * `serializeSections`. An empty string yields a single empty preamble
53
+ * section so callers always have a stable shape to address.
54
+ */
55
+ export function parseRoleSections(text) {
56
+ const sections = [];
57
+ const lines = text.split('\n');
58
+ // Reconstruct each line WITH its terminating newline so that the
59
+ // concatenation is lossless. `split('\n')` drops the separators; we
60
+ // re-append '\n' to every line except the last (which had no trailing
61
+ // newline in the source unless the source ended with one — in which
62
+ // case the final split element is '' and contributes nothing).
63
+ const lineWithSep = (idx) => idx < lines.length - 1 ? lines[idx] + '\n' : lines[idx];
64
+ let currentHeading = null;
65
+ let currentKind = 'preamble';
66
+ let currentBody = '';
67
+ let started = false;
68
+ const flush = () => {
69
+ sections.push({ heading: currentHeading, kind: currentKind, body: currentBody });
70
+ };
71
+ for (let i = 0; i < lines.length; i++) {
72
+ const raw = lines[i];
73
+ if (isLabelLine(raw)) {
74
+ // Close the in-progress section (preamble or previous label) and
75
+ // open a new label section headed by this line.
76
+ flush();
77
+ currentHeading = raw.slice(0, -1).trim();
78
+ currentKind = 'label';
79
+ currentBody = lineWithSep(i);
80
+ started = true;
81
+ }
82
+ else {
83
+ currentBody += lineWithSep(i);
84
+ started = true;
85
+ }
86
+ }
87
+ // Always emit the final in-progress section. For empty input this is a
88
+ // single empty preamble (started === false, currentBody === '').
89
+ if (started || sections.length === 0) {
90
+ flush();
91
+ }
92
+ return sections;
93
+ }
94
+ /** Concatenate sections back into the original field text. */
95
+ export function serializeSections(sections) {
96
+ return sections.map((s) => s.body).join('');
97
+ }
98
+ function normalizeHeading(value) {
99
+ return value.trim().toLowerCase();
100
+ }
101
+ /**
102
+ * Build the body for a freshly inserted/replaced label section from a
103
+ * heading + caller-supplied body text.
104
+ *
105
+ * The heading line is rendered as `<heading>:` on its own line. The
106
+ * caller's `body` is the text BELOW the heading. We guarantee the
107
+ * section body ends with a single trailing newline so adjacent sections
108
+ * stay separated when re-serialized (matching how real role text
109
+ * separates label sections with blank lines is the caller's choice via
110
+ * their body text; we only ensure the structural newline).
111
+ */
112
+ function renderLabelSection(heading, body) {
113
+ const headingLine = `${heading.trim()}:\n`;
114
+ if (body === '')
115
+ return headingLine;
116
+ // Ensure the body ends with a newline so the next section's heading
117
+ // starts on its own line.
118
+ const normalizedBody = body.endsWith('\n') ? body : body + '\n';
119
+ return headingLine + normalizedBody;
120
+ }
121
+ /**
122
+ * Guarantee the section at `idx` ends in a newline before a new section
123
+ * heading is glued on after it.
124
+ *
125
+ * Real role `detailed_description` text (every template role) ends WITHOUT
126
+ * a trailing newline — it closes on the woven `${...DISCIPLINE}` constant.
127
+ * Appending a `<heading>:` line directly onto such text would fuse the
128
+ * heading onto the prior section's last line, so the heading is no longer
129
+ * a flush-left label and the inserted section is LOST on re-parse. Adding
130
+ * the structural newline here keeps the inserted heading on its own line.
131
+ *
132
+ * No-ops when the preceding body is empty (an empty preamble needs no
133
+ * separator) or already ends in '\n' (preserves the already-correct case
134
+ * byte-for-byte).
135
+ */
136
+ function ensureTrailingNewline(sections, idx) {
137
+ if (idx < 0 || idx >= sections.length)
138
+ return;
139
+ const prev = sections[idx];
140
+ if (prev.body !== '' && !prev.body.endsWith('\n')) {
141
+ sections[idx] = { ...prev, body: prev.body + '\n' };
142
+ }
143
+ }
144
+ /**
145
+ * Apply a single section-level patch to role text, returning the new
146
+ * full field text. Every other byte is preserved.
147
+ *
148
+ * - replace: overwrite the matched section's body with a re-rendered
149
+ * `<heading>:\n<body>` block. The heading match is case-insensitive
150
+ * on the label; the re-rendered heading uses the supplied casing.
151
+ * - insert: add a new label section. Placed after the section named by
152
+ * `after` (case-insensitive), or appended at the end when `after` is
153
+ * omitted/null. Rejects if a section with the same heading already
154
+ * exists (use replace instead).
155
+ * - delete: drop the matched section entirely.
156
+ *
157
+ * Throws when the target section is missing (replace/delete) or already
158
+ * present (insert), or when `after` does not resolve.
159
+ */
160
+ export function patchRoleSectionText(text, op) {
161
+ const sections = parseRoleSections(text);
162
+ const targetKey = normalizeHeading(op.heading);
163
+ if (op.action === 'replace') {
164
+ const idx = sections.findIndex((s) => s.kind === 'label' && s.heading != null && normalizeHeading(s.heading) === targetKey);
165
+ if (idx === -1) {
166
+ throw new Error(`Role section "${op.heading}" not found. Use action="insert" to add it.`);
167
+ }
168
+ sections[idx] = {
169
+ heading: op.heading.trim(),
170
+ kind: 'label',
171
+ body: renderLabelSection(op.heading, op.body),
172
+ };
173
+ return serializeSections(sections);
174
+ }
175
+ if (op.action === 'delete') {
176
+ const idx = sections.findIndex((s) => s.kind === 'label' && s.heading != null && normalizeHeading(s.heading) === targetKey);
177
+ if (idx === -1) {
178
+ throw new Error(`Role section "${op.heading}" not found.`);
179
+ }
180
+ sections.splice(idx, 1);
181
+ return serializeSections(sections);
182
+ }
183
+ // insert
184
+ const exists = sections.some((s) => s.kind === 'label' && s.heading != null && normalizeHeading(s.heading) === targetKey);
185
+ if (exists) {
186
+ throw new Error(`Role section "${op.heading}" already exists. Use action="replace" to overwrite it.`);
187
+ }
188
+ const newSection = {
189
+ heading: op.heading.trim(),
190
+ kind: 'label',
191
+ body: renderLabelSection(op.heading, op.body),
192
+ };
193
+ if (op.after == null) {
194
+ ensureTrailingNewline(sections, sections.length - 1);
195
+ sections.push(newSection);
196
+ return serializeSections(sections);
197
+ }
198
+ const afterKey = normalizeHeading(op.after);
199
+ const afterIdx = sections.findIndex((s) => s.kind === 'label' && s.heading != null && normalizeHeading(s.heading) === afterKey);
200
+ if (afterIdx === -1) {
201
+ throw new Error(`Cannot insert after section "${op.after}" — it does not exist.`);
202
+ }
203
+ ensureTrailingNewline(sections, afterIdx);
204
+ sections.splice(afterIdx + 1, 0, newSection);
205
+ return serializeSections(sections);
206
+ }
207
+ //# sourceMappingURL=role-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-section.js","sourceRoot":"","sources":["../src/role-section.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,6DAA6D;AAC7D,uEAAuE;AACvE,2EAA2E;AAC3E,kEAAkE;AAClE,yEAAyE;AACzE,uEAAuE;AACvE,2EAA2E;AAC3E,oDAAoD;AACpD,EAAE;AACF,uEAAuE;AA+DvE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,gEAAgE;IAChE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,8CAA8C;IAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,0DAA0D;IAC1D,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B,iEAAiE;IACjE,oEAAoE;IACpE,sEAAsE;IACtE,oEAAoE;IACpE,+DAA+D;IAC/D,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE,CAC1C,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1D,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,WAAW,GAAoB,UAAU,CAAC;IAC9C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,iEAAiE;YACjE,gDAAgD;YAChD,KAAK,EAAE,CAAC;YACR,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,WAAW,GAAG,OAAO,CAAC;YACtB,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,iEAAiE;IACjE,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAC,QAAuB;IACvD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;IAC3C,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,WAAW,CAAC;IACpC,oEAAoE;IACpE,0BAA0B;IAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IAChE,OAAO,WAAW,GAAG,cAAc,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,qBAAqB,CAAC,QAAuB,EAAE,GAAW;IACjE,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,EAAsB;IACvE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAC5F,CAAC;QACF,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAO,6CAA6C,CAAC,CAAC;QAC5F,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,GAAG;YACd,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;YAC1B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC;SAC9C,CAAC;QACF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAC5F,CAAC;QACF,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC;QAC7D,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;IACT,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAC5F,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAO,yDAAyD,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,UAAU,GAAgB;QAC9B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC;KAC9C,CAAC;IAEF,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACrB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAC3F,CAAC;IACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,CAAC,KAAK,wBAAwB,CAAC,CAAC;IACpF,CAAC;IACD,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"roster-render.d.ts","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA4D/D"}
1
+ {"version":3,"file":"roster-render.d.ts","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAwBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA8D/D"}
@@ -14,6 +14,27 @@
14
14
  * timestamp, otherwise a `stale-since-<relative>` marker derived
15
15
  * from the resolved timestamp the server echoed back.
16
16
  */
17
+ /**
18
+ * gh#503 — render-layer display labels for the wake-path wire enum.
19
+ *
20
+ * The gh#406 SLI MEASURES a streak of unanswered directed challenges; it
21
+ * cannot confirm a genuinely broken wake path ("deaf") — a seat that is
22
+ * alive but idle-and-text-only looks identical past the SLA. So the
23
+ * roster shows the measured-confidence label, not the unconfirmed verdict:
24
+ * degraded (1 miss) → `unverified` (signal seen, not yet corroborated)
25
+ * deaf (2+ miss) → `unresponsive` (no response past the SLA)
26
+ *
27
+ * The wire enum VALUES (`live`/`degraded`/`deaf`), computed server-side by
28
+ * `wakePathFromStreak`, are intentionally UNCHANGED — this is a display-only
29
+ * relabel within gh#503's copy-only scope (renaming the enum would be a
30
+ * wire + schema change). An operator who wants a confirmed read cross-checks
31
+ * `borg:stream-status` on the affected seat. Unknown wire values fall back
32
+ * to the raw value so a newer server can't break an older client's roster.
33
+ */
34
+ const WAKE_PATH_DISPLAY = {
35
+ degraded: 'unverified',
36
+ deaf: 'unresponsive',
37
+ };
17
38
  export function renderRoster(inputs) {
18
39
  const { cubeName, drones, roles, resolvedSince, humanAgo } = inputs;
19
40
  const roleById = new Map();
@@ -37,7 +58,9 @@ export function renderRoster(inputs) {
37
58
  const roleName = role?.name ?? 'unknown';
38
59
  const roleLabel = d.agent_kind ? `${roleName}, ${d.agent_kind}` : roleName;
39
60
  const lastSeen = humanAgo(d.last_seen);
40
- const wakePathMarker = d.wake_path && d.wake_path !== 'live' ? ` · \`wake-path:${d.wake_path}\`` : '';
61
+ const wakePathMarker = d.wake_path && d.wake_path !== 'live'
62
+ ? ` · \`wake-path:${WAKE_PATH_DISPLAY[d.wake_path] ?? d.wake_path}\``
63
+ : '';
41
64
  if (resolvedSince) {
42
65
  // T2.1 awake/stale column. `seen_since === true` → drone called a
43
66
  // tool after the resolved timestamp; treat as awake. False or
@@ -1 +1 @@
1
- {"version":3,"file":"roster-render.js","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqCH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,aAAa,EAAE,CAAC;QAClB,kEAAkE;QAClE,sDAAsD;QACtD,KAAK,CAAC,IAAI,CACR,yBAAyB,aAAa,KAAK,QAAQ,CACjD,aAAa,CACd,gEAAgE,CAClE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QACzC,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,cAAc,GAClB,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,IAAI,aAAa,EAAE,CAAC;YAClB,kEAAkE;YAClE,8DAA8D;YAC9D,6DAA6D;YAC7D,4DAA4D;YAC5D,yDAAyD;YACzD,8CAA8C;YAC9C,EAAE;YACF,iEAAiE;YACjE,6DAA6D;YAC7D,gEAAgE;YAChE,6DAA6D;YAC7D,8DAA8D;YAC9D,6DAA6D;YAC7D,qBAAqB;YACrB,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/C,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,KAAK,OAAO,SAAS,iBAAiB,QAAQ,MAAM,MAAM,GAAG,cAAc,EAAE,CACvF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,KAAK,OAAO,SAAS,iBAAiB,QAAQ,GAAG,cAAc,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"roster-render.js","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuBH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,iBAAiB,GAA2B;IAChD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,cAAc;CACrB,CAAC;AAgBF,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,aAAa,EAAE,CAAC;QAClB,kEAAkE;QAClE,sDAAsD;QACtD,KAAK,CAAC,IAAI,CACR,yBAAyB,aAAa,KAAK,QAAQ,CACjD,aAAa,CACd,gEAAgE,CAClE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QACzC,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,cAAc,GAClB,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM;YACnC,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI;YACrE,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,aAAa,EAAE,CAAC;YAClB,kEAAkE;YAClE,8DAA8D;YAC9D,6DAA6D;YAC7D,4DAA4D;YAC5D,yDAAyD;YACzD,8CAA8C;YAC9C,EAAE;YACF,iEAAiE;YACjE,6DAA6D;YAC7D,gEAAgE;YAChE,6DAA6D;YAC7D,8DAA8D;YAC9D,6DAA6D;YAC7D,qBAAqB;YACrB,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/C,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,KAAK,OAAO,SAAS,iBAAiB,QAAQ,MAAM,MAAM,GAAG,cAAc,EAAE,CACvF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,KAAK,OAAO,SAAS,iBAAiB,QAAQ,GAAG,cAAc,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -41,6 +41,13 @@ export interface MessageTaxonomyClass {
41
41
  default_to?: string[];
42
42
  }
43
43
  export type MessageTaxonomy = MessageTaxonomyClass[];
44
+ export declare const GIT_OPERATIONAL_DISCIPLINE_BUILDER = "\n\n**Git operational discipline (empirically-motivated):**\n\nThese rules come from a real production-primary-branch-corruption incident, where chained git ops + a soft-reset with divergent-ancestor staging silently deleted a merged PR's work from origin/main. Same failure class is repeatable by any drone touching git state.\n\n- **Pre-commit reflex: always run `git diff --staged --stat` before `git commit`.** Verify file count, LOC direction (+/-), and paths match intent. Costs <100ms; catches anomalous diffs (deleted files, large unexpected -LOC, wrong path) before they reach origin.\n- **Never chain `&&` across git-state-touching ops.** `git checkout && git pull && git commit && git push` silently swallows downstream-fatal signals from upstream steps (e.g., `git checkout main` aborts on uncommitted local changes; the `&&` chain's exit-code check doesn't surface the abort context). Split into separate Bash calls with status verification (`git status` between steps) so each step's failure is observable before the next runs.\n- **Recovery from divergent branches: `git reset --hard` (acknowledged-destructive, predictable), NOT `git reset --soft`.** Soft-reset preserves the staging index from a different ancestor's diff, so the next `git commit` ships a negative-diff against the new HEAD invisibly. `--hard` is loud about its destruction; `--soft` is silent about it. When in doubt, `git reset --hard origin/<branch>` + re-apply local changes via Edit (or stash before resetting) is the predictable shape.\n- **Force-pushes are bounded operations.** Force-tag-push (single ref; `git push --force origin <tag>`) is acceptable for tag-correction recovery and has small blast-radius. Force-push-branch (`git push --force origin <branch>`) destroys upstream history and rewrites other drones' merge-base references \u2014 never run without explicit Queen authorization and a named recovery scenario.";
45
+ export declare const GIT_OPERATIONAL_DISCIPLINE_COORDINATOR = "\n\n**Git operational discipline (empirically-motivated):**\n\nThese rules come from a real production-primary-branch-corruption incident, where chained git ops + a soft-reset with divergent-ancestor staging silently deleted a merged PR's work from origin/main. Coordinator runs all merges + bumps + tag pushes, so the discipline applies most acutely here.\n\n- **Pre-commit reflex: always run `git diff --staged --stat` before `git commit`.** Verify file count, LOC direction (+/-), and paths match intent. Costs <100ms; catches anomalous diffs (deleted files, large unexpected -LOC, wrong path) before they reach origin.\n- **Never chain `&&` across git-state-touching ops.** `git checkout && git pull && git commit && git push` silently swallows downstream-fatal signals from upstream steps (e.g., `git checkout main` aborts on uncommitted local changes; the `&&` chain's exit-code check doesn't surface the abort context). Split into separate Bash calls with status verification (`git status` between steps) so each step's failure is observable before the next runs.\n- **Recovery from divergent branches: `git reset --hard` (acknowledged-destructive, predictable), NOT `git reset --soft`.** Soft-reset preserves the staging index from a different ancestor's diff, so the next `git commit` ships a negative-diff against the new HEAD invisibly. `--hard` is loud about its destruction; `--soft` is silent about it. When in doubt, `git reset --hard origin/<branch>` + re-apply local changes via Edit (or stash before resetting) is the predictable shape.\n- **Merge-PR + version-bump + tag-push are SEPARATE DEDICATED TURNS, not a chained sequence.** Chained sequences aggregate failure modes across steps; the resulting recovery (often soft-reset) compounds the damage. Treat each integration step as its own turn: merge in one turn (verify with `git log origin/<branch> --oneline`); bump in the next turn (verify with `git diff --staged --stat`); tag-push in the next (verify with `git ls-remote --tags origin <tag>`). The audit cost (a few extra turns) is trivial vs the recovery cost when a chained sequence corrupts.\n- **Force-pushes are bounded operations.** Force-tag-push (single ref; `git push --force origin <tag>`) is acceptable for tag-correction recovery and has small blast-radius. **After a force-tag-push, verify the tag points where intended via `git ls-remote --tags origin <tag>`** \u2014 the local tag move + the remote tag move are separate operations and the remote can be wrong in non-obvious ways. Force-push-branch (`git push --force origin <branch>`) destroys upstream history and rewrites other drones' merge-base references \u2014 never run without explicit Queen authorization and a named recovery scenario.";
46
+ export declare const WAKE_PATH_MONITOR_DISCIPLINE = "\n\n**Wake-path Monitor discipline (NEVER TaskStop the cube inbox Monitor):**\n\nThe cube inbox Monitor (`borg-inbox-monitor` tailing your inbox file) is the cube WAKE-PATH \u2014 owned by the cube-liveness contract, NOT the /loop lifecycle. **NEVER `TaskStop` it \u2014 not on /loop graceful-stop, not on sustained idle.** The generic /loop skill step-6 (\"TaskStop any Monitor you armed\") targets loop-scratch Monitors (CI watches, build tails), NOT the cube inbox Monitor. On idle: pause or extend `ScheduleWakeup` ONLY; keep the inbox Monitor armed always. A `TaskStop`'d inbox Monitor = a deaf seat (the silent-wake-path-failure class) \u2014 incoming dispatches / REVIEW-READYs stop waking you and only the slow /loop fallback heartbeat remains.";
47
+ export declare const PUSH_DISCIPLINE_COORDINATOR = "\n\n**Merge-announcement discipline:**\n\nShip-on-consensus merges can fire faster than inbox-Monitor propagation to all drones. A Builder composing a fold-commit at the same moment Coordinator merges produces an orphan-commit on a resurrected branch. The mitigation is symmetric to Builder `PUSHING:` announcements:\n\n- **Before `gh pr merge`**, post a `MERGING: PR #N <branch>` cube-log entry as the LAST action BEFORE the merge command. Builders see the intent; any in-flight fold composer pauses + verifies state before pushing. ~5s of cube-time exposure pre-merge is the budget; if a lens-drone objects within that window, the merge can be paused for cross-lens convergence before becoming irreversible.\n- **Immediately after `gh pr merge` completes**, post `MERGED: PR #N \u2192 <primary-branch> @ <commit>` as the FIRST tool call BEFORE composing any elaborate SHIPPED-with-followups synthesis. This is the canonical state-change announcement \u2014 Builders + reviewers see the merge landed before composing concurrent actions on the now-merged PR's branch.\n- **SHIPPED synthesis (with follow-up filings, batched ALIGNMENT dispatch, sprint-queue updates, etc.) goes in a separate post AFTER the `MERGED:` atomic entry.** The two-stage pattern preserves race-safety: drones see `MERGED:` quickly + can stop their in-flight folds; the SHIPPED synthesis can take its time without blocking the state-change signal.\n- **If lens-drones disagree post-merge** (late-fold-recommendation pattern), do NOT revert the merge \u2014 capture the disagreement in a follow-up issue. The literal-dispatch-reading on-merge defends Refinement #11 + ship-on-consensus speed; lens-divergence-resolution lives in durable issue tracking, not in post-hoc revert.";
48
+ export declare const PUSH_DISCIPLINE_BUILDER = "\n\n**Pre-push announcement discipline:**\n\nThe initial `git push` to a feature branch (the one that produces `REVIEW-READY: <branch>`) carries implicit Coordinator approval \u2014 the dispatch that authorized the work also authorizes the first push to the branch tracking that dispatch. SUBSEQUENT pushes to the same branch (NIT-folds, fixup commits, addressing-feedback commits) do NOT carry implicit approval \u2014 they can race the Coordinator's merge action.\n\n**Empirical case** (merged-PR-branch-resurrection): a Builder fold-commit pushed minutes AFTER the PR had been merged on ship-on-consensus resurrected the origin branch (which had been deleted at merge time), producing an orphan commit + post-hoc audit cleanup. Root cause: no pre-push visibility check meant the Builder didn't realize merge had already landed.\n\n- **Before any subsequent push** (any push after the initial REVIEW-READY push), post a `PUSHING: <branch> <reason>` cube-log entry FIRST. Reason captures intent (e.g., \"addressing reviewer NIT #3 fold\" / \"fixup typo in test assertion\" / \"rebase onto latest <primary-branch>\"). Gives Coordinator visibility before the new commit lands.\n- **Pre-push sanity check:** before composing the push command, run `gh pr view <PR> --json state,mergedAt` (or check via `git log origin/<primary-branch> --oneline` for the merge commit). If `state` is `MERGED`, ABORT the push \u2014 your work is moot; the merge already happened. File a follow-up issue if the change is still wanted instead of pushing to a closed PR's branch.\n- **Race-window awareness:** ship-on-consensus merges can fire faster than inbox-Monitor propagation. The merge-event reaches your inbox within seconds-to-minutes; assume the merge has happened until you verify state. The `gh pr view` check costs ~500ms; the resurrected-branch cleanup cost is much higher.\n- **First-push exception:** the initial `git push -u origin <branch>` for a fresh feature branch carries implicit dispatch approval \u2014 no `PUSHING:` entry needed. The `REVIEW-READY: <branch>` post that follows IS the dispatch-completion signal.";
49
+ export declare const UNIVERSAL_SAFETY_DISCIPLINES: string[];
50
+ export declare const ROLE_SCOPED_SAFETY_DISCIPLINES: string[];
44
51
  export interface Template {
45
52
  name: string;
46
53
  description: string;
@@ -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;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;AAgSrD,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;AA+XD,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"}
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;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;AA8OrD,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;AAkYD,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
@@ -30,6 +30,19 @@
30
30
  // descriptions weave these constants in so new cubes inherit the
31
31
  // codified discipline automatically.
32
32
  // ====================================================================
33
+ // gh#496-A(b) GO-FORWARD AUTHORING CONVENTION (role-text rationale-split):
34
+ // When authoring or refactoring a role's `detailed_description`, separate
35
+ // operational RULES from RATIONALE. Put WHY / background / case-study prose
36
+ // in dedicated `<topic> rationale:` PLAIN-LABEL sections — a flush-left line
37
+ // whose short label ends in "rationale" + a single trailing colon (e.g.
38
+ // `Deadlock-resolution rationale:`). The regen render (`compressRoleText` in
39
+ // regen-format.ts) auto-compresses each such section to an on-demand
40
+ // `borg:role-rationale` stub, keeping rules + ALL safety disciplines inline.
41
+ // ⛔ Operational rules and safety constants (WAKE_PATH_MONITOR_DISCIPLINE,
42
+ // GIT_OPERATIONAL_DISCIPLINE_*, PUSH_DISCIPLINE_*) MUST NEVER live inside a
43
+ // rationale section. Legacy dense role text is rule-WHY-interleaved and stays
44
+ // inline (correct); the compression value compounds as new/refactored roles
45
+ // adopt this convention. See docs/superpowers/specs/2026-06-01-gh496Ab-rationale-split.md.
33
46
  const DENSE_COMMUNICATION_DISCIPLINE = `
34
47
 
35
48
  **Dense communication discipline:**
@@ -159,8 +172,6 @@ When the cube is at risk of deadlock — any pattern where progress requires act
159
172
 
160
173
  **Forcing function**: if you (Coordinator) see two posts that imply "someone should pick this up" without naming who, that's a deadlock-risk signal. Assign explicitly within one cadence-bucket (5-15 min per the cadence table). Escalate to Queen ONLY for Queen-class assignment decisions.
161
174
 
162
- **Why high-priority**: Coordinator deadlock-resolution failures cascade — every minute the cube waits on an unowned action is a minute of multiple drones idling. The cost compounds with drone count + concurrent sprint activity. Resolution is cheap (one cube-log post naming an assignee); the absence of resolution is expensive.
163
-
164
175
  **Companion bottom-up rule — idle drones may volunteer cross-role**: idle drones (capacity clean, no in-flight work) may volunteer to pick up unowned cross-role tasks even when the work doesn't match their primary role description, provided: (a) the work is visible in the cube log as unowned (REVIEW-READY without an explicit assignee for the gate-class they're volunteering for; OR a Coordinator post tagged with "needs cross-coverage"), (b) the volunteer drone posts \`VOLUNTEER: <task> — <lens-axis I'm covering>\` BEFORE doing the work so the Coordinator + cube see the claim, (c) the volunteer drone explicitly names which axis-lens they're applying (e.g., a CR-axis drone volunteering for QA-by-non-author posts \`VOLUNTEER: <branch> — QA-axis cross-coverage from CR-axis lens\` to make the cross-role framing explicit), (d) the volunteer drone's primary role doesn't have an in-flight obligation. The bottom-up rule is belt-and-suspenders with the Coordinator-explicit-assignment rule above — both can fire; whichever lands first owns the work.
165
176
 
166
177
  **Reassignment authority (autonomous-mode scope):** the Coordinator-class seat (Queen-by-delegation included) has standing authority to reassign roles within the existing cube's role roster WITHOUT per-reassignment Queen authorization, provided: (a) the reassignment is to a confirmed-alive drone, (b) the previous drone is documented as unresponsive per Step 3, (c) the reassignment is announced in cube log. Reassignment is operational continuity, not a Queen-policy decision.`;
@@ -240,7 +251,7 @@ Format makes the multi-lens approval chain durable in git log independent of cub
240
251
  - 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.
241
252
 
242
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.`;
243
- const GIT_OPERATIONAL_DISCIPLINE_BUILDER = `
254
+ export const GIT_OPERATIONAL_DISCIPLINE_BUILDER = `
244
255
 
245
256
  **Git operational discipline (empirically-motivated):**
246
257
 
@@ -250,7 +261,7 @@ These rules come from a real production-primary-branch-corruption incident, wher
250
261
  - **Never chain \`&&\` across git-state-touching ops.** \`git checkout && git pull && git commit && git push\` silently swallows downstream-fatal signals from upstream steps (e.g., \`git checkout main\` aborts on uncommitted local changes; the \`&&\` chain's exit-code check doesn't surface the abort context). Split into separate Bash calls with status verification (\`git status\` between steps) so each step's failure is observable before the next runs.
251
262
  - **Recovery from divergent branches: \`git reset --hard\` (acknowledged-destructive, predictable), NOT \`git reset --soft\`.** Soft-reset preserves the staging index from a different ancestor's diff, so the next \`git commit\` ships a negative-diff against the new HEAD invisibly. \`--hard\` is loud about its destruction; \`--soft\` is silent about it. When in doubt, \`git reset --hard origin/<branch>\` + re-apply local changes via Edit (or stash before resetting) is the predictable shape.
252
263
  - **Force-pushes are bounded operations.** Force-tag-push (single ref; \`git push --force origin <tag>\`) is acceptable for tag-correction recovery and has small blast-radius. Force-push-branch (\`git push --force origin <branch>\`) destroys upstream history and rewrites other drones' merge-base references — never run without explicit Queen authorization and a named recovery scenario.`;
253
- const GIT_OPERATIONAL_DISCIPLINE_COORDINATOR = `
264
+ export const GIT_OPERATIONAL_DISCIPLINE_COORDINATOR = `
254
265
 
255
266
  **Git operational discipline (empirically-motivated):**
256
267
 
@@ -268,12 +279,12 @@ const SCHEDULEWAKEUP_CADENCE = `
268
279
  - **Coordinator/Queen seat:** ~15 min ± 3 min jitter (uniform-random integer in [720, 1080] seconds) for the ScheduleWakeup safety-net. Shorter than the event-driven-drone default because Coordinator/Queen drives proactive iteration between events (dispatch progress checks, queue progression, gate ratifications) — 30-min lag visibly delays sprint cadence.
269
280
  - **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.
270
281
  - **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.`;
271
- const WAKE_PATH_MONITOR_DISCIPLINE = `
282
+ export const WAKE_PATH_MONITOR_DISCIPLINE = `
272
283
 
273
284
  **Wake-path Monitor discipline (NEVER TaskStop the cube inbox Monitor):**
274
285
 
275
286
  The cube inbox Monitor (\`borg-inbox-monitor\` tailing your inbox file) is the cube WAKE-PATH — owned by the cube-liveness contract, NOT the /loop lifecycle. **NEVER \`TaskStop\` it — not on /loop graceful-stop, not on sustained idle.** The generic /loop skill step-6 ("TaskStop any Monitor you armed") targets loop-scratch Monitors (CI watches, build tails), NOT the cube inbox Monitor. On idle: pause or extend \`ScheduleWakeup\` ONLY; keep the inbox Monitor armed always. A \`TaskStop\`'d inbox Monitor = a deaf seat (the silent-wake-path-failure class) — incoming dispatches / REVIEW-READYs stop waking you and only the slow /loop fallback heartbeat remains.`;
276
- const PUSH_DISCIPLINE_COORDINATOR = `
287
+ export const PUSH_DISCIPLINE_COORDINATOR = `
277
288
 
278
289
  **Merge-announcement discipline:**
279
290
 
@@ -283,7 +294,7 @@ Ship-on-consensus merges can fire faster than inbox-Monitor propagation to all d
283
294
  - **Immediately after \`gh pr merge\` completes**, post \`MERGED: PR #N → <primary-branch> @ <commit>\` as the FIRST tool call BEFORE composing any elaborate SHIPPED-with-followups synthesis. This is the canonical state-change announcement — Builders + reviewers see the merge landed before composing concurrent actions on the now-merged PR's branch.
284
295
  - **SHIPPED synthesis (with follow-up filings, batched ALIGNMENT dispatch, sprint-queue updates, etc.) goes in a separate post AFTER the \`MERGED:\` atomic entry.** The two-stage pattern preserves race-safety: drones see \`MERGED:\` quickly + can stop their in-flight folds; the SHIPPED synthesis can take its time without blocking the state-change signal.
285
296
  - **If lens-drones disagree post-merge** (late-fold-recommendation pattern), do NOT revert the merge — capture the disagreement in a follow-up issue. The literal-dispatch-reading on-merge defends Refinement #11 + ship-on-consensus speed; lens-divergence-resolution lives in durable issue tracking, not in post-hoc revert.`;
286
- const PUSH_DISCIPLINE_BUILDER = `
297
+ export const PUSH_DISCIPLINE_BUILDER = `
287
298
 
288
299
  **Pre-push announcement discipline:**
289
300
 
@@ -295,6 +306,15 @@ The initial \`git push\` to a feature branch (the one that produces \`REVIEW-REA
295
306
  - **Pre-push sanity check:** before composing the push command, run \`gh pr view <PR> --json state,mergedAt\` (or check via \`git log origin/<primary-branch> --oneline\` for the merge commit). If \`state\` is \`MERGED\`, ABORT the push — your work is moot; the merge already happened. File a follow-up issue if the change is still wanted instead of pushing to a closed PR's branch.
296
307
  - **Race-window awareness:** ship-on-consensus merges can fire faster than inbox-Monitor propagation. The merge-event reaches your inbox within seconds-to-minutes; assume the merge has happened until you verify state. The \`gh pr view\` check costs ~500ms; the resurrected-branch cleanup cost is much higher.
297
308
  - **First-push exception:** the initial \`git push -u origin <branch>\` for a fresh feature branch carries implicit dispatch approval — no \`PUSHING:\` entry needed. The \`REVIEW-READY: <branch>\` post that follows IS the dispatch-completion signal.`;
309
+ export const UNIVERSAL_SAFETY_DISCIPLINES = [
310
+ WAKE_PATH_MONITOR_DISCIPLINE,
311
+ ];
312
+ export const ROLE_SCOPED_SAFETY_DISCIPLINES = [
313
+ GIT_OPERATIONAL_DISCIPLINE_COORDINATOR,
314
+ GIT_OPERATIONAL_DISCIPLINE_BUILDER,
315
+ PUSH_DISCIPLINE_COORDINATOR,
316
+ PUSH_DISCIPLINE_BUILDER,
317
+ ];
298
318
  /**
299
319
  * Coordinator dispatch discipline — three-principle compressed form of
300
320
  * the canonical discipline. Project-agnostic; safe to apply as the
@@ -398,7 +418,10 @@ Log conventions you use:
398
418
 
399
419
  Read the log first on every regen. Act only on actionable signals.
400
420
 
401
- **Elevation to the Queen role (autonomous variant):** When the human Queen authorizes autonomous operation (a few hours, overnight, etc.), your role is reassigned to Queen via \`borg:reassign-drone\`. Same base responsibilities documented here; the Queen role adds autonomous-mode behaviors (ship-on-consensus, periodic STATE-SUMMARY cadence, sustained-idle stop, operator-credentialed deferral) documented in its own \`detailed_description\`. On the human Queen's return, you're reassigned back to this role. Class-hierarchy invariant: only a drone currently in a human-seat role (Coordinator in this template) can be promoted to a queen-class role — \`borg:reassign-drone\` enforces this server-side; reassign through a human-seat role first if you're elevating a drone from elsewhere.${ACTIVE_MOMENTUM_OWNERSHIP}${ANTI_PASSIVE_STANDING_DISCIPLINE}${ONE_SIGNAL_PER_POST_DISCIPLINE}${DENSE_COMMUNICATION_DISCIPLINE}${RELEASE_CYCLE_SHAPES}${CONDITIONAL_DISPATCH_ENFORCEMENT}${COORDINATOR_WORKFLOW_RULES}${GIT_OPERATIONAL_DISCIPLINE_COORDINATOR}${SCHEDULEWAKEUP_CADENCE}${PUSH_DISCIPLINE_COORDINATOR}${WAKE_PATH_MONITOR_DISCIPLINE}`,
421
+ **Elevation to the Queen role (autonomous variant):** When the human Queen authorizes autonomous operation (a few hours, overnight, etc.), your role is reassigned to Queen via \`borg:reassign-drone\`. Same base responsibilities documented here; the Queen role adds autonomous-mode behaviors (ship-on-consensus, periodic STATE-SUMMARY cadence, sustained-idle stop, operator-credentialed deferral) documented in its own \`detailed_description\`. On the human Queen's return, you're reassigned back to this role. Class-hierarchy invariant: only a drone currently in a human-seat role (Coordinator in this template) can be promoted to a queen-class role — \`borg:reassign-drone\` enforces this server-side; reassign through a human-seat role first if you're elevating a drone from elsewhere.${ACTIVE_MOMENTUM_OWNERSHIP}${ANTI_PASSIVE_STANDING_DISCIPLINE}${ONE_SIGNAL_PER_POST_DISCIPLINE}${DENSE_COMMUNICATION_DISCIPLINE}${RELEASE_CYCLE_SHAPES}${CONDITIONAL_DISPATCH_ENFORCEMENT}${COORDINATOR_WORKFLOW_RULES}${GIT_OPERATIONAL_DISCIPLINE_COORDINATOR}${SCHEDULEWAKEUP_CADENCE}${PUSH_DISCIPLINE_COORDINATOR}${WAKE_PATH_MONITOR_DISCIPLINE}
422
+
423
+ Deadlock-resolution rationale:
424
+ Coordinator deadlock-resolution failures cascade — every minute the cube waits on an unowned action is a minute of multiple drones idling. The cost compounds with drone count + concurrent sprint activity. Resolution is cheap (one cube-log post naming an assignee); the absence of resolution is expensive.`,
402
425
  },
403
426
  {
404
427
  name: 'Builder',