Skip to content

Commit 5d5eca1

Browse files
Nick Websterclaude
andcommitted
docs(v0.11): candidate-selection — pick G standalone, queue E for v0.12
Per R-NEW-75 candidate-selection after v0.10.0 shipped (PUBLISHED npm `latest` 2026-05-22T21:24:43Z; tag `v0.10.0` at `c9eceba`; release-prep `36d705d..c9eceba`; post-publish loop closed at `5a63a4d`). SDK re-probe: `@mondaydotcomorg/api` still at 14.0.0 — 5th-consecutive stall (v0.6 → v0.10) — so M39/M40/M41 (SDK 15.x → API `2026-04`) + M44/M45 (SDK 16.x → API `2026-07`) stay DEFERRED. 5-dimension scoping against the C/D/E/G + R-v0.10-NEW-4 backlog at this session: - C cross-board `item move` value-overrides — slipped 4× on Monday's `ColumnMappingInput` no-value-slot constraint at API `2026-01`. Stays-filed at this session per the user's Q2 binding (not closed permanently; Monday could surface the value slot in a future API version). - D resumable cross-board cursor — design-blocked on per-board cursor-lifetime under aggregation. Stays-filed. - E profile-scoped argument defaults — only feature candidate with zero external dependency (no Monday wire, no SDK gate); has a prerequisite §13 carve-out Decision at pre-flight kickoff distinguishing aliases-as-stored-command-strings (still non-goal) from defaults-as-stored-flag-values (carve-out). **Queued for v0.12.** - G `Item.description` read-side — addresses the v0.9-M52 surfaced gap (`ITEM_FIELDS_FRAGMENT` doesn't select `description`; every item-read verb returns items without descriptions). MEDIUM novelty (OBJECT type at API `2026-04`; `2026-01` availability is an open empirical probe at pre-flight). Same SDK-drift class as `hierarchy_type` / `views` — M52-graduated `match_query` selection-pin guard applies. **PICKED for v0.11.** - R-v0.10-NEW-4 — fold inline this session (`085e999`). User binding at the 2-question AskUserQuestion round-trip then re-shaped the initial E+G bundle into a sequential split: v0.11 = G alone (no shared subsystem with E; G has no prerequisite Decision + closes the visible read gap immediately), v0.12 = E (config surface + §13 carve-out Decision). Tradeoff accepted: 2× release-prep overhead for two focused minors. The 2026-05-22-at-M52-close pair-with-M40 user binding BROKEN at this candidate-selection (G ships standalone; M40 stays SDK-15.x-gated — the two surfaces are independent transport paths sharing only the `Item.description` data shape). R-class status flips: - R-v0.9-NEW-8 OPEN — paired-pending → PROMOTED to v0.11 (canonical entry v0.9-plan §22; carry-forward v0.10-plan §22). - R-v0.10-NEW-4 OPEN → RESOLVED 2026-05-22 at `085e999` (v0.10-plan §22). CLAUDE.md "Next session" flipped to v0.11-G pre-flight contract diff. No `docs/v0.11-plan.md` opens this session per the v0.10 precedent (`5d89754`) — plan-doc opens at the first pre-flight contract diff commit of the milestone. Gates green: typecheck + lint + test (4270 + 4 skipped); coverage 95.89% branches (re-verified at the maxWorkers fold). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 085e999 commit 5d5eca1

3 files changed

Lines changed: 76 additions & 31 deletions

File tree

CLAUDE.md

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -188,22 +188,41 @@ humans are second-class. Built incrementally via Claude Code on top of
188188
HEAVY single-sourced one (`boardMetadataSchema` + `views`).
189189
Both correct per the runtime read; rule documents both valid
190190
choices.
191-
- **Next session:** **v0.10.x / v0.11 candidate-selection** per
192-
R-NEW-75. ≥2 backlog candidates remain at v0.10 close: C cross-
193-
board `item move` value-overrides; E profile-scoped argument
194-
defaults; G `Item.description` read-side paired with v0.7-M40
195-
reopen; D resumable cross-board cursor (design-blocked on
196-
per-board cursor-lifetime under aggregation, cli-design §13).
197-
Plus R-v0.10-NEW-4 (fold `--maxWorkers=2` into the
198-
`test:coverage` npm script) as a work-of-opportunity candidate
199-
— fold whenever `package.json` is next touched, or include in
200-
a v0.10.x release-prep. **Re-probe `@mondaydotcomorg/api`** at
201-
candidate-selection: if SDK 15.x publishes (baking `2026-04`),
202-
M39/M40/M41 reopen and preempts the C/E/G backlog (M40 already
203-
feature-confirmed on multi_level boards via the 2026-05-22
204-
probe sweep — only the M39 SDK gate remains). If still 14.0.0
205-
(6th-consecutive stall), 5th-consecutive pivot is the default
206-
expectation across the C/E/G/D backlog. **Post-publish
191+
- **Next session:** **v0.11-G pre-flight contract diff.** v0.11
192+
candidate-selection ran 2026-05-22 per R-NEW-75 over the
193+
C/D/E/G + R-v0.10-NEW-4 backlog. SDK probe:
194+
`@mondaydotcomorg/api@14.0.0`**5th-consecutive stall**
195+
(v0.6 → v0.10), so M39/M40/M41 (SDK 15.x → API `2026-04`) +
196+
M44/M45 (SDK 16.x → API `2026-07`) stay DEFERRED. User picked
197+
**G — `Item.description` read-side, ships standalone** (the
198+
2026-05-22-at-M52-close pair-with-M40 user binding BROKEN at
199+
this candidate-selection per the 2-question round-trip);
200+
**E (profile-scoped argument defaults) queued for v0.12**; C
201+
stays-filed (4 slips on Monday's `ColumnMappingInput` no-value-
202+
slot at API `2026-01`); D stays design-blocked.
203+
**R-v0.10-NEW-4 RESOLVED inline at `085e999`**
204+
`--maxWorkers=2` folded into the `test:coverage` script
205+
(work-of-opportunity per the v0.10 post-publish refactor-audit
206+
finding). **v0.11-G scope:** unblock the v0.9-M52-surfaced
207+
read gap where `ITEM_FIELDS_FRAGMENT`
208+
(`src/api/item-helpers.ts`) doesn't select `description`, so
209+
every item-read verb
210+
(`item get`/`list`/`find`/`search`/`subitems`/`history`)
211+
returns items without descriptions. Pre-flight binding
212+
decisions: shape (a) extend `ITEM_FIELDS_FRAGMENT` (universal
213+
projection — heavier) vs (b) dedicated `monday item
214+
get-description <iid>` verb (narrow projection — mirrors
215+
M52's `board views` carve-out); plus the **open empirical
216+
probe** for `Item.description` field availability at API
217+
`2026-01` (the CLI pin — the 2026-05-22 dev-board sweep
218+
confirmed OBJECT type at `2026-04` but didn't test `2026-01`
219+
availability). Same SDK-drift class as
220+
`hierarchy_type`/`views`; the M52-graduated `match_query`
221+
selection-pin two-layer guard (cassette + RUN_LIVE_TESTS smoke
222+
per `.claude/rules/testing.md`) applies. **No
223+
`docs/v0.11-plan.md` opens this session** per the v0.10
224+
precedent (`5d89754` — plan-doc opens at the first pre-flight
225+
contract diff commit of the milestone). **Post-publish
207226
refactor-audit ran 2026-05-22** over `36d705d..177b40c`
208227
(recency window: release-prep cluster + post-publish flip) —
209228
process-only cluster (matching v0.9's precedent at `253233f`),

docs/v0.10-plan.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -679,11 +679,18 @@ pending the user):
679679
- **R-v0.9-NEW-5 — Board-projection schema fragmentation across 4
680680
schemas** (LOW). Trigger UNMET (M53 doesn't touch board schemas).
681681
**Status: OPEN.** Full entry: v0.9-plan §22.
682-
- **R-v0.9-NEW-8 — `Item.description` read-side, paired with
683-
v0.7-M40 reopen** (MEDIUM, user-directed at v0.9-M52 close).
684-
Trigger UNMET (M53 is the noun-descriptions lift, NOT `Item.
685-
description`); stays paired with M40 reopen. **Status: OPEN.**
686-
Full entry: v0.9-plan §22.
682+
- **R-v0.9-NEW-8 — `Item.description` read-side** (MEDIUM, user-
683+
directed at v0.9-M52 close). **Status: PROMOTED to v0.11
684+
2026-05-22** at the v0.11 candidate-selection session — the
685+
original pair-with-M40 user binding (2026-05-22 at M52 close)
686+
was BROKEN at this candidate-selection per the AskUserQuestion
687+
round-trip (G ships standalone; M40 stays SDK-15.x-gated). The
688+
read-side surface is independent of the M40 write mutation (no
689+
atomicity envelope ties them — they share only the
690+
`Item.description` data shape). Pre-flight contract diff opens
691+
next session; (a)-vs-(b) shape Decision + `2026-01`
692+
availability empirical probe close at pre-flight kickoff. Full
693+
entry (status update + binding-break narrative): v0.9-plan §22.
687694
- **R-v0.9-NEW-9 / 10 / 11 / 12** — fixture-factory / helper-lift /
688695
fixture-leftover-detection / Codex `-xhigh` behaviour. All
689696
watch-items, all UNMET at M53. Full entries: v0.9-plan §22.
@@ -765,9 +772,17 @@ pending the user):
765772
`package.json` so the gate runs stably out-of-the-box. The
766773
underlying timing-race surface (R-v0.7-NEW-8) stays unaddressed
767774
by this lift — this only restores parity between the two test
768-
invocations' stability properties. **Status: OPEN** (file at this
769-
audit; close at any v0.10.x release-prep or earlier work-of-
770-
opportunity touching `package.json`).
775+
invocations' stability properties. **Status: RESOLVED 2026-05-22**
776+
at `085e999` — folded inline at v0.11 candidate-selection as the
777+
work-of-opportunity per the user's binding at the 2-question
778+
round-trip (E + G bundle initially picked; subsequently re-shaped
779+
to v0.11 = G alone, v0.12 = E, with R-v0.10-NEW-4 retained as the
780+
inline fold). Re-verified at the fold: `npm run test:coverage`
781+
with `--maxWorkers=2` produces 4270 + 4 skipped, branches 95.89%
782+
(4489/4681), functions 98.97% (1354/1368) — same numbers as the
783+
audit-time measurement. The underlying R-v0.7-NEW-8 SIGINT-mid-
784+
cadence flake umbrella stays UNRESOLVED (this only restores
785+
parity-on-touch between `npm test` + `npm run test:coverage`).
771786

772787
- **R-v0.10-NEW-3 — Docstring mentions of 3-arg `ensureSubcommand`
773788
pattern surface in broader sweep** (data point, NOT drift).

docs/v0.9-plan.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,13 +1236,24 @@ pending the user):
12361236
Item.description IS feature-real on multi_level boards, so this
12371237
is a real read gap, not academic).
12381238

