@dailephd/my-frontend-observer 0.8.1 → 0.9.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 +57 -0
- package/README.md +107 -7
- package/dist/application/projectWorkflowService.d.ts +18 -1
- package/dist/application/projectWorkflowService.js +40 -2
- package/dist/application/projectWorkflowService.js.map +1 -1
- package/dist/application/visualAnnotationContractPromotionService.d.ts +41 -0
- package/dist/application/visualAnnotationContractPromotionService.js +143 -0
- package/dist/application/visualAnnotationContractPromotionService.js.map +1 -0
- package/dist/application/visualAnnotationPersistenceService.d.ts +34 -0
- package/dist/application/visualAnnotationPersistenceService.js +68 -0
- package/dist/application/visualAnnotationPersistenceService.js.map +1 -0
- package/dist/application/visualAnnotationReferenceMaterializationService.d.ts +53 -0
- package/dist/application/visualAnnotationReferenceMaterializationService.js +194 -0
- package/dist/application/visualAnnotationReferenceMaterializationService.js.map +1 -0
- package/dist/artifacts/visualAnnotationArtifactReader.d.ts +19 -0
- package/dist/artifacts/visualAnnotationArtifactReader.js +66 -0
- package/dist/artifacts/visualAnnotationArtifactReader.js.map +1 -0
- package/dist/artifacts/visualAnnotationArtifactWriter.d.ts +42 -0
- package/dist/artifacts/visualAnnotationArtifactWriter.js +85 -0
- package/dist/artifacts/visualAnnotationArtifactWriter.js.map +1 -0
- package/dist/cli.js +464 -454
- package/dist/cli.js.map +1 -1
- package/dist/domain/visualAnnotation.d.ts +217 -0
- package/dist/domain/visualAnnotation.js +584 -0
- package/dist/domain/visualAnnotation.js.map +1 -0
- package/dist/domain/visualAnnotationIdentity.d.ts +17 -0
- package/dist/domain/visualAnnotationIdentity.js +47 -0
- package/dist/domain/visualAnnotationIdentity.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/projectWorkflow/projectPaths.d.ts +9 -0
- package/dist/projectWorkflow/projectPaths.js +21 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -1
- package/dist/viewer/assets/{index-CN_yb9Uf.css → index-BN41MI7m.css} +1 -1
- package/dist/viewer/assets/index-CkKXnlrI.js +9 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/sw.js +1 -1
- package/dist/viewerServer/annotationAuthoring.d.ts +64 -0
- package/dist/viewerServer/annotationAuthoring.js +230 -0
- package/dist/viewerServer/annotationAuthoring.js.map +1 -0
- package/dist/viewerServer/annotationContractPromotion.d.ts +51 -0
- package/dist/viewerServer/annotationContractPromotion.js +105 -0
- package/dist/viewerServer/annotationContractPromotion.js.map +1 -0
- package/dist/viewerServer/annotationReferenceMaterialization.d.ts +40 -0
- package/dist/viewerServer/annotationReferenceMaterialization.js +91 -0
- package/dist/viewerServer/annotationReferenceMaterialization.js.map +1 -0
- package/dist/viewerServer/authoringSecurity.d.ts +59 -0
- package/dist/viewerServer/authoringSecurity.js +112 -0
- package/dist/viewerServer/authoringSecurity.js.map +1 -0
- package/dist/viewerServer/evidence/annotationView.d.ts +28 -0
- package/dist/viewerServer/evidence/annotationView.js +43 -0
- package/dist/viewerServer/evidence/annotationView.js.map +1 -0
- package/dist/viewerServer/evidence/classify.d.ts +3 -1
- package/dist/viewerServer/evidence/classify.js +12 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -1
- package/dist/viewerServer/evidence/discovery.d.ts +2 -0
- package/dist/viewerServer/evidence/discovery.js +6 -0
- package/dist/viewerServer/evidence/discovery.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/index.d.ts +29 -0
- package/dist/viewerServer/evidence/index.js +43 -1
- package/dist/viewerServer/evidence/index.js.map +1 -1
- package/dist/viewerServer/evidence/mediaResolver.d.ts +1 -1
- package/dist/viewerServer/evidence/mediaResolver.js +28 -2
- package/dist/viewerServer/evidence/mediaResolver.js.map +1 -1
- package/dist/viewerServer/evidence/projection.d.ts +5 -1
- package/dist/viewerServer/evidence/projection.js +19 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -1
- package/dist/viewerServer/httpServer.d.ts +13 -2
- package/dist/viewerServer/httpServer.js +278 -4
- package/dist/viewerServer/httpServer.js.map +1 -1
- package/dist/viewerServer/viewerService.d.ts +8 -0
- package/dist/viewerServer/viewerService.js +38 -2
- package/dist/viewerServer/viewerService.js.map +1 -1
- package/docs/ARCHITECTURE.md +108 -21
- package/docs/CI_CD.md +57 -1
- package/docs/COMMANDS.md +44 -4
- package/docs/CONTRACTS.md +78 -8
- package/docs/CURRENT_STATE.md +157 -35
- package/docs/DEVELOPMENT.md +8 -3
- package/docs/PROJECT_DESCRIPTION.md +4 -1
- package/docs/PROJECT_MILESTONES.md +4 -0
- package/docs/PROJECT_OVERVIEW.md +41 -17
- package/docs/QUICKSTART.md +52 -39
- package/docs/RELEASE.md +16 -11
- package/docs/ROADMAP.md +406 -66
- package/docs/SECURITY.md +71 -14
- package/docs/WORKFLOWS.md +151 -23
- package/docs/plans/v0.9-implementation-plan.md +1529 -0
- package/docs/reports/v0.9-architecture-retrieval.md +567 -0
- package/docs/reports/v0.9-batch1-visual-annotation-foundation.md +351 -0
- package/docs/reports/v0.9-batch2-viewer-annotation-authoring-boundary.md +438 -0
- package/docs/reports/v0.9-batch3-runtime-screenshot-annotation-authoring.md +412 -0
- package/docs/reports/v0.9-batch4-external-reference-annotation-authoring.md +452 -0
- package/docs/reports/v0.9-batch5-runtime-intent-contract-promotion.md +535 -0
- package/docs/reports/v0.9-batch6-reference-materialization.md +514 -0
- package/docs/reports/v0.9-batch7-integrated-acceptance.md +644 -0
- package/docs/reports/v0.9-demo-foundation.md +589 -0
- package/docs/reports/v0.9-final-pre-release-readiness.md +209 -0
- package/docs/reports/v0.9-final-readiness-corrections.md +530 -0
- package/docs/reports/v0.9-pre-release-readiness.md +170 -0
- package/docs/reports/v0.9-tutorial-end-to-end-acceptance.md +980 -0
- package/docs/reports/v0.9-tutorial-integration.md +731 -0
- package/package.json +2 -2
- package/dist/viewer/assets/index-D98S1_2d.js +0 -9
package/docs/CURRENT_STATE.md
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
# Current State
|
|
2
2
|
|
|
3
|
-
v0.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
the
|
|
3
|
+
v0.9.0 is released and published as `@dailephd/my-frontend-observer@0.9.0`.
|
|
4
|
+
v0.9 (Human Visual Annotation and Design-Intent Capture) adds structured visual
|
|
5
|
+
annotation to the project-aware viewer. It passed integrated real-Chromium
|
|
6
|
+
acceptance and final exact-candidate pre-release readiness on Windows, Linux
|
|
7
|
+
and macOS, including all four tutorials. The viewer protocol is `1.3.0` and the
|
|
8
|
+
visual annotation schema is `1.0.0`. Project aliases, `init`, `capture`,
|
|
9
|
+
project-aware `view`, and `check` orchestration from v0.8.1 remain implemented,
|
|
10
|
+
and the package is MIT licensed. The
|
|
11
|
+
repository also holds a deterministic demo and four tutorial scenarios for
|
|
12
|
+
v0.9, recorded by the external `@dailephd/my-dev-kit-lab@0.4.9` tool. See
|
|
13
|
+
"v0.9 status" below.
|
|
14
|
+
|
|
15
|
+
The project is published at package version `0.9.0` (roadmap v0.9, Human
|
|
16
|
+
Visual Annotation and Design-Intent Capture; observation schema `1.2.0`;
|
|
17
|
+
comparison schema `1.0.0`; frontend contract schema `1.0.0`; evaluation
|
|
18
|
+
artifact schema `1.0.0`; bounded-agent-context schema `1.0.0`;
|
|
19
|
+
external-reference schema `1.0.0`; visual annotation schema `1.0.0`). v0.9.0
|
|
20
|
+
added the visual annotation schema and did not change any other canonical
|
|
21
|
+
evidence schema version. v0.8.1 did not change any canonical evidence schema
|
|
22
|
+
version either; see "v0.8 status" below for the final, complete v0.8 viewer
|
|
23
|
+
state.
|
|
13
24
|
|
|
14
25
|
v0.8 (Interactive Local Observation Viewer) is fully implemented, tested,
|
|
15
26
|
formally cross-platform/security validated, and released. All eight v0.8
|
|
@@ -38,13 +49,14 @@ The retained repository contains:
|
|
|
38
49
|
and standardized documentation.
|
|
39
50
|
|
|
40
51
|
The package bin (`src/cli.ts`) now exposes the real current public CLI
|
|
41
|
-
surface described below
|
|
52
|
+
surface described below: the five low-level commands released through `0.6.0`
|
|
42
53
|
(`observe`, `compare`, `approve-baseline`, `save-change-contract`,
|
|
43
|
-
`evaluate-contract`)
|
|
44
|
-
|
|
45
|
-
`
|
|
46
|
-
|
|
47
|
-
|
|
54
|
+
`evaluate-contract`); three reference commands released in `0.7.0`
|
|
55
|
+
(`import-reference`, `approve-reference`, `evaluate-reference-fidelity`);
|
|
56
|
+
`view`, released in `0.8.0`; and the v0.8.1 high-level `init`, `capture`, and
|
|
57
|
+
`check` commands. v0.8.1 also makes `view` project-aware while preserving its
|
|
58
|
+
standalone `--root` form. `src/cli.ts` remains a thin parsing/dispatch/
|
|
59
|
+
presentation boundary; it is no longer the not-implemented placeholder.
|
|
48
60
|
|
|
49
61
|
## v0.1 progress (Batch 1–6; implemented and released as 0.1.0)
|
|
50
62
|
|
|
@@ -546,13 +558,11 @@ binding, or fidelity evaluation yet.
|
|
|
546
558
|
extends outside the owning image's bounds.
|
|
547
559
|
- **Domain** (`src/domain/externalReferenceRegionRelationships.ts`): reuses
|
|
548
560
|
the exact pure geometry predicates `deriveLayoutRelationships` uses for
|
|
549
|
-
runtime targets (now exported additively from `relationships.ts
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
on demand against an artifact's own `regions`, bounded at
|
|
555
|
-
`MAX_REFERENCE_REGION_RELATIONSHIP_RECORDS`.
|
|
561
|
+
runtime targets (now exported additively) from `relationships.ts` rather
|
|
562
|
+
than reimplemented, so reference-region geometry and runtime-target
|
|
563
|
+
geometry can never diverge on the same underlying formula; only the
|
|
564
|
+
geometry-only relationship families apply, since a static image exposes
|
|
565
|
+
no DOM, scroll, or viewport evidence.
|
|
556
566
|
- **Schema**: `ExternalReferenceArtifact` gained one additive, optional
|
|
557
567
|
`regions?: ReferenceRegion[]` field. No schema version bump
|
|
558
568
|
(`EXTERNAL_REFERENCE_SCHEMA_VERSION` remains `'1.0.0'`) - every Prompt 1
|
|
@@ -980,7 +990,9 @@ most one designated server-side call site, and several (`compareObservations`,
|
|
|
980
990
|
never called by the viewer at all. The viewer never runs
|
|
981
991
|
`@dailephd/my-dev-kit`, never mutates target source or any Observer
|
|
982
992
|
artifact, never persists a new viewer-owned evidence family, and every route
|
|
983
|
-
rejects non-`GET`/`HEAD` methods.
|
|
993
|
+
rejects non-`GET`/`HEAD` methods. (That was the complete v0.8 surface. v0.9
|
|
994
|
+
later adds exactly three project-aware authoring `POST` routes. See "v0.9
|
|
995
|
+
status" below.)
|
|
984
996
|
|
|
985
997
|
**Validated on the canonical worktree**: `npm run typecheck`, `npm run
|
|
986
998
|
lint`, `npm test`, `npm run build`, `npm run check:docs`, `npm run
|
|
@@ -998,25 +1010,132 @@ viewer surface both passed - see the readiness report above, including the
|
|
|
998
1010
|
one security finding it found and fixed (a symlinked-media evidence-root
|
|
999
1011
|
escape in the viewer's media route).
|
|
1000
1012
|
|
|
1013
|
+
## v0.9 status (Human Visual Annotation and Design-Intent Capture) - released as 0.9.0
|
|
1014
|
+
|
|
1015
|
+
v0.9 is implemented against the frozen plan
|
|
1016
|
+
`docs/plans/v0.9-implementation-plan.md` and released as
|
|
1017
|
+
`@dailephd/my-frontend-observer@0.9.0`.
|
|
1018
|
+
|
|
1019
|
+
- **Prompt 1** (`docs/reports/v0.9-batch1-visual-annotation-foundation.md`)
|
|
1020
|
+
added the `VisualAnnotationArtifact` domain (schema `1.0.0`), structured
|
|
1021
|
+
point/rectangle/line/arrow/note marks, runtime and reference coordinate
|
|
1022
|
+
spaces, explicit associations, candidate/confirmed interpretation,
|
|
1023
|
+
deterministic identity, the atomic writer, the canonical reader, the
|
|
1024
|
+
persistence service, and the derived overlay SVG.
|
|
1025
|
+
- **Prompt 2**
|
|
1026
|
+
(`docs/reports/v0.9-batch2-viewer-annotation-authoring-boundary.md`) added
|
|
1027
|
+
viewer discovery of annotations, the source-resolving annotation view
|
|
1028
|
+
route, the verified overlay media role, and the project-aware authoring
|
|
1029
|
+
boundary with `POST /api/annotations`. `view --root` stays read-only.
|
|
1030
|
+
- **Prompt 3**
|
|
1031
|
+
(`docs/reports/v0.9-batch3-runtime-screenshot-annotation-authoring.md`)
|
|
1032
|
+
added runtime screenshot annotation in runtime CSS pixels with zoom, pan,
|
|
1033
|
+
keyboard selection, save, reload, revisions, and stale-parent conflicts.
|
|
1034
|
+
- **Prompt 4**
|
|
1035
|
+
(`docs/reports/v0.9-batch4-external-reference-annotation-authoring.md`)
|
|
1036
|
+
added external-reference annotation in reference-image pixels, candidate
|
|
1037
|
+
region create and refine proposals, candidate reference requirements, and
|
|
1038
|
+
informational and asset-sensitive intent.
|
|
1039
|
+
- **Prompt 5**
|
|
1040
|
+
(`docs/reports/v0.9-batch5-runtime-intent-contract-promotion.md`) added
|
|
1041
|
+
runtime intent, explicit confirmation, promotion of selected confirmed
|
|
1042
|
+
`move`/`resize`/`preserve` intent into a canonical per-change contract
|
|
1043
|
+
(`POST /api/annotations/:handle/promote-contract`), optional explicit
|
|
1044
|
+
project contract activation, and `.tmp-*` discovery exclusion. Confirmed
|
|
1045
|
+
`remove` intent is honestly non-promotable.
|
|
1046
|
+
- **Prompt 6** (`docs/reports/v0.9-batch6-reference-materialization.md`)
|
|
1047
|
+
added materialization of selected confirmed reference regions and
|
|
1048
|
+
requirements into a new imported external-reference revision
|
|
1049
|
+
(`POST /api/annotations/:handle/materialize-reference`). The source is never
|
|
1050
|
+
changed and nothing is approved automatically.
|
|
1051
|
+
- **Prompt 7** (`docs/reports/v0.9-batch7-integrated-acceptance.md`) added the
|
|
1052
|
+
integrated real-Chromium acceptance suite
|
|
1053
|
+
(`tests/browser/v09IntegratedAcceptance.test.ts`), the packed installed
|
|
1054
|
+
annotation smoke (`scripts/ci/runPackedV09AnnotationSmoke.mjs`), its step in
|
|
1055
|
+
the pre-release readiness matrix, and this documentation reconciliation.
|
|
1056
|
+
|
|
1057
|
+
Current versions: package `0.9.0`, viewer protocol `1.3.0`, visual annotation
|
|
1058
|
+
schema `1.0.0`, frontend contract schema `1.0.0`, external-reference schema
|
|
1059
|
+
`1.0.0`. No other schema changed.
|
|
1060
|
+
|
|
1061
|
+
Invariants: annotations are evidence, not contracts. Only selected confirmed
|
|
1062
|
+
supported intent is promoted or materialized, always through the existing
|
|
1063
|
+
canonical contract and external-reference services. The existing contract,
|
|
1064
|
+
reference relationship, adequacy, and fidelity evaluators remain the only
|
|
1065
|
+
source of verdicts. Observer never edits target source, never approves a
|
|
1066
|
+
baseline or reference automatically, and never updates project reference
|
|
1067
|
+
acceptance.
|
|
1068
|
+
|
|
1069
|
+
Validation state: the full local validation suite, the integrated acceptance
|
|
1070
|
+
suite, and all three packed installed-candidate smokes passed locally on
|
|
1071
|
+
Windows. See the Prompt 7 report for exact results. A cross-platform
|
|
1072
|
+
pre-release readiness run passed on Windows, Linux, and macOS for the Prompt 7
|
|
1073
|
+
commit `a78a058` (`docs/reports/v0.9-pre-release-readiness.md`). That run is
|
|
1074
|
+
historical evidence only. It did not contain the demo and tutorial commits
|
|
1075
|
+
described below, so it is not readiness evidence for the final candidate.
|
|
1076
|
+
|
|
1077
|
+
### v0.9 demo and tutorials (release support, not product behavior)
|
|
1078
|
+
|
|
1079
|
+
- **Demo foundation** (commit `59ae009`,
|
|
1080
|
+
`docs/reports/v0.9-demo-foundation.md`): a deterministic demo application
|
|
1081
|
+
in `examples/v09-demo/` with ten stable region names, nine frozen states, a
|
|
1082
|
+
loopback-only demo server, a disposable-target materializer, and a fixed
|
|
1083
|
+
1440x900 reference PNG.
|
|
1084
|
+
- **Tutorial integration** (commit `6895b30`,
|
|
1085
|
+
`docs/reports/v0.9-tutorial-integration.md`): four `TutorialScenarioV1`
|
|
1086
|
+
scenarios in `examples/v09-demo/tutorials/`, a per-run target-contract
|
|
1087
|
+
generator, and a prepare command that builds each disposable target through
|
|
1088
|
+
the canonical `init`, `capture`, contract, and reference commands. The only
|
|
1089
|
+
product change was two optional `data-testid` attributes on the viewer
|
|
1090
|
+
drawing surfaces.
|
|
1091
|
+
- **End-to-end acceptance**
|
|
1092
|
+
(`docs/reports/v0.9-tutorial-end-to-end-acceptance.md`): all four tutorials
|
|
1093
|
+
regenerated from clean targets with `@dailephd/my-dev-kit-lab@0.4.9`,
|
|
1094
|
+
structural and content acceptance, canonical evidence checks, and a full
|
|
1095
|
+
local regression. Scenario narration, reading pauses, and screenshot
|
|
1096
|
+
requests were corrected in this stage. Human visual review of the videos
|
|
1097
|
+
was completed and approved before release.
|
|
1098
|
+
- **Final pre-release readiness**
|
|
1099
|
+
(`docs/reports/v0.9-final-pre-release-readiness.md`, with corrections in
|
|
1100
|
+
`docs/reports/v0.9-final-readiness-corrections.md`): one exact candidate
|
|
1101
|
+
package passed the packed observation, viewer and v0.9 annotation smokes and
|
|
1102
|
+
all four tutorials on Windows, Linux and macOS, using
|
|
1103
|
+
`@dailephd/my-dev-kit-lab@0.4.9` semantic `select-option` for native
|
|
1104
|
+
selects.
|
|
1105
|
+
|
|
1106
|
+
The four scenarios are annotation basics, runtime intent to an active change
|
|
1107
|
+
contract, reference authoring, and reference materialization. After each run
|
|
1108
|
+
the canonical evidence is read directly from the disposable target. The checks
|
|
1109
|
+
prove, for example, that only the two selected clauses were promoted, that
|
|
1110
|
+
`remove` and `inspect` never became clauses, and that a materialized reference
|
|
1111
|
+
revision is `imported`, supersedes its approved source, and reuses the source
|
|
1112
|
+
image bytes unchanged.
|
|
1113
|
+
|
|
1114
|
+
`my-dev-kit-lab` is an external tool invoked through `npx`. It is not an
|
|
1115
|
+
Observer dependency, and Observer has no tutorial command, recorder, subtitle
|
|
1116
|
+
writer, or tutorial manifest schema. `examples/v09-demo/` is excluded from the
|
|
1117
|
+
npm package.
|
|
1118
|
+
|
|
1001
1119
|
## Not implemented
|
|
1002
1120
|
|
|
1003
1121
|
- v0.5 baseline-selection/discovery policy (the caller must supply which
|
|
1004
1122
|
baseline to approve/evaluate against; there is no "find the current
|
|
1005
|
-
baseline" command), source ownership, orchestrator/lab product
|
|
1006
|
-
integration
|
|
1123
|
+
baseline" command), source ownership, and orchestrator/lab product
|
|
1124
|
+
integration all remain unimplemented in this repository.
|
|
1007
1125
|
(v0.6's bounded runtime projection and runtime/static correlation, the
|
|
1008
1126
|
complete v0.7 external-reference correction workflow described above, and
|
|
1009
1127
|
the v0.8 interactive viewer described in "v0.8 status" above, *are* now
|
|
1010
1128
|
implemented.) A CLI surface for Prompt 8's correction workflow specifically
|
|
1011
1129
|
remains unimplemented by design (programmatic-only, library-level use is
|
|
1012
1130
|
the current supported entry point) - see "v0.7 Prompt 8 status" above.
|
|
1013
|
-
|
|
1014
|
-
|
|
1131
|
+
The full graphical human-LLM workflow (v0.10) remains future and
|
|
1132
|
+
unimplemented. Structured visual annotation (v0.9) is implemented and
|
|
1133
|
+
released as `0.9.0` - see "v0.9 status" above.
|
|
1015
1134
|
|
|
1016
1135
|
## Next target
|
|
1017
1136
|
|
|
1018
|
-
v0.1-v0.
|
|
1019
|
-
`0.3.0`, `0.4.0`, `0.5.0`, `0.6.0`, `0.7.0`, `0.8.0`). v0.7 (End-to-End
|
|
1137
|
+
v0.1-v0.9 are implemented, validated, and released (`0.1.0`, `0.2.0`,
|
|
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`). v0.7 (End-to-End
|
|
1020
1139
|
Coding-Agent Frontend Change Review) is fully implemented and released: the
|
|
1021
1140
|
external-reference artifact foundation, explicit reference
|
|
1022
1141
|
regions/relationships, selected design requirements/tolerance
|
|
@@ -1035,8 +1154,8 @@ for the completeness audit, and
|
|
|
1035
1154
|
readiness validation that preceded this release.
|
|
1036
1155
|
|
|
1037
1156
|
v0.8 (Interactive Local Observation Viewer) is fully implemented, tested,
|
|
1038
|
-
and released - see "v0.8 status" above. v0.8.1
|
|
1039
|
-
|
|
1157
|
+
and released - see "v0.8 status" above. v0.8.1 was released as
|
|
1158
|
+
`@dailephd/my-frontend-observer@0.8.1`. All
|
|
1040
1159
|
eight implementation batches, the hardened documentation/implementation-
|
|
1041
1160
|
completeness audit, and formal pre-release readiness (cross-platform and
|
|
1042
1161
|
security validation) have passed - see `docs/ROADMAP.md` for v0.8's full
|
|
@@ -1044,6 +1163,9 @@ scope,
|
|
|
1044
1163
|
`docs/reports/v0.8-implementation-completeness-documentation-reconciliation.md`
|
|
1045
1164
|
for the completeness audit, and
|
|
1046
1165
|
`docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md`
|
|
1047
|
-
for the cross-platform readiness validation that preceded this release.
|
|
1048
|
-
|
|
1049
|
-
|
|
1166
|
+
for the cross-platform readiness validation that preceded this release.
|
|
1167
|
+
|
|
1168
|
+
v0.9 (structured visual annotation) is released as
|
|
1169
|
+
`@dailephd/my-frontend-observer@0.9.0` - see "v0.9 status" above. The next
|
|
1170
|
+
target is v0.10 (full graphical human-LLM workflow), which remains future and
|
|
1171
|
+
unimplemented - see `docs/ROADMAP.md`.
|
package/docs/DEVELOPMENT.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# Development
|
|
2
2
|
|
|
3
|
-
The released v0.
|
|
4
|
-
`@dailephd/my-frontend-observer@0.
|
|
3
|
+
The released v0.9.0 package is published as
|
|
4
|
+
`@dailephd/my-frontend-observer@0.9.0` (CLI `my-frontend-observer`). It keeps
|
|
5
|
+
the v0.8.1 project workflow and adds structured visual annotation.
|
|
5
6
|
|
|
6
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.
|
|
7
8
|
|
|
@@ -187,7 +188,11 @@ This starts a real, loopback-only server serving the actual built PWA. As of
|
|
|
187
188
|
v0.8 (all eight implementation batches), it reads `--root` only for bounded,
|
|
188
189
|
read-only evidence discovery through the existing canonical
|
|
189
190
|
readers/classifiers - it never writes to `--root` or modifies any artifact
|
|
190
|
-
under it.
|
|
191
|
+
under it. The v0.9 annotation authoring surface (implemented, not yet
|
|
192
|
+
released) is available only from the project-aware `node dist/cli.js view`
|
|
193
|
+
inside an initialized project, never from `--root`. Its end-to-end browser
|
|
194
|
+
proof is `tests/browser/v09IntegratedAcceptance.test.ts`, and its packed
|
|
195
|
+
installed proof is `scripts/ci/runPackedV09AnnotationSmoke.mjs`.
|
|
191
196
|
|
|
192
197
|
Unlike `scripts/ci/runPackedObservationSmoke.mjs`, none of these five dev
|
|
193
198
|
smokes is wired into any CI workflow or is a release gate - they are
|
|
@@ -1357,7 +1357,10 @@ The viewer must consume the reusable observation, reference, comparison, contrac
|
|
|
1357
1357
|
|
|
1358
1358
|
It must not contain a second browser-observation implementation, a second reference model, a second binding engine, a second reference-evaluation implementation, a second contract engine, or a second bounded-context builder.
|
|
1359
1359
|
|
|
1360
|
-
##
|
|
1360
|
+
## Implemented capability (v0.9) — Human visual annotation
|
|
1361
|
+
|
|
1362
|
+
Status: implemented and released as `0.9.0`. The intent below is unchanged and
|
|
1363
|
+
remains the capability authority.
|
|
1361
1364
|
|
|
1362
1365
|
A later phase should allow the user to communicate visual intent directly on top of either an observed frontend or an approved external reference.
|
|
1363
1366
|
|
|
@@ -1715,6 +1715,10 @@ Milestone 8 is complete when:
|
|
|
1715
1715
|
|
|
1716
1716
|
## Milestone 9 — Human Visual Annotation and Design-Intent Capture
|
|
1717
1717
|
|
|
1718
|
+
Implementation status: implemented and released as `0.9.0`. The milestone
|
|
1719
|
+
design below is unchanged and remains the capability authority. Milestone 10
|
|
1720
|
+
remains future.
|
|
1721
|
+
|
|
1718
1722
|
### Objective
|
|
1719
1723
|
|
|
1720
1724
|
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,8 +1,9 @@
|
|
|
1
1
|
# Project Overview
|
|
2
2
|
|
|
3
|
-
The repository contains the complete v0.
|
|
4
|
-
`
|
|
5
|
-
|
|
3
|
+
The repository contains the complete v0.9.0 release, published as
|
|
4
|
+
`@dailephd/my-frontend-observer@0.9.0` under the MIT license. It adds
|
|
5
|
+
structured visual annotation to the v0.8.1 project workflow (`init`,
|
|
6
|
+
`capture`, `check`, project-aware `view`).
|
|
6
7
|
|
|
7
8
|
`my-frontend-observer` is the rendered browser/runtime evidence producer in
|
|
8
9
|
the my-dev-kit ecosystem. It addresses the gap between source-level evidence
|
|
@@ -28,13 +29,16 @@ Region Identity; v0.3, Runtime Scrolling, Overflow, and Visibility Behavior;
|
|
|
28
29
|
v0.4, Layout Relationships, Dependency Evidence, and Before/After
|
|
29
30
|
Comparison; v0.5, Executable Frontend Contracts and Explicit Change Scope;
|
|
30
31
|
v0.6, Bounded Agent Context and Native my-dev-kit Ecosystem Integration;
|
|
31
|
-
v0.7, End-to-End Coding-Agent Frontend Change Review;
|
|
32
|
-
Local Observation Viewer,
|
|
33
|
-
|
|
32
|
+
v0.7, End-to-End Coding-Agent Frontend Change Review; v0.8, Interactive
|
|
33
|
+
Local Observation Viewer; v0.8.1, Project Workflow CLI and Human-Readable
|
|
34
|
+
Evidence Aliases; and v0.9, Human Visual Annotation and Design-Intent Capture,
|
|
35
|
+
are released and published to npm. The current package version is `0.9.0` as
|
|
36
|
+
`@dailephd/my-frontend-observer` (observation schema `1.2.0`, comparison schema
|
|
34
37
|
`1.0.0`, frontend contract schema `1.0.0`, evaluation artifact schema `1.0.0`,
|
|
35
|
-
bounded-agent-context schema `1.0.0`, external-reference schema `1.0.0
|
|
36
|
-
released package was validated as a
|
|
37
|
-
environment across Windows, Linux, and
|
|
38
|
+
bounded-agent-context schema `1.0.0`, external-reference schema `1.0.0`,
|
|
39
|
+
visual annotation schema `1.0.0`). The released package was validated as a
|
|
40
|
+
packed npm tarball in a clean consumer environment across Windows, Linux, and
|
|
41
|
+
macOS.
|
|
38
42
|
|
|
39
43
|
The released low-level command surface remains artifact-oriented: a real
|
|
40
44
|
`observe` command launches Chromium, enforces loopback-only safety, captures
|
|
@@ -81,8 +85,8 @@ engines used by the CLI, never a second implementation of them. See
|
|
|
81
85
|
and `docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md`
|
|
82
86
|
for the implementation and release evidence.
|
|
83
87
|
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
v0.8.1 was a project-workflow CLI usability patch published as
|
|
89
|
+
`@dailephd/my-frontend-observer@0.8.1`. It does
|
|
86
90
|
not introduce a new evidence model. It adds project configuration,
|
|
87
91
|
human-readable aliases, managed project-local Observer state, and a small
|
|
88
92
|
high-level `init` / `capture` / `check` / project-aware `view` workflow above
|
|
@@ -92,10 +96,23 @@ artifact identifiers during ordinary use. Existing low-level commands remain
|
|
|
92
96
|
supported. The frozen plan is
|
|
93
97
|
`docs/plans/v0.8.1-cli-usability-patch-plan.md`.
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
annotation
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
The latest published release is v0.9.0. v0.9 adds structured
|
|
100
|
+
visual annotation to the project-aware viewer for both runtime observations and
|
|
101
|
+
external references. People draw marks, explicitly associate them, and confirm
|
|
102
|
+
structured intent. Selected confirmed runtime intent can become a normal
|
|
103
|
+
per-change contract, and selected confirmed reference intent can become a new
|
|
104
|
+
imported external-reference revision. The existing contract and reference
|
|
105
|
+
evaluators stay authoritative. It followed the frozen plan in
|
|
106
|
+
`docs/plans/v0.9-implementation-plan.md`, grounded by
|
|
107
|
+
`docs/reports/v0.9-architecture-retrieval.md`.
|
|
108
|
+
The repository-owned deterministic demo and its four tutorial scenarios
|
|
109
|
+
(`examples/v09-demo/`, recorded by the external
|
|
110
|
+
`@dailephd/my-dev-kit-lab@0.4.9` tool) passed final cross-platform readiness
|
|
111
|
+
with the release. They are release support and documentation, not product
|
|
112
|
+
behavior, and they are not shipped in the npm package.
|
|
113
|
+
v0.10 remains future and unimplemented and completes the visual human-LLM
|
|
114
|
+
workflow on top of the v0.9 annotation model and v0.8.1 high-level acceptance
|
|
115
|
+
surface.
|
|
99
116
|
|
|
100
117
|
The revised dependency path reaches practical coding-agent use before graphical
|
|
101
118
|
interaction and keeps later visual work on the same canonical evidence system:
|
|
@@ -109,9 +126,9 @@ runtime observation and stable identity
|
|
|
109
126
|
+ reference-vs-candidate structured fidelity evaluation
|
|
110
127
|
+ controlled end-to-end correction workflow (released as 0.7.0)
|
|
111
128
|
→ interactive viewer with reference/candidate inspection (released as 0.8.0)
|
|
112
|
-
→ project workflow CLI + human-readable evidence aliases (
|
|
129
|
+
→ project workflow CLI + human-readable evidence aliases (released as 0.8.1)
|
|
113
130
|
→ structured visual annotation on runtime screenshots and external references
|
|
114
|
-
(
|
|
131
|
+
(released as 0.9.0)
|
|
115
132
|
→ full visual human-LLM workflow with actual-frontend-driven and
|
|
116
133
|
reference-driven entry modes (planned v0.10)
|
|
117
134
|
```
|
|
@@ -145,6 +162,13 @@ Repository-local authorities and navigation:
|
|
|
145
162
|
release state.
|
|
146
163
|
- [plans/v0.8.1-cli-usability-patch-plan.md](plans/v0.8.1-cli-usability-patch-plan.md)
|
|
147
164
|
freezes the concrete implementation plan for the v0.8.1 patch.
|
|
165
|
+
- [plans/v0.9-implementation-plan.md](plans/v0.9-implementation-plan.md)
|
|
166
|
+
freezes the concrete implementation architecture, seven ordered batches,
|
|
167
|
+
gates, and validation expectations for v0.9. It is planning authority only;
|
|
168
|
+
the v0.9 implementation state is recorded in CURRENT_STATE.md and the
|
|
169
|
+
`reports/v0.9-*.md` reports.
|
|
170
|
+
- [reports/v0.9-architecture-retrieval.md](reports/v0.9-architecture-retrieval.md)
|
|
171
|
+
preserves the bounded current-source retrieval that grounded the v0.9 plan.
|
|
148
172
|
|
|
149
173
|
Historical greenfield artifacts and reports are retained as evidence that an
|
|
150
174
|
earlier run overreached into v0.1; they are not current-state authority.
|
package/docs/QUICKSTART.md
CHANGED
|
@@ -1,28 +1,46 @@
|
|
|
1
1
|
# Quickstart
|
|
2
2
|
|
|
3
|
+
For complete coding-agent features, runtime-to-source repair, shared-component
|
|
4
|
+
protection, and ecosystem failure feedback, use the single
|
|
5
|
+
[ecosystem workflow guide in my-dev-kit](https://github.com/dailephd/my-dev-kit/blob/main/docs/ECOSYSTEM_DEVELOPMENT_WORKFLOWS.md).
|
|
6
|
+
Observer owns the browser evidence and its canonical evaluations. Project tests
|
|
7
|
+
own application actions and backend/frontend integration. Orchestrator owns
|
|
8
|
+
native lifecycle when selected. Lab supplies applicable assurance separately.
|
|
9
|
+
This repository does not maintain another ecosystem-guide copy.
|
|
10
|
+
|
|
3
11
|
The common source workflow is:
|
|
4
12
|
|
|
5
13
|
```powershell
|
|
6
14
|
node dist/cli.js init --url http://127.0.0.1:3000 --target app=#app
|
|
7
15
|
node dist/cli.js capture baseline
|
|
8
16
|
# make a frontend change
|
|
9
|
-
node dist/cli.js check baseline
|
|
17
|
+
node dist/cli.js check baseline --json
|
|
10
18
|
node dist/cli.js view
|
|
11
19
|
```
|
|
12
20
|
|
|
13
|
-
Use `check baseline --json` for a coding agent
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
Use `check baseline --json` for a coding agent. It captures a new immutable
|
|
22
|
+
candidate, compares it canonically, and evaluates configured acceptance. The
|
|
23
|
+
result and exit status are `PASS`/0, `FAIL`/1, `REVIEW_REQUIRED`/2, or `BLOCKED`/3.
|
|
24
|
+
Comparison alone returns `REVIEW_REQUIRED`, even when no differences are found.
|
|
25
|
+
Configure the applicable contract and/or approved reference through the current
|
|
26
|
+
project schema before expecting an acceptance PASS. See
|
|
27
|
+
[COMMANDS.md](COMMANDS.md#v081-common-workflow) for the exact fields.
|
|
28
|
+
|
|
29
|
+
On a failure, preserve the bounded evidence, correct source externally, and
|
|
30
|
+
recheck against the same baseline. Do not replace the baseline, relax protected
|
|
31
|
+
requirements, or treat REVIEW_REQUIRED/BLOCKED as success. Observer never edits
|
|
32
|
+
source. Canonical IDs remain available in details and provenance but are not
|
|
33
|
+
required as ordinary project-command input.
|
|
17
34
|
|
|
18
|
-
Prerequisites are Node.js 24 or later and npm.
|
|
35
|
+
Prerequisites are Node.js 24 or later and npm. The package identity is:
|
|
19
36
|
|
|
20
37
|
```powershell
|
|
21
38
|
npm install --save-dev @dailephd/my-frontend-observer
|
|
22
39
|
npx playwright install chromium
|
|
23
40
|
```
|
|
24
41
|
|
|
25
|
-
The installed CLI
|
|
42
|
+
The installed CLI remains `my-frontend-observer`. Use the resolved local binary
|
|
43
|
+
or `npx @dailephd/my-frontend-observer` and record its version. For source setup:
|
|
26
44
|
|
|
27
45
|
```powershell
|
|
28
46
|
npm install
|
|
@@ -30,7 +48,7 @@ npx playwright install chromium
|
|
|
30
48
|
npm run build
|
|
31
49
|
```
|
|
32
50
|
|
|
33
|
-
|
|
51
|
+
The advanced observation workflow remains supported:
|
|
34
52
|
|
|
35
53
|
```powershell
|
|
36
54
|
node dist/cli.js observe `
|
|
@@ -41,37 +59,32 @@ node dist/cli.js observe `
|
|
|
41
59
|
--output observations
|
|
42
60
|
```
|
|
43
61
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
`--
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<root> --after <root> --output
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
the
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
use `my-frontend-observer view --root observations --no-open`. See
|
|
71
|
-
[COMMANDS.md](COMMANDS.md#view) for the full
|
|
72
|
-
flag reference, including `--bindings-file` and `--context-file`.
|
|
73
|
-
|
|
74
|
-
To validate the repository itself instead:
|
|
62
|
+
It launches Chromium, captures a screenshot plus bounded page/target evidence,
|
|
63
|
+
and writes a portable artifact under `observations/<observation-id>/`.
|
|
64
|
+
[COMMANDS.md](COMMANDS.md) documents structured `--targets-file` input, bounded
|
|
65
|
+
`--scroll-scenario-file` actions, and declared `--state-file` identity. Declaring
|
|
66
|
+
state does not log in, seed data, or execute a user journey. Establish required
|
|
67
|
+
application state with the project's actual setup/browser test commands.
|
|
68
|
+
|
|
69
|
+
With two observations, `compare --before <root> --after <root> --output
|
|
70
|
+
comparisons` derives before/after evidence without launching another browser.
|
|
71
|
+
It can report incomparable evidence successfully, so inspect the semantic
|
|
72
|
+
result rather than treat advanced-command exit 0 as acceptance.
|
|
73
|
+
|
|
74
|
+
`approve-baseline`, `save-change-contract`, and `evaluate-contract` expose the
|
|
75
|
+
advanced frontend contract flow. A selected external image additionally uses
|
|
76
|
+
`import-reference`, `approve-reference`, and `evaluate-reference-fidelity`.
|
|
77
|
+
Reference requirements, applicability, explicit bindings, and protected behavior
|
|
78
|
+
remain independent acceptance responsibilities. A raw image import does not
|
|
79
|
+
approve a reference or prove every aesthetic requirement. See
|
|
80
|
+
[CONTRACTS.md](CONTRACTS.md) and [WORKFLOWS.md](WORKFLOWS.md).
|
|
81
|
+
|
|
82
|
+
`my-frontend-observer view --no-open` starts the loopback-only viewer over managed
|
|
83
|
+
project evidence. Use `view --root observations --no-open` for standalone roots.
|
|
84
|
+
The viewer is inspect-only. Its `--bindings-file` and `--context-file` inputs do
|
|
85
|
+
not create a second evaluator or automatic source-owner mapping.
|
|
86
|
+
|
|
87
|
+
To validate this repository itself, rather than the target application:
|
|
75
88
|
|
|
76
89
|
```powershell
|
|
77
90
|
npm run typecheck
|
package/docs/RELEASE.md
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
# Release
|
|
2
2
|
|
|
3
|
-
`v0.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
`v0.9.0` (Human Visual Annotation and Design-Intent Capture) is released and
|
|
4
|
+
published to npm as `@dailephd/my-frontend-observer`. The release adds
|
|
5
|
+
structured visual annotation of runtime observations and external references
|
|
6
|
+
to the project-aware viewer, selected promotion of confirmed runtime intent
|
|
7
|
+
into canonical change contracts, and selected materialization of confirmed
|
|
8
|
+
reference intent into new imported reference revisions, with final
|
|
9
|
+
Windows/Linux/macOS readiness and the MIT license.
|
|
7
10
|
|
|
8
11
|
The CLI remains `my-frontend-observer`; package identity and product identity
|
|
9
12
|
are intentionally distinct. Canonical artifact schemas remain versioned
|
|
10
13
|
independently from the npm package version.
|
|
11
14
|
|
|
12
15
|
Observation, comparison, frontend contract, evaluation artifact,
|
|
13
|
-
bounded-agent-context, external-reference, and package
|
|
14
|
-
separate: package version is `0.
|
|
15
|
-
comparison schema is `1.0.0`, frontend contract schema is `1.0.0`,
|
|
16
|
+
bounded-agent-context, external-reference, visual annotation, and package
|
|
17
|
+
version all remain separate: package version is `0.9.0`; observation schema is
|
|
18
|
+
`1.2.0`, comparison schema is `1.0.0`, frontend contract schema is `1.0.0`,
|
|
16
19
|
evaluation artifact schema is `1.0.0`, bounded-agent-context schema is
|
|
17
|
-
`1.0.0`,
|
|
18
|
-
|
|
19
|
-
the
|
|
20
|
+
`1.0.0`, external-reference schema is `1.0.0`, and visual annotation schema is
|
|
21
|
+
`1.0.0` - none of which changes automatically with the package version. v0.9
|
|
22
|
+
introduced the visual annotation schema and bumped no existing schema.
|
|
20
23
|
|
|
21
|
-
Prior releases: `v0.
|
|
24
|
+
Prior releases: `v0.8.1` (Project Workflow CLI and Human-Readable Evidence
|
|
25
|
+
Aliases), `v0.8.0` (Interactive Local Observation Viewer), `v0.7.0` (End-to-End
|
|
26
|
+
Coding-Agent Frontend Change Review), `v0.6.0` (Bounded Agent Context and Native my-dev-kit
|
|
22
27
|
Ecosystem Integration), `v0.5.0` (Executable Frontend Contracts and
|
|
23
28
|
Explicit Change Scope), `v0.4.0` (Layout Relationships, Dependency
|
|
24
29
|
Evidence, and Before/After Comparison), `v0.3.0` (Runtime Scrolling,
|