Skip to content

Fix CI reds: deterministic grow-flow smoke fixture + remove dead eslint-disable#151

Merged
mvalancy merged 1 commit into
devfrom
fix/smoke-gate-determinism-and-lint
Jun 21, 2026
Merged

Fix CI reds: deterministic grow-flow smoke fixture + remove dead eslint-disable#151
mvalancy merged 1 commit into
devfrom
fix/smoke-gate-determinism-and-lint

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Two pre-existing CI/gate reds (predating recent work), now green.

#105 — grow-flow smoke determinism. The test relied on the auto-selected default graph; after the seed creates the "Development Team" hierarchy (sheet nodes whose first +-click doesn't enter grow mode) or a non-admin-owned Welcome graph (grow disabled), the prompt never appeared — failing locally even after db:seed. Now the test builds its own fixture (fresh admin-owned graph + one regular TASK node), selects it, grows, asserts the +1/+1 delta scoped to that graph, undoes, and tears it down. Self-contained, re-runnable, no reseed. Verified: 5/5 smoke, grow-flow 3/3 repeat.

#106 — CI "Lint & Type Check". Signin.tsx had an inline eslint-disable react-hooks/exhaustive-deps, but the plugin isn't registered (and v4.6.2 is incompatible with ESLint 9), so ESLint errored "rule not found". The rule never ran → dead directive → removed. Lint now 0 errors.

🤖 Generated with Claude Code

…disable

Two pre-existing CI/gate reds (not introduced by recent work), now green.

#105 grow-flow smoke determinism: the test depended on whichever graph
auto-loads. After a seed that creates the "Development Team" hierarchy (sheet
nodes whose first +-click doesn't enter grow mode) — or a Welcome graph owned
by another user (grow disabled) — the "Click empty space to grow" prompt never
appears, so the gate failed locally AND after reseed. Fix: the test now builds
its own fixture — a fresh ADMIN-OWNED graph with one regular TASK node
(createGraphs + createWorkItems, NodeStatus IN_PROGRESS), selects it via
currentGraphId, grows from that node, asserts the +1/+1 delta scoped to that
graph, undoes, then tears the whole graph down. Fully self-contained and
re-runnable with no reseed. Verified 5/5 smoke + grow-flow 3/3 repeat.

#106 CI "Lint & Type Check": packages/web/src/pages/Signin.tsx had an inline
`eslint-disable react-hooks/exhaustive-deps`, but the plugin isn't registered
(and v4.6.2 is incompatible with ESLint 9 — context.getSource removed), so
ESLint errored "rule not found" (1 error). The rule never ran, so the directive
was dead; remove it. Lint now 0 errors (warnings only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mvalancy mvalancy merged commit d5147ac into dev Jun 21, 2026
10 checks passed
@mvalancy mvalancy deleted the fix/smoke-gate-determinism-and-lint branch June 21, 2026 22:20
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant