@reqvire-org/ads 0.3.23 → 0.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -152,6 +152,13 @@ cannot be established. Registered paint consumers list their allowed binding IDs
152
152
  borrowing a peer's family or private token remains invalid. Bindings are scoped
153
153
  to their actual root; portals outside it need deliberate project integration.
154
154
 
155
+ A registered binding producer may combine two accessible color references as
156
+ `light-dark(var(--light-token), var(--dark-token))`. The App paint audit checks
157
+ both branches and their observed effect in the active color scheme. Raw colors,
158
+ unknown/private tokens and SVG URLs inside this color function remain invalid.
159
+ This derived binding form does not widen public paint-input types; use constrained
160
+ references for each theme input and verify both color schemes in browser checks.
161
+
155
162
  The App audit checks current mounted instances, accessible values, local SVG
156
163
  resources and computed paint-property responses. Visibility and complete rendered
157
164
  output still need assertions in the registered browser checks. It rejects missing/duplicate IDs and reports unobserved written values separately. It is bounded to 100 families, 20 instances per family, 100 keys
@@ -28,6 +28,16 @@ as passing evidence for the live project.
28
28
  draft argument. There is no dedicated selected-check runner for drafts yet.
29
29
  Use a dry-run transaction for genuinely coupled draft patches.
30
30
 
31
+ Build notifications are deferred until the showcase finishes initial discovery;
32
+ a preview cannot be opened with an incomplete tool list. A missing App tool is a
33
+ host-startup failure, not evidence that component behavior failed. Preserve the
34
+ draft and inspect the host diagnostic.
35
+
36
+ Registered project scripts default to 60 seconds each. A guarded configuration
37
+ change can set `mcp.mutationCheckTimeoutMs` (100–300000 ms) after measuring build
38
+ duration and contention. Timeouts name the command, budget and elapsed time;
39
+ behavior-profile budgets are separate. Do not drop checks to fit either budget.
40
+
31
41
  Behavior-run performance belongs to both orchestration and project checks. ADS
32
42
  selects affected owners, filters registered Playwright case tags and shares one
33
43
  candidate host per run. The project owns assertions, browser setup, worker count,
@@ -152,6 +152,13 @@ cannot be established. Registered paint consumers list their allowed binding IDs
152
152
  borrowing a peer's family or private token remains invalid. Bindings are scoped
153
153
  to their actual root; portals outside it need deliberate project integration.
154
154
 
155
+ A registered binding producer may combine two accessible color references as
156
+ `light-dark(var(--light-token), var(--dark-token))`. The App paint audit checks
157
+ both branches and their observed effect in the active color scheme. Raw colors,
158
+ unknown/private tokens and SVG URLs inside this color function remain invalid.
159
+ This derived binding form does not widen public paint-input types; use constrained
160
+ references for each theme input and verify both color schemes in browser checks.
161
+
155
162
  The App audit checks current mounted instances, accessible values, local SVG
156
163
  resources and computed paint-property responses. Visibility and complete rendered
157
164
  output still need assertions in the registered browser checks. It rejects missing/duplicate IDs and reports unobserved written values separately. It is bounded to 100 families, 20 instances per family, 100 keys
@@ -28,6 +28,16 @@ as passing evidence for the live project.
28
28
  draft argument. There is no dedicated selected-check runner for drafts yet.
29
29
  Use a dry-run transaction for genuinely coupled draft patches.
30
30
 
31
+ Build notifications are deferred until the showcase finishes initial discovery;
32
+ a preview cannot be opened with an incomplete tool list. A missing App tool is a
33
+ host-startup failure, not evidence that component behavior failed. Preserve the
34
+ draft and inspect the host diagnostic.
35
+
36
+ Registered project scripts default to 60 seconds each. A guarded configuration
37
+ change can set `mcp.mutationCheckTimeoutMs` (100–300000 ms) after measuring build
38
+ duration and contention. Timeouts name the command, budget and elapsed time;
39
+ behavior-profile budgets are separate. Do not drop checks to fit either budget.
40
+
31
41
  Behavior-run performance belongs to both orchestration and project checks. ADS
