@dailephd/my-frontend-observer 0.9.0 → 0.10.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 +25 -0
- package/README.md +17 -7
- package/dist/application/visualChangeAgentHandoffService.d.ts +28 -0
- package/dist/application/visualChangeAgentHandoffService.js +111 -0
- package/dist/application/visualChangeAgentHandoffService.js.map +1 -0
- package/dist/application/visualChangeProjectWorkflowService.d.ts +95 -0
- package/dist/application/visualChangeProjectWorkflowService.js +376 -0
- package/dist/application/visualChangeProjectWorkflowService.js.map +1 -0
- package/dist/application/visualChangeReviewService.d.ts +50 -0
- package/dist/application/visualChangeReviewService.js +69 -0
- package/dist/application/visualChangeReviewService.js.map +1 -0
- package/dist/application/visualChangeWorkflowPersistenceService.d.ts +26 -0
- package/dist/application/visualChangeWorkflowPersistenceService.js +15 -0
- package/dist/application/visualChangeWorkflowPersistenceService.js.map +1 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.d.ts +9 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.js +47 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.js.map +1 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.d.ts +20 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.js +41 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.js.map +1 -0
- package/dist/cli.js +510 -508
- package/dist/cli.js.map +1 -1
- package/dist/domain/visualChangeAgentHandoff.d.ts +82 -0
- package/dist/domain/visualChangeAgentHandoff.js +80 -0
- package/dist/domain/visualChangeAgentHandoff.js.map +1 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.d.ts +2 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.js +11 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.js.map +1 -0
- package/dist/domain/visualChangeCycle.d.ts +8 -0
- package/dist/domain/visualChangeCycle.js +7 -0
- package/dist/domain/visualChangeCycle.js.map +1 -0
- package/dist/domain/visualChangeWorkflow.d.ts +125 -0
- package/dist/domain/visualChangeWorkflow.js +109 -0
- package/dist/domain/visualChangeWorkflow.js.map +1 -0
- package/dist/domain/visualChangeWorkflowIdentity.d.ts +5 -0
- package/dist/domain/visualChangeWorkflowIdentity.js +24 -0
- package/dist/domain/visualChangeWorkflowIdentity.js.map +1 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/projectWorkflow/projectPaths.d.ts +3 -0
- package/dist/projectWorkflow/projectPaths.js +7 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -1
- package/dist/viewer/assets/index-DglJ6f28.css +1 -0
- package/dist/viewer/assets/index-DsODREY5.js +9 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/sw.js +1 -1
- package/dist/viewerServer/evidence/classify.d.ts +3 -1
- package/dist/viewerServer/evidence/classify.js +10 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -1
- package/dist/viewerServer/evidence/handles.js +1 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -1
- package/dist/viewerServer/evidence/projection.d.ts +5 -0
- package/dist/viewerServer/evidence/projection.js +19 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -1
- package/dist/viewerServer/evidence/visualChangeWorkflowView.d.ts +31 -0
- package/dist/viewerServer/evidence/visualChangeWorkflowView.js +36 -0
- package/dist/viewerServer/evidence/visualChangeWorkflowView.js.map +1 -0
- package/dist/viewerServer/httpServer.js +323 -1
- package/dist/viewerServer/httpServer.js.map +1 -1
- package/dist/viewerServer/referenceApproval.d.ts +22 -0
- package/dist/viewerServer/referenceApproval.js +42 -0
- package/dist/viewerServer/referenceApproval.js.map +1 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.d.ts +28 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.js +134 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.d.ts +33 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.js +81 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/visualChangeAuthoring.d.ts +46 -0
- package/dist/viewerServer/visualChangeAuthoring.js +63 -0
- package/dist/viewerServer/visualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/visualChangeHandoff.d.ts +23 -0
- package/dist/viewerServer/visualChangeHandoff.js +31 -0
- package/dist/viewerServer/visualChangeHandoff.js.map +1 -0
- package/dist/viewerServer/visualChangeReview.d.ts +30 -0
- package/dist/viewerServer/visualChangeReview.js +46 -0
- package/dist/viewerServer/visualChangeReview.js.map +1 -0
- package/docs/ARCHITECTURE.md +17 -5
- package/docs/CI_CD.md +33 -1
- package/docs/COMMANDS.md +19 -5
- package/docs/CONTRACTS.md +38 -4
- package/docs/CURRENT_STATE.md +92 -11
- package/docs/DEVELOPMENT.md +32 -2
- package/docs/PROJECT_MILESTONES.md +28 -0
- package/docs/PROJECT_OVERVIEW.md +36 -14
- package/docs/QUICKSTART.md +7 -3
- package/docs/RELEASE.md +15 -11
- package/docs/ROADMAP.md +55 -2
- package/docs/SECURITY.md +25 -3
- package/docs/WORKFLOWS.md +29 -3
- package/docs/plans/v0.10-implementation-plan.md +1509 -0
- package/docs/plans/v0.9.1-implementation-plan.md +468 -0
- package/docs/reports/v0.10-batch1-visual-change-workflow-foundation.md +102 -0
- package/docs/reports/v0.10-batch2-project-composition-check-recording.md +103 -0
- package/docs/reports/v0.10-batch3-viewer-visual-change-workspace.md +93 -0
- package/docs/reports/v0.10-batch4-actual-frontend-entry.md +59 -0
- package/docs/reports/v0.10-batch5-reference-driven-entry.md +238 -0
- package/docs/reports/v0.10-batch6-coding-agent-handoff.md +85 -0
- package/docs/reports/v0.10-batch7-correction-review-acceptance.md +145 -0
- package/docs/reports/v0.10-batch8-integrated-acceptance.md +109 -0
- package/docs/reports/v0.10-implementation-completeness-documentation-reconciliation.md +344 -0
- package/docs/reports/v0.10-pre-release-readiness.md +120 -0
- package/docs/reports/v0.10-release-preparation.md +70 -0
- package/docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md +359 -0
- package/docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md +262 -0
- package/docs/reports/v0.9.1-pre-release-readiness.md +206 -0
- package/package.json +3 -2
- package/dist/viewer/assets/index-BN41MI7m.css +0 -1
- package/dist/viewer/assets/index-CkKXnlrI.js +0 -9
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Architecture
|
|
2
2
|
|
|
3
|
+
## v0.10 visual workflow boundaries
|
|
4
|
+
|
|
5
|
+
`VisualChangeWorkflowArtifact` (`1.0.0`) is the only new persisted v0.10
|
|
6
|
+
family. It owns frozen scope, explicit activation/restoration, immutable
|
|
7
|
+
attempt and review revisions, and optional references to governance results.
|
|
8
|
+
The Viewer is the human workflow entry; `checkProject` remains the canonical
|
|
9
|
+
evaluator. `VisualChangeAgentHandoff` (`1.0.0`) is a generated, non-persisted
|
|
10
|
+
transfer contract. An external human or coding agent edits source. Optional
|
|
11
|
+
orchestrator metadata is traceability only and Observer never imports or runs
|
|
12
|
+
the orchestrator. Human acceptance is separate from baseline/reference
|
|
13
|
+
governance and never rewrites prior workflow evidence.
|
|
14
|
+
|
|
3
15
|
## v0.8.1 project workflow
|
|
4
16
|
|
|
5
17
|
Versioned project configuration (`1.0.0` compatibility plus current `1.1.0`
|
|
@@ -21,7 +33,7 @@ the workflow result remain in memory/presentation.
|
|
|
21
33
|
## Current package architecture
|
|
22
34
|
|
|
23
35
|
The current repository is one published TypeScript ESM package
|
|
24
|
-
(`@dailephd/my-frontend-observer@0.9.
|
|
36
|
+
(`@dailephd/my-frontend-observer@0.9.1`). The CLI remains
|
|
25
37
|
`my-frontend-observer`; the npm scope does not rename the product or artifact
|
|
26
38
|
identities.
|
|
27
39
|
|
|
@@ -369,7 +381,7 @@ lab code in this repository - those remain separate sibling-repository
|
|
|
369
381
|
responsibilities per the Milestone 6 ownership split in
|
|
370
382
|
`docs/PROJECT_MILESTONES.md`.
|
|
371
383
|
|
|
372
|
-
## v0.7
|
|
384
|
+
## v0.7-v0.10 reference-evidence architecture constraints
|
|
373
385
|
|
|
374
386
|
The external visual-reference capability (v0.7) is released as package
|
|
375
387
|
version `0.7.0` - see "v0.7 Prompt 1" through "v0.7 Prompt 8" below for the
|
|
@@ -378,9 +390,9 @@ extends the existing v0.1-v0.6 evidence architecture rather than becoming a
|
|
|
378
390
|
UI-only feature or a parallel visual-comparison stack. v0.8 (interactive
|
|
379
391
|
viewer) is released as package version `0.8.0`. v0.9 (structured visual
|
|
380
392
|
annotation) is released as package version `0.9.0` - see "v0.9 visual
|
|
381
|
-
annotation architecture" below. v0.10 (full graphical human-LLM
|
|
382
|
-
|
|
383
|
-
|
|
393
|
+
annotation architecture" below. v0.10 (full graphical human-LLM workflow) is
|
|
394
|
+
implemented and documentation-reconciled but remains unreleased. The
|
|
395
|
+
constraints below apply to both v0.9 and v0.10.
|
|
384
396
|
|
|
385
397
|
The evidence domains remain distinct:
|
|
386
398
|
|
package/docs/CI_CD.md
CHANGED
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
# CI/CD
|
|
2
2
|
|
|
3
|
-
CI interprets `check` as PASS `0`, FAIL `1`, REVIEW_REQUIRED `2`, or BLOCKED `3`. The
|
|
3
|
+
CI interprets `check` as PASS `0`, FAIL `1`, REVIEW_REQUIRED `2`, or BLOCKED `3`. The current package is `@dailephd/my-frontend-observer@0.10.0`; its CLI remains `my-frontend-observer`. Packed readiness installs one exact tarball and runs `runPackedViewerSmoke.mjs` as the single project/viewer smoke owner for `init`, `capture`, bounded `check --json` REVIEW_REQUIRED and unchanged-contract FAIL-to-PASS, alias-aware project `view`, and viewer security. `runPackedObservationSmoke.mjs` remains the lower-level legacy observation smoke.
|
|
4
|
+
|
|
5
|
+
The same matrix now also runs `runPackedV010WorkflowSmoke.mjs`. It installs the
|
|
6
|
+
same SHA-verified candidate into a clean consumer and exercises installed
|
|
7
|
+
actual/reference workflow creation, activation, handoff, immutable correction
|
|
8
|
+
attempts, PASS-only acceptance, project-aware Viewer discovery, and standalone
|
|
9
|
+
read-only behavior. Its bounded summary is uploaded with the existing matrix
|
|
10
|
+
summary artifact. The candidate job still owns exactly one `npm pack`; no
|
|
11
|
+
second v0.10 candidate or matrix exists. Formal v0.10 exact-candidate readiness
|
|
12
|
+
passed on Windows, Linux, and macOS.
|
|
13
|
+
All four packed smokes, security checks, and PWA gates passed against the same
|
|
14
|
+
candidate. Run 35789033295 records that readiness result.
|
|
15
|
+
|
|
16
|
+
## Gate isolation invariant
|
|
17
|
+
|
|
18
|
+
Cross-platform/full-suite success does not by itself prove that a security or
|
|
19
|
+
acceptance gate is independent. Any test explicitly labeled `HARD GATE`,
|
|
20
|
+
`SECURITY GATE`, or `ACCEPTANCE GATE` must also be able to run from fresh
|
|
21
|
+
state without relying on earlier test order, a previously warmed service-worker
|
|
22
|
+
cache, a persistent browser profile from an earlier run, or another test's
|
|
23
|
+
server/evidence setup.
|
|
24
|
+
|
|
25
|
+
v0.9.1 applies this rule to the PWA server-down
|
|
26
|
+
hard gate. `npm run test:pwa-hard-gate` runs that gate by itself. It is a
|
|
27
|
+
separate required proof in addition to the normal full-file execution in
|
|
28
|
+
`npm run test:browser` and `npm run test:security`.
|
|
29
|
+
|
|
30
|
+
`npm run test:security` now ends with `npm run test:pwa-hard-gate`. The
|
|
31
|
+
`candidate` job in `.github/workflows/pre-release-readiness.yml` already runs
|
|
32
|
+
`npm run test:security`, so release-readiness candidate validation receives
|
|
33
|
+
the isolated gate automatically. The workflow YAML did not need to change. The
|
|
34
|
+
released v0.9.1 suite contains the corrected isolated gate. No production PWA
|
|
35
|
+
regression was found.
|
|
4
36
|
|
|
5
37
|
A GitHub Actions pre-release readiness workflow exists at
|
|
6
38
|
`.github/workflows/pre-release-readiness.yml` (triggered manually via
|
package/docs/COMMANDS.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Commands
|
|
2
2
|
|
|
3
|
+
## v0.10 visual workflow operations
|
|
4
|
+
|
|
5
|
+
v0.10 adds no CLI command. Project-aware `view` exposes the Visual changes
|
|
6
|
+
workspace for actual/reference entry, explicit activation, bounded handoff,
|
|
7
|
+
Run check, correction/review, acceptance, governance-result recording, and
|
|
8
|
+
explicit restore. These are guarded local HTTP/UI actions backed by canonical
|
|
9
|
+
application owners, not new command-line subcommands. Standalone `view --root`
|
|
10
|
+
remains inspection-only.
|
|
11
|
+
|
|
12
|
+
Every handoff names `check <baseline> --json` as the exact post-edit machine
|
|
13
|
+
operation. It captures a fresh candidate and runs the existing canonical
|
|
14
|
+
comparison, contract, and configured reference-fidelity owners.
|
|
15
|
+
|
|
3
16
|
## v0.8.1 common workflow
|
|
4
17
|
|
|
5
18
|
`init --url <loopback-url> [--viewport WIDTHxHEIGHT] [--target id=selector ... | --targets-file file] [--default-baseline alias] [--replace]` creates schema-`1.1.0` project configuration; schema `1.0.0` remains readable and forbids `acceptance`. Schema `1.1.0` may add exactly:
|
|
@@ -783,7 +796,7 @@ the annotation workflow. The rest of this section describes the inspection
|
|
|
783
796
|
surface, which is unchanged.
|
|
784
797
|
|
|
785
798
|
**Current status: viewer behavior is released as package
|
|
786
|
-
`@dailephd/my-frontend-observer@0.9.
|
|
799
|
+
`@dailephd/my-frontend-observer@0.9.1`.** Starts one
|
|
787
800
|
loopback-only Node viewer server and serves the same React + TypeScript +
|
|
788
801
|
Vite application to a normal browser or an installed Progressive Web App.
|
|
789
802
|
`--root` is used as a bounded, read-only evidence-discovery root: the server
|
|
@@ -948,12 +961,13 @@ Options:
|
|
|
948
961
|
- `--help` — show `view` usage.
|
|
949
962
|
|
|
950
963
|
The server binds only to `127.0.0.1` (never `0.0.0.0`), serves only the
|
|
951
|
-
built viewer application assets plus
|
|
964
|
+
built viewer application assets plus bounded `/api/*`
|
|
952
965
|
endpoints described above, and never exposes the supplied evidence root as a
|
|
953
966
|
generic static directory or arbitrary filesystem path. With `--root` it
|
|
954
|
-
accepts no write methods and writes nothing. Without `--root`, the
|
|
955
|
-
|
|
956
|
-
|
|
967
|
+
accepts no write methods and writes nothing. Without `--root`, the guarded
|
|
968
|
+
project-aware authoring routes create only new immutable artifacts and workflow
|
|
969
|
+
revisions through canonical owners; they never edit target source or rewrite
|
|
970
|
+
existing evidence. On success,
|
|
957
971
|
prints the viewer URL and keeps running (serving the viewer) until
|
|
958
972
|
interrupted. On invalid syntax, a missing/non-directory `--root`, an
|
|
959
973
|
invalid `--port`, an invalid `--bindings-file`, an invalid `--context-file`
|
package/docs/CONTRACTS.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# Contracts
|
|
2
2
|
|
|
3
|
+
## Visual-change workflow artifact (`1.0.0`, v0.10 Batch 1)
|
|
4
|
+
|
|
5
|
+
`my-frontend-observer/visual-change-workflow` is the immutable Observer-owned history envelope for one frozen visual-change request. It records a deterministic `visualChangeRequestId`, a fresh `visualChangeWorkflowId`, optional forward-only `supersedesVisualChangeWorkflowId`, exact references to existing canonical evidence, zero to twenty bounded attempt records, optional activation/governance result references, producer metadata, and creation provenance.
|
|
6
|
+
|
|
7
|
+
The two entry modes are exactly `actual-frontend` and `reference`. Reference mode stores validated explicit runtime binding declarations in canonical `bindings.json`; the manifest pins its SHA-256 and declaration count. Actual mode never writes that file. Project-relative evidence references must remain contained portable paths; source artifacts and media are referenced rather than copied.
|
|
8
|
+
|
|
9
|
+
Request identity hashes semantic scope only. It excludes timestamps and operational storage locations. Workflow instance identity is fresh for every explicit persistence. Attempt identity is deterministic over the visual-change request ID and candidate observation ID. Human review state is exactly `pending`, `correction-requested`, `accepted`, or `abandoned`; this foundation validates structure but does not implement the later acceptance rule or execute checks.
|
|
10
|
+
|
|
11
|
+
The v0.10 Batch 2 application composition explicitly activates either the frozen per-change contract or the frozen approved reference and workflow-owned bindings in project acceptance. Activation and restoration preserve unrelated configuration, use compensating atomic writes across mutable project configuration and immutable workflow revisions, and refuse acceptance drift. A workflow check resolves an alias only when its catalog identity and artifact location exactly match the frozen baseline, then invokes the existing `checkProject` owner once. Only a canonical result containing both baseline and candidate summaries can append a pending attempt revision; the snapshot is a bounded direct projection of that result and does not repeat evaluation.
|
|
12
|
+
|
|
13
|
+
The v0.10 Batch 3 Viewer exposes bounded workflow inspection at `GET /api/visual-changes/:handle/view` in both standalone and project-aware sessions. Create, activate, check, and restore POST operations are project-aware only, reuse the existing in-memory authoring capability and request guards, accept no filesystem paths, and delegate to the Batch 2 application service. Every new response is `no-store`. Successful immutable mutations return the exact new workflow ID so the Viewer can refresh and reselect that revision without guessing. The Viewer protocol remains `1.3.0`.
|
|
14
|
+
|
|
15
|
+
The v0.10 Batch 4 actual-frontend entry route promotes only explicitly selected, saved, confirmed, canonically promotable runtime intent without activating project acceptance. It freezes the exact resulting contract instance with the saved annotation, source observation, and configured persistent baseline contract through the Batch 2 workflow-creation owner. Repeated equivalent starts share `contractRequestId` while receiving fresh contract, visual-change request, and workflow instance identities. Activation remains a later explicit workflow action.
|
|
16
|
+
|
|
17
|
+
Reference entry freezes only an exact approved reference, an annotation authored
|
|
18
|
+
against that exact instance, an exact baseline observation, and explicitly
|
|
19
|
+
authored valid bindings. Adequacy, compatibility, complete required-region
|
|
20
|
+
coverage, and canonical binding evaluation fail closed. Imported references,
|
|
21
|
+
inferred bindings, and session bindings are not executable workflow scope.
|
|
22
|
+
|
|
23
|
+
`VisualChangeAgentHandoff` uses handoff kind
|
|
24
|
+
`my-frontend-observer/visual-change-agent-handoff` and version `1.0.0`. It is a
|
|
25
|
+
bounded non-artifact transfer contract and is never discovered or persisted as
|
|
26
|
+
Observer evidence. It includes confirmed scope, Observer-owned bounded context,
|
|
27
|
+
optional unchanged supplemental context, the exact post-edit check instruction,
|
|
28
|
+
and optional non-authoritative orchestrator correlation.
|
|
29
|
+
|
|
30
|
+
The current cycle is derived from the latest attempt. A pending attempt blocks
|
|
31
|
+
another check or handoff until explicit correction, acceptance, or abandonment.
|
|
32
|
+
Only the latest canonical PASS may be accepted. Review changes only the latest
|
|
33
|
+
attempt's review object in a fresh workflow revision. Governance references may
|
|
34
|
+
be recorded only after acceptance and only for already-persisted canonical
|
|
35
|
+
approval results; they do not perform approval or change project configuration.
|
|
36
|
+
No existing evidence schema changed for v0.10.
|
|
37
|
+
|
|
3
38
|
## Current contracts
|
|
4
39
|
|
|
5
40
|
The observation artifact contract is published in the current
|
|
@@ -490,7 +525,7 @@ blockers; on the canonical worktree, `npm run typecheck`, `npm run lint`,
|
|
|
490
525
|
`npm test` (627 tests), `npm run test:browser` (120 tests), `npm run
|
|
491
526
|
test:security`, `npm run build`, and `npm run check:docs` all pass.
|
|
492
527
|
|
|
493
|
-
## v0.7 external visual-reference contract direction (
|
|
528
|
+
## v0.7 external visual-reference contract direction (preserved through implemented, unreleased v0.10)
|
|
494
529
|
|
|
495
530
|
External visual-reference support is released as package version `0.7.0`
|
|
496
531
|
(see "v0.7 Prompt 1" through "v0.7 Prompt 8" below for the exact contract).
|
|
@@ -498,9 +533,8 @@ The exact public type names, artifact kinds, schema versions, persistence
|
|
|
498
533
|
layout, and command/programmatic entry points were designed during v0.7
|
|
499
534
|
implementation from current repository precedent, following the constraints
|
|
500
535
|
below. v0.8 (released as package version `0.8.0` - see
|
|
501
|
-
`docs/CURRENT_STATE.md`) has preserved them. v0.9
|
|
502
|
-
|
|
503
|
-
preserve them.
|
|
536
|
+
`docs/CURRENT_STATE.md`) has preserved them. v0.9 is released and preserves
|
|
537
|
+
them. The implemented, unreleased v0.10 workflow preserves them too.
|
|
504
538
|
|
|
505
539
|
**Distinct evidence domain**: an external reference is desired-design evidence,
|
|
506
540
|
not an `ObservationArtifact` and not the "before" side of a v0.4
|
package/docs/CURRENT_STATE.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Current State
|
|
2
2
|
|
|
3
|
-
v0.
|
|
3
|
+
v0.10.0 is the current release of `@dailephd/my-frontend-observer`.
|
|
4
|
+
Formal Windows, Linux, and macOS exact-candidate readiness, security checks,
|
|
5
|
+
and PWA gates passed before release. The package version is `0.10.0`.
|
|
6
|
+
|
|
7
|
+
The full Visual Change workflow supports actual-frontend and approved-reference
|
|
8
|
+
entry, structured intent, explicit activation, bounded coding-agent handoff,
|
|
9
|
+
immutable check attempts and correction, PASS-only human acceptance, and
|
|
10
|
+
separate governance. The Viewer discovers installed-package workflow evidence.
|
|
11
|
+
Observer never edits source or performs automatic approval. Schemas remain
|
|
12
|
+
independently versioned: observation `1.2.0`, comparison `1.0.0`, frontend
|
|
13
|
+
contract `1.0.0`, evaluation `1.0.0`, bounded-agent-context `1.0.0`,
|
|
14
|
+
external-reference `1.0.0`, visual annotation `1.0.0`, visual-change workflow
|
|
15
|
+
`1.0.0`, handoff `1.0.0`; Viewer protocol remains `1.3.0`.
|
|
4
16
|
v0.9 (Human Visual Annotation and Design-Intent Capture) adds structured visual
|
|
5
17
|
annotation to the project-aware viewer. It passed integrated real-Chromium
|
|
6
18
|
acceptance and final exact-candidate pre-release readiness on Windows, Linux
|
|
@@ -12,8 +24,10 @@ repository also holds a deterministic demo and four tutorial scenarios for
|
|
|
12
24
|
v0.9, recorded by the external `@dailephd/my-dev-kit-lab@0.4.9` tool. See
|
|
13
25
|
"v0.9 status" below.
|
|
14
26
|
|
|
15
|
-
The project is published at package version `0.9.
|
|
16
|
-
|
|
27
|
+
The project is published at package version `0.9.1` (roadmap v0.9.1, PWA
|
|
28
|
+
Hard-Gate Isolation and Reproducible Security Acceptance; the preceding v0.9
|
|
29
|
+
release was Human Visual Annotation and Design-Intent Capture; observation
|
|
30
|
+
schema `1.2.0`;
|
|
17
31
|
comparison schema `1.0.0`; frontend contract schema `1.0.0`; evaluation
|
|
18
32
|
artifact schema `1.0.0`; bounded-agent-context schema `1.0.0`;
|
|
19
33
|
external-reference schema `1.0.0`; visual annotation schema `1.0.0`). v0.9.0
|
|
@@ -22,6 +36,71 @@ evidence schema version. v0.8.1 did not change any canonical evidence schema
|
|
|
22
36
|
version either; see "v0.8 status" below for the final, complete v0.8 viewer
|
|
23
37
|
state.
|
|
24
38
|
|
|
39
|
+
## v0.9.1 maintenance status
|
|
40
|
+
|
|
41
|
+
Status: released and published as `@dailephd/my-frontend-observer@0.9.1`.
|
|
42
|
+
No production code changed.
|
|
43
|
+
|
|
44
|
+
Result of the implementation:
|
|
45
|
+
|
|
46
|
+
1. The original failure was reproduced. Selected alone, the hard gate failed at
|
|
47
|
+
the offline reload with `net::ERR_CONNECTION_REFUSED`.
|
|
48
|
+
2. Root cause, part one: the old readiness check was
|
|
49
|
+
`registration?.active !== undefined`. While the worker was still installing,
|
|
50
|
+
`active` was `null` and the page had no controller. Because
|
|
51
|
+
`null !== undefined` is true, the check passed and the server was closed
|
|
52
|
+
before the worker controlled the page or finished precaching.
|
|
53
|
+
3. Root cause, part two: the gate shared a server, evidence root, and a fixed
|
|
54
|
+
persistent Chromium profile with earlier tests. In normal file order those
|
|
55
|
+
tests had already activated a controlling worker, which hid the defect.
|
|
56
|
+
4. The hard gate now owns a fresh evidence root, viewer server, temporary
|
|
57
|
+
persistent profile, and BrowserContext. No PWA test uses the fixed
|
|
58
|
+
`.my-dev-kit-workflow` profile any more.
|
|
59
|
+
5. The gate proves service-worker activation (`registration.active !== null`)
|
|
60
|
+
and current-page control (`navigator.serviceWorker.controller !== null`)
|
|
61
|
+
as separate facts.
|
|
62
|
+
6. It proves the app shell is in the Workbox precache and that no `/api/`
|
|
63
|
+
request is in Cache Storage.
|
|
64
|
+
7. It proves the server is down with a direct Node-side request before the
|
|
65
|
+
offline reload.
|
|
66
|
+
8. After the reload, the shell renders, the evidence list shows its explicit
|
|
67
|
+
unavailable state, and the previously visible evidence identity is absent.
|
|
68
|
+
9. `npm run test:pwa-hard-gate` runs the gate alone. `npm run test:security`
|
|
69
|
+
now ends with it. It passes repeatedly, and the full PWA file, browser suite,
|
|
70
|
+
and security suite pass.
|
|
71
|
+
10. Production PWA behavior is unchanged.
|
|
72
|
+
|
|
73
|
+
Evidence: `docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md` and
|
|
74
|
+
`docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md`.
|
|
75
|
+
|
|
76
|
+
The historical planning background follows.
|
|
77
|
+
|
|
78
|
+
A post-release test-isolation defect has been identified in
|
|
79
|
+
`tests/browser/pwaHardening.test.ts`. The PWA server-down test labeled
|
|
80
|
+
`HARD GATE` passes in the normal full-file/full-suite execution but fails
|
|
81
|
+
when selected independently with Vitest `-t`. The current test shares a
|
|
82
|
+
persistent Chromium context/profile with earlier tests, and its own setup proves
|
|
83
|
+
that a service-worker registration is active without independently proving all
|
|
84
|
+
of the state the server-down experiment needs: that the current page is
|
|
85
|
+
controlled, that the application shell is actually precached, and that no
|
|
86
|
+
historical profile/cache state was inherited.
|
|
87
|
+
|
|
88
|
+
This is currently classified as a test-isolation defect, not a demonstrated
|
|
89
|
+
production PWA regression. The released safety contract remains unchanged:
|
|
90
|
+
application-shell caching may keep the viewer shell available while evidence
|
|
91
|
+
and media remain server-backed, and stale evidence must never be presented as
|
|
92
|
+
current after the server is unavailable. No production PWA code change is
|
|
93
|
+
authorized unless a corrected fresh-state hard-gate experiment first
|
|
94
|
+
demonstrates a real runtime failure.
|
|
95
|
+
|
|
96
|
+
The completed v0.9.1 maintenance patch was governed by the frozen implementation
|
|
97
|
+
plan `docs/plans/v0.9.1-implementation-plan.md`. It made the hard gate own fresh
|
|
98
|
+
disposable evidence/server/browser-profile state, explicitly prove service-worker
|
|
99
|
+
control and shell/API cache preconditions, explicitly prove the server is
|
|
100
|
+
unavailable before the offline reload, and add an isolated execution gate so the
|
|
101
|
+
same test passes by itself as well as inside the full browser and security
|
|
102
|
+
suites.
|
|
103
|
+
|
|
25
104
|
v0.8 (Interactive Local Observation Viewer) is fully implemented, tested,
|
|
26
105
|
formally cross-platform/security validated, and released. All eight v0.8
|
|
27
106
|
implementation batches, the hardened documentation/implementation-
|
|
@@ -1128,14 +1207,15 @@ npm package.
|
|
|
1128
1207
|
implemented.) A CLI surface for Prompt 8's correction workflow specifically
|
|
1129
1208
|
remains unimplemented by design (programmatic-only, library-level use is
|
|
1130
1209
|
the current supported entry point) - see "v0.7 Prompt 8 status" above.
|
|
1131
|
-
The full graphical human-LLM workflow
|
|
1132
|
-
|
|
1133
|
-
released as `0.9.0` - see "v0.9 status" above.
|
|
1210
|
+
The full graphical human-LLM workflow is released as `0.10.0`. Structured
|
|
1211
|
+
visual annotation (v0.9) is
|
|
1212
|
+
implemented and released as `0.9.0` - see "v0.9 status" above.
|
|
1134
1213
|
|
|
1135
1214
|
## Next target
|
|
1136
1215
|
|
|
1137
|
-
v0.1-v0.
|
|
1138
|
-
`0.3.0`, `0.4.0`, `0.5.0`, `0.6.0`, `0.7.0`, `0.8.0`, `0.8.1`, `0.9.0
|
|
1216
|
+
v0.1-v0.10 are implemented, validated, and released (`0.1.0`, `0.2.0`,
|
|
1217
|
+
`0.3.0`, `0.4.0`, `0.5.0`, `0.6.0`, `0.7.0`, `0.8.0`, `0.8.1`, `0.9.0`,
|
|
1218
|
+
`0.9.1`, `0.10.0`). v0.7 (End-to-End
|
|
1139
1219
|
Coding-Agent Frontend Change Review) is fully implemented and released: the
|
|
1140
1220
|
external-reference artifact foundation, explicit reference
|
|
1141
1221
|
regions/relationships, selected design requirements/tolerance
|
|
@@ -1166,6 +1246,7 @@ for the completeness audit, and
|
|
|
1166
1246
|
for the cross-platform readiness validation that preceded this release.
|
|
1167
1247
|
|
|
1168
1248
|
v0.9 (structured visual annotation) is released as
|
|
1169
|
-
`@dailephd/my-frontend-observer@0.9.0` - see "v0.9 status" above.
|
|
1170
|
-
|
|
1171
|
-
|
|
1249
|
+
`@dailephd/my-frontend-observer@0.9.0` - see "v0.9 status" above. v0.10.0 is
|
|
1250
|
+
the current release. Its formal exact-candidate readiness passed on Windows,
|
|
1251
|
+
Linux, and macOS, including installed-package, security, and PWA gates. See
|
|
1252
|
+
`docs/reports/v0.10-release-preparation.md` for release-preparation evidence.
|
package/docs/DEVELOPMENT.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Development
|
|
2
2
|
|
|
3
|
-
The released v0.9.
|
|
4
|
-
`@dailephd/my-frontend-observer@0.9.
|
|
3
|
+
The released v0.9.1 package is published as
|
|
4
|
+
`@dailephd/my-frontend-observer@0.9.1` (CLI `my-frontend-observer`). It keeps
|
|
5
5
|
the v0.8.1 project workflow and adds structured visual annotation.
|
|
6
6
|
|
|
7
7
|
The v0.8.1 workflow is exercised through unit and real-Chromium tests. Project fixtures use `init`, `capture baseline`, and `check`; coding-agent consumers use bounded `check --json`. `tests/browser/projectCheckWorkflow.test.ts` covers REVIEW_REQUIRED, contract FAIL-to-PASS, reference FAIL/PASS/BLOCKED, incomparable BLOCKED, current history, and contained acceptance paths. `scripts/ci/runPackedViewerSmoke.mjs` is the single installed-package viewer/project-workflow smoke owner: it repeats REVIEW_REQUIRED and unchanged-contract FAIL-to-PASS before alias-aware viewer proof. Run the full unit, browser, security, build, documentation, and packed-consumer validations before release readiness.
|
|
@@ -38,6 +38,36 @@ first; it is kept out of `npm test` because it launches a real browser and
|
|
|
38
38
|
is slower. Exact counts drift as the suite grows - run the commands above
|
|
39
39
|
for the current numbers rather than trusting this document.
|
|
40
40
|
|
|
41
|
+
## Hard/security/acceptance gate isolation
|
|
42
|
+
|
|
43
|
+
Tests explicitly designated `HARD GATE`, `SECURITY GATE`, or
|
|
44
|
+
`ACCEPTANCE GATE` must be independently reproducible. A passing full suite is
|
|
45
|
+
not sufficient evidence if the gate itself only succeeds because another test
|
|
46
|
+
ran first or because a prior run left browser/cache/filesystem state behind.
|
|
47
|
+
|
|
48
|
+
For browser-based gates, the gate must own or explicitly establish every
|
|
49
|
+
precondition material to its claim. That includes disposable evidence state,
|
|
50
|
+
servers, browser profiles/contexts, service-worker control, relevant cache
|
|
51
|
+
state, and cleanup. Fixed persistent profiles must not be used as hidden
|
|
52
|
+
fixtures for a hard acceptance claim.
|
|
53
|
+
|
|
54
|
+
v0.9.1 applies this rule to the PWA server-down safety proof in
|
|
55
|
+
`tests/browser/pwaHardening.test.ts`. The hard gate owns its evidence root,
|
|
56
|
+
viewer server, temporary Chromium profile, and context. It must pass when
|
|
57
|
+
selected alone and must also continue to pass in the complete browser and
|
|
58
|
+
security suites.
|
|
59
|
+
|
|
60
|
+
Run the gate by itself with:
|
|
61
|
+
|
|
62
|
+
```powershell
|
|
63
|
+
npm run test:pwa-hard-gate
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Run this command when working on PWA, service-worker, viewer-server, or
|
|
67
|
+
security behavior. It must pass on its own, not only after other tests have
|
|
68
|
+
run. `npm run test:security` also runs it after the rest of the security
|
|
69
|
+
suite. See `docs/plans/v0.9.1-implementation-plan.md`.
|
|
70
|
+
|
|
41
71
|
ROADMAP v0.1 and Project Milestone 1 require browser-level validation once the
|
|
42
72
|
observation capability is planned and implemented. Static checks must not later
|
|
43
73
|
be substituted for that required browser evidence. `npm run test:browser` is
|
|
@@ -1719,6 +1719,34 @@ Implementation status: implemented and released as `0.9.0`. The milestone
|
|
|
1719
1719
|
design below is unchanged and remains the capability authority. Milestone 10
|
|
1720
1720
|
remains future.
|
|
1721
1721
|
|
|
1722
|
+
### v0.9.1 maintenance acceptance note
|
|
1723
|
+
|
|
1724
|
+
v0.9.1 is a bounded maintenance patch over Milestone 9 rather than a new
|
|
1725
|
+
capability milestone. A post-release PWA hard-gate test-isolation defect was
|
|
1726
|
+
found: the server-down safety test can pass only after earlier tests have
|
|
1727
|
+
prepared persistent service-worker/cache state. No production PWA regression has
|
|
1728
|
+
been demonstrated.
|
|
1729
|
+
|
|
1730
|
+
The durable acceptance rule added by this maintenance patch is broader than the
|
|
1731
|
+
single PWA test: any test explicitly designated `HARD GATE`, `SECURITY GATE`,
|
|
1732
|
+
or `ACCEPTANCE GATE` must be able to establish its own prerequisites and pass
|
|
1733
|
+
when selected independently from fresh state. Such a gate must not rely on
|
|
1734
|
+
another test running first, a fixed browser profile, historical cache state, or
|
|
1735
|
+
test ordering. For browser gates, owned servers, evidence roots, browser
|
|
1736
|
+
profiles, contexts, and other state must be scoped and cleaned up explicitly.
|
|
1737
|
+
|
|
1738
|
+
The v0.9.1 correction is test/validation work unless the corrected isolated
|
|
1739
|
+
experiment demonstrates a genuine product failure. In that case the work must
|
|
1740
|
+
stop and be reclassified before production semantics change. The concrete
|
|
1741
|
+
implementation details live in
|
|
1742
|
+
`docs/plans/v0.9.1-implementation-plan.md`; the Milestone 9 product capability
|
|
1743
|
+
design below remains unchanged.
|
|
1744
|
+
|
|
1745
|
+
Status: the maintenance invariant is implemented and released in v0.9.1 for the PWA hard gate, which
|
|
1746
|
+
now passes alone through `npm run test:pwa-hard-gate` and inside the full
|
|
1747
|
+
browser and security suites. No genuine product failure was found. Release of
|
|
1748
|
+
v0.9.1 is released and published.
|
|
1749
|
+
|
|
1722
1750
|
### Objective
|
|
1723
1751
|
|
|
1724
1752
|
Add visual human intent to the already working Milestone 7 coding-agent/reference workflow through the Milestone 8 viewer.
|
package/docs/PROJECT_OVERVIEW.md
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
# Project Overview
|
|
2
2
|
|
|
3
|
-
The repository contains the
|
|
4
|
-
`@dailephd/my-frontend-observer
|
|
5
|
-
|
|
6
|
-
`capture`, `check`, project-aware `view`).
|
|
3
|
+
The repository contains the v0.10.0 release of
|
|
4
|
+
`@dailephd/my-frontend-observer` under the MIT license. It completes the Visual
|
|
5
|
+
Change workflow on the project workflow (`init`, `capture`, `check`, Viewer).
|
|
7
6
|
|
|
8
7
|
`my-frontend-observer` is the rendered browser/runtime evidence producer in
|
|
9
8
|
the my-dev-kit ecosystem. It addresses the gap between source-level evidence
|
|
@@ -31,14 +30,15 @@ Comparison; v0.5, Executable Frontend Contracts and Explicit Change Scope;
|
|
|
31
30
|
v0.6, Bounded Agent Context and Native my-dev-kit Ecosystem Integration;
|
|
32
31
|
v0.7, End-to-End Coding-Agent Frontend Change Review; v0.8, Interactive
|
|
33
32
|
Local Observation Viewer; v0.8.1, Project Workflow CLI and Human-Readable
|
|
34
|
-
Evidence Aliases;
|
|
35
|
-
|
|
33
|
+
Evidence Aliases; v0.9, Human Visual Annotation and Design-Intent Capture; and
|
|
34
|
+
v0.10.0, Full Visual Human–LLM Frontend Change Workflow, are released and
|
|
35
|
+
published to npm. The current package version is `0.10.0` as
|
|
36
36
|
`@dailephd/my-frontend-observer` (observation schema `1.2.0`, comparison schema
|
|
37
37
|
`1.0.0`, frontend contract schema `1.0.0`, evaluation artifact schema `1.0.0`,
|
|
38
38
|
bounded-agent-context schema `1.0.0`, external-reference schema `1.0.0`,
|
|
39
|
-
visual annotation schema `1.0.0
|
|
40
|
-
|
|
41
|
-
macOS.
|
|
39
|
+
visual annotation schema `1.0.0`, visual-change workflow schema `1.0.0`,
|
|
40
|
+
handoff `1.0.0`; Viewer protocol `1.3.0`). Exact-candidate readiness passed
|
|
41
|
+
on Windows, Linux, and macOS.
|
|
42
42
|
|
|
43
43
|
The released low-level command surface remains artifact-oriented: a real
|
|
44
44
|
`observe` command launches Chromium, enforces loopback-only safety, captures
|
|
@@ -96,7 +96,7 @@ artifact identifiers during ordinary use. Existing low-level commands remain
|
|
|
96
96
|
supported. The frozen plan is
|
|
97
97
|
`docs/plans/v0.8.1-cli-usability-patch-plan.md`.
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
v0.9 added structured
|
|
100
100
|
visual annotation to the project-aware viewer for both runtime observations and
|
|
101
101
|
external references. People draw marks, explicitly associate them, and confirm
|
|
102
102
|
structured intent. Selected confirmed runtime intent can become a normal
|
|
@@ -110,9 +110,21 @@ The repository-owned deterministic demo and its four tutorial scenarios
|
|
|
110
110
|
`@dailephd/my-dev-kit-lab@0.4.9` tool) passed final cross-platform readiness
|
|
111
111
|
with the release. They are release support and documentation, not product
|
|
112
112
|
behavior, and they are not shipped in the npm package.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
|
|
114
|
+
The v0.9.1 maintenance release hardened the
|
|
115
|
+
PWA server-down hard acceptance test so the gate is reproducible from a fresh
|
|
116
|
+
browser profile and fresh test-owned state. PWA hard/security acceptance no
|
|
117
|
+
longer depends on prior test order or persistent browser state, and
|
|
118
|
+
`npm run test:security` now also runs the gate by itself through
|
|
119
|
+
`npm run test:pwa-hard-gate`. This was a test-isolation correction, not a
|
|
120
|
+
production PWA defect. No production behavior changed. The frozen concrete plan
|
|
121
|
+
is `docs/plans/v0.9.1-implementation-plan.md`.
|
|
122
|
+
|
|
123
|
+
v0.10.0 completes the Visual Change workflow on top of the v0.9 annotation
|
|
124
|
+
model and v0.8.1 high-level acceptance surface. It supports actual-frontend
|
|
125
|
+
and approved-reference entry, explicit activation, bounded coding-agent
|
|
126
|
+
handoff, immutable correction history, PASS-only human acceptance, and
|
|
127
|
+
separate governance. Installed-package and Viewer support are included.
|
|
116
128
|
|
|
117
129
|
The revised dependency path reaches practical coding-agent use before graphical
|
|
118
130
|
interaction and keeps later visual work on the same canonical evidence system:
|
|
@@ -130,7 +142,8 @@ runtime observation and stable identity
|
|
|
130
142
|
→ structured visual annotation on runtime screenshots and external references
|
|
131
143
|
(released as 0.9.0)
|
|
132
144
|
→ full visual human-LLM workflow with actual-frontend-driven and
|
|
133
|
-
reference-driven entry modes (
|
|
145
|
+
reference-driven entry modes (implemented, documentation-reconciled,
|
|
146
|
+
unreleased v0.10)
|
|
134
147
|
```
|
|
135
148
|
|
|
136
149
|
The implemented reference model is not a second observer or a
|
|
@@ -167,6 +180,15 @@ Repository-local authorities and navigation:
|
|
|
167
180
|
gates, and validation expectations for v0.9. It is planning authority only;
|
|
168
181
|
the v0.9 implementation state is recorded in CURRENT_STATE.md and the
|
|
169
182
|
`reports/v0.9-*.md` reports.
|
|
183
|
+
- [plans/v0.9.1-implementation-plan.md](plans/v0.9.1-implementation-plan.md)
|
|
184
|
+
freezes the bounded maintenance plan for independent PWA hard-gate
|
|
185
|
+
reproduction, fresh browser-profile ownership, explicit service-worker/cache
|
|
186
|
+
precondition proof, and isolated-gate validation. It does not authorize a
|
|
187
|
+
production PWA change unless the corrected experiment demonstrates a real
|
|
188
|
+
product defect.
|
|
189
|
+
- [plans/v0.10-implementation-plan.md](plans/v0.10-implementation-plan.md)
|
|
190
|
+
is the frozen planning authority for the completed v0.10 implementation;
|
|
191
|
+
current evidence and reconciliation are recorded in the v0.10 reports.
|
|
170
192
|
- [reports/v0.9-architecture-retrieval.md](reports/v0.9-architecture-retrieval.md)
|
|
171
193
|
preserves the bounded current-source retrieval that grounded the v0.9 plan.
|
|
172
194
|
|
package/docs/QUICKSTART.md
CHANGED
|
@@ -80,9 +80,13 @@ approve a reference or prove every aesthetic requirement. See
|
|
|
80
80
|
[CONTRACTS.md](CONTRACTS.md) and [WORKFLOWS.md](WORKFLOWS.md).
|
|
81
81
|
|
|
82
82
|
`my-frontend-observer view --no-open` starts the loopback-only viewer over managed
|
|
83
|
-
project evidence.
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
project evidence. The v0.10.0 project-aware Viewer also owns the explicit
|
|
84
|
+
Visual Change workflow: visual entry, activation, handoff, check,
|
|
85
|
+
review/correction, acceptance, and separate
|
|
86
|
+
governance-result recording. Use `view --root observations --no-open` for
|
|
87
|
+
standalone roots; that mode remains inspect-only. The `--bindings-file` and
|
|
88
|
+
`--context-file` inputs do not create a second evaluator or automatic
|
|
89
|
+
source-owner mapping. The installed package includes the Visual Change surface.
|
|
86
90
|
|
|
87
91
|
To validate this repository itself, rather than the target application:
|
|
88
92
|
|
package/docs/RELEASE.md
CHANGED
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
# Release
|
|
2
2
|
|
|
3
|
-
`v0.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
`v0.10.0` (Full Visual Human–LLM Frontend Change Workflow) is the current
|
|
4
|
+
release state. Formal exact-candidate readiness passed on Windows, Linux, and
|
|
5
|
+
macOS, including installed-package workflow smokes and security/PWA gates.
|
|
6
|
+
|
|
7
|
+
`v0.9.1` (PWA Hard-Gate Isolation and Reproducible Security Acceptance) is the
|
|
8
|
+
previous maintenance release, published to npm as
|
|
9
|
+
`@dailephd/my-frontend-observer`. It hardened isolated PWA security acceptance
|
|
10
|
+
without changing production behavior.
|
|
10
11
|
|
|
11
12
|
The CLI remains `my-frontend-observer`; package identity and product identity
|
|
12
13
|
are intentionally distinct. Canonical artifact schemas remain versioned
|
|
13
14
|
independently from the npm package version.
|
|
14
15
|
|
|
15
16
|
Observation, comparison, frontend contract, evaluation artifact,
|
|
16
|
-
bounded-agent-context, external-reference, visual annotation,
|
|
17
|
-
|
|
17
|
+
bounded-agent-context, external-reference, visual annotation,
|
|
18
|
+
visual-change-workflow, handoff, Viewer protocol, and package version all
|
|
19
|
+
remain separate: package version is `0.10.0`; observation schema is
|
|
18
20
|
`1.2.0`, comparison schema is `1.0.0`, frontend contract schema is `1.0.0`,
|
|
19
21
|
evaluation artifact schema is `1.0.0`, bounded-agent-context schema is
|
|
20
22
|
`1.0.0`, external-reference schema is `1.0.0`, and visual annotation schema is
|
|
21
|
-
`1.0.0
|
|
22
|
-
|
|
23
|
+
`1.0.0`, visual-change-workflow schema is `1.0.0`, handoff version is `1.0.0`,
|
|
24
|
+
and Viewer protocol is `1.3.0` - none changes automatically with the package
|
|
25
|
+
version. v0.9 introduced the visual annotation schema and bumped no existing
|
|
26
|
+
schema.
|
|
23
27
|
|
|
24
28
|
Prior releases: `v0.8.1` (Project Workflow CLI and Human-Readable Evidence
|
|
25
29
|
Aliases), `v0.8.0` (Interactive Local Observation Viewer), `v0.7.0` (End-to-End
|