Skip to content

chore(platform): align NodeBench with NodeKit v1 contracts#592

Draft
HomenShum wants to merge 2 commits into
mainfrom
chore/nodekit-contract-alignment-v3
Draft

chore(platform): align NodeBench with NodeKit v1 contracts#592
HomenShum wants to merge 2 commits into
mainfrom
chore/nodekit-contract-alignment-v3

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Outcome

Aligns NodeBenchAI's current post-Phase-2 tree with the frozen NodeKit v1 contracts without moving runtime code or changing production behavior. Supersedes #591 with a branch and title that satisfy this repository's required PR-style policy.

What changed

  • preserves the canonical flat nodekit.repo/v1, nodeagent.application/v1, and nodeagent.pack/v1 manifests
  • keeps repo-local-nodebench authoritative while recording nodeagent-native as the migration target
  • declares NodeBenchAI's registered nodeagent.policy-context dependency for the existing DeepTrace domain specialization
  • keeps the filesystem-authored Entity Intelligence skill and four existing evaluation bindings
  • retains the secret-free compiled definition and config hash over the 1,908-file authored surface
  • repairs Vercel preflight so the Convex typecheck follows convex.json.functions (backend/convex) instead of hardcoding the pre-migration convex/ path
  • rejects Convex functions paths that escape the repository root
  • adds a release-contract regression scenario for the standard-tree path and escape case

Root cause

The standard-tree migration moved Convex functions to backend/convex/ and correctly updated convex.json, but scripts/preflight-deploy.mjs retained a hardcoded npx tsc -p convex. PR #591 also used a codex/ head and non-Conventional title, while this repository requires <type>/<slug> branches and Conventional Commit PR titles.

Validation

  • npx vitest run scripts/__tests__/releaseWorkflowContracts.test.ts --reporter=verbose: 11/11 passed
  • repaired preflight's real Convex gate: passed against backend/convex
  • npx tsc --noEmit --pretty false: passed
  • coordinated NodeKit repository conformance: passed, 1/1 declaration classified
  • NodeKit compile stale check: passed; 1,908 files; config hash ce762d645646cb409ea3e20e58517608ce921dc9262eae8aa3377847bfc4594f
  • NodeKit doctor: passed on Node 22.22.2
  • git diff --check: passed

Honest boundary

This remains brownfield contract alignment. It does not edit the live Convex/agent loop, deploy anything, add Pi AI to production, claim a no-key application demo, or promote NodeBenchAI from commandProfile: untracked. That command profile should remain untracked until NodeBench has an honest finite no-key lifecycle rather than production credentials and a service command.

@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 4:57am

Request Review

@github-actions

Copy link
Copy Markdown

PR size advisory

This PR adds 10365 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.

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