1239-
**Trigger:** bundle with v0.7-M40 when SDK 15.x publishes (which
1240-
bakes `2026-04` natively + unblocks the M40 write mutation).
1241-
Both surfaces ship in the same release per user directive
1242-
2026-05-22 at M52 close. Cross-refs v0.7-plan §3 M40 +
1243-
`project_m40_findings_deferred` + `project_multilevel_dev_board_capabilities`.
1244-
1245-
**Status: OPEN — paired-pending.**
1239+
**Trigger:** ~~bundle with v0.7-M40 when SDK 15.x publishes~~
1240+
**PROMOTED to v0.11 standalone at the v0.11 candidate-selection
1241+
session 2026-05-22.** The user re-bound the original 2026-05-22-
1242+
at-M52-close pair-with-M40 directive at the candidate-selection
1243+
AskUserQuestion (single round-trip, 2 questions): G ships
1244+
standalone now; M40 stays SDK-15.x-gated. The two surfaces are
1245+
read vs write — independent transport paths sharing only the
1246+
underlying `Item.description` data shape, so no atomicity
1247+
envelope ties them. Cross-refs v0.7-plan §3 M40 +
1248+
`project_m40_findings_deferred` +
1249+
`project_multilevel_dev_board_capabilities`.
1250+
1251+
**Status: PROMOTED to v0.11 (M40-pair binding BROKEN
1252+
2026-05-22).** Pre-flight contract diff opens next session;
1253+
the (a)-vs-(b) shape Decision + the `2026-01` availability
1254+
empirical probe close at pre-flight kickoff per
1255+
`.claude/rules/workflow.md` "Read-side field-add" discipline
1256+
(graduated v0.9-M52).
12461257

12471258
- **R-v0.9-NEW-9 — Shared `BoardMetadata` fixture factory** (code
12481259
lift, watch-item). Filed at the M52 close refactor-audit. M52 IMPL

0 commit comments

Comments
 (0)