@davidbalzan/groundwork-seam 0.1.15 → 0.1.16
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/CHANGELOG.md +8 -0
- package/README.md +47 -0
- package/dist/docs.d.ts +108 -1
- package/dist/docs.js +558 -5
- package/dist/docs.js.map +1 -1
- package/package.json +10 -8
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ Started at 0.1.6 because a contract change landed in the tree with nowhere to re
|
|
|
6
6
|
it — which is the same class of gap as the change itself: a fact that exists and has
|
|
7
7
|
no home.
|
|
8
8
|
|
|
9
|
+
## [0.1.16] — 2026-09-11
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- `zeroIsUnparsed` no longer reports a pruned-but-healthy queue as unparsed. It measured CONTENT (`substantiveLines`) on every axis — the right question for the done axis, the wrong one for a queue, which keeps its headings and explanatory prose by design. Measured on this repo's own queue: 793 substantive lines, zero rows, `unparsed: true`. Red-when-fine, one axis over from the failure the predicate was written to avoid.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- `queueRowAttempts` and an optional `axis` argument to `zeroIsUnparsed`. For `"queue"` the discriminator is checkbox ROW ATTEMPTS — lines somebody wrote as rows — not authored content. **Omitting the axis preserves the previous behaviour exactly**, so the done and board axes are unchanged. Not "any list item": pruning the real queue leaves 0 checkbox lines and 9 plain bullets of template prose, so a bullet-counting predicate stays red on the very case being fixed.
|
|
16
|
+
|
|
9
17
|
## [0.1.8] — 2026-08-28
|
|
10
18
|
|
|
11
19
|
### Added
|
package/README.md
CHANGED
|
@@ -4,4 +4,51 @@ Schema owner of `docs/QUEUE.md`, `docs/DONE.md`, `docs/WORKSTREAMS.md`, `docs/FA
|
|
|
4
4
|
|
|
5
5
|
Markdown stays authoritative. This package is a library, not a daemon.
|
|
6
6
|
|
|
7
|
+
## Find the answer without knowing the name
|
|
8
|
+
|
|
9
|
+
**This section is indexed by the QUESTION, not by the export.** If you are about to
|
|
10
|
+
write a regex against one of these documents, the answer is almost certainly here —
|
|
11
|
+
and if it is not, that is a gap in this package, not a reason to hand-roll one.
|
|
12
|
+
See *Gaps* below for the ones we know about.
|
|
13
|
+
|
|
14
|
+
> **Why this section exists.** A consumer re-derived three verdicts this package
|
|
15
|
+
> already owns, each with a local regex. That is a seam-design failure, not a
|
|
16
|
+
> consumer bug: every export was present and none was findable without already
|
|
17
|
+
> knowing its name. The fix is that the name is now the ANSWER rather than the
|
|
18
|
+
> search term.
|
|
19
|
+
|
|
20
|
+
| You want to know… | Ask | Never |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Is this queue item done? | `queueItemsOf(doc)` → `item.done` | a `/\[x\]/` or `/done\|merged\|closed/i` regex |
|
|
23
|
+
| What are this queue's items at all? | `queueItemsOf(parseWorkDoc(text))` | splitting on `- [ ]` |
|
|
24
|
+
| What does this DONE entry cite? | `doneEntriesOf(doc)` → `entry.ref` | scraping `#\d+` from the line |
|
|
25
|
+
| Do two refs mean the same PR? | `refsMatch(a, b, { contextRepo })` | string equality |
|
|
26
|
+
| What CLOSED this queue row? | `closingCitation(row)` — a nullish result means *read the row* | any "closed by" in the body; 4 rows say it in prose |
|
|
27
|
+
| …the same commit? | `commitRefMatches(a, b, { contextRepo })` | comparing sha prefixes by hand |
|
|
28
|
+
| Which refs does this text carry? | `refsIn(text)` · `commitRefsIn(text)` | a local `#(\d+)` |
|
|
29
|
+
| Which board grammar is this? | `boardSchemaOf(doc)` | reading the header row yourself |
|
|
30
|
+
| Which board rows are `workstreams.v1`? | `workstreamsV1RowsOf(doc)` | indexing table cells positionally |
|
|
31
|
+
| Does this row carry a leading tag? | `leadingTagsOf(item)` · `sweepTagOf` · `awaitingOf` | matching `**[KEY:value]**` anywhere in the line |
|
|
32
|
+
| Is a zero an answer or an unread file? | `zeroIsUnparsed(count, sourceText, axis?)` | treating `0` as "none" |
|
|
33
|
+
| What is wrong with this document? | `workDocIssues(doc)` · `workDocIssuesDetailed(doc)` | your own validator |
|
|
34
|
+
| Which phase citations CLOSE a task? | `phaseClosureCitationsIn(text)` | `phaseCitationsIn`, which cannot tell "closes" from "unblocks" |
|
|
35
|
+
| Did this diff newly tick a task? | `newlyTickedInDiff(diff)` | diffing checkbox counts |
|
|
36
|
+
|
|
37
|
+
**A verdict this package exports is a verdict this package owns.** If your code
|
|
38
|
+
answers one of the questions above with its own regex, the two answers will
|
|
39
|
+
diverge — and the divergence is silent, because both sides parse cleanly.
|
|
40
|
+
|
|
41
|
+
## Gaps — questions this package does NOT answer
|
|
42
|
+
|
|
43
|
+
Recorded so a consumer can tell "you missed it" from "we do not offer it", and so
|
|
44
|
+
the check that flags re-derivations knows what it must NOT flag.
|
|
45
|
+
|
|
46
|
+
- **Counting checkboxes in a phase file.** `newlyTickedInDiff` reads a DIFF;
|
|
47
|
+
`phaseCitationsIn` reads citations in prose. Neither counts `- [x]` in a phase
|
|
48
|
+
document. A consumer doing that is filling a gap, not duplicating a verdict.
|
|
49
|
+
- **The source LINE of a parsed item.** No item type carries a line, index or
|
|
50
|
+
offset, so anything that reports `docs/QUEUE.md:<line>` must scan lines itself.
|
|
51
|
+
|
|
52
|
+
## Notes
|
|
53
|
+
|
|
7
54
|
PR2 parse contract: any markdown table is a board, arity 5. Header-cell detection is PR3.
|
package/dist/docs.d.ts
CHANGED
|
@@ -82,9 +82,19 @@ export type Block = {
|
|
|
82
82
|
kind: "decisions";
|
|
83
83
|
items: string[];
|
|
84
84
|
};
|
|
85
|
+
/** What the continuation check looked at, and the RULE that produced it. */
|
|
86
|
+
export type ContinuationPopulation = {
|
|
87
|
+
rule: string;
|
|
88
|
+
linesConsidered: number;
|
|
89
|
+
loadBearing: number;
|
|
90
|
+
proseOnly: number;
|
|
91
|
+
excludedCommentBlockLines: number;
|
|
92
|
+
excludedBlockquoteLines: number;
|
|
93
|
+
};
|
|
85
94
|
export type WorkDoc = {
|
|
86
95
|
trailingNewline: boolean;
|
|
87
96
|
blocks: Block[];
|
|
97
|
+
population?: ContinuationPopulation;
|
|
88
98
|
warnings?: string[];
|
|
89
99
|
advisories?: string[];
|
|
90
100
|
};
|
|
@@ -94,12 +104,44 @@ export declare function parseQueueLine(line: string, section?: string): QueueIte
|
|
|
94
104
|
/** The warning an invalid-priority item earns, quoting the tag and naming the set. */
|
|
95
105
|
export declare function invalidPriorityIssue(item: QueueItem, line?: number): string;
|
|
96
106
|
export declare function parseDoneLine(line: string, section?: string): DoneEntry | null;
|
|
107
|
+
/**
|
|
108
|
+
* Does this text carry a CITATION — an issue/PR ref or a commit sha?
|
|
109
|
+
*
|
|
110
|
+
* Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
|
|
111
|
+
* regex. The comment below those primitives says why: four separate matchers
|
|
112
|
+
* re-derived "what is a ref" in one day and each got it wrong differently. A
|
|
113
|
+
* fifth here would be the same mistake with a done line instead of a queue item.
|
|
114
|
+
*
|
|
115
|
+
* This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
|
|
116
|
+
* rule accepts any space-free token after ` — ` as a ref, which is right for a
|
|
117
|
+
* record it is about to keep but far too loose for deciding whether a HEADING was
|
|
118
|
+
* a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
|
|
119
|
+
* detector that cries wolf on ordinary prose gets switched off, so this one asks
|
|
120
|
+
* for a real citation shape.
|
|
121
|
+
*/
|
|
122
|
+
export declare function carriesCitation(text: string): boolean;
|
|
123
|
+
export declare const doneReflessIssue: (line: number, text: string) => string;
|
|
124
|
+
export declare const doneHeadingFormIssue: (line: number, heading: string) => string;
|
|
97
125
|
export declare function withoutCodeContext(text: string): string;
|
|
98
126
|
export type Ref = {
|
|
99
127
|
raw: string;
|
|
100
128
|
repo: string | null;
|
|
101
129
|
number: string;
|
|
102
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* What a queue continuation line is HIDING, or null if it is only prose.
|
|
133
|
+
*
|
|
134
|
+
* ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
|
|
135
|
+
* human and dropped by every consumer. That is tolerable for commentary and not
|
|
136
|
+
* tolerable for the two things a reader ACTS on: the acceptance criteria and the
|
|
137
|
+
* citation. Hidden there, `list_work` hands a worker a row whose acceptance does
|
|
138
|
+
* not exist and whose PR cannot be followed, with nothing to indicate a loss.
|
|
139
|
+
*
|
|
140
|
+
* Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
|
|
141
|
+
* re-derived ref matching in one day once and each got it wrong, which is why
|
|
142
|
+
* that primitive is shared (see `REF_RE`'s own note).
|
|
143
|
+
*/
|
|
144
|
+
export declare function loadBearingContinuation(line: string): string | null;
|
|
103
145
|
/** Every issue/PR reference in a string, qualified where the text qualified it. */
|
|
104
146
|
export declare function refsIn(text: string): Ref[];
|
|
105
147
|
/**
|
|
@@ -146,6 +188,51 @@ export declare function commitRefsIn(text: string): string[];
|
|
|
146
188
|
* does not carry that state.
|
|
147
189
|
*/
|
|
148
190
|
export declare function hasCommitRef(text: string): boolean;
|
|
191
|
+
/** Every state the fleet's boards actually declare. `unknown` is a real answer. */
|
|
192
|
+
export type WorkState = "blocked" | "in-progress" | "in-review" | "done" | "parked" | "orphaned" | "accepted-risk" | "staffable" | "skipped" | "no-downstream" | "unstaffable" | "unclassified" | "unknown";
|
|
193
|
+
/** The projection a renderer asks for: is anybody working on this? */
|
|
194
|
+
export type CoarseWorkState = "in-flight" | "finished" | "open" | "unknown";
|
|
195
|
+
export declare const declarationOf: (status: string) => string;
|
|
196
|
+
/**
|
|
197
|
+
* The state a board status DECLARES.
|
|
198
|
+
*
|
|
199
|
+
* Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
|
|
200
|
+
* from its declaration only. Commentary never answers.
|
|
201
|
+
*/
|
|
202
|
+
export declare function workStateOf(status: string | null | undefined): WorkState;
|
|
203
|
+
export declare function coarseOf(state: WorkState): CoarseWorkState;
|
|
204
|
+
/** What a queue row's CLOSING POSITION cites. */
|
|
205
|
+
export type ClosingCitation = {
|
|
206
|
+
token: string;
|
|
207
|
+
refs: Ref[];
|
|
208
|
+
commits: string[];
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* What the row's closing position cites, or `null` when it has none.
|
|
212
|
+
*
|
|
213
|
+
* ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
|
|
214
|
+
* - a citation — the closing position names these refs/commits;
|
|
215
|
+
* - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
|
|
216
|
+
*
|
|
217
|
+
* ⛔ `null` is returned BOTH when there is no token AND when no token cites
|
|
218
|
+
* anything, and the collapse is deliberate: a trailer saying something
|
|
219
|
+
* unparseable must not make a row uncited on the strength of its own prose.
|
|
220
|
+
*
|
|
221
|
+
* ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
|
|
222
|
+
* closing position says nothing owes"* — a positive claim — where `null` says
|
|
223
|
+
* *"I cannot answer; ask the row."* On the delivery-marker side that substitution
|
|
224
|
+
* turns an honest `answerable: false` into a confident wrong zero.
|
|
225
|
+
*
|
|
226
|
+
* ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
|
|
227
|
+
* resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
|
|
228
|
+
* is correctly untieable with no origin), does not match `DONE.md` entries, and
|
|
229
|
+
* does not read commit subjects. Its consumers ask DIFFERENT questions of the
|
|
230
|
+
* same answer — `doctor` falls back to the whole row because it asks "can this
|
|
231
|
+
* row be tied at all?", while the delivery-marker gate stays untied and says so
|
|
232
|
+
* because it asks "which refs CLOSED it?" — so sharing this reader is correct
|
|
233
|
+
* and sharing either of those decisions is not.
|
|
234
|
+
*/
|
|
235
|
+
export declare function closingCitation(text: string): ClosingCitation | null;
|
|
149
236
|
/**
|
|
150
237
|
* Do two cited shas name the same commit? Compared as a PREFIX, not
|
|
151
238
|
* equality: git's own abbreviation convention means a 7-char short sha and a
|
|
@@ -247,12 +334,32 @@ export type ZeroAxis = {
|
|
|
247
334
|
};
|
|
248
335
|
/** Non-blank lines that are not headings, frontmatter delimiters or comments. */
|
|
249
336
|
export declare function substantiveLines(text: string): number;
|
|
337
|
+
/** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
|
|
338
|
+
export declare function queueRowAttempts(text: string): number;
|
|
250
339
|
/**
|
|
251
340
|
* Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
|
|
252
341
|
*
|
|
253
342
|
* `count > 0` is never in doubt, so this only ever qualifies a zero.
|
|
343
|
+
*
|
|
344
|
+
* THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
|
|
345
|
+
* document prose is not evidence of a missed row. `substantiveLines` was built
|
|
346
|
+
* for the done axis, where any authored line under an empty log is a fair
|
|
347
|
+
* reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
|
|
348
|
+
* explanatory prose by design, so that same measure reported a perfectly
|
|
349
|
+
* healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
|
|
350
|
+
* lines with zero rows present.
|
|
351
|
+
*
|
|
352
|
+
* So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
|
|
353
|
+
* four states this separates, measured on this repo's real `docs/QUEUE.md`:
|
|
354
|
+
* populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
|
|
355
|
+
* `false` · heading-removed, so the rows exist but nothing parses them (168
|
|
356
|
+
* attempts, count 0) `true` · rows present but refused by the grammar (2
|
|
357
|
+
* attempts, count 0) `true`.
|
|
358
|
+
*
|
|
359
|
+
* Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
|
|
360
|
+
* done and board axes are untouched by this change.
|
|
254
361
|
*/
|
|
255
|
-
export declare function zeroIsUnparsed(count: number, sourceText: string): boolean;
|
|
362
|
+
export declare function zeroIsUnparsed(count: number, sourceText: string, axis?: ZeroAxis["axis"]): boolean;
|
|
256
363
|
export declare function renderWorkDoc(doc: WorkDoc): string;
|
|
257
364
|
export declare function queueItemsOf(doc: WorkDoc): QueueItem[];
|
|
258
365
|
export declare function doneEntriesOf(doc: WorkDoc): DoneEntry[];
|
package/dist/docs.js
CHANGED
|
@@ -154,6 +154,49 @@ export function parseDoneLine(line, section) {
|
|
|
154
154
|
...(section ? { section } : {}),
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Does this text carry a CITATION — an issue/PR ref or a commit sha?
|
|
159
|
+
*
|
|
160
|
+
* Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
|
|
161
|
+
* regex. The comment below those primitives says why: four separate matchers
|
|
162
|
+
* re-derived "what is a ref" in one day and each got it wrong differently. A
|
|
163
|
+
* fifth here would be the same mistake with a done line instead of a queue item.
|
|
164
|
+
*
|
|
165
|
+
* This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
|
|
166
|
+
* rule accepts any space-free token after ` — ` as a ref, which is right for a
|
|
167
|
+
* record it is about to keep but far too loose for deciding whether a HEADING was
|
|
168
|
+
* a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
|
|
169
|
+
* detector that cries wolf on ordinary prose gets switched off, so this one asks
|
|
170
|
+
* for a real citation shape.
|
|
171
|
+
*/
|
|
172
|
+
export function carriesCitation(text) {
|
|
173
|
+
return refsIn(text).length > 0 || hasCommitRef(text);
|
|
174
|
+
}
|
|
175
|
+
// THE TWO WAYS A COMPLETION LINE GOES WRONG FAIL IN OPPOSITE DIRECTIONS, AND
|
|
176
|
+
// NEITHER USED TO SAY ANYTHING (q-2f6ba85e).
|
|
177
|
+
//
|
|
178
|
+
// An ASCII hyphen or a period instead of ` — ` / ` · ` still PARSES: the entry is
|
|
179
|
+
// kept, counted, and carries no ref — so `list_work` reports one more completion
|
|
180
|
+
// than exists and cites nothing for it. A heading-form completion goes the other
|
|
181
|
+
// way: a level-2 heading ENDS the done section, so every entry after it
|
|
182
|
+
// disappears and the count reads zero.
|
|
183
|
+
//
|
|
184
|
+
// One row too many, or none. An instrument silent in both directions cannot be
|
|
185
|
+
// trusted in either, which is why these are warnings and not advisories: both
|
|
186
|
+
// corrupt a number the bus reports.
|
|
187
|
+
export const doneReflessIssue = (line, text) => carriesCitation(text)
|
|
188
|
+
? `line ${line}: done entry parses but its citation is NOT in the ref position, so nothing links this completion to a merge — ` +
|
|
189
|
+
`the separator before the ref must be an em-dash " \u2014 " and the one before the date a middot " \u00b7 ". ` +
|
|
190
|
+
`The entry is KEPT and COUNTED as done, which is why this is a warning: an ASCII hyphen or period here inflates the done count silently.`
|
|
191
|
+
: `line ${line}: done entry cites no issue/PR ref and no QUALIFIED commit ref. ` +
|
|
192
|
+
`A BARE SHA DOES NOT COUNT and this is not a typo in the message: ` + "`" + `owner/repo@sha` + "`" + ` names a repository, ` +
|
|
193
|
+
`a bare ` + "`" + `47b26aa` + "`" + ` does not, so nothing can resolve it — if there is a sha on this line already, qualify and reposition it rather than finding another. ` +
|
|
194
|
+
`Add ` + "`" + ` \u2014 owner/repo#N` + "`" + ` or ` + "`" + ` \u2014 owner/repo@sha` + "`" + `, optionally ` + "`" + ` \u00b7 YYYY-MM-DD` + "`" + `.`;
|
|
195
|
+
export const doneHeadingFormIssue = (line, heading) => `line ${line}: "${heading}" is a completion written as a HEADING, not as a done line — it carries a citation but no ` +
|
|
196
|
+
"`- [x] `" +
|
|
197
|
+
` marker, so it is not parsed as an entry. ` +
|
|
198
|
+
`A level-1 or level-2 heading also ENDS the done section, so entries below it are dropped too: this malformation reads as ZERO completions, not one missing. ` +
|
|
199
|
+
`Rewrite it as ` + "`" + `- [x] <what shipped> \u2014 <ref> \u00b7 <date>` + "`" + `.`;
|
|
157
200
|
// ---------- issue / PR references ----------
|
|
158
201
|
//
|
|
159
202
|
// THE REF THAT CLOSED AN ITEM IS A DIFFERENT FACT FROM A REF MENTIONED IN IT, AND
|
|
@@ -222,6 +265,30 @@ export function withoutCodeContext(text) {
|
|
|
222
265
|
// that only understood the fully-qualified form would classify every real
|
|
223
266
|
// shorthand as bare, which is the ambiguous bucket where nothing matches.
|
|
224
267
|
const REF_RE = /(?:([\w.-]+(?:\/[\w.-]+)?))?#(\d+)\b/g;
|
|
268
|
+
/**
|
|
269
|
+
* What a queue continuation line is HIDING, or null if it is only prose.
|
|
270
|
+
*
|
|
271
|
+
* ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
|
|
272
|
+
* human and dropped by every consumer. That is tolerable for commentary and not
|
|
273
|
+
* tolerable for the two things a reader ACTS on: the acceptance criteria and the
|
|
274
|
+
* citation. Hidden there, `list_work` hands a worker a row whose acceptance does
|
|
275
|
+
* not exist and whose PR cannot be followed, with nothing to indicate a loss.
|
|
276
|
+
*
|
|
277
|
+
* Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
|
|
278
|
+
* re-derived ref matching in one day once and each got it wrong, which is why
|
|
279
|
+
* that primitive is shared (see `REF_RE`'s own note).
|
|
280
|
+
*/
|
|
281
|
+
export function loadBearingContinuation(line) {
|
|
282
|
+
const hasAcceptance = /\bacceptance\s*:/i.test(line);
|
|
283
|
+
const refs = refsIn(line);
|
|
284
|
+
if (hasAcceptance && refs.length)
|
|
285
|
+
return "an acceptance clause and a citation";
|
|
286
|
+
if (hasAcceptance)
|
|
287
|
+
return "an acceptance clause";
|
|
288
|
+
if (refs.length)
|
|
289
|
+
return `a citation (${refs[0]?.raw})`;
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
225
292
|
/** Every issue/PR reference in a string, qualified where the text qualified it. */
|
|
226
293
|
export function refsIn(text) {
|
|
227
294
|
return [...String(text).matchAll(REF_RE)].map((m) => ({
|
|
@@ -283,6 +350,260 @@ export function commitRefsIn(text) {
|
|
|
283
350
|
export function hasCommitRef(text) {
|
|
284
351
|
return commitRefsIn(text).length > 0;
|
|
285
352
|
}
|
|
353
|
+
/*
|
|
354
|
+
* ⛔ EMPHASIS IS STRIPPED BEFORE THE STATE IS READ, AND `⭐` IS NOT A STATE.
|
|
355
|
+
*
|
|
356
|
+
* A live row opens `⭐⭐ **THE HELD CLOSURE IS ITSELF WHAT ARMS THE DEFECT…`. Without
|
|
357
|
+
* this, `⭐` is read as the leading glyph and the row gets a state invented for it;
|
|
358
|
+
* with it, the row correctly reaches `unknown`, because stripping reveals no state
|
|
359
|
+
* glyph rather than conjuring one. `**` is stripped for the same reason — board
|
|
360
|
+
* cells bold their state (`**⛔ Blocked**`) and the glyph is the state, not the bold.
|
|
361
|
+
*
|
|
362
|
+
* ⚠ THE SET IS EVIDENCE-BASED, NOT A JUDGEMENT ABOUT TASTE: `⭐` is the only
|
|
363
|
+
* decoration observed in leading position on a status cell. An unlisted decoration
|
|
364
|
+
* therefore lands on the middle branch and returns `unknown` — which is the safe
|
|
365
|
+
* direction, and why this list does not need to be exhaustive to be correct.
|
|
366
|
+
*/
|
|
367
|
+
const STATUS_DECORATION = /^[\s*⭐]+/u;
|
|
368
|
+
/*
|
|
369
|
+
* ⭐ GLYPH -> STATE, and every entry is DOCUMENTED somewhere rather than inferred.
|
|
370
|
+
*
|
|
371
|
+
* The discriminator for "is this a state?" is whether the fleet writes it down, NOT
|
|
372
|
+
* whether a checker's regex already knows it. `doctor`'s regexes and the console's
|
|
373
|
+
* four-value model are BOTH stale subsets — of different boards — so deriving this
|
|
374
|
+
* table from either would codify that board's blind spots:
|
|
375
|
+
*
|
|
376
|
+
* 🔻 Orphaned protocol: coord-playbook/README.md, skills/references/handoff.md
|
|
377
|
+
* ⚠ Accepted risk board convention: docs/WORKSTREAMS.md
|
|
378
|
+
* ▶ Staffable board convention: docs/WORKSTREAMS.md
|
|
379
|
+
* 🚫 Unstaffable · 🔍 In Review coord-mcp/src/tools/stall.ts + the board
|
|
380
|
+
* ⏭ Skipped · ◻ No downstream the console's shipped tone table (c3d7b43)
|
|
381
|
+
*
|
|
382
|
+
* ⛆⛆ `unclassified` IS NOT A SYNONYM FOR `unknown`, AND CONFLATING THEM IS A SILENT
|
|
383
|
+
* UI REGRESSION AT ADOPTION. The console's shipped `workStateOf`
|
|
384
|
+
* (`apps/web/src/lib/status.ts:73-76` on its `origin/main`) distinguishes TWO
|
|
385
|
+
* unrecognised cases and gives them DIFFERENT coarse answers:
|
|
386
|
+
*
|
|
387
|
+
* unrecognised leading GLYPH -> `unknown` (ANY_GLYPH, :73)
|
|
388
|
+
* GLYPHLESS and no word matched -> `open` (the bare `return "open"`, :76)
|
|
389
|
+
*
|
|
390
|
+
* My first version returned `unknown` for both, so `"Ops hold — ✅ done upstream"`
|
|
391
|
+
* came back `unknown` where the console renders it `open` — measured against the
|
|
392
|
+
* consumer's four-row migration contract, 1 of 4 disagreed. Since `coarseOf` IS the
|
|
393
|
+
* console's projection, a disagreement there changes the UI the moment it re-pins,
|
|
394
|
+
* and the console cannot catch it until then.
|
|
395
|
+
*
|
|
396
|
+
* ⭐ SO THE FIX IS A SECOND STATE, NOT A WIDER ONE: `unclassified` means "this is on
|
|
397
|
+
* the board, it is glyphless, and no vocabulary entry matched" — which is still work
|
|
398
|
+
* nobody is doing and not complete, hence `open`. `unknown` stays reserved for "I was
|
|
399
|
+
* given a marker I do not recognise", which is genuinely unanswerable. Collapsing
|
|
400
|
+
* them would make the board check and the renderer disagree in opposite directions.
|
|
401
|
+
*
|
|
402
|
+
* ⛔ NOTHING IS INVENTED FOR A GLYPH NOBODY DOCUMENTS. An unrecognised glyph is not
|
|
403
|
+
* a state, and guessing one is how a vocabulary starts lying.
|
|
404
|
+
*/
|
|
405
|
+
const GLYPH_STATE = [
|
|
406
|
+
["⛔", "blocked"],
|
|
407
|
+
["🚧", "in-progress"],
|
|
408
|
+
["🔍", "in-review"],
|
|
409
|
+
["✅", "done"],
|
|
410
|
+
["⏸", "parked"],
|
|
411
|
+
["🔻", "orphaned"],
|
|
412
|
+
["⚠", "accepted-risk"],
|
|
413
|
+
["▶", "staffable"],
|
|
414
|
+
["⏭", "skipped"],
|
|
415
|
+
["◻", "no-downstream"],
|
|
416
|
+
["🚫", "unstaffable"],
|
|
417
|
+
];
|
|
418
|
+
/** Any pictographic lead — the middle branch's test, never a state by itself. */
|
|
419
|
+
const ANY_LEADING_GLYPH = /^[\p{Extended_Pictographic}■-➿⬀-⯿]/u;
|
|
420
|
+
/*
|
|
421
|
+
* The part of a status that DECLARES something. Commentary after the first
|
|
422
|
+
* separator is a note to a human, and reading it is the defect above: the
|
|
423
|
+
* declaration of `🔍 In Review — **MERGED WILL NOT MEAN DELIVERED**` is
|
|
424
|
+
* `🔍 In Review`, and the rest is prose that must never answer.
|
|
425
|
+
*
|
|
426
|
+
* Separator set taken verbatim from the console's shipped `declarationOf` so the
|
|
427
|
+
* two sides cut the string in the same place; a seam that split differently would
|
|
428
|
+
* reintroduce the divergence this export exists to remove.
|
|
429
|
+
*/
|
|
430
|
+
export const declarationOf = (status) => String(status ?? "").split(/\s+[—·]\s+|\s+--\s+/)[0].trim();
|
|
431
|
+
/*
|
|
432
|
+
* ⚠ PROSE IS CONSULTED ONLY FOR A GLYPHLESS STATUS, AND ONLY ITS DECLARATION.
|
|
433
|
+
*
|
|
434
|
+
* Glyphless boards are real — lanes-v0 rows say "working" and "gate pending" — so
|
|
435
|
+
* refusing them outright would silence a third of this fleet's own board, which is
|
|
436
|
+
* a coverage loss dressed as rigour. Ordered, first match wins.
|
|
437
|
+
*
|
|
438
|
+
* ⭐ `unstaffable` IS GUARDED TWICE, AND THE ORDERING IS THE WEAKER OF THE TWO.
|
|
439
|
+
* `\bstaffable\b` already cannot match inside "unstaffable" — there is no word
|
|
440
|
+
* boundary between "n" and "s" — so the boundary anchors, not the row order, are
|
|
441
|
+
* what actually decide it. Measured: reordering alone still returns `unstaffable`;
|
|
442
|
+
* only dropping the anchors AND reordering flips it. The order is kept as defence
|
|
443
|
+
* in depth and is documented as such, because a comment that credits the wrong
|
|
444
|
+
* guard is how the load-bearing one gets removed as redundant.
|
|
445
|
+
*/
|
|
446
|
+
const PROSE_STATE = [
|
|
447
|
+
[/\bblocked\b|\bblocker\b/i, "blocked"],
|
|
448
|
+
[/\bunstaffable\b/i, "unstaffable"],
|
|
449
|
+
[/\bstaffable\b/i, "staffable"],
|
|
450
|
+
[/\bin\s+review\b|\bgate\s+pending\b/i, "in-review"],
|
|
451
|
+
[/\bin\s+progress\b|\bclaimed\b|\bworking\b/i, "in-progress"],
|
|
452
|
+
[/\bdone\b|\bmerged\b|\bdeployed\b|\bcomplete(?:d)?\b|\bclosed\b|\bresolved\b/i, "done"],
|
|
453
|
+
[/\bparked\b/i, "parked"],
|
|
454
|
+
[/\borphaned\b/i, "orphaned"],
|
|
455
|
+
[/\bskipped\b/i, "skipped"],
|
|
456
|
+
[/\bno[-\s]?downstream\b/i, "no-downstream"],
|
|
457
|
+
];
|
|
458
|
+
/**
|
|
459
|
+
* The state a board status DECLARES.
|
|
460
|
+
*
|
|
461
|
+
* Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
|
|
462
|
+
* from its declaration only. Commentary never answers.
|
|
463
|
+
*/
|
|
464
|
+
export function workStateOf(status) {
|
|
465
|
+
const raw = String(status ?? "").trim();
|
|
466
|
+
if (!raw)
|
|
467
|
+
return "unknown";
|
|
468
|
+
const s = raw.replace(STATUS_DECORATION, "");
|
|
469
|
+
if (!s)
|
|
470
|
+
return "unknown";
|
|
471
|
+
for (const [glyph, state] of GLYPH_STATE)
|
|
472
|
+
if (s.startsWith(glyph))
|
|
473
|
+
return state;
|
|
474
|
+
if (ANY_LEADING_GLYPH.test(s))
|
|
475
|
+
return "unknown";
|
|
476
|
+
const decl = declarationOf(s);
|
|
477
|
+
for (const [re, state] of PROSE_STATE)
|
|
478
|
+
if (re.test(decl))
|
|
479
|
+
return state;
|
|
480
|
+
// Glyphless and nothing matched — NOT `unknown`. See the `unclassified` note above:
|
|
481
|
+
// the console renders this row `open`, and `coarseOf` is its projection.
|
|
482
|
+
return "unclassified";
|
|
483
|
+
}
|
|
484
|
+
/*
|
|
485
|
+
* ⭐⭐ THE PROJECTION A RENDERER CALLS — and `blocked -> open` IS THE ANSWER TO
|
|
486
|
+
* ⟨q-fcc9858e⟩ RATHER THAN A PREFERENCE, WHICH IS WHY THE REASON SHIPS WITH IT.
|
|
487
|
+
*
|
|
488
|
+
* That row is titled "the two status vocabularies that disagree about what NOT
|
|
489
|
+
* BEING WORKED ON means". This is that disagreement settled: the question `coarse`
|
|
490
|
+
* answers is IS ANYBODY WORKING ON THIS, so a BLOCKED item is NOT in flight — it is
|
|
491
|
+
* work nobody is doing. Filing `blocked` under `in-flight` is the intuitive answer
|
|
492
|
+
* and it is the bug: it makes a stalled board look busy.
|
|
493
|
+
*
|
|
494
|
+
* ⚠ TONE AND STATE ARE DIFFERENT QUESTIONS, DELIBERATELY: the console renders `⛔`
|
|
495
|
+
* as a BAD pill and classifies it `open` at the same time, and both are right. A
|
|
496
|
+
* reader who collapses them will "fix" one of the two.
|
|
497
|
+
*
|
|
498
|
+
* The range is exactly the console's four values, because the console RENDERS this
|
|
499
|
+
* projection: a projection a consumer CALLS is consuming, and one it RE-DERIVES is
|
|
500
|
+
* guessing — which is what left ⟨q-fcc9858e⟩ open with its own half already shipped.
|
|
501
|
+
*/
|
|
502
|
+
export function coarseOf(state) {
|
|
503
|
+
switch (state) {
|
|
504
|
+
case "in-progress":
|
|
505
|
+
case "in-review":
|
|
506
|
+
return "in-flight";
|
|
507
|
+
case "done":
|
|
508
|
+
return "finished";
|
|
509
|
+
case "unknown":
|
|
510
|
+
return "unknown";
|
|
511
|
+
// `unclassified` deliberately does NOT land here — it falls to `open` below,
|
|
512
|
+
// matching the console's bare `return "open"` for a glyphless unmatched row.
|
|
513
|
+
// Everything else is work NOBODY IS DOING and NOT complete — blocked included.
|
|
514
|
+
default:
|
|
515
|
+
return "open";
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* ⛔ THE DISCRIMINATOR IS THE TOKEN'S **STRUCTURE**, NOT ITS DISTANCE FROM THE END.
|
|
520
|
+
*
|
|
521
|
+
* A row's closing citation is the bold-delimited trailer `· **closed by <ref>**`.
|
|
522
|
+
* This was once END-ANCHORED, until a curation addendum was appended AFTER
|
|
523
|
+
* ⟨q-6a4f0c38⟩'s citation and pushed it 1,144 characters from the end: the
|
|
524
|
+
* citation became unreadable and the row's green fell back onto a `#270` sitting
|
|
525
|
+
* in the addendum's PROSE, with nothing going red at the moment it broke.
|
|
526
|
+
*
|
|
527
|
+
* ⭐ THE REJECTED FIX WAS A WRITING CONVENTION — *"curation appends BEFORE the
|
|
528
|
+
* token"*. A rule with no enforcement that every future writer must remember,
|
|
529
|
+
* and the fleet demonstrably does not: that addendum was written four hours
|
|
530
|
+
* after the same practice was adopted for `docs/DONE.md`, in another file, for a
|
|
531
|
+
* good reason.
|
|
532
|
+
*
|
|
533
|
+
* ⛔⛆ AND "LAST OCCURRENCE" IS NOT THE CURE EITHER — `parseDoneLine` below has
|
|
534
|
+
* used `lastIndexOf(EM_DASH_SEP)` all along, which IS the last-occurrence rule,
|
|
535
|
+
* and it still returned `"see note"` AS THE REF when an addendum carried an
|
|
536
|
+
* em-dash and a date, because its shape guard runs only on the no-date branch.
|
|
537
|
+
* ⭐ ***SHAPE DECIDES CANDIDACY; POSITION ONLY DECIDES WHICH CANDIDATE WINS.***
|
|
538
|
+
*
|
|
539
|
+
* ⚠ DROPPING THE ANCHOR IS NOT DROPPING THE STRUCTURE. The counterexample lives
|
|
540
|
+
* in ⟨q-6a4f0c38⟩'s own body — *"A gap closed by someone choosing to disclose is
|
|
541
|
+
* not a gap that is closed"* — and 4 closed rows carry that phrase outside any
|
|
542
|
+
* token, one of them 8 times with ZERO tokens. The `· ** … **` delimiters are
|
|
543
|
+
* what exclude every one of them; the `$` never was.
|
|
544
|
+
*/
|
|
545
|
+
const CLOSING_TOKEN_RE = /·\s*\*\*\s*closed by\s+([^*]+?)\s*\*\*/g;
|
|
546
|
+
/** A closing token that is nothing but digits — `land`'s bare form. */
|
|
547
|
+
const BARE_CLOSING_NUMBER_RE = /^(\d+)$/;
|
|
548
|
+
/**
|
|
549
|
+
* What the row's closing position cites, or `null` when it has none.
|
|
550
|
+
*
|
|
551
|
+
* ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
|
|
552
|
+
* - a citation — the closing position names these refs/commits;
|
|
553
|
+
* - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
|
|
554
|
+
*
|
|
555
|
+
* ⛔ `null` is returned BOTH when there is no token AND when no token cites
|
|
556
|
+
* anything, and the collapse is deliberate: a trailer saying something
|
|
557
|
+
* unparseable must not make a row uncited on the strength of its own prose.
|
|
558
|
+
*
|
|
559
|
+
* ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
|
|
560
|
+
* closing position says nothing owes"* — a positive claim — where `null` says
|
|
561
|
+
* *"I cannot answer; ask the row."* On the delivery-marker side that substitution
|
|
562
|
+
* turns an honest `answerable: false` into a confident wrong zero.
|
|
563
|
+
*
|
|
564
|
+
* ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
|
|
565
|
+
* resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
|
|
566
|
+
* is correctly untieable with no origin), does not match `DONE.md` entries, and
|
|
567
|
+
* does not read commit subjects. Its consumers ask DIFFERENT questions of the
|
|
568
|
+
* same answer — `doctor` falls back to the whole row because it asks "can this
|
|
569
|
+
* row be tied at all?", while the delivery-marker gate stays untied and says so
|
|
570
|
+
* because it asks "which refs CLOSED it?" — so sharing this reader is correct
|
|
571
|
+
* and sharing either of those decisions is not.
|
|
572
|
+
*/
|
|
573
|
+
export function closingCitation(text) {
|
|
574
|
+
const line = String(text ?? "");
|
|
575
|
+
// ⚠ THE LAST WELL-FORMED TOKEN WINS, so every structural match is read and the
|
|
576
|
+
// LAST one that actually CITES something is kept. "Well-formed" means the token
|
|
577
|
+
// BEARS a ref, commit or bare number: an unparseable later token must not end
|
|
578
|
+
// the search, or it would mask a real citation earlier in the row.
|
|
579
|
+
//
|
|
580
|
+
// `CLOSING_TOKEN_RE` is `g`-flagged and `lastIndex` is stateful, so it is reset
|
|
581
|
+
// on entry rather than trusted across calls.
|
|
582
|
+
CLOSING_TOKEN_RE.lastIndex = 0;
|
|
583
|
+
let found = null;
|
|
584
|
+
for (const m of line.matchAll(CLOSING_TOKEN_RE)) {
|
|
585
|
+
const token = String(m[1]).trim();
|
|
586
|
+
// ⚠ THE TOKEN IS NOT REQUIRED TO **BE** A REF: `land --result` writes
|
|
587
|
+
// `owner/repo#233 — init refuses unknown flags`, so the token carries a ref
|
|
588
|
+
// PLUS prose. A reader requiring the whole token to match a ref drops every
|
|
589
|
+
// one of those — the obvious reading, and wrong. Run the primitives OVER the
|
|
590
|
+
// token and take what they find.
|
|
591
|
+
const refs = refsIn(token);
|
|
592
|
+
const commits = commitRefsIn(token);
|
|
593
|
+
if (refs.length > 0 || commits.length > 0) {
|
|
594
|
+
found = { token, refs, commits };
|
|
595
|
+
continue;
|
|
596
|
+
}
|
|
597
|
+
// ⭐ THE BARE FORM, which `land` has written: `· **closed by 270**`. Dropping
|
|
598
|
+
// it leaves that row untieable while its closing position says plainly what
|
|
599
|
+
// closed it. Recognised ONLY when the token is nothing but digits — a number
|
|
600
|
+
// inside prose is not a citation, the same positional rule one level down.
|
|
601
|
+
const bare = BARE_CLOSING_NUMBER_RE.exec(token);
|
|
602
|
+
if (bare)
|
|
603
|
+
found = { token, refs: refsIn(`#${bare[1]}`), commits: [] };
|
|
604
|
+
}
|
|
605
|
+
return found;
|
|
606
|
+
}
|
|
286
607
|
/**
|
|
287
608
|
* Do two cited shas name the same commit? Compared as a PREFIX, not
|
|
288
609
|
* equality: git's own abbreviation convention means a 7-char short sha and a
|
|
@@ -321,7 +642,27 @@ export function commitRefMatches(a, b) {
|
|
|
321
642
|
// and each reader asks for its key. Order between tags is irrelevant; the run
|
|
322
643
|
// stops at the first token that is not a tag, so a tag quoted in the body is
|
|
323
644
|
// never carried.
|
|
324
|
-
|
|
645
|
+
// ⛔ THE VALUE CLASS MUST ADMIT `/`, AND ITS ABSENCE WAS SILENT IN THE WORST
|
|
646
|
+
// DIRECTION. `[UNDELIVERED:<pkg>@<version>]` reused this grammar for a value that
|
|
647
|
+
// is a PACKAGE SPEC, and npm scopes contain a slash — so
|
|
648
|
+
// `@davidbalzan/groundwork@0.4.13` returned `[]`, BYTE-IDENTICAL to "this row
|
|
649
|
+
// carries no tag". Two of the three packages this fleet currently owes are
|
|
650
|
+
// scoped, and console #91's `carriedTagCensus` has been blind to every one of
|
|
651
|
+
// them on `main`.
|
|
652
|
+
//
|
|
653
|
+
// ⭐ THE REUSABLE FINDING IS THE AIDE'S, ABOUT ITS OWN EDIT: reusing a syntax
|
|
654
|
+
// silently INHERITS ITS DOMAIN, and the inheritance is invisible because the old
|
|
655
|
+
// values all still work. `sweep` and `awaits` values have never contained a
|
|
656
|
+
// slash, so the class was never wrong until a third tag arrived whose values do —
|
|
657
|
+
// and nothing failed at the moment the assumption broke.
|
|
658
|
+
//
|
|
659
|
+
// ⚠ `sweep` and `awaits` READ THIS SAME LEXER and were correct only by that same
|
|
660
|
+
// luck. They are fixtured here too rather than left resting on it.
|
|
661
|
+
//
|
|
662
|
+
// Only `/` is added: the measured need. Widening further — `+` for semver build
|
|
663
|
+
// metadata, say — would admit values nobody writes while increasing what prose
|
|
664
|
+
// can look like.
|
|
665
|
+
const LEADING_TAG = /^\*\*\[([a-z]+):([a-z0-9._@/-]+)\]\*\*\s+/i;
|
|
325
666
|
/** The tags an item CARRIES, in order, lowercased. Body mentions are not tags. */
|
|
326
667
|
export function leadingTagsOf(item) {
|
|
327
668
|
const out = [];
|
|
@@ -564,6 +905,25 @@ export function parseWorkDoc(source) {
|
|
|
564
905
|
let subsection;
|
|
565
906
|
let inFence = false;
|
|
566
907
|
let inHtmlComment = false;
|
|
908
|
+
/**
|
|
909
|
+
* ⟨q-a83b56af⟩ — THE POPULATION THIS PASS ACTUALLY LOOKED AT.
|
|
910
|
+
*
|
|
911
|
+
* ⛔ THREE COUNTS OF ONE DEFECT DISAGREED IN ONE AFTERNOON — 499 continuation
|
|
912
|
+
* lines, 65 items, 336 lines / 68 load-bearing — AND NONE WAS WRONG ABOUT WHAT
|
|
913
|
+
* IT COUNTED. The difference was receipts, and no count said so, so reconciling
|
|
914
|
+
* three correct numbers took three seats and two hours.
|
|
915
|
+
*
|
|
916
|
+
* ⭐⭐ SO THE CHECK STATES THE **RULE**, NOT A NUMBER. A bare count is the thing
|
|
917
|
+
* that failed three times; the rule is what makes two runs comparable without
|
|
918
|
+
* re-deriving either.
|
|
919
|
+
*/
|
|
920
|
+
const pop = {
|
|
921
|
+
continuationLinesConsidered: 0,
|
|
922
|
+
loadBearing: 0,
|
|
923
|
+
proseOnly: 0,
|
|
924
|
+
excludedCommentBlockLines: 0,
|
|
925
|
+
excludedBlockquoteLines: 0,
|
|
926
|
+
};
|
|
567
927
|
const flushText = () => {
|
|
568
928
|
if (text.length)
|
|
569
929
|
blocks.push({ kind: "text", lines: text });
|
|
@@ -613,6 +973,12 @@ export function parseWorkDoc(source) {
|
|
|
613
973
|
// Template examples live inside the coordinator-extensions HTML comment.
|
|
614
974
|
// Live sections sit *after* a one-line fence comment (deepblackjack).
|
|
615
975
|
if (inHtmlComment) {
|
|
976
|
+
// ⛔ COUNTED INSIDE THE BLOCK BRANCH, AND THE PLACEMENT *IS* THE NEGATIVE
|
|
977
|
+
// CONTROL: the coordinator counted 30 receipts where the aide counted 169,
|
|
978
|
+
// because it matched the `queue-prune:` MARKER LINE while the block runs on
|
|
979
|
+
// for ~139 more lines. Counting at the marker reproduces the smaller
|
|
980
|
+
// number; counting here cannot.
|
|
981
|
+
pop.excludedCommentBlockLines += 1;
|
|
616
982
|
text.push(line);
|
|
617
983
|
if (/-->/.test(line))
|
|
618
984
|
inHtmlComment = false;
|
|
@@ -620,11 +986,20 @@ export function parseWorkDoc(source) {
|
|
|
620
986
|
}
|
|
621
987
|
if (/<!--/.test(line) && !/-->/.test(line)) {
|
|
622
988
|
inHtmlComment = true;
|
|
989
|
+
pop.excludedCommentBlockLines += 1; // the opening line belongs to the block too
|
|
623
990
|
text.push(line);
|
|
624
991
|
continue;
|
|
625
992
|
}
|
|
626
993
|
if (/^#{1,6}\s/.test(line)) {
|
|
627
994
|
const level = (line.match(/^#+/) ?? [""])[0].length;
|
|
995
|
+
// Checked BEFORE `kind` is reassigned, because reassignment is the damage:
|
|
996
|
+
// a level<=2 heading sets `kind` to whatever `sectionKindOf` makes of it,
|
|
997
|
+
// which for a completion-shaped heading is "none" — so the done section
|
|
998
|
+
// ENDS here and every entry below it stops being a record.
|
|
999
|
+
const headingText = line.replace(/^#+\s*/, "").trim();
|
|
1000
|
+
if (kind === "done" && carriesCitation(headingText)) {
|
|
1001
|
+
warnings.push(doneHeadingFormIssue(i + 1, headingText));
|
|
1002
|
+
}
|
|
628
1003
|
if (level <= 2) {
|
|
629
1004
|
kind = sectionKindOf(line);
|
|
630
1005
|
subsection = undefined;
|
|
@@ -651,6 +1026,49 @@ export function parseWorkDoc(source) {
|
|
|
651
1026
|
// an item is almost always a wrapped continuation — every parser drops
|
|
652
1027
|
// it silently (seen live: a consumer fleet's queue cut at "…surfaced"). Name it.
|
|
653
1028
|
const prev = blocks[blocks.length - 1];
|
|
1029
|
+
// ⛔ LOAD-BEARING CONTENT IN A CONTINUATION IS A WARNING, NOT AN ADVISORY,
|
|
1030
|
+
// AND THE DIFFERENCE IS WHAT THE READER LOSES.
|
|
1031
|
+
//
|
|
1032
|
+
// The advisory below says "this line is invisible to parsers". That is the
|
|
1033
|
+
// right severity for commentary — the item parsed, the count is honest, and
|
|
1034
|
+
// a body under it is a style cost. But an `acceptance:` clause or a PR
|
|
1035
|
+
// citation is not commentary: it is the part a consumer ACTS on. Hidden
|
|
1036
|
+
// there, `list_work` hands a worker a row whose acceptance criteria do not
|
|
1037
|
+
// exist and whose citation cannot be followed, and nothing looks wrong.
|
|
1038
|
+
//
|
|
1039
|
+
// Measured on this repo's own queue when this was written: 396 continuation
|
|
1040
|
+
// lines, of which 38 carry `acceptance:` and 2 carry a PR ref. So this
|
|
1041
|
+
// separates ~40 rows that are hiding something actionable from ~356 that
|
|
1042
|
+
// are hiding prose — which is exactly the triage the fold needs, and the
|
|
1043
|
+
// reason it is a separate severity rather than a louder advisory.
|
|
1044
|
+
//
|
|
1045
|
+
// Deliberately NOT gated on `text.length === 0`: the advisory fires once per
|
|
1046
|
+
// item-run to avoid crying wolf, but an `acceptance:` on the fifth line of a
|
|
1047
|
+
// run is just as invisible as one on the first, and there are only ~40 of
|
|
1048
|
+
// them in total. Rarity is what makes per-line honest here.
|
|
1049
|
+
//
|
|
1050
|
+
// ⚠ BLOCKQUOTES ARE EXCLUDED, and that exclusion was MEASURED rather than
|
|
1051
|
+
// anticipated: without it this flagged 82 lines where an independent scan
|
|
1052
|
+
// of the same file found 79. The three extras were all `>` prose sitting
|
|
1053
|
+
// after the items — a blockquote is its own block, like a fence or an HTML
|
|
1054
|
+
// comment, and quoting a `#123` inside one is not a row hiding a citation.
|
|
1055
|
+
// Two instruments disagreeing by three was the only reason it was found.
|
|
1056
|
+
if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && /^\s*>/.test(line)) {
|
|
1057
|
+
pop.excludedBlockquoteLines += 1;
|
|
1058
|
+
}
|
|
1059
|
+
if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && !/^\s*>/.test(line)) {
|
|
1060
|
+
pop.continuationLinesConsidered += 1;
|
|
1061
|
+
const hidden = loadBearingContinuation(line);
|
|
1062
|
+
if (hidden)
|
|
1063
|
+
pop.loadBearing += 1;
|
|
1064
|
+
else
|
|
1065
|
+
pop.proseOnly += 1;
|
|
1066
|
+
if (hidden) {
|
|
1067
|
+
warnings.push(`queue.v1 is one line per item: line ${i + 1} hides ${hidden} in a continuation, ` +
|
|
1068
|
+
"which every consumer drops — a worker reading this row through `list_work` gets " +
|
|
1069
|
+
"neither. Fold it into the item line, or point the row at a file that holds it.");
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
654
1072
|
if (prev?.kind === "queue" && text.length === 0 && line.trim() && !/^\s*<!--/.test(line)) {
|
|
655
1073
|
// ADVISORY, not a warning. The first line IS the contract and it parsed:
|
|
656
1074
|
// the item is present, correctly shaped and counted, and the body below
|
|
@@ -664,6 +1082,13 @@ export function parseWorkDoc(source) {
|
|
|
664
1082
|
const entry = parseDoneLine(line, subsection);
|
|
665
1083
|
if (entry) {
|
|
666
1084
|
pushEntry(entry);
|
|
1085
|
+
// The entry is KEPT — a completion with no parseable ref is still a
|
|
1086
|
+
// completion, and dropping it would swap a wrong count for a short one.
|
|
1087
|
+
// It is NAMED instead, because it is counted: `list_work` reports
|
|
1088
|
+
// `doneEntriesOf(...).length` and returns these issues beside it, so the
|
|
1089
|
+
// count can no longer be read as clean.
|
|
1090
|
+
if (entry.ref === undefined)
|
|
1091
|
+
warnings.push(doneReflessIssue(i + 1, entry.text));
|
|
667
1092
|
continue;
|
|
668
1093
|
}
|
|
669
1094
|
}
|
|
@@ -742,9 +1167,56 @@ export function parseWorkDoc(source) {
|
|
|
742
1167
|
text.push(line);
|
|
743
1168
|
}
|
|
744
1169
|
flushText();
|
|
1170
|
+
/**
|
|
1171
|
+
* ⟨q-a83b56af⟩ — THE CONTINUATION CHECK DECLARES ITS POPULATION WITH ITS RESULT.
|
|
1172
|
+
*
|
|
1173
|
+
* ⛔ THE ANTI-CONTROL THE ROW NAMES: this clause is NOT satisfied by printing a
|
|
1174
|
+
* number. The population is the RULE THAT PRODUCED the number — a bare count is
|
|
1175
|
+
* exactly what failed three times in one afternoon, when 499, 65 and 336/68 were
|
|
1176
|
+
* each correct about a different population and none of them said which.
|
|
1177
|
+
*
|
|
1178
|
+
* ⛔⛆ AND THE RULE NAMES THE DISTINCTION THAT CAUSED IT: receipts are excluded
|
|
1179
|
+
* BY BLOCK, not by matching the `queue-prune:` marker line. That is the whole
|
|
1180
|
+
* 30-versus-169 disagreement — the marker is one line and the block runs on for
|
|
1181
|
+
* ~139 more — so a statement that did not distinguish them would not be this
|
|
1182
|
+
* clause.
|
|
1183
|
+
*
|
|
1184
|
+
* ⚠ Emitted only when a continuation was actually considered. A population
|
|
1185
|
+
* statement over an empty population is noise, and it would also make every
|
|
1186
|
+
* non-queue document carry a line about queue rows.
|
|
1187
|
+
*/
|
|
1188
|
+
/**
|
|
1189
|
+
* ⟨q-a83b56af⟩ — THE POPULATION TRAVELS AS DATA, CARRYING ITS OWN RULE.
|
|
1190
|
+
*
|
|
1191
|
+
* ⛔ NOT AS AN ADVISORY, and that was measured rather than preferred: emitting
|
|
1192
|
+
* it into `workDocIssues` put a queue-population line on a document that has
|
|
1193
|
+
* an HTML comment and NO QUEUE, and broke two suites that pin exact issue
|
|
1194
|
+
* counts. This file's own comment says why that channel is wrong — *"17 benign
|
|
1195
|
+
* one-line advisories trained the reader to skim past a real failure"*. An
|
|
1196
|
+
* issue list is for issues; this is metadata about the run.
|
|
1197
|
+
*
|
|
1198
|
+
* ⭐⭐ AND THE `rule` FIELD IS THE CLAUSE, not the counts. Three counts of one
|
|
1199
|
+
* defect disagreed in an afternoon — 499 lines, 65 items, 336/68 — and each was
|
|
1200
|
+
* correct about a different population while none said which. A number that
|
|
1201
|
+
* travels without its rule is the thing that failed; these cannot be separated.
|
|
1202
|
+
*/
|
|
1203
|
+
const population = {
|
|
1204
|
+
rule: "a non-blank line after a queue item, EXCLUDING (1) lines inside an HTML comment BY BLOCK, " +
|
|
1205
|
+
"not by matching the `queue-prune:` marker line, and (2) `>` blockquote lines, which are " +
|
|
1206
|
+
"their own block like a fence. UNIT: lines — the per-item continuation advisory counts ITEMS, " +
|
|
1207
|
+
"so the two are not comparable.",
|
|
1208
|
+
linesConsidered: pop.continuationLinesConsidered,
|
|
1209
|
+
loadBearing: pop.loadBearing,
|
|
1210
|
+
proseOnly: pop.proseOnly,
|
|
1211
|
+
excludedCommentBlockLines: pop.excludedCommentBlockLines,
|
|
1212
|
+
excludedBlockquoteLines: pop.excludedBlockquoteLines,
|
|
1213
|
+
};
|
|
745
1214
|
return {
|
|
746
1215
|
trailingNewline,
|
|
747
1216
|
blocks,
|
|
1217
|
+
// ⚠ Only when a queue was actually examined. A population over an empty
|
|
1218
|
+
// population is noise, and it would put a queue line on every document.
|
|
1219
|
+
...(population.linesConsidered > 0 ? { population } : {}),
|
|
748
1220
|
...(warnings.length ? { warnings } : {}),
|
|
749
1221
|
...(advisories.length ? { advisories } : {}),
|
|
750
1222
|
};
|
|
@@ -885,13 +1357,67 @@ export function substantiveLines(text) {
|
|
|
885
1357
|
}
|
|
886
1358
|
return n;
|
|
887
1359
|
}
|
|
1360
|
+
/**
|
|
1361
|
+
* A line shaped like a QUEUE ROW — a markdown checkbox list item — whether or
|
|
1362
|
+
* not the grammar could read it. The queue axis's analogue of
|
|
1363
|
+
* `looksLikeBoardAttempt`: evidence that somebody wrote a row here.
|
|
1364
|
+
*
|
|
1365
|
+
* NOT "any list item", and the difference is the whole fix. Measured on this
|
|
1366
|
+
* repo's own `docs/QUEUE.md` with every item line removed: 0 checkbox lines
|
|
1367
|
+
* remain and 9 PLAIN BULLETS do — the prose furniture of the template itself.
|
|
1368
|
+
* A predicate counting bullets would have gone on reporting the pruned queue as
|
|
1369
|
+
* unparsed, which is the exact red-when-fine case being fixed here.
|
|
1370
|
+
*/
|
|
1371
|
+
const QUEUE_ROW_ATTEMPT = /^\s*[-*+] \[[ xX]\]\s/;
|
|
1372
|
+
/** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
|
|
1373
|
+
export function queueRowAttempts(text) {
|
|
1374
|
+
const lines = String(text).split("\n");
|
|
1375
|
+
let inFrontmatter = false;
|
|
1376
|
+
let n = 0;
|
|
1377
|
+
for (const [i, line] of lines.entries()) {
|
|
1378
|
+
if (i === 0 && /^---\s*$/.test(line)) {
|
|
1379
|
+
inFrontmatter = true;
|
|
1380
|
+
continue;
|
|
1381
|
+
}
|
|
1382
|
+
if (inFrontmatter) {
|
|
1383
|
+
if (/^---\s*$/.test(line))
|
|
1384
|
+
inFrontmatter = false;
|
|
1385
|
+
continue;
|
|
1386
|
+
}
|
|
1387
|
+
if (QUEUE_ROW_ATTEMPT.test(line))
|
|
1388
|
+
n += 1;
|
|
1389
|
+
}
|
|
1390
|
+
return n;
|
|
1391
|
+
}
|
|
888
1392
|
/**
|
|
889
1393
|
* Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
|
|
890
1394
|
*
|
|
891
1395
|
* `count > 0` is never in doubt, so this only ever qualifies a zero.
|
|
1396
|
+
*
|
|
1397
|
+
* THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
|
|
1398
|
+
* document prose is not evidence of a missed row. `substantiveLines` was built
|
|
1399
|
+
* for the done axis, where any authored line under an empty log is a fair
|
|
1400
|
+
* reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
|
|
1401
|
+
* explanatory prose by design, so that same measure reported a perfectly
|
|
1402
|
+
* healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
|
|
1403
|
+
* lines with zero rows present.
|
|
1404
|
+
*
|
|
1405
|
+
* So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
|
|
1406
|
+
* four states this separates, measured on this repo's real `docs/QUEUE.md`:
|
|
1407
|
+
* populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
|
|
1408
|
+
* `false` · heading-removed, so the rows exist but nothing parses them (168
|
|
1409
|
+
* attempts, count 0) `true` · rows present but refused by the grammar (2
|
|
1410
|
+
* attempts, count 0) `true`.
|
|
1411
|
+
*
|
|
1412
|
+
* Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
|
|
1413
|
+
* done and board axes are untouched by this change.
|
|
892
1414
|
*/
|
|
893
|
-
export function zeroIsUnparsed(count, sourceText) {
|
|
894
|
-
|
|
1415
|
+
export function zeroIsUnparsed(count, sourceText, axis) {
|
|
1416
|
+
if (count !== 0)
|
|
1417
|
+
return false;
|
|
1418
|
+
if (axis === "queue")
|
|
1419
|
+
return queueRowAttempts(sourceText) > 0;
|
|
1420
|
+
return substantiveLines(sourceText) > 0;
|
|
895
1421
|
}
|
|
896
1422
|
export function renderWorkDoc(doc) {
|
|
897
1423
|
const out = [];
|
|
@@ -952,13 +1478,40 @@ export function workstreamsV1RowsOf(doc) {
|
|
|
952
1478
|
// Hence three distinct return values, and the distinction is the whole point:
|
|
953
1479
|
//
|
|
954
1480
|
// the schema id — a board block is present and its header classified
|
|
955
|
-
// "unknown" — a
|
|
956
|
-
//
|
|
1481
|
+
// "unknown" — a table is present, LOOKS LIKE A BOARD ATTEMPT, and its
|
|
1482
|
+
// header did NOT classify
|
|
1483
|
+
// null — no board table here: either the document has none at all,
|
|
1484
|
+
// or such tables as it has were not trying to be one
|
|
957
1485
|
//
|
|
958
1486
|
// Collapsing "unknown" into null is exactly defect (1); collapsing null into
|
|
959
1487
|
// "unknown" is the same error pointed the other way, and it is the one that put
|
|
960
1488
|
// an alarming reading on David's console. A caller that genuinely does not care
|
|
961
1489
|
// can write `boardSchemaOf(doc) ?? "none"` — but it has to say so.
|
|
1490
|
+
//
|
|
1491
|
+
// ⛔⛆ THE RUNTIME ANSWER IS THE CONTRACT, AND THIS ONE HAS ALREADY MOVED ONCE
|
|
1492
|
+
// WITHOUT SAYING SO — ⟨q-3a71ce85⟩. At 0.1.8 ANY unrecognised header answered
|
|
1493
|
+
// "unknown"; since `looksLikeBoardAttempt` began gating it, a header below the
|
|
1494
|
+
// intent threshold answers null. The type signature was byte-identical across
|
|
1495
|
+
// that change, `tsc` was green on both sides, and it shipped under PATCH bumps,
|
|
1496
|
+
// so nothing a consumer could run would have shown it.
|
|
1497
|
+
//
|
|
1498
|
+
// ⚠ THE THIRD LINE ABOVE USED TO READ "this document has no board table at
|
|
1499
|
+
// all", which described the OLD boundary and was false here for two releases: a
|
|
1500
|
+
// table that IS present and does NOT classify answers null whenever it shares
|
|
1501
|
+
// fewer than two column names with the board vocabulary.
|
|
1502
|
+
//
|
|
1503
|
+
// ⭐ WHAT A CONSUMER IS ENTITLED TO RELY ON:
|
|
1504
|
+
// - these three values are DISTINCT and none collapses into another;
|
|
1505
|
+
// - "unknown" means somebody wrote a table that was trying to be a board;
|
|
1506
|
+
// - null is NOT a promise that the document contains no tables.
|
|
1507
|
+
//
|
|
1508
|
+
// ⭐⭐ AND WHAT ANY FUTURE CHANGE OWES: every input class above is pinned by
|
|
1509
|
+
// value in `test/board-schema-of.test.mjs`, including the intent threshold
|
|
1510
|
+
// itself, because that threshold is what actually moves the answer. Changing
|
|
1511
|
+
// what this function RETURNS therefore reds the KIT's gate rather than a
|
|
1512
|
+
// consumer's — the party who changes it is the party who finds out. A change to
|
|
1513
|
+
// an exported function's runtime contract is a MINOR at minimum; the type
|
|
1514
|
+
// signature is not evidence of compatibility.
|
|
962
1515
|
export function boardSchemaOf(doc) {
|
|
963
1516
|
for (const b of doc.blocks) {
|
|
964
1517
|
if (b.kind !== "board" || !b.schema)
|
package/dist/docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@davidbalzan/groundwork-seam",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "Schema owner of QUEUE / DONE / WORKSTREAMS / FACTS plus protocol record types.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -26,6 +26,14 @@
|
|
|
26
26
|
"CHANGELOG.md",
|
|
27
27
|
"LICENSE"
|
|
28
28
|
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
31
|
+
"build": "pnpm run clean && tsc",
|
|
32
|
+
"prepare": "pnpm run clean && tsc",
|
|
33
|
+
"prepack": "pnpm run build",
|
|
34
|
+
"pretest": "tsc",
|
|
35
|
+
"test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
|
|
36
|
+
},
|
|
29
37
|
"engines": {
|
|
30
38
|
"node": ">=20"
|
|
31
39
|
},
|
|
@@ -33,11 +41,5 @@
|
|
|
33
41
|
"devDependencies": {
|
|
34
42
|
"@types/node": "^26.2.0",
|
|
35
43
|
"typescript": "^7.0.2"
|
|
36
|
-
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
39
|
-
"build": "pnpm run clean && tsc",
|
|
40
|
-
"pretest": "tsc",
|
|
41
|
-
"test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
|
|
42
44
|
}
|
|
43
|
-
}
|
|
45
|
+
}
|