32
42
  selects affected owners, filters registered Playwright case tags and shares one
33
43
  candidate host per run. The project owns assertions, browser setup, worker count,
@@ -152,6 +152,13 @@ cannot be established. Registered paint consumers list their allowed binding IDs
152
152
  borrowing a peer's family or private token remains invalid. Bindings are scoped
153
153
  to their actual root; portals outside it need deliberate project integration.
154
154
 
155
+ A registered binding producer may combine two accessible color references as
156
+ `light-dark(var(--light-token), var(--dark-token))`. The App paint audit checks
157
+ both branches and their observed effect in the active color scheme. Raw colors,
158
+ unknown/private tokens and SVG URLs inside this color function remain invalid.
159
+ This derived binding form does not widen public paint-input types; use constrained
160
+ references for each theme input and verify both color schemes in browser checks.
161
+
155
162
  The App audit checks current mounted instances, accessible values, local SVG
156
163
  resources and computed paint-property responses. Visibility and complete rendered
157
164
  output still need assertions in the registered browser checks. It rejects missing/duplicate IDs and reports unobserved written values separately. It is bounded to 100 families, 20 instances per family, 100 keys
@@ -28,6 +28,16 @@ as passing evidence for the live project.
28
28
  draft argument. There is no dedicated selected-check runner for drafts yet.
29
29
  Use a dry-run transaction for genuinely coupled draft patches.
30
30
 
31
+ Build notifications are deferred until the showcase finishes initial discovery;
32
+ a preview cannot be opened with an incomplete tool list. A missing App tool is a
33
+ host-startup failure, not evidence that component behavior failed. Preserve the
34
+ draft and inspect the host diagnostic.
35
+
36
+ Registered project scripts default to 60 seconds each. A guarded configuration
37
+ change can set `mcp.mutationCheckTimeoutMs` (100–300000 ms) after measuring build
38
+ duration and contention. Timeouts name the command, budget and elapsed time;
39
+ behavior-profile budgets are separate. Do not drop checks to fit either budget.
40
+
31
41
  Behavior-run performance belongs to both orchestration and project checks. ADS
32
42
  selects affected owners, filters registered Playwright case tags and shares one
33
43
  candidate host per run. The project owns assertions, browser setup, worker count,
@@ -152,6 +152,13 @@ cannot be established. Registered paint consumers list their allowed binding IDs
152
152
  borrowing a peer's family or private token remains invalid. Bindings are scoped
153
153
  to their actual root; portals outside it need deliberate project integration.
154
154
 
155
+ A registered binding producer may combine two accessible color references as
156
+ `light-dark(var(--light-token), var(--dark-token))`. The App paint audit checks
157
+ both branches and their observed effect in the active color scheme. Raw colors,
158
+ unknown/private tokens and SVG URLs inside this color function remain invalid.
159
+ This derived binding form does not widen public paint-input types; use constrained
160
+ references for each theme input and verify both color schemes in browser checks.
161
+
155
162
  The App audit checks current mounted instances, accessible values, local SVG
156
163
  resources and computed paint-property responses. Visibility and complete rendered
157
164
  output still need assertions in the registered browser checks. It rejects missing/duplicate IDs and reports unobserved written values separately. It is bounded to 100 families, 20 instances per family, 100 keys
@@ -28,6 +28,16 @@ as passing evidence for the live project.
28
28
  draft argument. There is no dedicated selected-check runner for drafts yet.
29
29
  Use a dry-run transaction for genuinely coupled draft patches.
30
30
 
