Skip to content

docs(ci-scope): revise spec + plan — namedInputs over implicitDependencies#505

Merged
blove merged 2 commits into
mainfrom
claude/ci-scope-spec-update
May 21, 2026
Merged

docs(ci-scope): revise spec + plan — namedInputs over implicitDependencies#505
blove merged 2 commits into
mainfrom
claude/ci-scope-spec-update

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 21, 2026

Summary

Docs-only revision of the ci-scope thin-shim spec + plan after PR #503 surfaced that Nx 22.5.1 rejects `implicitDependencies: ["//path"]` syntax.

Why

PR #503 attempted to migrate fallback path rules (vercel.*.json, deploy scripts, capability-registry.ts) into project.json's `implicitDependencies` field. Nx 22.5.1 validates implicitDependencies as project names only:

The following implicitDependencies point to non-existent project(s):
//scripts/langgraph-proxy.ts
//vercel.cockpit.json
...

29 CI jobs failed. The implicitDependencies portion was reverted within #503 (commit `bc77c105`); only the scope:* tags shipped.

What this PR does (docs only)

  • Spec: header revision note explaining the discovery; "implicitDependencies" section rewritten as "namedInputs — fallback paths become first-class" with concrete project.json example using `{workspaceRoot}/...` paths bound to target `inputs`.
  • Plan: PR 1's Task 1 collapsed to a SHIPPED stub. New Task 2.5 added to PR 2: add namedInputs.deploymentConfig to apps/cockpit + apps/website, reference in build target inputs, smoke-test via `nx show projects --affected`.

Why namedInputs (Option A from the brainstorm)

  • Nx-native mechanism for declaring file-level affecting-deps.
  • Per-project scoping (no cross-project leakage like sharedGlobals would cause).
  • Idiomatic; new contributors learn the pattern in one place.

Alternatives considered + rejected: implicitDependencies with fake config projects (awkward); keep applyFallbackPathScope in ci-scope.mjs (shim grows to ~80 LOC instead of ~50).

Test plan

  • Docs-only — CI should mostly skip / no-op.
  • Reviewer: skim the revised spec sections (header revision note, "namedInputs — fallback paths" section) and the revised plan's Task 2.5.

🤖 Generated with Claude Code

blove and others added 2 commits May 20, 2026 21:58
PR #503 surfaced that Nx 22.5.1 rejects file-path syntax in
implicitDependencies entries (validates strictly as project names;
errored: "implicitDependencies point to non-existent project(s)"
on //path). The Nx-native mechanism for file-level affecting-deps is
per-project namedInputs referenced by target inputs.

Spec updates:
- Header revision note documenting the discovery.
- Replace "implicitDependencies — fallback paths become first-class"
  section with "namedInputs — fallback paths become first-class".
- Concrete project.json example uses namedInputs.deploymentConfig
  with {workspaceRoot}/... paths, bound to target inputs.
- Migration sequencing updated: PR 1 retroactively documented as
  "tags only (shipped)"; PR 2 includes the namedInputs migration.
- Risk surface revised: namedInputs target-binding fragility (must
  reference in target inputs to take effect).
- Acceptance criteria updated.

The shim still targets ~50 LOC; the migration goal is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR 1's Task 1 collapsed to a SHIPPED stub with archived tag-categorization
rules in a <details> block. Adds Task 2.5 to PR 2: add namedInputs.
deploymentConfig to apps/cockpit and apps/website project.json,
reference in build target inputs, smoke-test that nx affected picks
up vercel.cockpit.json changes correctly.

Keeps Tasks 3-8 unchanged (shim rewrite, test migration, smoke, commit,
drift guard) — those don't depend on the implicitDependencies vs
namedInputs distinction beyond the smoke-test expectations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

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

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment May 21, 2026 5:03am

Request Review

@blove blove merged commit d1a62cc into main May 21, 2026
14 of 16 checks passed
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