my-frontend-observer 0.2.0 → 0.4.0
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.
- package/CHANGELOG.md +102 -0
- package/README.md +51 -13
- package/dist/application/comparisonService.d.ts +56 -0
- package/dist/application/comparisonService.js +77 -0
- package/dist/application/comparisonService.js.map +1 -0
- package/dist/application/observationPersistence.js +1 -0
- package/dist/application/observationPersistence.js.map +1 -1
- package/dist/artifacts/artifactReader.d.ts +19 -0
- package/dist/artifacts/artifactReader.js +36 -0
- package/dist/artifacts/artifactReader.js.map +1 -0
- package/dist/artifacts/comparisonArtifactWriter.d.ts +41 -0
- package/dist/artifacts/comparisonArtifactWriter.js +67 -0
- package/dist/artifacts/comparisonArtifactWriter.js.map +1 -0
- package/dist/browser/chromiumAdapter.js +58 -4
- package/dist/browser/chromiumAdapter.js.map +1 -1
- package/dist/browser/evidenceCapture.d.ts +29 -2
- package/dist/browser/evidenceCapture.js +43 -19
- package/dist/browser/evidenceCapture.js.map +1 -1
- package/dist/browser/scrollCapture.d.ts +32 -0
- package/dist/browser/scrollCapture.js +163 -0
- package/dist/browser/scrollCapture.js.map +1 -0
- package/dist/browser/types.d.ts +3 -1
- package/dist/cli.js +299 -2
- package/dist/cli.js.map +1 -1
- package/dist/domain/comparison.d.ts +198 -0
- package/dist/domain/comparison.js +324 -0
- package/dist/domain/comparison.js.map +1 -0
- package/dist/domain/comparisonEngine.d.ts +48 -0
- package/dist/domain/comparisonEngine.js +694 -0
- package/dist/domain/comparisonEngine.js.map +1 -0
- package/dist/domain/comparisonIdentity.d.ts +13 -0
- package/dist/domain/comparisonIdentity.js +46 -0
- package/dist/domain/comparisonIdentity.js.map +1 -0
- package/dist/domain/evidence.d.ts +2 -0
- package/dist/domain/evidence.js +4 -0
- package/dist/domain/evidence.js.map +1 -1
- package/dist/domain/identity.d.ts +8 -3
- package/dist/domain/identity.js +9 -3
- package/dist/domain/identity.js.map +1 -1
- package/dist/domain/relationships.d.ts +168 -0
- package/dist/domain/relationships.js +343 -0
- package/dist/domain/relationships.js.map +1 -0
- package/dist/domain/schema.d.ts +116 -2
- package/dist/domain/schema.js +186 -2
- package/dist/domain/schema.js.map +1 -1
- package/dist/domain/scrollEvidence.d.ts +51 -0
- package/dist/domain/scrollEvidence.js +134 -0
- package/dist/domain/scrollEvidence.js.map +1 -0
- package/dist/index.d.ts +17 -4
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/request/request.d.ts +29 -0
- package/dist/request/request.js +108 -0
- package/dist/request/request.js.map +1 -1
- package/docs/ARCHITECTURE.md +110 -4
- package/docs/CI_CD.md +62 -6
- package/docs/COMMANDS.md +247 -6
- package/docs/CONTRACTS.md +172 -7
- package/docs/CURRENT_STATE.md +148 -10
- package/docs/DEVELOPMENT.md +52 -12
- package/docs/PROJECT_OVERVIEW.md +18 -11
- package/docs/QUICKSTART.md +7 -1
- package/docs/RELEASE.md +14 -7
- package/docs/ROADMAP.md +9 -0
- package/docs/SECURITY.md +14 -1
- package/docs/WORKFLOWS.md +90 -22
- package/package.json +1 -1
package/dist/request/request.js
CHANGED
|
@@ -33,6 +33,15 @@ const SUPPORTED_SEMANTIC_ELEMENT_TAGS = new Set([
|
|
|
33
33
|
'dialog',
|
|
34
34
|
]);
|
|
35
35
|
const SUPPORTED_LOCATOR_KINDS = new Set(['role', 'id', 'data-attribute', 'semantic-element', 'css', 'text']);
|
|
36
|
+
const SUPPORTED_SCROLL_ACTION_KINDS = new Set(['window-scroll-by', 'target-scroll-by']);
|
|
37
|
+
/**
|
|
38
|
+
* Conservative bound for a single controlled-observation scroll action. No
|
|
39
|
+
* existing repository precedent for a scroll-delta magnitude; chosen large
|
|
40
|
+
* enough to reach realistic overflow content (documents/containers well
|
|
41
|
+
* beyond one viewport) while staying far short of a pathological/runaway
|
|
42
|
+
* request - see docs/CONTRACTS.md and tests/unit/request.test.ts.
|
|
43
|
+
*/
|
|
44
|
+
export const SCROLL_DELTA_MAX_ABS = 20000;
|
|
36
45
|
function isPlainObject(value) {
|
|
37
46
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
38
47
|
}
|
|
@@ -148,6 +157,93 @@ function validateLocator(raw, targetName, index) {
|
|
|
148
157
|
return { ok: false, diagnostics: [{ code: 'invalid-request', severity: 'error', message: `locator at index ${index} has an unsupported kind`, targetName }] };
|
|
149
158
|
}
|
|
150
159
|
}
|
|
160
|
+
function isFiniteInteger(value) {
|
|
161
|
+
return typeof value === 'number' && Number.isInteger(value);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Validates the optional v0.3 scrollScenario request shape. `configuredTargetNames`
|
|
165
|
+
* is the lowercase set of already-normalized target names so `target-scroll-by`
|
|
166
|
+
* can only reference an existing stable observer target (never a new/implicit
|
|
167
|
+
* one). Total: collects every applicable diagnostic before returning; never
|
|
168
|
+
* throws.
|
|
169
|
+
*/
|
|
170
|
+
function validateScrollScenario(raw, configuredTargetNames) {
|
|
171
|
+
if (!isPlainObject(raw)) {
|
|
172
|
+
return { ok: false, diagnostics: [{ code: 'invalid-request', severity: 'error', message: 'scrollScenario must be an object' }] };
|
|
173
|
+
}
|
|
174
|
+
const extraScenarioKeys = Object.keys(raw).filter((key) => key !== 'action');
|
|
175
|
+
if (extraScenarioKeys.length > 0) {
|
|
176
|
+
return {
|
|
177
|
+
ok: false,
|
|
178
|
+
diagnostics: [{ code: 'invalid-request', severity: 'error', message: `scrollScenario has unsupported field(s): ${extraScenarioKeys.join(', ')}` }],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
const action = raw.action;
|
|
182
|
+
if (!isPlainObject(action)) {
|
|
183
|
+
return { ok: false, diagnostics: [{ code: 'invalid-request', severity: 'error', message: 'scrollScenario.action must be an object' }] };
|
|
184
|
+
}
|
|
185
|
+
const kind = action.kind;
|
|
186
|
+
if (typeof kind !== 'string' || !SUPPORTED_SCROLL_ACTION_KINDS.has(kind)) {
|
|
187
|
+
return {
|
|
188
|
+
ok: false,
|
|
189
|
+
diagnostics: [
|
|
190
|
+
{ code: 'invalid-request', severity: 'error', message: `scrollScenario.action.kind must be one of ${[...SUPPORTED_SCROLL_ACTION_KINDS].join(', ')}` },
|
|
191
|
+
],
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
const allowedActionKeys = kind === 'target-scroll-by' ? ['kind', 'target', 'deltaX', 'deltaY'] : ['kind', 'deltaX', 'deltaY'];
|
|
195
|
+
const extraActionKeys = Object.keys(action).filter((key) => !allowedActionKeys.includes(key));
|
|
196
|
+
if (extraActionKeys.length > 0) {
|
|
197
|
+
return {
|
|
198
|
+
ok: false,
|
|
199
|
+
diagnostics: [{ code: 'invalid-request', severity: 'error', message: `scrollScenario.action has unsupported field(s): ${extraActionKeys.join(', ')}` }],
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
const deltaDiagnostics = [];
|
|
203
|
+
if (!isFiniteInteger(action.deltaX) || Math.abs(action.deltaX) > SCROLL_DELTA_MAX_ABS) {
|
|
204
|
+
deltaDiagnostics.push({
|
|
205
|
+
code: 'invalid-request',
|
|
206
|
+
severity: 'error',
|
|
207
|
+
message: `scrollScenario.action.deltaX must be an integer in [-${SCROLL_DELTA_MAX_ABS}, ${SCROLL_DELTA_MAX_ABS}]`,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
if (!isFiniteInteger(action.deltaY) || Math.abs(action.deltaY) > SCROLL_DELTA_MAX_ABS) {
|
|
211
|
+
deltaDiagnostics.push({
|
|
212
|
+
code: 'invalid-request',
|
|
213
|
+
severity: 'error',
|
|
214
|
+
message: `scrollScenario.action.deltaY must be an integer in [-${SCROLL_DELTA_MAX_ABS}, ${SCROLL_DELTA_MAX_ABS}]`,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
if (deltaDiagnostics.length > 0) {
|
|
218
|
+
return { ok: false, diagnostics: deltaDiagnostics };
|
|
219
|
+
}
|
|
220
|
+
const deltaX = action.deltaX;
|
|
221
|
+
const deltaY = action.deltaY;
|
|
222
|
+
if (deltaX === 0 && deltaY === 0) {
|
|
223
|
+
return {
|
|
224
|
+
ok: false,
|
|
225
|
+
diagnostics: [{ code: 'invalid-request', severity: 'error', message: 'scrollScenario.action requires a non-zero deltaX or deltaY' }],
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
if (kind === 'window-scroll-by') {
|
|
229
|
+
return { ok: true, scenario: { action: { kind: 'window-scroll-by', deltaX, deltaY } } };
|
|
230
|
+
}
|
|
231
|
+
if (typeof action.target !== 'string' || action.target.length === 0) {
|
|
232
|
+
return {
|
|
233
|
+
ok: false,
|
|
234
|
+
diagnostics: [{ code: 'invalid-request', severity: 'error', message: 'scrollScenario.action.target is required for target-scroll-by' }],
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
if (!configuredTargetNames.has(action.target.toLowerCase())) {
|
|
238
|
+
return {
|
|
239
|
+
ok: false,
|
|
240
|
+
diagnostics: [
|
|
241
|
+
{ code: 'invalid-request', severity: 'error', message: 'scrollScenario.action.target must reference a configured target', targetName: action.target },
|
|
242
|
+
],
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
return { ok: true, scenario: { action: { kind: 'target-scroll-by', target: action.target, deltaX, deltaY } } };
|
|
246
|
+
}
|
|
151
247
|
/**
|
|
152
248
|
* Total, never throws. Collects every applicable diagnostic before returning
|
|
153
249
|
* (does not short-circuit on the first violation) so callers see every
|
|
@@ -326,6 +422,17 @@ export function normalizeRequest(raw) {
|
|
|
326
422
|
}
|
|
327
423
|
}
|
|
328
424
|
}
|
|
425
|
+
let scrollScenario;
|
|
426
|
+
if (raw.scrollScenario !== undefined) {
|
|
427
|
+
const configuredTargetNames = new Set(targets.map((target) => target.name.toLowerCase()));
|
|
428
|
+
const validated = validateScrollScenario(raw.scrollScenario, configuredTargetNames);
|
|
429
|
+
if (validated.ok) {
|
|
430
|
+
scrollScenario = validated.scenario;
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
diagnostics.push(...validated.diagnostics);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
329
436
|
if (diagnostics.length > 0 || targetUrl === undefined) {
|
|
330
437
|
return { ok: false, diagnostics: orderDiagnostics(diagnostics) };
|
|
331
438
|
}
|
|
@@ -338,6 +445,7 @@ export function normalizeRequest(raw) {
|
|
|
338
445
|
outputLocation,
|
|
339
446
|
timeoutMs,
|
|
340
447
|
readiness: { condition: readinessCondition, timeoutMs: readinessTimeoutMs },
|
|
448
|
+
...(scrollScenario ? { scrollScenario } : {}),
|
|
341
449
|
},
|
|
342
450
|
};
|
|
343
451
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"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"}
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Current scaffold architecture
|
|
4
4
|
|
|
5
5
|
The current repository is one published TypeScript ESM package
|
|
6
|
-
(`my-frontend-observer@0.
|
|
6
|
+
(`my-frontend-observer@0.4.0`):
|
|
7
7
|
|
|
8
8
|
- `src/cli.ts` is the real, thin `observe` command entry point (argument
|
|
9
9
|
parsing/output only).
|
|
@@ -45,10 +45,10 @@ Playwright or the filesystem-write path directly. Batch 6 closed the
|
|
|
45
45
|
remaining real-Chromium coverage gap (a genuine navigation failure, distinct
|
|
46
46
|
from a readiness timeout or a pre-launch safety rejection) and validated the
|
|
47
47
|
packed npm tarball end to end in a clean consumer environment, independent
|
|
48
|
-
of the source checkout.
|
|
49
|
-
behavior.
|
|
48
|
+
of the source checkout. At the end of the v0.1 implementation there was no
|
|
49
|
+
controlled-scroll or comparison behavior.
|
|
50
50
|
|
|
51
|
-
## Current v0.2 architecture (
|
|
51
|
+
## Current v0.2 architecture (released/current architecture)
|
|
52
52
|
|
|
53
53
|
v0.2 extends the same architecture rather than adding a parallel one.
|
|
54
54
|
`src/request/request.ts` now owns a canonical `{name, locators}` target
|
|
@@ -75,6 +75,112 @@ observation use case, and Playwright objects still never leave
|
|
|
75
75
|
overall boundary chain (`CLI → normalizeRequest → observe() →
|
|
76
76
|
runBrowserCapture → artifact writer`) are unchanged from v0.1.
|
|
77
77
|
|
|
78
|
+
## Current v0.3 architecture (released/current architecture)
|
|
79
|
+
|
|
80
|
+
v0.3 extends the same single-observation architecture again; it does not add
|
|
81
|
+
a second browser lifecycle, target resolver, or artifact path.
|
|
82
|
+
`src/request/request.ts` adds one optional `scrollScenario` field to
|
|
83
|
+
`NormalizedObservationRequest` (`ScrollScenario { action }`, exactly
|
|
84
|
+
`window-scroll-by` or `target-scroll-by`); `src/domain/schema.ts` adds the
|
|
85
|
+
matching bounded runtime evidence types (`ScrollRuntimeSnapshot`,
|
|
86
|
+
`ViewportRelationEvidence`, `OverflowEvidence`, `ScrollScenarioTransition`,
|
|
87
|
+
`ScrollOwnerInterpretation`) and structural validation for schema `1.2.0`
|
|
88
|
+
(additive over `1.1.0`). `src/domain/scrollEvidence.ts` holds the pure,
|
|
89
|
+
browser-independent derivations (viewport relation, actual overflow,
|
|
90
|
+
transitions, and `deriveScrollOwner`) so they are unit-testable without
|
|
91
|
+
Chromium. `src/browser/scrollCapture.ts` holds the one browser-side scenario
|
|
92
|
+
capture module: it reuses `evidenceCapture.ts#resolveConfiguredTargets` (now
|
|
93
|
+
exported) to resolve configured targets exactly once, captures an initial
|
|
94
|
+
`ScrollRuntimeSnapshot`, performs the one immediate scroll
|
|
95
|
+
(`window.scrollBy`/`element.scrollBy`, both `behavior: 'instant'`), waits
|
|
96
|
+
exactly two `requestAnimationFrame` cycles, and captures a final snapshot -
|
|
97
|
+
all inside `chromiumAdapter.ts#captureViewportInternal`'s existing single
|
|
98
|
+
navigate → ready → capture flow, strictly before the unchanged
|
|
99
|
+
screenshot/`capturePageEvidence`/`captureTargetEvidence` calls, so every
|
|
100
|
+
downstream capture (including a no-scenario request, which skips this block
|
|
101
|
+
entirely) describes only the final state. `src/cli.ts` gained one CLI/input-
|
|
102
|
+
boundary-only addition, `--scroll-scenario-file`: mirroring
|
|
103
|
+
`--targets-file`, it reads and validates only the file readability/JSON-
|
|
104
|
+
validity/non-array-object-root shape and hands the parsed value straight
|
|
105
|
+
into `RawObservationRequest.scrollScenario` - every scenario/action rule
|
|
106
|
+
(kind, deltas, target reference) stays owned by `normalizeRequest()`. There
|
|
107
|
+
is still one canonical `observe()` application use case and one artifact
|
|
108
|
+
writer; `scrollScenarioEvidence` is simply one more optional field on the
|
|
109
|
+
same `ObservationArtifact`.
|
|
110
|
+
|
|
111
|
+
## Current v0.4 architecture (released/current architecture)
|
|
112
|
+
|
|
113
|
+
v0.4 adds one new downstream pipeline that consumes `ObservationArtifact`
|
|
114
|
+
values rather than producing them - it never adds a second browser lifecycle,
|
|
115
|
+
target resolver, or observation engine:
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
ObservationArtifact before ObservationArtifact after
|
|
119
|
+
\ /
|
|
120
|
+
`--------. .-------'
|
|
121
|
+
\ /
|
|
122
|
+
artifact reader (src/artifacts/artifactReader.ts)
|
|
123
|
+
↓
|
|
124
|
+
comparability evaluation (src/domain/comparisonEngine.ts)
|
|
125
|
+
↓
|
|
126
|
+
canonical relationship derivation, called for each side independently
|
|
127
|
+
(src/domain/relationships.ts#deriveLayoutRelationships)
|
|
128
|
+
↓
|
|
129
|
+
canonical comparison derivation
|
|
130
|
+
(src/domain/comparisonEngine.ts#compareObservations)
|
|
131
|
+
↓
|
|
132
|
+
ComparisonArtifact
|
|
133
|
+
↓
|
|
134
|
+
atomic comparison writer (src/artifacts/comparisonArtifactWriter.ts)
|
|
135
|
+
|
|
136
|
+
CLI `compare`
|
|
137
|
+
↓
|
|
138
|
+
application service only (src/application/comparisonService.ts)
|
|
139
|
+
↓
|
|
140
|
+
[reader → domain comparison → writer, as above]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
`src/domain/relationships.ts` froze the layout-relationship contract and
|
|
144
|
+
implements the one canonical pure derivation,
|
|
145
|
+
`deriveLayoutRelationships(observation, options?)`: horizontal/vertical
|
|
146
|
+
order, area overlap, relative width, geometric fit, vertical sequencing,
|
|
147
|
+
page-width fit/exceeds, and a standalone `deriveTargetClipping(record)` -
|
|
148
|
+
all computed only from an already-captured `ObservationArtifact`'s own
|
|
149
|
+
`targetEvidence`/`pageEvidence`, never from a second browser query. DOM
|
|
150
|
+
containment is read directly from the existing v0.2 `TargetContainment`
|
|
151
|
+
evidence rather than re-derived, and stays a distinct concept from
|
|
152
|
+
geometric fit.
|
|
153
|
+
|
|
154
|
+
`src/domain/comparisonEngine.ts` implements the one canonical pure
|
|
155
|
+
before/after engine, `compareObservations(before, after, config?)`:
|
|
156
|
+
validates both source artifacts, evaluates comparability *before* any
|
|
157
|
+
rendered difference is calculated, calls `deriveLayoutRelationships` once
|
|
158
|
+
per side with the same tolerance, and derives target/page differences and
|
|
159
|
+
relationship changes. `src/artifacts/comparisonArtifactWriter.ts` persists
|
|
160
|
+
the result atomically (sibling temp directory, then one rename) as
|
|
161
|
+
`<outputLocation>/<comparisonId>/manifest.json` only - no screenshot is
|
|
162
|
+
copied; the manifest's `before`/`after` references point back to the
|
|
163
|
+
source observations' own `screenshot.path`. `src/application/
|
|
164
|
+
comparisonService.ts` is the one application-layer seam: `compareAndPersist`
|
|
165
|
+
takes two in-memory `ObservationArtifact`s and does exactly one comparison
|
|
166
|
+
plus exactly one persist; `compareAndPersistFromArtifactRoots` is a thin
|
|
167
|
+
wrapper that additionally reads both sides from disk via the existing
|
|
168
|
+
`src/artifacts/artifactReader.ts#readObservationArtifact` reader (itself
|
|
169
|
+
just a `manifest.json` parse plus the same `isValidObservationArtifact`
|
|
170
|
+
structural gate the writer uses).
|
|
171
|
+
|
|
172
|
+
`src/cli.ts` gained one new top-level command, `compare`
|
|
173
|
+
(`--before`/`--after`/`--output`/`--config-file`), implemented with the same
|
|
174
|
+
thin-CLI-boundary discipline as `observe`: `parseCompareArgs` handles only
|
|
175
|
+
argument shape/duplication, an optional `loadComparisonConfigFile` reads and
|
|
176
|
+
validates only file readability/JSON-validity/non-array-object-root (exactly
|
|
177
|
+
like `--targets-file`/`--scroll-scenario-file`), and the command body calls
|
|
178
|
+
`compareAndPersistFromArtifactRoots` exactly once. **The CLI's comparison
|
|
179
|
+
path never launches Chromium** - `src/cli.ts` imports nothing from
|
|
180
|
+
`src/browser/` or `src/artifacts/` (it only reaches persistence and artifact
|
|
181
|
+
reading indirectly, through the application-layer seam above), matching the
|
|
182
|
+
same import-boundary discipline already enforced for `observe`.
|
|
183
|
+
|
|
78
184
|
## Planned v0.1 architecture constraints
|
|
79
185
|
|
|
80
186
|
v0.1 planning must preserve these approved boundaries without treating module
|
package/docs/CI_CD.md
CHANGED
|
@@ -16,14 +16,20 @@ by a pull request into `master`). It has two phases:
|
|
|
16
16
|
ever builds its own tarball), installs Chromium via the installed
|
|
17
17
|
package's own Playwright dependency, and runs
|
|
18
18
|
`scripts/ci/runPackedObservationSmoke.mjs` against the installed
|
|
19
|
-
tarball: real Chromium observations against a disposable local HTTP
|
|
20
|
-
target
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
targets-file
|
|
19
|
+
tarball: four real Chromium observations against a disposable local HTTP
|
|
20
|
+
target - the legacy `--target` CSS shorthand, the structured
|
|
21
|
+
`--targets-file` semantic-target path (`role`+accessible-name and `text`
|
|
22
|
+
locators, landmark evidence), a `--scroll-scenario-file` `window-scroll-by`
|
|
23
|
+
scenario, and a combined `--targets-file` + `--scroll-scenario-file`
|
|
24
|
+
`target-scroll-by` scenario against a nested scrollable container - all
|
|
25
|
+
asserting schema `1.2.0`, real scroll-position movement, derived
|
|
26
|
+
scroll-owner evidence (`document`/`target:<name>`), scenario transition
|
|
27
|
+
evidence, targets-file/scroll-scenario-file path privacy, and target
|
|
28
|
+
immutability.
|
|
24
29
|
|
|
25
30
|
This proves the same packaged candidate installs and performs a real
|
|
26
|
-
observation - CSS-shorthand
|
|
31
|
+
observation - CSS-shorthand, semantic-target, and v0.3 scroll-scenario alike
|
|
32
|
+
(both `window-scroll-by` and `target-scroll-by`) - on Windows, Linux, and
|
|
27
33
|
macOS, not just in the source checkout.
|
|
28
34
|
|
|
29
35
|
There is no automated npm publication and no automated GitHub Release
|
|
@@ -40,3 +46,53 @@ matrix. This was proven on `validation/v0.2-pre-release`
|
|
|
40
46
|
(`2a0718c37cfe6988fc5d9852db455b99aa8238af`), GitHub Actions run
|
|
41
47
|
`31537578062`, which passed on Windows, Linux, and macOS using one
|
|
42
48
|
hash-verified candidate tarball.
|
|
49
|
+
|
|
50
|
+
## v0.3 readiness coverage
|
|
51
|
+
|
|
52
|
+
The packed-candidate readiness gap that previously existed for the v0.3
|
|
53
|
+
`--scroll-scenario-file` public interface - identified during the v0.3
|
|
54
|
+
implementation-completeness audit as `V0_3_READINESS_VALIDATION_GAP_EXISTS`
|
|
55
|
+
- has been closed: `scripts/ci/runPackedObservationSmoke.mjs` now also
|
|
56
|
+
performs a real `window-scroll-by` observation and a real `target-scroll-by`
|
|
57
|
+
observation (against a nested scrollable fixture container, combined with
|
|
58
|
+
`--targets-file`) through the installed tarball, asserting schema `1.2.0`,
|
|
59
|
+
actual scroll movement, `document`/`target:<name>` scroll-owner evidence
|
|
60
|
+
with `derivedFrom` provenance, scenario transition evidence, and that
|
|
61
|
+
neither the `--targets-file` nor the `--scroll-scenario-file` local path is
|
|
62
|
+
ever persisted into the manifest - on every platform in the matrix, using
|
|
63
|
+
the same single hash-verified candidate tarball as the legacy/semantic
|
|
64
|
+
observations. This was proven on `validation/v0.3-pre-release`
|
|
65
|
+
(`e59621c2fb5a6d74f491a63dc79ebe6e8b62c175`), GitHub Actions run
|
|
66
|
+
`31591920744`, which passed on Windows, Linux, and macOS using one
|
|
67
|
+
hash-verified candidate tarball (SHA-256
|
|
68
|
+
`da6cbc18a98d005b84a2f12c06f5c01d390006b53c02176a6c9cdc6d9b9d24d0`) - the
|
|
69
|
+
release candidate for `v0.3.0`.
|
|
70
|
+
|
|
71
|
+
## v0.4 readiness coverage
|
|
72
|
+
|
|
73
|
+
The packed-candidate readiness gap that previously existed for the v0.4
|
|
74
|
+
`compare` public command - identified during the v0.4 implementation/
|
|
75
|
+
documentation audit as `V0_4_READINESS_VALIDATION_GAP_EXISTS` - has been
|
|
76
|
+
closed: `scripts/ci/runPackedObservationSmoke.mjs` now also installs the
|
|
77
|
+
candidate tarball, observes a deterministic before/after fixture through
|
|
78
|
+
the installed `observe`, and runs the installed `compare` against both
|
|
79
|
+
resulting artifacts, asserting (through the *installed package's own*
|
|
80
|
+
exported `isValidComparisonArtifact`/`isValidObservationArtifact`, resolved
|
|
81
|
+
from the consumer's own `node_modules` rather than the source checkout):
|
|
82
|
+
comparison artifact kind/schema `1.0.0`, a `comparable` result with a real
|
|
83
|
+
`moved`+`resized` target difference and a real relationship-family
|
|
84
|
+
transition (`does-not-overlap`→`overlaps` and `left-of`→
|
|
85
|
+
`horizontally-overlapping` simultaneously - the same pair the v0.4
|
|
86
|
+
relationship-family matching regression concerns), an explicit
|
|
87
|
+
`--config-file` non-causal dependency-evidence result, an `incomparable`
|
|
88
|
+
result (differing viewport) with the expected blocking comparability
|
|
89
|
+
reason and no fabricated ordinary differences, comparison-manifest path
|
|
90
|
+
privacy (no absolute operational path leakage), retained (never copied)
|
|
91
|
+
before/after screenshot references, a `manifest.json`-only comparison
|
|
92
|
+
directory, and byte-identical source-observation manifests/screenshots
|
|
93
|
+
before and after comparing - on every platform in the matrix, using the
|
|
94
|
+
same single hash-verified candidate tarball as the legacy/semantic/scroll
|
|
95
|
+
observations. This preserves every pre-existing v0.1-v0.3 packed
|
|
96
|
+
observation proof unchanged and adds the v0.4 proof additively, in the same
|
|
97
|
+
script and the same candidate, per the established same-candidate
|
|
98
|
+
architecture (no second `npm pack`, no per-platform rebuild).
|