31
+ Build notifications are deferred until the showcase finishes initial discovery;
32
+ a preview cannot be opened with an incomplete tool list. A missing App tool is a
33
+ host-startup failure, not evidence that component behavior failed. Preserve the
34
+ draft and inspect the host diagnostic.
35
+
36
+ Registered project scripts default to 60 seconds each. A guarded configuration
37
+ change can set `mcp.mutationCheckTimeoutMs` (100–300000 ms) after measuring build
38
+ duration and contention. Timeouts name the command, budget and elapsed time;
39
+ behavior-profile budgets are separate. Do not drop checks to fit either budget.
40
+
31
41
  Behavior-run performance belongs to both orchestration and project checks. ADS
32
42
  selects affected owners, filters registered Playwright case tags and shares one
33
43
  candidate host per run. The project owns assertions, browser setup, worker count,
@@ -152,6 +152,13 @@ cannot be established. Registered paint consumers list their allowed binding IDs
152
152
  borrowing a peer's family or private token remains invalid. Bindings are scoped
153
153
  to their actual root; portals outside it need deliberate project integration.
154
154
 
155
+ A registered binding producer may combine two accessible color references as
156
+ `light-dark(var(--light-token), var(--dark-token))`. The App paint audit checks
157
+ both branches and their observed effect in the active color scheme. Raw colors,
158
+ unknown/private tokens and SVG URLs inside this color function remain invalid.
159
+ This derived binding form does not widen public paint-input types; use constrained
160
+ references for each theme input and verify both color schemes in browser checks.
161
+
155
162
  The App audit checks current mounted instances, accessible values, local SVG
156
163
  resources and computed paint-property responses. Visibility and complete rendered
157
164
  output still need assertions in the registered browser checks. It rejects missing/duplicate IDs and reports unobserved written values separately. It is bounded to 100 families, 20 instances per family, 100 keys
@@ -28,6 +28,16 @@ as passing evidence for the live project.
28
28
  draft argument. There is no dedicated selected-check runner for drafts yet.
29
29
  Use a dry-run transaction for genuinely coupled draft patches.
30
30
 
31
+ Build notifications are deferred until the showcase finishes initial discovery;
32
+ a preview cannot be opened with an incomplete tool list. A missing App tool is a
33
+ host-startup failure, not evidence that component behavior failed. Preserve the
34
+ draft and inspect the host diagnostic.
35
+
36
+ Registered project scripts default to 60 seconds each. A guarded configuration
37
+ change can set `mcp.mutationCheckTimeoutMs` (100–300000 ms) after measuring build
38
+ duration and contention. Timeouts name the command, budget and elapsed time;
39
+ behavior-profile budgets are separate. Do not drop checks to fit either budget.
40
+
31
41
  Behavior-run performance belongs to both orchestration and project checks. ADS
32
42
  selects affected owners, filters registered Playwright case tags and shares one
33
43
  candidate host per run. The project owns assertions, browser setup, worker count,
