@zhuk/spego 0.20.0 → 0.21.1
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 +21 -1
- package/README.md +12 -12
- package/dist/artifacts/schemas.js +2 -1
- package/dist/artifacts/schemas.js.map +1 -1
- package/dist/cli/commands/board.d.ts +4 -4
- package/dist/cli/commands/board.js +65 -39
- package/dist/cli/commands/board.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +12 -0
- package/dist/cli/commands/sync.js +63 -41
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/workspace.js +1 -1
- package/dist/cli/commands/workspace.js.map +1 -1
- package/dist/cli/render.d.ts +21 -11
- package/dist/cli/render.js +30 -14
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/status.d.ts +0 -10
- package/dist/cli/status.js +0 -27
- package/dist/cli/status.js.map +1 -1
- package/dist/command-meta/registry.js +3 -2
- package/dist/command-meta/registry.js.map +1 -1
- package/dist/delivery/mirror.d.ts +1 -1
- package/dist/delivery/mirror.js +54 -51
- package/dist/delivery/mirror.js.map +1 -1
- package/dist/delivery/sync.d.ts +13 -4
- package/dist/delivery/sync.js +18 -3
- package/dist/delivery/sync.js.map +1 -1
- package/dist/workflows/registry.js +4 -4
- package/dist/workflows/registry.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.21.1] - 2026-08-06
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- `spego board`'s bordered panels no longer break geometry in three cases: a struck-through/dimmed row's right rail could fall short of the panel border because ANSI escape bytes inflated its measured length; a sprint title longer than its table widened that one panel past its siblings instead of keeping every panel on the board the same width (a too-long title now truncates with `…` instead); and a long `Warnings` message no longer stretches the change table's `signals` column into a mostly-empty divider — narrower tables now get plain blank padding instead of a stretched last column.
|
|
7
|
+
|
|
8
|
+
## [0.21.0] - 2026-08-05
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `spego board --sync`: applies the mechanical reconciliation plan (create missing epics, close finished sprints, retire archived-change epics) before rendering. The default `board` path stays strictly write-free.
|
|
12
|
+
- `retire-epic` reconciliation action: `spego sync` (and `board --sync`) now soft-deletes the epic of any change archived in OpenSpec, clearing its `orphan-epic` warning. The `--json` payload gains a `retire-epic` entry in `applied`; the groom workflow's confirmation-gated orphan-epic disposition now covers only epics resolving to no OpenSpec change at all.
|
|
13
|
+
|
|
14
|
+
- Epic metadata gains an optional `track` field — a conflict lane (e.g. `api-contract`, `storage`) judged by the groom workflow from file/subsystem overlap; the delivery mirror's `group` takes its value.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- **Breaking:** `spego board`'s human change table is rebuilt around five columns — `id`, `change`, `status`, `group`, `signals` — replacing `blockers`/`gaps`/`missing`/`title`. The `change` column is protected and never truncates (other columns shrink first); `signals` summarizes drift as nonzero counts (`N blk · N gap · N mis`, else `—`). Sprint panel titles render as `<title> · <status> · <slug>`; the footer adds a dim `spego board --gaps` hint when any rendered change carries a signal and a dim `N mechanical fixes — run spego sync` line when the plan is non-empty. `--json` is unchanged: each change still carries full `blockers`, `gaps`, and `missing` arrays.
|
|
18
|
+
|
|
19
|
+
- **Breaking:** the `--json` `group` field now carries the change's conflict track — the epic's `track` meta value (or `?` for a pending change with no track, `—` for `done`/`completed`) — instead of the `gNNN` parallel-dependency wave code. Human output renders the same value (the track name); the separate `gNNN`→letter mapping is removed. Same group now means the changes conflict and run sequentially; different groups are parallel-safe (the inverse of the old wave meaning).
|
|
20
|
+
- **Breaking:** `sprints[].changes` in `--json` output (and the human board, and the `next` suggestion) are now ordered by execution order — a stable topological sort over each sprint's own dependency edges — instead of the `sprint-plan`'s stored list order. `ungrouped` stays slug-sorted.
|
|
21
|
+
|
|
22
|
+
### Removed
|
|
23
|
+
- **Breaking:** the `archived-in-sprint` drift warning is removed entirely. An archived change scheduled into a live sprint is normal progress — already visible as a struck-through row — not drift; end-of-sprint cleanup is owned by `closable-sprint`. Agent-facing `--json` change: the `warnings` array no longer contains `archived-in-sprint` objects.
|
|
4
24
|
|
|
5
25
|
## [0.20.0] - 2026-07-31
|
|
6
26
|
|
package/README.md
CHANGED
|
@@ -27,8 +27,8 @@ spego init --agents claude,opencode --demo false
|
|
|
27
27
|
| `spego epics [name]` | List delivery epics, or get one by change name |
|
|
28
28
|
| `spego tasks <change> [task]` | List tasks for a change, or get one task |
|
|
29
29
|
| `spego sprints` | List sprint plans in board order |
|
|
30
|
-
| `spego board` | Show the delivery board (sprints,
|
|
31
|
-
| `spego sync` | Reconcile the delivery mirror: create missing epics, close finished sprints |
|
|
30
|
+
| `spego board` | Show the delivery board (sprints, change signals, drift); --sync reconciles first |
|
|
31
|
+
| `spego sync` | Reconcile the delivery mirror: create missing epics, close finished sprints, retire epics of archived changes |
|
|
32
32
|
| `spego index rebuild` | Rebuild SQLite index from files |
|
|
33
33
|
|
|
34
34
|
All commands accept `--cwd <dir>` to set the project root.
|
|
@@ -85,7 +85,7 @@ deliveryAdapter:
|
|
|
85
85
|
The default delivery adapter is OpenSpec. `spego epics` exposes active OpenSpec changes as delivery epics, and `spego tasks --change <name>` exposes checklist items from the change's `tasks.md`.
|
|
86
86
|
|
|
87
87
|
The adapter is read-only. It observes OpenSpec state but does not create, continue, apply, verify, sync, or archive OpenSpec changes.
|
|
88
|
-
`spego sync` reconciles the delivery mirror — it creates a missing epic for every ungroomed change
|
|
88
|
+
`spego sync` reconciles the delivery mirror — it creates a missing epic for every ungroomed change, closes every finished sprint, and retires the epic of any archived change — and is unrelated to OpenSpec's own `sync` / `/opsx:sync`, which merges a change's spec deltas into the main specs tree.
|
|
89
89
|
|
|
90
90
|
| Source | spego view |
|
|
91
91
|
|--------|------------|
|
|
@@ -98,19 +98,19 @@ Archived changes under `openspec/changes/archive/` are excluded. A change with n
|
|
|
98
98
|
|
|
99
99
|
## Delivery Mirror
|
|
100
100
|
|
|
101
|
-
`spego board` derives the delivery mirror on demand — it never writes artifacts or OpenSpec state. It combines active and archived OpenSpec changes with `epic` and `sprint-plan` artifacts into a sprint board: sprints in date order (undated last),
|
|
101
|
+
`spego board` derives the delivery mirror on demand — it never writes artifacts or OpenSpec state. It combines active and archived OpenSpec changes with `epic` and `sprint-plan` artifacts into a sprint board: sprints in date order (undated last), each sprint's changes in dependency (execution) order, per-change status, blockers, gaps, and missing artifacts (`requires` minus resolvable `links`). A change is blocked when a dependency is not `done` or `completed`, and not scheduled in the same or an earlier sprint. Archived changes are discovered from `openspec/changes/archive/<date>-<slug>/` (the date prefix is stripped to derive the slug) and always resolve to status `completed`, so they no longer trip `dangling-dep` for dependencies that actually resolved via archive.
|
|
102
102
|
|
|
103
103
|
A change's status is one of `backlog`, `in-progress`, `done`, `completed`, `blocked`, `paused`, or `unknown`. `done` and `completed` both satisfy a dependent's blocker check, but they mean different things: `done` is all tasks checked and not yet archived; `completed` is archived — a hard filesystem fact that always wins, even over a manual override. Human output (`spego board`, `spego epics`, and `spego view`'s epic rows) prints `completed` as `archived`, since that's the fact that actually explains why the change is finished; `--json` output keeps `completed` unchanged, so agents parsing the payload see no contract change. `blocked` and `paused` have no signal in OpenSpec's plain-text files, so they're set by hand on the `epic` artifact's own `status` meta field; that override only applies to a change with a real backing OpenSpec change (a known change), never forces a change to `done`/`completed`/`in-progress`/`backlog`, and is dropped once the change is archived. An orphan epic (no backing OpenSpec change at all) has no other source of truth, so its `status` meta can be set to any of the seven values.
|
|
104
104
|
|
|
105
|
-
Every change carries a stable `id` (`c` + a 4+ hex-char slice of the slug's sha1 hash, e.g. `c4f2a`; longer only for the rare slug that collides with another on the same board) and a `group`
|
|
105
|
+
Every change carries a stable `id` (`c` + a 4+ hex-char slice of the slug's sha1 hash, e.g. `c4f2a`; longer only for the rare slug that collides with another on the same board) and a `group` naming its conflict track — the epic's `track` meta, set during grooming from file/subsystem overlap. Two changes sharing a group (track) are expected to conflict and must run sequentially; changes in different groups are parallel-safe (the inverse of the old wave meaning). A pending change whose epic has no track shows `?` — grooming debt to clear with `spego groom`; a `done`/`completed` change shows `—`. The `id` depends only on the slug, so adding, removing, or archiving other changes never changes an existing change's id — unlike `group`, which is a live value expected to shift as tracks are assigned and work completes. Blockers are reported by `id`, not slug.
|
|
106
106
|
|
|
107
|
-
The default output is the human board. `--graph` shows dependency edges; `--gaps` focuses on gap flags and missing artifacts; both also carry the `id` column. The global `--json` flag emits a deterministic `{ sprints, ungrouped, warnings, next }` document in all modes; `next` names the first pending, unblocked change or is `null` with a hint to groom.
|
|
107
|
+
The default output is the human board. `--graph` shows dependency edges; `--gaps` focuses on gap flags and missing artifacts; both also carry the `id` column. `--sync` applies the mechanical reconciliation plan before rendering. The global `--json` flag emits a deterministic `{ sprints, ungrouped, warnings, next }` document in all modes; `next` names the first pending, unblocked change or is `null` with a hint to groom.
|
|
108
108
|
|
|
109
|
-
Archived changes are excluded from the `Ungrouped` list by default — they still resolve dependencies and blockers correctly, just aren't shown as loose noise. Pass `--archived` to bring them back. A sprint's own change list is never filtered by this: an archived change still scheduled in a sprint keeps showing there,
|
|
109
|
+
Archived changes are excluded from the `Ungrouped` list by default — they still resolve dependencies and blockers correctly, just aren't shown as loose noise. Pass `--archived` to bring them back. A sprint's own change list is never filtered by this: an archived change still scheduled in a sprint keeps showing there, struck through as satisfied.
|
|
110
110
|
|
|
111
|
-
Each sprint (and the `Ungrouped` list, and the trailing `Warnings` table) renders as a bordered panel — a left rail closed on the right with `│`, corners `╮`/`╯` — with its title
|
|
111
|
+
Each sprint (and the `Ungrouped` list, and the trailing `Warnings` table) renders as a bordered panel — a left rail closed on the right with `│`, corners `╮`/`╯` — with its title embedded in the top rail as `<title> · <status> · <slug>`, bolded. Every panel on a board renders at the same width: whichever is wider between the shared table grid and the longest panel title, capped at the terminal width; a title too long for that width truncates with `…` rather than widening its panel past its siblings. The default change table carries five columns — `id`, `change`, `status`, `group`, `signals` — on one shared grid across every panel; columns shrink together, widest first, to fit the terminal width (or 120 columns when not a TTY). The `change` column is protected: it never truncates, so every slug shows in full no matter how narrow the terminal gets, and the other columns absorb the deficit. The `signals` column summarizes a change's drift as nonzero counts joined by `·` — `N blk` (blockers), `N gap` (gap flags), `N mis` (missing artifacts) — or `—` when the change is clean; the full text lives in `spego board --gaps`. The board footer adds a dim `spego board --gaps` hint when any rendered change carries a signal, and a dim `N mechanical fixes — run spego sync` line when the reconciliation plan is non-empty.
|
|
112
112
|
|
|
113
|
-
Every rendering attaches drift warnings: `dangling-dep`, `dep-cycle`, `out-of-order-dep`, `ungroomed-change`, `orphan-epic`,
|
|
113
|
+
Every rendering attaches drift warnings: `dangling-dep`, `dep-cycle`, `out-of-order-dep`, `ungroomed-change`, `orphan-epic`, and `closable-sprint`. `out-of-order-dep` flags a scheduled change blocked by a dependency scheduled into a later sprint. The mechanical subset — `ungroomed-change` (create an epic), `closable-sprint` (close the sprint), and `orphan-epic` whose change is archived (retire the epic) — is repaired by `spego sync`; the judgment-only warnings (`orphan-epic` whose change is missing, `dangling-dep`, `dep-cycle`, `out-of-order-dep`) belong to the groom workflow. The board only reports — pass `--sync` to apply the mechanical plan and re-render in one step.
|
|
114
114
|
|
|
115
115
|
A sprint whose changes are all `done`/`completed` — the same condition behind `closable-sprint` — is hidden from the default board and replaced by a trailing `N closed sprints hidden (--closed to show).` note; pass `--closed` to render it anyway, muted (dim panel, unbolded title). This is purely a display filter: `--json` always lists every sprint regardless of `--closed`, and hiding never writes `status: closed` to the sprint-plan artifact — that persistence still belongs to the groom workflow, after your confirmation.
|
|
116
116
|
|
|
@@ -241,12 +241,12 @@ If a combined workflow discovers that OpenSpec artifacts need to change, use the
|
|
|
241
241
|
Delivery-mirror workflow that reconciles active OpenSpec changes with `epic` and `sprint-plan` artifacts. One Groomer persona runs five phases:
|
|
242
242
|
|
|
243
243
|
1. `orient` — read `spego board --json` and `spego epics --json`, then classify drift warnings.
|
|
244
|
-
2. `sync` — run `spego sync` to mechanically create missing epics
|
|
245
|
-
3. `analyze` — update deps, requires, supporting links,
|
|
244
|
+
2. `sync` — run `spego sync` to mechanically create missing epics, close finished sprints, and retire epics of archived changes, then propose disposition for orphans resolving to no OpenSpec change.
|
|
245
|
+
3. `analyze` — update deps, requires, supporting links, gap notes, and conflict tracks on epics.
|
|
246
246
|
4. `plan` — propose releasable, testable sprint groupings and create or update `sprint-plan` artifacts after confirmation.
|
|
247
247
|
5. `summarize` — report epics, dispositions, sprint plans, and the next-change suggestion.
|
|
248
248
|
|
|
249
|
-
Sole writers: groom and `spego sync` persist mirror state only through `spego create` / `spego update` with `--expected-revision`; neither writes `openspec/` or mutates OpenSpec lifecycle. Orphan disposition requires explicit confirmation; default is keep.
|
|
249
|
+
Sole writers: groom and `spego sync` persist mirror state only through `spego create` / `spego update` with `--expected-revision`; neither writes `openspec/` or mutates OpenSpec lifecycle. Orphan disposition (only for epics resolving to no OpenSpec change) requires explicit confirmation; default is keep. Epics of archived changes are retired, and finished sprints are closed, deterministically by `spego sync` (preview with `--dry-run`), not by hand in groom.
|
|
250
250
|
|
|
251
251
|
### elicit
|
|
252
252
|
|
|
@@ -40,6 +40,7 @@ export const ARTIFACT_META_SCHEMAS = {
|
|
|
40
40
|
note: z.string().optional(),
|
|
41
41
|
}))
|
|
42
42
|
.optional(),
|
|
43
|
+
track: z.string().min(1).optional(),
|
|
43
44
|
tags: z.array(z.string()).optional(),
|
|
44
45
|
}),
|
|
45
46
|
brainstorm: z.object({
|
|
@@ -96,7 +97,7 @@ export const ARTIFACT_META_DOCS = {
|
|
|
96
97
|
okr: 'period, level (company|team|individual), tags[]',
|
|
97
98
|
retro: 'sprint, date, tags[]',
|
|
98
99
|
'sprint-plan': 'sprint, startDate, endDate, status (planned|active|closed), tags[], changes[] (change slugs; must be unique within the sprint)',
|
|
99
|
-
epic: 'deps[] (change slugs this depends on), links[] (linked artifact ids), requires[] (labels for required supporting artifacts), status (backlog|in-progress|done|completed|blocked|paused|unknown), gaps[] ({flag, note?}), tags[]',
|
|
100
|
+
epic: 'deps[] (change slugs this depends on), links[] (linked artifact ids), requires[] (labels for required supporting artifacts), status (backlog|in-progress|done|completed|blocked|paused|unknown), gaps[] ({flag, note?}), track (conflict lane; same track = do not run in parallel), tags[]',
|
|
100
101
|
brainstorm: 'status (open|closed), tags[]',
|
|
101
102
|
usecases: 'status (draft|reviewed|approved), tags[]',
|
|
102
103
|
design: 'status (draft|in-review|approved), category (ux|ui|workflow|system), tags[]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/artifacts/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/artifacts/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ import { type MirrorWarning } from '../../delivery/mirror.js';
|
|
|
3
3
|
export declare function registerBoard(program: Command): void;
|
|
4
4
|
/**
|
|
5
5
|
* Collapse the board's per-fact warnings into the rows the human board prints,
|
|
6
|
-
* one row per repair. Grouping is keyed per code: `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* one row per repair. Grouping is keyed per code: `orphan-epic` by reason (a
|
|
7
|
+
* `missing` epic and an `archived` one never merge — different repairs),
|
|
8
|
+
* `dangling-dep`/`out-of-order-dep` by the dependent change, and
|
|
9
|
+
* `closable-sprint`/`dep-cycle`/`ungroomed-change` by
|
|
10
10
|
* code. `adapter-warning`/`adapter-unavailable` pass through untouched. A
|
|
11
11
|
* single-member group keeps its original message; a multi-member group lists
|
|
12
12
|
* every affected slug. The JSON payload stays per-fact — this only shapes the
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { styleText } from 'node:util';
|
|
2
2
|
import { loadBoardState } from '../../delivery/load.js';
|
|
3
3
|
import { filterMirrorArchived, filterMirrorGaps, isSatisfied, } from '../../delivery/mirror.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { deriveSyncPlan } from '../../delivery/sync.js';
|
|
5
|
+
import { applySyncPlan, resolveEpicAdapter } from './sync.js';
|
|
6
|
+
import { columnWidths, padRight, renderHeader, renderPanel, renderTable, truncate } from '../render.js';
|
|
7
|
+
import { deliveryStatusLabel } from '../status.js';
|
|
6
8
|
import { runEngineCommand } from '../runtime.js';
|
|
7
|
-
const BOARD_COLUMNS = ['id', 'change', 'status', 'group', '
|
|
9
|
+
const BOARD_COLUMNS = ['id', 'change', 'status', 'group', 'signals'];
|
|
8
10
|
const DEFAULT_TERMINAL_WIDTH = 120;
|
|
9
11
|
const PANEL_CHROME_WIDTH = 4; // "│ " prefix + " │" suffix
|
|
10
12
|
export function registerBoard(program) {
|
|
@@ -16,10 +18,21 @@ export function registerBoard(program) {
|
|
|
16
18
|
.option('--plain', 'disable ANSI color in human output', false)
|
|
17
19
|
.option('--archived', 'include archived changes in the ungrouped list', false)
|
|
18
20
|
.option('--closed', 'show closed and completed sprints (does not affect --archived, which only controls the ungrouped list)', false)
|
|
21
|
+
.option('--sync', 'apply the mechanical reconciliation plan before rendering', false)
|
|
19
22
|
.option('--cwd <dir>', 'project root')
|
|
20
23
|
.action(async (opts) => {
|
|
21
24
|
await runEngineCommand({ program, cwd: opts.cwd }, async (engine) => {
|
|
22
|
-
|
|
25
|
+
let state = await loadBoardState(engine, opts.cwd);
|
|
26
|
+
if (opts.sync) {
|
|
27
|
+
const syncPlan = deriveSyncPlan(state.board, state.input);
|
|
28
|
+
if (syncPlan.actions.length > 0) {
|
|
29
|
+
const adapter = syncPlan.actions.some((action) => action.kind === 'create-epic')
|
|
30
|
+
? await resolveEpicAdapter(engine)
|
|
31
|
+
: null;
|
|
32
|
+
await applySyncPlan(engine, syncPlan, adapter);
|
|
33
|
+
state = await loadBoardState(engine, opts.cwd);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
23
36
|
const unarchived = opts.archived ? state.board : filterMirrorArchived(state.board);
|
|
24
37
|
const payload = opts.gaps ? filterMirrorGaps(unarchived) : unarchived;
|
|
25
38
|
return {
|
|
@@ -29,7 +42,7 @@ export function registerBoard(program) {
|
|
|
29
42
|
return renderGraph(payload, state.input);
|
|
30
43
|
if (opts.gaps)
|
|
31
44
|
return renderGaps(payload);
|
|
32
|
-
return renderBoard(payload, opts.plain === true, opts.closed === true, terminalWidth());
|
|
45
|
+
return renderBoard(payload, state.input, opts.plain === true, opts.closed === true, terminalWidth());
|
|
33
46
|
},
|
|
34
47
|
};
|
|
35
48
|
});
|
|
@@ -42,29 +55,30 @@ function terminalWidth() {
|
|
|
42
55
|
function isFinished(sprint) {
|
|
43
56
|
return sprint.changes.every((change) => isSatisfied(change.status)) && (sprint.complete || sprint.status === 'closed');
|
|
44
57
|
}
|
|
45
|
-
function renderBoard(board, plain, showClosed, budget) {
|
|
46
|
-
const idBySlug = idMapFor(board);
|
|
58
|
+
function renderBoard(board, input, plain, showClosed, budget) {
|
|
47
59
|
const lines = [renderHeader('📋', 'Delivery board'), ''];
|
|
48
60
|
const allSections = buildChangeSections(board);
|
|
49
61
|
const sections = showClosed ? allSections : allSections.filter((section) => !section.finished);
|
|
50
62
|
const hiddenCount = allSections.length - sections.length;
|
|
51
63
|
const totalWidth = Math.max(0, budget - PANEL_CHROME_WIDTH);
|
|
52
|
-
const rowsByColumn = sections.flatMap((section) => section.changes.map((change) => changeRow(change
|
|
53
|
-
const widths = columnWidths(BOARD_COLUMNS, rowsByColumn, { maxWidth: 36, totalWidth });
|
|
64
|
+
const rowsByColumn = sections.flatMap((section) => section.changes.map((change) => changeRow(change)));
|
|
65
|
+
const widths = columnWidths(BOARD_COLUMNS, rowsByColumn, { maxWidth: 36, totalWidth, protect: [1] });
|
|
54
66
|
const warningRows = aggregateWarningRows(board.warnings);
|
|
55
67
|
const warningWidths = columnWidths(['code', 'message'], warningRows, { maxWidth: totalWidth, totalWidth });
|
|
56
|
-
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
|
|
68
|
+
// Every panel — each sprint's table, Warnings, and the title rail — shares one width, capped
|
|
69
|
+
// at the terminal budget. A table or title narrower than that shared width is right-padded
|
|
70
|
+
// with plain blank space by `renderPanelSection`, not stretched: no individual table column
|
|
71
|
+
// grows to close the gap, so a long Warnings message never blows up the `signals` divider.
|
|
72
|
+
const titleWidths = sections.map((section) => section.title.length + 3);
|
|
60
73
|
if (board.warnings.length > 0)
|
|
61
|
-
|
|
74
|
+
titleWidths.push('Warnings'.length + 3);
|
|
75
|
+
const panelWidth = Math.max(tableWidth(widths), board.warnings.length > 0 ? tableWidth(warningWidths) : 0, Math.min(Math.max(0, ...titleWidths), totalWidth));
|
|
62
76
|
if (sections.length === 0 && hiddenCount === 0) {
|
|
63
77
|
lines.push('No groomed delivery board.');
|
|
64
78
|
}
|
|
65
79
|
else {
|
|
66
80
|
for (const section of sections) {
|
|
67
|
-
const table = renderTable(BOARD_COLUMNS, section.changes.map((change) => changeRow(change
|
|
81
|
+
const table = renderTable(BOARD_COLUMNS, section.changes.map((change) => changeRow(change)), { widths });
|
|
68
82
|
lines.push(renderPanelSection(section.title, table, panelWidth, plain, section.finished, (l) => styleChangeRows(l, section.changes)));
|
|
69
83
|
lines.push('');
|
|
70
84
|
}
|
|
@@ -80,12 +94,23 @@ function renderBoard(board, plain, showClosed, budget) {
|
|
|
80
94
|
lines.push(plain ? note : styleText('dim', note));
|
|
81
95
|
lines.push('');
|
|
82
96
|
}
|
|
97
|
+
const renderedChanges = sections.flatMap((section) => section.changes);
|
|
98
|
+
if (renderedChanges.some((change) => change.blockers.length + change.gaps.length + change.missing.length > 0)) {
|
|
99
|
+
const note = 'Detail: spego board --gaps';
|
|
100
|
+
lines.push(plain ? note : styleText('dim', note));
|
|
101
|
+
}
|
|
102
|
+
const syncActions = deriveSyncPlan(board, input).actions.length;
|
|
103
|
+
if (syncActions > 0) {
|
|
104
|
+
const noun = syncActions === 1 ? 'fix' : 'fixes';
|
|
105
|
+
const note = `${syncActions} mechanical ${noun} — run spego sync`;
|
|
106
|
+
lines.push(plain ? note : styleText('dim', note));
|
|
107
|
+
}
|
|
83
108
|
lines.push(nextLine(board));
|
|
84
109
|
return lines.filter((line, index, all) => !(line === '' && all[index - 1] === '')).join('\n');
|
|
85
110
|
}
|
|
86
111
|
function buildChangeSections(board) {
|
|
87
112
|
const sections = board.sprints.map((sprint) => ({
|
|
88
|
-
title:
|
|
113
|
+
title: `${sprint.title} · ${sprint.status} · ${sprint.slug}`,
|
|
89
114
|
changes: sprint.changes,
|
|
90
115
|
finished: isFinished(sprint),
|
|
91
116
|
}));
|
|
@@ -98,21 +123,19 @@ function buildChangeSections(board) {
|
|
|
98
123
|
function tableWidth(widths) {
|
|
99
124
|
return widths.reduce((sum, w) => sum + w, 0) + 2 * Math.max(0, widths.length - 1);
|
|
100
125
|
}
|
|
101
|
-
/** Widens the last column of `widths` in place to make the table reach `targetWidth`; a no-op once it already does. */
|
|
102
|
-
function growLastColumn(widths, targetWidth) {
|
|
103
|
-
const gap = targetWidth - tableWidth(widths);
|
|
104
|
-
if (gap > 0 && widths.length > 0)
|
|
105
|
-
widths[widths.length - 1] += gap;
|
|
106
|
-
}
|
|
107
126
|
/**
|
|
108
127
|
* Wraps `table` in a panel with `title` embedded in the top rail. Every line
|
|
109
128
|
* is padded to `width` before `styleRows` runs, so strikethrough/dim spans
|
|
110
129
|
* the full row instead of stopping where ANSI-inflated `.length` would
|
|
111
130
|
* otherwise defeat `renderPanel`'s own padding. A `finished` section renders
|
|
112
131
|
* fully dim with no bold/underline title — the muted state for a closed
|
|
113
|
-
* sprint shown only via `--closed`.
|
|
132
|
+
* sprint shown only via `--closed`. `title` is truncated here, matching
|
|
133
|
+
* `renderPanel`'s own truncation exactly, so the bold/dim `replace` below
|
|
134
|
+
* still finds it — `renderPanel` truncating internally on a mismatched
|
|
135
|
+
* string would leave the title unstyled.
|
|
114
136
|
*/
|
|
115
137
|
function renderPanelSection(title, table, width, plain, finished, styleRows) {
|
|
138
|
+
const shownTitle = truncate(title, Math.max(0, width - 2));
|
|
116
139
|
// Pad on the unstyled line: styling happens after, so padRight measures raw length and the right rail stays aligned.
|
|
117
140
|
const padded = table.split('\n').map((line) => padRight(line, width));
|
|
118
141
|
const body = plain
|
|
@@ -120,11 +143,11 @@ function renderPanelSection(title, table, width, plain, finished, styleRows) {
|
|
|
120
143
|
: finished
|
|
121
144
|
? padded.map((line) => styleText('dim', line))
|
|
122
145
|
: (styleRows?.(padded) ?? padded);
|
|
123
|
-
const panel = renderPanel(
|
|
146
|
+
const panel = renderPanel(shownTitle, body, { width });
|
|
124
147
|
if (plain)
|
|
125
148
|
return panel;
|
|
126
149
|
const lines = panel.split('\n');
|
|
127
|
-
lines[0] = lines[0].replace(
|
|
150
|
+
lines[0] = lines[0].replace(shownTitle, () => styleText(finished ? 'dim' : 'bold', shownTitle));
|
|
128
151
|
return lines.join('\n');
|
|
129
152
|
}
|
|
130
153
|
/** Body lines line up 1:1 with `changes`: line i+2 is changes[i]. A satisfied row (done/completed) is struck through even if it still carries a blocker. */
|
|
@@ -190,24 +213,21 @@ function renderGaps(board) {
|
|
|
190
213
|
lines.push(nextLine(board));
|
|
191
214
|
return lines.filter((line, index, all) => !(line === '' && all[index - 1] === '')).join('\n');
|
|
192
215
|
}
|
|
193
|
-
function changeRow(change
|
|
216
|
+
function changeRow(change) {
|
|
194
217
|
return [
|
|
195
218
|
change.id,
|
|
196
219
|
change.slug,
|
|
197
220
|
deliveryStatusLabel(change.status),
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
formatGaps(change),
|
|
201
|
-
change.missing.join(', ') || '—',
|
|
202
|
-
change.title,
|
|
221
|
+
change.group,
|
|
222
|
+
formatSignals(change),
|
|
203
223
|
];
|
|
204
224
|
}
|
|
205
225
|
/**
|
|
206
226
|
* Collapse the board's per-fact warnings into the rows the human board prints,
|
|
207
|
-
* one row per repair. Grouping is keyed per code: `
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
227
|
+
* one row per repair. Grouping is keyed per code: `orphan-epic` by reason (a
|
|
228
|
+
* `missing` epic and an `archived` one never merge — different repairs),
|
|
229
|
+
* `dangling-dep`/`out-of-order-dep` by the dependent change, and
|
|
230
|
+
* `closable-sprint`/`dep-cycle`/`ungroomed-change` by
|
|
211
231
|
* code. `adapter-warning`/`adapter-unavailable` pass through untouched. A
|
|
212
232
|
* single-member group keeps its original message; a multi-member group lists
|
|
213
233
|
* every affected slug. The JSON payload stays per-fact — this only shapes the
|
|
@@ -237,8 +257,6 @@ export function aggregateWarningRows(warnings) {
|
|
|
237
257
|
function warningDiscriminator(warning) {
|
|
238
258
|
const details = warning.details ?? {};
|
|
239
259
|
switch (warning.code) {
|
|
240
|
-
case 'archived-in-sprint':
|
|
241
|
-
return `sprint:${details.sprint ?? ''}`;
|
|
242
260
|
case 'orphan-epic':
|
|
243
261
|
return `reason:${details.reason ?? ''}`;
|
|
244
262
|
case 'dangling-dep':
|
|
@@ -254,8 +272,6 @@ function renderWarningGroup(code, members) {
|
|
|
254
272
|
const changes = uniqueStrings(members.map((m) => (m.details ?? {}).change));
|
|
255
273
|
const first = members[0].details ?? {};
|
|
256
274
|
switch (code) {
|
|
257
|
-
case 'archived-in-sprint':
|
|
258
|
-
return [code, `Sprint "${first.sprint}" includes archived changes: ${quoteSlugs(changes)}.`];
|
|
259
275
|
case 'orphan-epic':
|
|
260
276
|
return first.reason === 'archived'
|
|
261
277
|
? [code, `Epics ${quoteSlugs(changes)} point at archived OpenSpec changes.`]
|
|
@@ -308,6 +324,16 @@ function formatGaps(change) {
|
|
|
308
324
|
return '—';
|
|
309
325
|
return change.gaps.map((gap) => gap.note ? `${gap.flag}: ${gap.note}` : gap.flag).join(', ');
|
|
310
326
|
}
|
|
327
|
+
function formatSignals(change) {
|
|
328
|
+
const parts = [];
|
|
329
|
+
if (change.blockers.length > 0)
|
|
330
|
+
parts.push(`${change.blockers.length} blk`);
|
|
331
|
+
if (change.gaps.length > 0)
|
|
332
|
+
parts.push(`${change.gaps.length} gap`);
|
|
333
|
+
if (change.missing.length > 0)
|
|
334
|
+
parts.push(`${change.missing.length} mis`);
|
|
335
|
+
return parts.length === 0 ? '—' : parts.join(' · ');
|
|
336
|
+
}
|
|
311
337
|
function appendWarnings(lines, warnings) {
|
|
312
338
|
if (warnings.length === 0)
|
|
313
339
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../../src/cli/commands/board.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../../src/cli/commands/board.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,16 @@
|
|
|
6
6
|
* `remaining` and never applied. `--dry-run` derives and prints the plan only.
|
|
7
7
|
*/
|
|
8
8
|
import type { Command } from 'commander';
|
|
9
|
+
import { type SyncPlan } from '../../delivery/sync.js';
|
|
10
|
+
import { type DeliveryAdapter } from '../../delivery/index.js';
|
|
11
|
+
import type { ArtifactEngine } from '../../artifacts/engine.js';
|
|
12
|
+
interface AppliedResult {
|
|
13
|
+
kind: 'create-epic' | 'close-sprint' | 'retire-epic';
|
|
14
|
+
slug: string;
|
|
15
|
+
id: string;
|
|
16
|
+
revision: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function resolveEpicAdapter(engine: ArtifactEngine): Promise<DeliveryAdapter | null>;
|
|
19
|
+
export declare function applySyncPlan(engine: ArtifactEngine, plan: SyncPlan, adapter: DeliveryAdapter | null): Promise<AppliedResult[]>;
|
|
9
20
|
export declare function registerSync(program: Command): void;
|
|
21
|
+
export {};
|