Skip to content

refactor(platform): NodeKit standard tree phase 2 — full physical migration#590

Merged
HomenShum merged 6 commits into
mainfrom
feat/standard-tree-migration
Jul 20, 2026
Merged

refactor(platform): NodeKit standard tree phase 2 — full physical migration#590
HomenShum merged 6 commits into
mainfrom
feat/standard-tree-migration

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

What

Full physical move to the NodeKit standard repo tree (phase 2 of the adoption plan; phase 0 was #589):

Old New
convex/ backend/convex/ (convex.json functions; identifiers unchanged — prod-safe)
src/ + index.html apps/web/ (vite root; @convex alias replaces relative ../convex imports)
server/ workers/node/
tests/ evals/
scripts/improvement-loop + goals/ adw/
docs/design/ui-contract/ proof/ui-contract/

Deliberately staying at repo root: public/ (scratchnode live-room hot file), api/ (Vercel functions), env files (vite envDir pinned — prevents the documented VITE_CONVEX_URL P0), dist/ (Vercel output).

How

  • ~420-file mechanical import rewire, then a deterministic HEAD-resolver that recomputed every relative import from the pre-move commit (catches internal-vs-root shared ambiguity that grep cannot)
  • @convex/* path alias in vite/vitest/tsconfig; vi.mock specifiers swept
  • findConvexDir in convex-mcp-nodebench now honors convex.json functions (tool fix, not test hack)
  • Guard tests / linters / delta health probes re-rooted; workflows + package scripts + vercel-build path-updated
  • AGENT_COORDINATION.md carries a migration notice for other agents

Gates (all green)

  • npx convex codegen: 0
  • tsc -p backend/convex: 0 errors
  • vite build: clean (dist at root; voice worker tsc clean)
  • CI smoke list: 21 files / 341 tests passed
  • Full vitest adjudicated against a main-baseline worktree: every branch-only failure root-caused — 6 migration leftovers fixed; remaining failures reproduce identically on main (pre-existing)
  • Playwright: contract-runner + live-smoke list 48 tests (repo-wide --list is broken on main too — pre-existing)

Post-merge verification plan

vercel-build.sh runs convex deploy (reads convex.json) before vite build — fail-closed. After merge: Tier A scripts/verify-live.ts + Tier B npm run live-smoke, per live_dom_verification.

🤖 Generated with Claude Code

HShuM and others added 6 commits July 19, 2026 17:14
Adopts the NodeKit Agent Application Standard without moving a single file:

- nodekit.yaml: repo identity/ownership/lifecycle + a layout map declaring
  where each standard concern lives TODAY, with honest conformance flags
  (forbidVendoredRuntime:false — this harness is the migration source;
  requireCompiledManifest:false — no compiler exists, no faked .nodeagent/)
- nodeagent.yaml: live app composition (authoring dir, convex backend,
  entity-intelligence pack, four required eval commands that already run)
- agent/: filesystem-first authored surface, md/yaml only. instructions.md
  mirrors chatRuns.ts; policies capture the real approval gates, SSRF
  blocklist, and budget envelopes with Source: pointers; subagents/ and
  tools/ are indexes to the code, preventing drifting second copies
- packs/entity-intelligence/pack.yaml: capability declared at current paths
- docs/architecture/STANDARD_REPO_TREE.md: full slot-by-slot mapping,
  declared violations, and the staged physical phases (src->apps/web and
  convex->backend deferred — Vite/Vercel/Convex-CLI constraints noted)

Phase-0 rule encoded in agent/README.md: code remains source of truth;
no .ts under agent/; nothing imports this surface until the compiler phase.

tsc clean; design-system guards green; zero runtime impact.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…/web/src, server→workers/node, tests→evals, improvement-loop+goals→adw, ui-contract→proof (checkpoint 1, imports not yet rewired)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, configs (checkpoint 2)

Co-Authored-By: Claude Fable 5 <noreply@anthropic-com>
… string-path sweeps (checkpoint 3)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
….json, multi-line quote fix, docs+coordination (checkpoint 4)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… files (they carry the standard-tree path updates)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HomenShum
HomenShum enabled auto-merge (squash) July 20, 2026 02:01
@vercel

vercel Bot commented Jul 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nodebench-ai Ready Ready Preview, Comment Jul 20, 2026 2:05am

Request Review

@github-actions

Copy link
Copy Markdown

PR size advisory

This PR adds 1286 lines of substantive change. CONTRIBUTING.md defines a soft limit of ~400 LOC.

If the PR is genuinely cohesive (e.g. an architecture map, a generated migration, a deletion of a dead module), no action is needed. Otherwise consider:

  • splitting into 2-3 PRs along independent concerns
  • pre-discussing the architecture change in a GitHub Discussion before merge

This is advisory — it does not block the merge.

@github-actions

Copy link
Copy Markdown

Vercel preflight failed: TypeScript Convex

Detail: convex typecheck failed

error TS5058: The specified path does not exist: 'convex'.

Fix: Run npx tsc -p convex --noEmit --pretty false.

@github-actions

Copy link
Copy Markdown

✅ Dogfood Visual QA Gate: PASSED

Check Status
Screenshots 7 captured (pass)
Walkthrough 9 chapters (pass)
Key Frames 9 extracted (pass)
Scribe Steps 8 how-to steps (pass)
Build success
Artifacts

Download the dogfood-evidence-7a8f022 artifact from the Actions tab for full screenshots, frames, and walkthrough video.


Generated by Dogfood QA Gate

@HomenShum
HomenShum merged commit 45e14ff into main Jul 20, 2026
16 of 18 checks passed
@HomenShum
HomenShum deleted the feat/standard-tree-migration branch July 20, 2026 02:07
@github-actions

Copy link
Copy Markdown

Demo: walkthrough of the surfaces this PR changed is available as a workflow artifact (pr-demo-590) at https://github.com/HomenShum/NodeBenchAI/actions/runs/29711983063

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.

2 participants