@@ -17,6 +17,8 @@ function auditPaintBindings({ container = document.getElementById("root"), bindi
17
17
  const resolved = view.getComputedStyle(node).getPropertyValue(name).trim();
18
18
  return !!resolved && view.CSS.supports("color", resolved);
19
19
  }
20
+ const themed = /^light-dark\(\s*(var\(\s*--[\w-]+\s*\)|currentColor)\s*,\s*(var\(\s*--[\w-]+\s*\)|currentColor)\s*\)$/.exec(value);
21
+ if (themed) return view.CSS.supports("color", value) && reference(themed[1], node, descriptor, seen) && reference(themed[2], node, descriptor, seen);
20
22
  const resource = /^url\(\s*(["']?)#([^\s"'()#\\\p{Cc}]+)\1\s*\)$/u.exec(value);
21
23
  if (resource && view.CSS.supports("fill", value)) {
22
24
  const candidates = [...document2.querySelectorAll("[id]")].filter((item) => item.id === resource[2]);
package/docs/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.3.24
6
+
7
+ - Audit derived `light-dark()` bindings when both branches are accessible
8
+ constrained color references; verify both schemes without allowing raw colors.
9
+
10
+ - Defer showcase build notifications until initial discovery completes, preventing
11
+ false missing-App-tool startup failures in candidate verification.
12
+ - Allow a bounded, explicit `mcp.mutationCheckTimeoutMs` for registered project
13
+ scripts; retain the 60-second default and report command/budget/elapsed time.
14
+
5
15
  ## 0.3.23
6
16
 
7
17
  - Preserve directory ownership when its last legacy composition/scenario entries
package/docs/GUIDE.md CHANGED
@@ -403,7 +403,9 @@ input/configuration or execution errors.
403
403
 
404
404
  Guarded MCP editing is opt-in. Its mandatory checks and optional project
405
405
  `mcp.mutationChecks` scripts run in a temporary project copy with installed
406
- dependencies. See the [editing contract](MCP.md#guarded-editing) for unit ownership,
406
+ dependencies. Project scripts default to 60 seconds each; use the explicit
407
+ `mcp.mutationCheckTimeoutMs` budget (100–300000 ms) for measured slower builds.
408
+ Behavior profiles have a separate whole-run budget. See the [editing contract](MCP.md#guarded-editing) for unit ownership,
407
409
  Git patches, bounded reads and preview review. Keep normal build gates enabled
408
410
  for edits made by other tools.
409
411
 
package/docs/MCP.md CHANGED
@@ -547,7 +547,7 @@ rules, including warnings. By default it also runs available `lint:project`
547
547
  additional list through project-owned configuration:
548
548
 
549
549
  ```json
550
- { "mcp": { "mutationChecks": ["lint", "typecheck", "build:mcp-previews"] } }
550
+ { "mcp": { "mutationChecks": ["lint", "typecheck", "build:mcp-previews"], "mutationCheckTimeoutMs": 120000 } }
551
551
  ```
552
552
 
553
553
  Every listed script must exist. An empty list still runs mandatory ADS and Oxlint
@@ -557,8 +557,11 @@ sandbox. An explicit `configuration` patch can change project commands, register
557
557
  rules and reviewed exceptions; validation runs the proposed configuration and
558
558
  scripts. Mandatory core and generated Oxlint checks still run on every write.
559
559
  Configuration changes cannot bundle unrelated component edits. Checks that
560
- rewrite source are rejected. Each command has a 60-second limit; the diagnostic
561
- explorer allows up to 15 minutes for the complete request.
560
+ rewrite source are rejected. Each registered project script defaults to a
561
+ 60-second limit. `mcp.mutationCheckTimeoutMs` sets its explicit budget
562
+ (100–300000 ms); it does not change mandatory gates or behavior-profile budgets.
563
+ Timeout diagnostics identify the command, configured budget and elapsed time.
564
+ The diagnostic explorer allows up to 15 minutes for the complete request.
562
565
 
563
566
  Ordinary source and asset files owned by the selected unit are editable. Generated
564
567
  outputs, dependency directories, Git metadata and symlink/hardlink targets are
@@ -1084,3 +1087,10 @@ then use the existing diff and guarded dry-run/apply workflow. It does not write
1084
1087
  live source, loosen policy or add a second contract-editing protocol. See
1085
1088
  [CONTRACTS.md](CONTRACTS.md) for the static schema, compatibility and browser audits.
1086
1089
  The same guide is available at `ads://guides/contracts`.
1090
+
1091
+ A registered binding producer may combine two accessible color references as
1092
+ `light-dark(var(--light-token), var(--dark-token))`. The App paint audit checks
1093
+ both branches and their observed effect in the active color scheme. Raw colors,
1094
+ unknown/private tokens and SVG URLs inside this color function remain invalid.
1095
+ This derived binding form does not widen public paint-input types; use constrained
1096
+ references for each theme input and verify both color schemes in browser checks.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reqvire-org/ads",
3
- "version": "0.3.23",
3
+ "version": "0.3.24",
4
4
  "type": "module",
5
5
  "description": "A design system your agent can see and shape. Your components. Your look. Your code.",
6
6
  "repository": {