Commit 2f80bfd
chore(ci-scope): add scope:* tags + implicitDependencies (PR 1/3) (#503)
* docs: spec for ci-scope thin shim + implicitDependencies migration
Task #16 (final audit item). Shrinks scripts/ci-scope.mjs from 340 LOC
to ~50 LOC by replacing hand-maintained applyProjectScope and
applyFallbackPathScope rules with data:
1. Per-project `scope:*` tags declare which CI gates a project triggers.
The shim reads tags off projects nx considers affected.
2. Non-project fallback paths (vercel.*.json, deploy scripts, registry,
etc.) move into project.json implicitDependencies. Nx considers the
target project affected via the implicit dep edge.
Migration sequenced as 3 PRs: (1) metadata add (no behavior change),
(2) shim rewrite + test migration, (3) cleanup + drift-guard assertion.
Preserves all current CI gate semantics + true-skip job behavior;
adds 2-5s nx-affected startup vs current sub-second classifier (already
analyzed in the brainstorm — acceptable trade-off for the project-graph
correctness + dependency cascading wins).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: plan for ci-scope thin shim migration (3 PRs)
8-task plan sequenced across 3 PRs:
- PR 1 (Task 1): scripted addition of scope:* tags + implicitDependencies
on ~50 project.json files. No behavior change.
- PR 2 (Tasks 2-6): rewrite scripts/ci-scope.mjs as ~120-LOC thin shim
over `nx show projects --affected`. Migrate scripts/ci-scope.spec.mjs.
Smoke test against recent main range.
- PR 3 (Tasks 7-8): drift-guard assertion in cockpit-e2e-wiring.spec.ts
that every cap project has expected scope:* tags.
Each PR ships independently. PR 2's own CI run is the integration test;
do not admin-merge.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(ci-scope): add scope:* tags + implicitDependencies (no behavior change)
PR 1 of 3 for the ci-scope thin-shim migration. Adds metadata only:
1. scope:* tags on every CI-participating project, replacing the
hand-maintained applyProjectScope rules in scripts/ci-scope.mjs
with data declarations next to each project.
2. implicitDependencies on apps/cockpit and apps/website pointing at
the non-project files (vercel.*.json, scripts/*.ts, capability-
registry.ts) that currently live in applyFallbackPathScope.
ci-scope.mjs unchanged in this PR — still drives gating via the old
rules. The new metadata is inert. PR 2 will rewrite the shim to read
from this metadata; PR 3 will add a drift-guard assertion.
See docs/superpowers/specs/2026-05-21-ci-scope-thin-shim-design.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(ci-scope): drop stale //scripts/deploy-smoke.ts implicit dep
The original spec listed this path as a fallback file (mirroring the
OLD ci-scope.mjs's defensive `if (changedFile === 'apps/cockpit/scripts/
deploy-smoke.ts' || changedFile === 'scripts/deploy-smoke.ts')` check),
but only the apps/cockpit/scripts/deploy-smoke.ts path exists on this
repo today. The root-level path is dead — the OLD rule was overly
defensive for a file that was never created at that path.
The legitimate //apps/cockpit/scripts/deploy-smoke.ts entry remains.
Caught by the existence check in Task 1 Step 4 of the migration plan.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(ci-scope): revert implicitDependencies — //path syntax broke CI
PR 1 added `implicitDependencies: ["//vercel.json", ...]` to apps/cockpit
and apps/website. On Nx 22.5.1, this caused all cockpit-* CI gates to
fail (29 failures: build/test, build-all-examples, 18 e2e matrix
expansions, etc.). The `//path` syntax for file-level implicit deps
either isn't recognized by Nx 22 or requires different escaping.
Revert just the implicitDependencies. Keep the scope:* tags addition —
those are inert metadata and use the existing tags pattern.
PR 2's shim rewrite will need to either:
(a) Restore implicitDependencies with the correct syntax once verified,
or
(b) Keep applyFallbackPathScope's file-by-file rules in ci-scope.mjs
(shim ends up ~80 LOC instead of ~50).
Either way, PR 1's scope-tags addition is still useful as data for the
shim to read.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 2fc9270 commit 2f80bfd
89 files changed
Lines changed: 2007 additions & 146 deletions
File tree
- apps
- cockpit
- website
- cockpit
- ag-ui/streaming/angular
- chat
- a2ui
- angular
- python
- debug
- angular
- python
- generative-ui
- angular
- python
- input
- angular
- python
- interrupts
- angular
- python
- messages
- angular
- python
- subagents
- angular
- python
- theming
- angular
- python
- threads
- angular
- python
- timeline
- angular
- python
- tool-calls
- angular
- python
- deep-agents
- filesystem
- angular
- python
- memory
- angular
- python
- planning
- angular
- python
- sandboxes
- angular
- python
- skills
- angular
- python
- subagents
- angular
- python
- langgraph
- deployment-runtime
- angular
- python
- durable-execution
- angular
- python
- interrupts
- angular
- python
- memory
- angular
- python
- persistence
- angular
- python
- streaming
- angular
- python
- subgraphs
- angular
- python
- time-travel
- angular
- python
- render
- computed-functions
- angular
- python
- element-rendering
- angular
- python
- registry
- angular
- python
- repeat-loops
- angular
- python
- spec-rendering
- angular
- python
- state-management
- angular
- python
- docs/superpowers
- plans
- specs
- examples/chat
- angular
- python
- smoke
- libs
- a2ui
- ag-ui
- chat
- cockpit-docs
- cockpit-registry
- cockpit-shell
- cockpit-telemetry
- cockpit-testing
- cockpit-ui
- design-tokens
- e2e-harness
- example-layouts
- langgraph
- licensing
- render
- telemetry
- ui-react
- tools/posthog
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
7 | 13 | | |
8 | 14 | | |
9 | 15 | | |
10 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
11 | 19 | | |
12 | 20 | | |
13 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
7 | 11 | | |
8 | 12 | | |
9 | 13 | | |
10 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
11 | 17 | | |
12 | 18 | | |
13 | 19 | | |
| |||
48 | 54 | | |
49 | 55 | | |
50 | 56 | | |
51 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
52 | 60 | | |
53 | 61 | | |
54 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
77 | 81 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
98 | 102 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
24 | 30 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
92 | 96 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
24 | 30 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
104 | 108 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
24 | 30 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
98 | 102 | | |
0 commit comments