@dailephd/my-frontend-observer 0.8.1
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 +397 -0
- package/LICENSE +21 -0
- package/README.md +255 -0
- package/dist/application/browserCaptureService.d.ts +11 -0
- package/dist/application/browserCaptureService.js +12 -0
- package/dist/application/browserCaptureService.js.map +1 -0
- 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/externalReferencePersistenceService.d.ts +75 -0
- package/dist/application/externalReferencePersistenceService.js +182 -0
- package/dist/application/externalReferencePersistenceService.js.map +1 -0
- package/dist/application/frontendContractEvaluationService.d.ts +49 -0
- package/dist/application/frontendContractEvaluationService.js +112 -0
- package/dist/application/frontendContractEvaluationService.js.map +1 -0
- package/dist/application/frontendContractPersistenceService.d.ts +56 -0
- package/dist/application/frontendContractPersistenceService.js +91 -0
- package/dist/application/frontendContractPersistenceService.js.map +1 -0
- package/dist/application/observationPersistence.d.ts +59 -0
- package/dist/application/observationPersistence.js +79 -0
- package/dist/application/observationPersistence.js.map +1 -0
- package/dist/application/projectCheckService.d.ts +3 -0
- package/dist/application/projectCheckService.js +169 -0
- package/dist/application/projectCheckService.js.map +1 -0
- package/dist/application/projectWorkflowService.d.ts +46 -0
- package/dist/application/projectWorkflowService.js +92 -0
- package/dist/application/projectWorkflowService.js.map +1 -0
- package/dist/application/referenceFidelityEvaluationService.d.ts +28 -0
- package/dist/application/referenceFidelityEvaluationService.js +45 -0
- package/dist/application/referenceFidelityEvaluationService.js.map +1 -0
- 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/artifactWriter.d.ts +25 -0
- package/dist/artifacts/artifactWriter.js +68 -0
- package/dist/artifacts/artifactWriter.js.map +1 -0
- package/dist/artifacts/comparisonArtifactReader.d.ts +18 -0
- package/dist/artifacts/comparisonArtifactReader.js +35 -0
- package/dist/artifacts/comparisonArtifactReader.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/artifacts/externalReferenceArtifactReader.d.ts +18 -0
- package/dist/artifacts/externalReferenceArtifactReader.js +35 -0
- package/dist/artifacts/externalReferenceArtifactReader.js.map +1 -0
- package/dist/artifacts/externalReferenceArtifactWriter.d.ts +44 -0
- package/dist/artifacts/externalReferenceArtifactWriter.js +77 -0
- package/dist/artifacts/externalReferenceArtifactWriter.js.map +1 -0
- package/dist/artifacts/frontendContractArtifactReader.d.ts +24 -0
- package/dist/artifacts/frontendContractArtifactReader.js +47 -0
- package/dist/artifacts/frontendContractArtifactReader.js.map +1 -0
- package/dist/artifacts/frontendContractArtifactWriter.d.ts +34 -0
- package/dist/artifacts/frontendContractArtifactWriter.js +70 -0
- package/dist/artifacts/frontendContractArtifactWriter.js.map +1 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.d.ts +17 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.js +34 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.js.map +1 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.d.ts +32 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.js +58 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.js.map +1 -0
- package/dist/artifacts/types.d.ts +17 -0
- package/dist/artifacts/types.js +2 -0
- package/dist/artifacts/types.js.map +1 -0
- package/dist/browser/chromiumAdapter.d.ts +21 -0
- package/dist/browser/chromiumAdapter.js +204 -0
- package/dist/browser/chromiumAdapter.js.map +1 -0
- package/dist/browser/evidenceCapture.d.ts +62 -0
- package/dist/browser/evidenceCapture.js +500 -0
- package/dist/browser/evidenceCapture.js.map +1 -0
- 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 +24 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +2411 -0
- package/dist/cli.js.map +1 -0
- package/dist/domain/boundedAgentContext.d.ts +226 -0
- package/dist/domain/boundedAgentContext.js +355 -0
- package/dist/domain/boundedAgentContext.js.map +1 -0
- package/dist/domain/boundedAgentContextCorrelation.d.ts +74 -0
- package/dist/domain/boundedAgentContextCorrelation.js +441 -0
- package/dist/domain/boundedAgentContextCorrelation.js.map +1 -0
- package/dist/domain/boundedAgentContextIdentity.d.ts +26 -0
- package/dist/domain/boundedAgentContextIdentity.js +69 -0
- package/dist/domain/boundedAgentContextIdentity.js.map +1 -0
- package/dist/domain/boundedAgentContextProjection.d.ts +71 -0
- package/dist/domain/boundedAgentContextProjection.js +477 -0
- package/dist/domain/boundedAgentContextProjection.js.map +1 -0
- package/dist/domain/comparison.d.ts +220 -0
- package/dist/domain/comparison.js +350 -0
- package/dist/domain/comparison.js.map +1 -0
- package/dist/domain/comparisonEngine.d.ts +76 -0
- package/dist/domain/comparisonEngine.js +734 -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/completion.d.ts +30 -0
- package/dist/domain/completion.js +22 -0
- package/dist/domain/completion.js.map +1 -0
- package/dist/domain/diagnostics.d.ts +17 -0
- package/dist/domain/diagnostics.js +77 -0
- package/dist/domain/diagnostics.js.map +1 -0
- package/dist/domain/evidence.d.ts +29 -0
- package/dist/domain/evidence.js +59 -0
- package/dist/domain/evidence.js.map +1 -0
- package/dist/domain/explicitState.d.ts +40 -0
- package/dist/domain/explicitState.js +54 -0
- package/dist/domain/explicitState.js.map +1 -0
- package/dist/domain/externalReference.d.ts +158 -0
- package/dist/domain/externalReference.js +167 -0
- package/dist/domain/externalReference.js.map +1 -0
- package/dist/domain/externalReferenceApplicability.d.ts +43 -0
- package/dist/domain/externalReferenceApplicability.js +52 -0
- package/dist/domain/externalReferenceApplicability.js.map +1 -0
- package/dist/domain/externalReferenceCompatibility.d.ts +40 -0
- package/dist/domain/externalReferenceCompatibility.js +48 -0
- package/dist/domain/externalReferenceCompatibility.js.map +1 -0
- package/dist/domain/externalReferenceFidelity.d.ts +171 -0
- package/dist/domain/externalReferenceFidelity.js +419 -0
- package/dist/domain/externalReferenceFidelity.js.map +1 -0
- package/dist/domain/externalReferenceIdentity.d.ts +38 -0
- package/dist/domain/externalReferenceIdentity.js +70 -0
- package/dist/domain/externalReferenceIdentity.js.map +1 -0
- package/dist/domain/externalReferenceImage.d.ts +35 -0
- package/dist/domain/externalReferenceImage.js +160 -0
- package/dist/domain/externalReferenceImage.js.map +1 -0
- package/dist/domain/externalReferenceRegionRelationships.d.ts +63 -0
- package/dist/domain/externalReferenceRegionRelationships.js +98 -0
- package/dist/domain/externalReferenceRegionRelationships.js.map +1 -0
- package/dist/domain/externalReferenceRegions.d.ts +65 -0
- package/dist/domain/externalReferenceRegions.js +105 -0
- package/dist/domain/externalReferenceRegions.js.map +1 -0
- package/dist/domain/externalReferenceRequirementIdentity.d.ts +12 -0
- package/dist/domain/externalReferenceRequirementIdentity.js +35 -0
- package/dist/domain/externalReferenceRequirementIdentity.js.map +1 -0
- package/dist/domain/externalReferenceRequirements.d.ts +215 -0
- package/dist/domain/externalReferenceRequirements.js +401 -0
- package/dist/domain/externalReferenceRequirements.js.map +1 -0
- package/dist/domain/externalReferenceRuntimeBinding.d.ts +146 -0
- package/dist/domain/externalReferenceRuntimeBinding.js +183 -0
- package/dist/domain/externalReferenceRuntimeBinding.js.map +1 -0
- package/dist/domain/frontendContractEvaluation.d.ts +57 -0
- package/dist/domain/frontendContractEvaluation.js +454 -0
- package/dist/domain/frontendContractEvaluation.js.map +1 -0
- package/dist/domain/frontendContractEvaluationArtifact.d.ts +65 -0
- package/dist/domain/frontendContractEvaluationArtifact.js +108 -0
- package/dist/domain/frontendContractEvaluationArtifact.js.map +1 -0
- package/dist/domain/frontendContractIdentity.d.ts +39 -0
- package/dist/domain/frontendContractIdentity.js +70 -0
- package/dist/domain/frontendContractIdentity.js.map +1 -0
- package/dist/domain/frontendContracts.d.ts +188 -0
- package/dist/domain/frontendContracts.js +260 -0
- package/dist/domain/frontendContracts.js.map +1 -0
- package/dist/domain/identity.d.ts +21 -0
- package/dist/domain/identity.js +47 -0
- package/dist/domain/identity.js.map +1 -0
- package/dist/domain/referenceCorrectionIdentity.d.ts +40 -0
- package/dist/domain/referenceCorrectionIdentity.js +77 -0
- package/dist/domain/referenceCorrectionIdentity.js.map +1 -0
- package/dist/domain/referenceCorrectionWorkflow.d.ts +160 -0
- package/dist/domain/referenceCorrectionWorkflow.js +165 -0
- package/dist/domain/referenceCorrectionWorkflow.js.map +1 -0
- package/dist/domain/referenceFidelityProjection.d.ts +65 -0
- package/dist/domain/referenceFidelityProjection.js +135 -0
- package/dist/domain/referenceFidelityProjection.js.map +1 -0
- package/dist/domain/relationships.d.ts +210 -0
- package/dist/domain/relationships.js +352 -0
- package/dist/domain/relationships.js.map +1 -0
- package/dist/domain/schema.d.ts +269 -0
- package/dist/domain/schema.js +442 -0
- package/dist/domain/schema.js.map +1 -0
- 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 +114 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/projectWorkflow/aliasCatalog.d.ts +21 -0
- package/dist/projectWorkflow/aliasCatalog.js +67 -0
- package/dist/projectWorkflow/aliasCatalog.js.map +1 -0
- package/dist/projectWorkflow/checkAcceptance.d.ts +25 -0
- package/dist/projectWorkflow/checkAcceptance.js +55 -0
- package/dist/projectWorkflow/checkAcceptance.js.map +1 -0
- package/dist/projectWorkflow/checkResult.d.ts +85 -0
- package/dist/projectWorkflow/checkResult.js +101 -0
- package/dist/projectWorkflow/checkResult.js.map +1 -0
- package/dist/projectWorkflow/projectConfig.d.ts +43 -0
- package/dist/projectWorkflow/projectConfig.js +84 -0
- package/dist/projectWorkflow/projectConfig.js.map +1 -0
- package/dist/projectWorkflow/projectDiscovery.d.ts +9 -0
- package/dist/projectWorkflow/projectDiscovery.js +20 -0
- package/dist/projectWorkflow/projectDiscovery.js.map +1 -0
- package/dist/projectWorkflow/projectPaths.d.ts +8 -0
- package/dist/projectWorkflow/projectPaths.js +23 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -0
- package/dist/request/paths.d.ts +14 -0
- package/dist/request/paths.js +33 -0
- package/dist/request/paths.js.map +1 -0
- package/dist/request/request.d.ts +111 -0
- package/dist/request/request.js +464 -0
- package/dist/request/request.js.map +1 -0
- package/dist/safety/policy.d.ts +14 -0
- package/dist/safety/policy.js +81 -0
- package/dist/safety/policy.js.map +1 -0
- package/dist/viewer/assets/index-CN_yb9Uf.css +1 -0
- package/dist/viewer/assets/index-D98S1_2d.js +9 -0
- package/dist/viewer/icons/icon-192.png +0 -0
- package/dist/viewer/icons/icon-512.png +0 -0
- package/dist/viewer/index.html +15 -0
- package/dist/viewer/manifest.webmanifest +1 -0
- package/dist/viewer/registerSW.js +1 -0
- package/dist/viewer/sw.js +1 -0
- package/dist/viewer/workbox-9c191d2f.js +1 -0
- package/dist/viewerServer/context.d.ts +48 -0
- package/dist/viewerServer/context.js +60 -0
- package/dist/viewerServer/context.js.map +1 -0
- package/dist/viewerServer/evidence/classify.d.ts +59 -0
- package/dist/viewerServer/evidence/classify.js +124 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -0
- package/dist/viewerServer/evidence/comparisonView.d.ts +28 -0
- package/dist/viewerServer/evidence/comparisonView.js +43 -0
- package/dist/viewerServer/evidence/comparisonView.js.map +1 -0
- package/dist/viewerServer/evidence/contextSourceView.d.ts +25 -0
- package/dist/viewerServer/evidence/contextSourceView.js +20 -0
- package/dist/viewerServer/evidence/contextSourceView.js.map +1 -0
- package/dist/viewerServer/evidence/discovery.d.ts +31 -0
- package/dist/viewerServer/evidence/discovery.js +78 -0
- package/dist/viewerServer/evidence/discovery.js.map +1 -0
- package/dist/viewerServer/evidence/evaluationView.d.ts +32 -0
- package/dist/viewerServer/evidence/evaluationView.js +50 -0
- package/dist/viewerServer/evidence/evaluationView.js.map +1 -0
- package/dist/viewerServer/evidence/handles.d.ts +21 -0
- package/dist/viewerServer/evidence/handles.js +43 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -0
- package/dist/viewerServer/evidence/index.d.ts +41 -0
- package/dist/viewerServer/evidence/index.js +82 -0
- package/dist/viewerServer/evidence/index.js.map +1 -0
- package/dist/viewerServer/evidence/limits.d.ts +27 -0
- package/dist/viewerServer/evidence/limits.js +28 -0
- package/dist/viewerServer/evidence/limits.js.map +1 -0
- package/dist/viewerServer/evidence/linkedEvidence.d.ts +43 -0
- package/dist/viewerServer/evidence/linkedEvidence.js +151 -0
- package/dist/viewerServer/evidence/linkedEvidence.js.map +1 -0
- package/dist/viewerServer/evidence/mediaResolver.d.ts +16 -0
- package/dist/viewerServer/evidence/mediaResolver.js +85 -0
- package/dist/viewerServer/evidence/mediaResolver.js.map +1 -0
- package/dist/viewerServer/evidence/observationView.d.ts +29 -0
- package/dist/viewerServer/evidence/observationView.js +46 -0
- package/dist/viewerServer/evidence/observationView.js.map +1 -0
- package/dist/viewerServer/evidence/pathSafety.d.ts +11 -0
- package/dist/viewerServer/evidence/pathSafety.js +31 -0
- package/dist/viewerServer/evidence/pathSafety.js.map +1 -0
- package/dist/viewerServer/evidence/projection.d.ts +55 -0
- package/dist/viewerServer/evidence/projection.js +152 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -0
- package/dist/viewerServer/evidence/referenceView.d.ts +133 -0
- package/dist/viewerServer/evidence/referenceView.js +169 -0
- package/dist/viewerServer/evidence/referenceView.js.map +1 -0
- package/dist/viewerServer/httpServer.d.ts +27 -0
- package/dist/viewerServer/httpServer.js +381 -0
- package/dist/viewerServer/httpServer.js.map +1 -0
- package/dist/viewerServer/openBrowser.d.ts +7 -0
- package/dist/viewerServer/openBrowser.js +32 -0
- package/dist/viewerServer/openBrowser.js.map +1 -0
- package/dist/viewerServer/port.d.ts +16 -0
- package/dist/viewerServer/port.js +19 -0
- package/dist/viewerServer/port.js.map +1 -0
- package/dist/viewerServer/viewerService.d.ts +62 -0
- package/dist/viewerServer/viewerService.js +88 -0
- package/dist/viewerServer/viewerService.js.map +1 -0
- package/docs/ARCHITECTURE.md +1286 -0
- package/docs/CI_CD.md +250 -0
- package/docs/COMMANDS.md +972 -0
- package/docs/CONTRACTS.md +1856 -0
- package/docs/CURRENT_STATE.md +1049 -0
- package/docs/DEVELOPMENT.md +202 -0
- package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +50 -0
- package/docs/PROJECT_DESCRIPTION.md +2221 -0
- package/docs/PROJECT_MILESTONES.md +2526 -0
- package/docs/PROJECT_OVERVIEW.md +150 -0
- package/docs/QUICKSTART.md +83 -0
- package/docs/RELEASE.md +27 -0
- package/docs/ROADMAP.md +641 -0
- package/docs/SECURITY.md +218 -0
- package/docs/WORKFLOWS.md +642 -0
- package/docs/plans/v0.8-implementation-plan.md +655 -0
- package/docs/plans/v0.8.1-cli-usability-patch-plan.md +505 -0
- package/docs/reports/v0.7-bounded-fidelity-context-prompt7.md +243 -0
- package/docs/reports/v0.7-implementation-completeness-documentation-reconciliation.md +497 -0
- package/docs/reports/v0.7-pre-release-readiness.md +337 -0
- package/docs/reports/v0.7-reference-binding-prompt5.md +223 -0
- package/docs/reports/v0.7-reference-compatibility-prompt4.md +234 -0
- package/docs/reports/v0.7-reference-correction-workflow-prompt8.md +222 -0
- package/docs/reports/v0.7-reference-fidelity-prompt6.md +216 -0
- package/docs/reports/v0.7-reference-foundation-prompt1.md +151 -0
- package/docs/reports/v0.7-reference-regions-prompt2.md +195 -0
- package/docs/reports/v0.7-reference-requirements-prompt3.md +217 -0
- package/docs/reports/v0.7-release-prep.md +423 -0
- package/docs/reports/v0.8-binding-fidelity-interaction-batch6.md +279 -0
- package/docs/reports/v0.8-bounded-context-correlation-batch7.md +233 -0
- package/docs/reports/v0.8-comparison-contract-inspection-batch4.md +279 -0
- package/docs/reports/v0.8-evidence-index-readers-batch2.md +247 -0
- package/docs/reports/v0.8-implementation-completeness-documentation-reconciliation.md +741 -0
- package/docs/reports/v0.8-integrated-viewer-acceptance-batch8.md +128 -0
- package/docs/reports/v0.8-observation-svg-inspection-batch3.md +223 -0
- package/docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md +687 -0
- package/docs/reports/v0.8-reference-candidate-inspection-batch5.md +232 -0
- package/docs/reports/v0.8-viewer-runtime-pwa-batch1.md +278 -0
- package/docs/reports/v0.8.1-check-orchestration-prompt2.md +69 -0
- package/docs/reports/v0.8.1-implementation-completeness-documentation-reconciliation.md +114 -0
- package/docs/reports/v0.8.1-prerelease-readiness-cross-platform-security-code-rot.md +170 -0
- package/docs/reports/v0.8.1-project-workflow-foundation-prompt1.md +66 -0
- package/package.json +58 -0
package/docs/ROADMAP.md
ADDED
|
@@ -0,0 +1,641 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
v0.8.1 status: released as v0.8.1 and published to npm as
|
|
4
|
+
`@dailephd/my-frontend-observer@0.8.1`. v0.9 and v0.10 remain future work.
|
|
5
|
+
|
|
6
|
+
This is a version-level specification, not an implementation checklist.
|
|
7
|
+
Concrete steps and sequencing are designed only when a version begins, after
|
|
8
|
+
the planner reads that version, inspects current repository state, and performs
|
|
9
|
+
needed my-dev-kit retrieval and architecture work.
|
|
10
|
+
|
|
11
|
+
## v0.1 — Runtime Observation Foundation
|
|
12
|
+
|
|
13
|
+
Current status: released as `0.1.0`, published to npm and validated as a
|
|
14
|
+
packed npm tarball in a clean consumer environment on Windows, Linux, and
|
|
15
|
+
macOS. See `docs/CURRENT_STATE.md` for the implementation summary.
|
|
16
|
+
|
|
17
|
+
Objective and user problem: establish trustworthy evidence of what a local
|
|
18
|
+
frontend actually rendered, rather than relying on source inference.
|
|
19
|
+
|
|
20
|
+
Required capabilities: Node.js 24+ TypeScript CLI; explicit loopback URL,
|
|
21
|
+
viewport, CSS targets, and output; real Playwright Chromium capture; viewport
|
|
22
|
+
PNG; bounded page/target evidence; versioned portable artifact; provenance,
|
|
23
|
+
diagnostics, completion state, and explicit available/unavailable/not-applicable/
|
|
24
|
+
partial semantics.
|
|
25
|
+
|
|
26
|
+
Constraints and contracts: one reusable application service behind a thin CLI,
|
|
27
|
+
one Chromium adapter, external non-destructive targets, loopback-only request/
|
|
28
|
+
redirect/subresource policy, no full DOM/style dump, observer-owned schema
|
|
29
|
+
`1.0.0` independent of package version. Direct browser, computed-browser, and
|
|
30
|
+
derived evidence remain distinguishable.
|
|
31
|
+
|
|
32
|
+
Dependencies/ecosystem/compatibility: greenfield foundation only; no runtime
|
|
33
|
+
dependency or modification of my-dev-kit, orchestrator, or lab. Windows and
|
|
34
|
+
portable structured evidence matter; screenshot bytes need not match across OS.
|
|
35
|
+
|
|
36
|
+
Exclusions: semantic identity expansion, scrolling actions, relationships,
|
|
37
|
+
comparison, contracts, LLM packets, viewer, annotation, integrations, remote
|
|
38
|
+
browsing, credentials, cloud browsers, additional engines, databases, Docker,
|
|
39
|
+
plugins, and static analysis.
|
|
40
|
+
|
|
41
|
+
Acceptance: deterministic loopback fixture drives real Chromium; screenshot is
|
|
42
|
+
a valid nonempty PNG; page and explicit targets expose required measurements;
|
|
43
|
+
missing targets are honest; all validation commands pass. Planning must confirm
|
|
44
|
+
capture-readiness semantics, exact diagnostics, public compatibility boundaries,
|
|
45
|
+
and the concrete dependency/version set before implementation.
|
|
46
|
+
|
|
47
|
+
## v0.2 — Stable Semantic Targets and Region Identity
|
|
48
|
+
|
|
49
|
+
Current status: released as `0.2.0`, published to npm and validated as a
|
|
50
|
+
packed npm tarball in a clean consumer environment on Windows, Linux, and
|
|
51
|
+
macOS. See `docs/CURRENT_STATE.md` for the implementation summary.
|
|
52
|
+
|
|
53
|
+
Objective/problem: let humans and consumers refer reliably to conceptual
|
|
54
|
+
rendered regions across observations without brittle selector-only identity.
|
|
55
|
+
Required capabilities include semantic HTML, accessibility role/name, stable
|
|
56
|
+
id/data attributes, bounded fallbacks, resolution confidence/status, ambiguity,
|
|
57
|
+
and missing evidence. Runtime identity remains observer-owned and distinct from
|
|
58
|
+
source symbols. Depends on v0.1 artifacts and adapter boundaries; schema changes
|
|
59
|
+
must be additive where compatible. No scrolling, comparison, contracts, source
|
|
60
|
+
ownership, or viewer. Acceptance requires repeatable semantic resolution across
|
|
61
|
+
fixtures and explicit ambiguity. Planning must decide selector precedence and
|
|
62
|
+
identity persistence rules from current evidence.
|
|
63
|
+
|
|
64
|
+
## v0.3 — Runtime Scrolling, Overflow, and Visibility Behavior
|
|
65
|
+
|
|
66
|
+
Current status: released as `0.3.0`, published to npm and validated as a
|
|
67
|
+
packed npm tarball in a clean consumer environment on Windows, Linux, and
|
|
68
|
+
macOS (observation schema `1.2.0`). See `docs/CURRENT_STATE.md` for the
|
|
69
|
+
implementation summary.
|
|
70
|
+
|
|
71
|
+
Objective/problem: show which container actually scrolls and what becomes
|
|
72
|
+
visible, clipped, or overflowing after controlled actions. Required capabilities
|
|
73
|
+
are bounded action scenarios, before/after window and target scroll positions,
|
|
74
|
+
viewport intersection/visibility, document/element overflow, and supported
|
|
75
|
+
derived scroll-owner interpretation. Depends on stable targets. Browser actions
|
|
76
|
+
are authoritative; derived claims cite facts. No general interaction recorder,
|
|
77
|
+
comparison engine, or contract semantics. Acceptance requires real-browser
|
|
78
|
+
fixtures for document and nested scroll owners. Planning must settle action
|
|
79
|
+
syntax, stabilization, and visibility thresholds.
|
|
80
|
+
|
|
81
|
+
## v0.4 — Layout Relationships, Dependency Evidence, and Before/After Comparison
|
|
82
|
+
|
|
83
|
+
Current status: released as `0.4.0`, published to npm and validated as a
|
|
84
|
+
packed npm tarball in a clean consumer environment on Windows, Linux, and
|
|
85
|
+
macOS. See `docs/CURRENT_STATE.md` for the implementation summary.
|
|
86
|
+
|
|
87
|
+
Objective/problem: explain whole-layout consequences rather than isolated
|
|
88
|
+
numbers. Required capabilities are containment/order/overlap/fit relationships,
|
|
89
|
+
comparable observation identity, before/after differences, appearance and
|
|
90
|
+
disappearance, geometry/visibility/overflow/relationship changes, screenshot
|
|
91
|
+
references, and explicit expected dependency evidence. Depends on v0.1–v0.3.
|
|
92
|
+
One canonical relationship and comparison layer serves all consumers;
|
|
93
|
+
co-change does not prove causation; causation requires explicit intent, a
|
|
94
|
+
contract, or another supported dependency source. No executable contracts or UI. Acceptance
|
|
95
|
+
requires bounded deterministic comparison with underlying evidence references.
|
|
96
|
+
Planning must settle comparability and tolerance semantics.
|
|
97
|
+
|
|
98
|
+
## v0.5 — Executable Frontend Contracts and Explicit Change Scope
|
|
99
|
+
|
|
100
|
+
Current status: released as `0.5.0`, published to npm and validated as a
|
|
101
|
+
packed npm tarball in a clean consumer environment on Windows, Linux, and
|
|
102
|
+
macOS (observation schema `1.2.0`, comparison schema `1.0.0`, frontend
|
|
103
|
+
contract schema `1.0.0`, evaluation artifact schema `1.0.0`). See
|
|
104
|
+
`docs/CURRENT_STATE.md` for the implementation summary.
|
|
105
|
+
|
|
106
|
+
Objective/problem: prevent a requested local fix from silently breaking an
|
|
107
|
+
approved region or invariant. Required capabilities are baseline invariants,
|
|
108
|
+
requested/expected-dependent/protected/preserved classifications, explicit
|
|
109
|
+
unexpected-change results, responsive tolerances, one canonical evaluation
|
|
110
|
+
engine, actionable verdicts, and baseline supersession history. Both persistent
|
|
111
|
+
baseline contracts and per-change contracts are required. Depends on v0.4
|
|
112
|
+
comparison and explicit intent evidence.
|
|
113
|
+
Existing approved contracts remain active unless the user supersedes them.
|
|
114
|
+
No LLM packaging, viewer, or annotation UI. Acceptance requires fixtures where
|
|
115
|
+
the requested change passes but a protected property fails. Planning must settle
|
|
116
|
+
contract storage, approval, tolerance, and conflict resolution.
|
|
117
|
+
|
|
118
|
+
## v0.6 — Bounded Agent Context and Native my-dev-kit Ecosystem Integration
|
|
119
|
+
|
|
120
|
+
Current status: released as `0.6.0`, from the `canonicalization/v0.6`
|
|
121
|
+
lineage. See `docs/CURRENT_STATE.md` for the implementation summary.
|
|
122
|
+
|
|
123
|
+
Objective/problem: make the observer useful to an actual coding-agent workflow
|
|
124
|
+
by answering the smallest trustworthy runtime-plus-static context question. A
|
|
125
|
+
coding agent needs task-relevant rendered facts, change-scope and contract
|
|
126
|
+
evidence, and relevant bounded source evidence without consuming the full
|
|
127
|
+
repository or an unbounded browser dump.
|
|
128
|
+
|
|
129
|
+
Required capabilities: bounded runtime projections containing page/viewport
|
|
130
|
+
identity, stable targets, important geometry and runtime behavior,
|
|
131
|
+
relationships, before/after differences, contract results,
|
|
132
|
+
requested/dependent/protected/preserved scope, diagnostics, artifact/screenshot
|
|
133
|
+
references, provenance, and truncation/omission metadata; adequacy reporting;
|
|
134
|
+
explicit runtime/static correlation to current `my-dev-kit` identities and
|
|
135
|
+
bounded retrieval where reliable; observer correlation/export boundary;
|
|
136
|
+
orchestrator bounded runtime-evidence consumption; and exact lab
|
|
137
|
+
readers/fixtures/evaluation needed to prove compatibility.
|
|
138
|
+
|
|
139
|
+
Architectural/evidence constraints: runtime identity never silently becomes
|
|
140
|
+
source ownership; ambiguity and competing candidates remain explicit. The
|
|
141
|
+
observer owns runtime evidence, bounded runtime projection, and
|
|
142
|
+
correlation/export. `my-dev-kit` owns static indexing, architecture,
|
|
143
|
+
dependencies, probable ownership evidence, and retrieval. The orchestrator
|
|
144
|
+
coordinates bounded runtime plus static evidence but does not run the browser,
|
|
145
|
+
redefine observer semantics, embed huge raw artifacts, or duplicate retrieval.
|
|
146
|
+
The lab evaluates exact supported contracts and is not required for every
|
|
147
|
+
normal frontend edit. Do not introduce a shared schema package without a
|
|
148
|
+
demonstrated ownership/release need.
|
|
149
|
+
|
|
150
|
+
Dependency direction:
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
freeze bounded-agent-context and integration contract
|
|
154
|
+
→ determine whether my-dev-kit requires a static-side change
|
|
155
|
+
→ implement observer bounded projection/correlation/export
|
|
156
|
+
→ implement orchestrator bounded runtime-evidence consumption
|
|
157
|
+
→ add lab exact readers/fixtures/evaluation needed for compatibility
|
|
158
|
+
→ run individual repository readiness
|
|
159
|
+
→ run coordinated exact-version validation
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
This is cross-repository dependency direction, not an implementation batch
|
|
163
|
+
plan. Modify `my-dev-kit` only if current identities/retrieval lack a generic
|
|
164
|
+
static-side capability actually required by the frozen contract.
|
|
165
|
+
|
|
166
|
+
Dependencies/ecosystem/compatibility: depends on v0.1–v0.5 stable observation,
|
|
167
|
+
identity, behavior, comparison, relationship, contract, and change-scope
|
|
168
|
+
semantics. Potentially affected repositories are observer, orchestrator, lab,
|
|
169
|
+
and only when proven necessary, `my-dev-kit`. Pin package/candidate identities,
|
|
170
|
+
schema/artifact/context versions, consumer expectations, and fixture hashes;
|
|
171
|
+
validate downstream consumers against intended candidates rather than stale
|
|
172
|
+
published packages.
|
|
173
|
+
|
|
174
|
+
Exclusions: viewer, visual annotation, source editing, a new static analyzer,
|
|
175
|
+
browser execution in the orchestrator, broad lab product work, external LLM
|
|
176
|
+
APIs, full DOM/style/accessibility dumps, unrelated observations, and embedded
|
|
177
|
+
heavy assets where references suffice.
|
|
178
|
+
|
|
179
|
+
Acceptance: a coding agent or LLM receives bounded traceable runtime problem
|
|
180
|
+
evidence plus change scope/contracts plus relevant static/source evidence;
|
|
181
|
+
adequacy/omission/truncation and correlation ambiguity remain visible; producer
|
|
182
|
+
responsibilities stay distinct; exact lab consumers pass; each affected
|
|
183
|
+
repository passes readiness; and coordinated exact-version validation passes.
|
|
184
|
+
Version-start planning must decide projection profiles, redaction/text limits,
|
|
185
|
+
correlation ownership/evidence, the orchestrator evidence-kind representation,
|
|
186
|
+
whether `my-dev-kit` changes are necessary, and whether any shared contract
|
|
187
|
+
package is justified.
|
|
188
|
+
|
|
189
|
+
## v0.7 — End-to-End Coding-Agent Frontend Change Review
|
|
190
|
+
|
|
191
|
+
Current status: released as `0.7.0`. See `docs/CURRENT_STATE.md`,
|
|
192
|
+
`docs/reports/v0.7-implementation-completeness-documentation-reconciliation.md`
|
|
193
|
+
for the completeness audit, and
|
|
194
|
+
`docs/reports/v0.7-pre-release-readiness.md` for the cross-platform
|
|
195
|
+
readiness validation that preceded release. The required capabilities,
|
|
196
|
+
constraints, and acceptance criteria below are preserved as originally
|
|
197
|
+
planned and describe what the implementation actually satisfies.
|
|
198
|
+
|
|
199
|
+
Objective/problem: prove the core practical outcome before graphical work: a
|
|
200
|
+
text/config-driven coding-agent correction loop that cannot call a local
|
|
201
|
+
requested mutation successful while protected behavior regresses, and establish
|
|
202
|
+
the non-graphical evidence foundation required when the desired frontend is
|
|
203
|
+
supplied as an external visual reference rather than an earlier runtime state.
|
|
204
|
+
|
|
205
|
+
Required capabilities:
|
|
206
|
+
|
|
207
|
+
```text
|
|
208
|
+
capture approved baseline
|
|
209
|
+
→ preserve baseline contracts
|
|
210
|
+
→ human expresses requested change in text/config
|
|
211
|
+
and may supply an external visual reference
|
|
212
|
+
→ construct requested/dependent/protected/preserved scope
|
|
213
|
+
→ when a reference is supplied, establish explicit reference identity,
|
|
214
|
+
applicable viewport/theme/application-state identity, reference regions,
|
|
215
|
+
authored design intent, tolerances, and reference-to-runtime target binding
|
|
216
|
+
→ generate bounded runtime evidence
|
|
217
|
+
→ evaluate reference design vs candidate where applicable
|
|
218
|
+
→ obtain relevant bounded static evidence
|
|
219
|
+
→ assemble coding-agent context
|
|
220
|
+
→ external coding agent modifies target source
|
|
221
|
+
→ observer captures new state
|
|
222
|
+
→ compare before/after
|
|
223
|
+
→ reevaluate reference design vs candidate where applicable
|
|
224
|
+
→ evaluate requested changes
|
|
225
|
+
→ evaluate expected dependent changes
|
|
226
|
+
→ verify protected properties
|
|
227
|
+
→ rerun baseline contracts
|
|
228
|
+
→ PASS or actionable regression/fidelity failure
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
The external reference is evidence, not source code and not an earlier
|
|
232
|
+
`ObservationArtifact`. Reference design vs candidate is therefore a distinct
|
|
233
|
+
comparison category from before vs after and contract vs candidate. The first
|
|
234
|
+
reference model must preserve deterministic reference identity and provenance,
|
|
235
|
+
image dimensions/format, explicit bounded reference regions, coordinate
|
|
236
|
+
semantics, reusable layout relationships where appropriate, authored design
|
|
237
|
+
requirements, tolerances, applicability state, approval/supersession history,
|
|
238
|
+
and explicit reference-region to runtime-target bindings whose status may be
|
|
239
|
+
explicit, ambiguous, unavailable, or otherwise conservatively represented.
|
|
240
|
+
Exact artifact/type names are selected during version-start architecture work;
|
|
241
|
+
this roadmap does not freeze a schema name.
|
|
242
|
+
|
|
243
|
+
Reference applicability must be evaluated before fidelity differences are
|
|
244
|
+
interpreted. A dark-theme active-state reference compared with a light-theme
|
|
245
|
+
idle candidate must become an explicit incompatible/incomparable result rather
|
|
246
|
+
than a meaningless list of visual failures. Planning must extend or reuse the
|
|
247
|
+
canonical comparability/state-identity model instead of creating a
|
|
248
|
+
reference-only state system.
|
|
249
|
+
|
|
250
|
+
Reference-derived executable intent must feed the existing v0.5 canonical
|
|
251
|
+
requested/expected-dependent/protected/preserved contract semantics. Visible
|
|
252
|
+
reference details may remain informational or unassessed until a human or
|
|
253
|
+
explicit configuration promotes them into requirements. Do not create a second
|
|
254
|
+
reference-only PASS/FAIL taxonomy.
|
|
255
|
+
|
|
256
|
+
Structured evidence is primary: geometry, spacing, selected style evidence,
|
|
257
|
+
relationships, applicability, and contract intent must remain inspectable and
|
|
258
|
+
traceable. Bounded screenshot-region or asset-similarity evidence may supplement
|
|
259
|
+
structured evidence where reliable, but pixel/image similarity alone must not
|
|
260
|
+
determine success. Text rendering, antialiasing, glow, shadows, gradients, and
|
|
261
|
+
platform/font differences require property-specific or evidence-specific
|
|
262
|
+
tolerance semantics rather than one global pixel-perfect threshold.
|
|
263
|
+
|
|
264
|
+
The coding-agent handoff must be actionable and bounded. Instead of only saying
|
|
265
|
+
"match the reference," it should be able to report the relevant target,
|
|
266
|
+
reference measurement, candidate measurement, delta, failed relationship or
|
|
267
|
+
style requirement, active protected/preserved constraints, provenance, and
|
|
268
|
+
bounded static/source context. Heavy image bytes and unrelated regions must not
|
|
269
|
+
be embedded into every agent packet when references suffice.
|
|
270
|
+
|
|
271
|
+
Unexpected changes remain explicit. Existing approved baseline contracts and
|
|
272
|
+
the new per-change contract both remain active unless explicitly superseded. A
|
|
273
|
+
reference-fidelity pass never authorizes a protected regression or silently
|
|
274
|
+
replaces an approved baseline/reference.
|
|
275
|
+
|
|
276
|
+
Architectural/evidence constraints: the observer does not edit target source; an
|
|
277
|
+
external coding agent or implementation tool does. All runtime, reference,
|
|
278
|
+
static, workflow, implementation, and verification identities remain separate
|
|
279
|
+
and traceable to their owners. One canonical observer, relationship,
|
|
280
|
+
comparison/evaluation, contract, change-scope, reference, and bounded-context
|
|
281
|
+
model must serve later UI consumers. Reference regions are not runtime targets,
|
|
282
|
+
and neither identity silently becomes source ownership.
|
|
283
|
+
|
|
284
|
+
Dependencies/ecosystem/compatibility: depends on v0.6 bounded integrated agent
|
|
285
|
+
context and v0.1–v0.5 evidence/contract foundations. Use compatible exact
|
|
286
|
+
observer, `my-dev-kit`, orchestrator, and lab contract versions established by
|
|
287
|
+
v0.6; the lab remains optional for ordinary edits once compatibility is proven.
|
|
288
|
+
The new reference evidence must be project-local and portable, with heavy image
|
|
289
|
+
content referenced rather than duplicated throughout downstream artifacts.
|
|
290
|
+
|
|
291
|
+
Exclusions: graphical inspection as a prerequisite, graphical annotation
|
|
292
|
+
authoring, observer source editing, autonomous approval, hidden baseline or
|
|
293
|
+
reference supersession, automatic image-to-code generation, raster-to-HTML or
|
|
294
|
+
raster-to-SVG reconstruction, a general computer-vision framework, a Figma or
|
|
295
|
+
Canva replacement, and pixel-diff-only acceptance.
|
|
296
|
+
|
|
297
|
+
Acceptance: controlled successful and failing changes complete end-to-end. The
|
|
298
|
+
required baseline failure case has a requested change succeed while a protected
|
|
299
|
+
property or preserved invariant fails, producing overall failure and actionable
|
|
300
|
+
evidence. A reference-driven proof case additionally supplies an approved
|
|
301
|
+
external reference, binds selected reference regions to runtime targets,
|
|
302
|
+
produces measurable structured reference/candidate mismatches, sends only
|
|
303
|
+
relevant correction evidence plus bounded static context to the external coding
|
|
304
|
+
agent, rerenders, and reevaluates. A reference-fidelity success must still fail
|
|
305
|
+
overall when an active baseline/per-change contract fails. Version-start
|
|
306
|
+
planning must decide the text/config request format, reference artifact and
|
|
307
|
+
lifecycle contract, supported image formats and size bounds, coordinate model,
|
|
308
|
+
region/relationship representation, applicability/theme/application-state
|
|
309
|
+
identity, tolerance and selected style-evidence model, optional image-similarity
|
|
310
|
+
boundaries, coding-agent handoff boundary, controlled target/change mechanism,
|
|
311
|
+
approval/baseline/reference history, failure reporting, and exact workflow entry
|
|
312
|
+
points.
|
|
313
|
+
|
|
314
|
+
## v0.8 — Interactive Local Observation Viewer
|
|
315
|
+
|
|
316
|
+
Current status: released as `v0.8.0` (all eight implementation batches
|
|
317
|
+
passed, followed by the hardened documentation/implementation-completeness
|
|
318
|
+
audit and formal cross-platform/security pre-release readiness - see
|
|
319
|
+
`docs/CURRENT_STATE.md`). The required capabilities, constraints, and
|
|
320
|
+
acceptance criteria below are preserved as originally planned and describe
|
|
321
|
+
what the implementation actually satisfies.
|
|
322
|
+
|
|
323
|
+
Objective/problem: let developers inspect and understand the same canonical
|
|
324
|
+
evidence already used by the operational coding-agent workflow without opening
|
|
325
|
+
raw artifact files manually, including external design references and their
|
|
326
|
+
candidate-fidelity evidence when present.
|
|
327
|
+
|
|
328
|
+
Required capabilities: local artifact/context/reference readers; screenshot and
|
|
329
|
+
stable target inspection; external-reference image and reference-region
|
|
330
|
+
inspection; geometry, semantics, scrolling/overflow, visibility, relationships,
|
|
331
|
+
and before/after views; reference/candidate views; diagnostics and honest
|
|
332
|
+
evidence states; requested/dependent/protected/preserved/unexpected
|
|
333
|
+
classifications; baseline and per-change contract results; reference
|
|
334
|
+
applicability and fidelity results; reference-region/runtime-target binding and
|
|
335
|
+
ambiguity; source-correlation evidence with uncertainty; and navigation between
|
|
336
|
+
relevant raw evidence and bounded agent-context references.
|
|
337
|
+
|
|
338
|
+
The viewer should support a clear reference/candidate inspection mode with, as
|
|
339
|
+
appropriate, side-by-side images, overlays, synchronized region selection and
|
|
340
|
+
zoom, reference and candidate measurements, difference highlighting,
|
|
341
|
+
provenance, binding status, and contract/reference evaluation results. It must
|
|
342
|
+
show unsupported, partial, unavailable, derived, ambiguous, and incomparable
|
|
343
|
+
states honestly rather than converting them into apparent fidelity scores.
|
|
344
|
+
|
|
345
|
+
Architectural/evidence constraints: the viewer consumes existing observation,
|
|
346
|
+
relationship, comparison, contract, change-scope, correlation, bounded-context,
|
|
347
|
+
and v0.7 reference/evaluation engines/contracts. It must not create a second
|
|
348
|
+
observer, relationship engine, comparison engine, contract engine, reference
|
|
349
|
+
model, reference-evaluation engine, correlation implementation, or context
|
|
350
|
+
builder. CLI/programmatic paths remain first-class, viewer state does not mutate
|
|
351
|
+
targets, and merely opening/importing a reference in the viewer does not
|
|
352
|
+
silently approve or supersede it.
|
|
353
|
+
|
|
354
|
+
Dependencies/ecosystem/compatibility: depends on the proven v0.7 workflow and
|
|
355
|
+
stable v0.1–v0.7 artifacts/contracts. It may display ecosystem correlation but
|
|
356
|
+
does not redefine it. Viewer readers must declare supported artifact/context/
|
|
357
|
+
reference versions and show unsupported, missing, partial, derived, ambiguous,
|
|
358
|
+
and incomparable evidence honestly.
|
|
359
|
+
|
|
360
|
+
Exclusions: annotation authoring, source editing, a second workflow engine,
|
|
361
|
+
automatic design generation, cloud hosting, and making the viewer mandatory for
|
|
362
|
+
observation or coding-agent review.
|
|
363
|
+
|
|
364
|
+
Acceptance: a developer can inspect screenshots, targets, runtime behavior,
|
|
365
|
+
relationships, changes, contracts, diagnostics, change scope, correlation, and
|
|
366
|
+
reference/candidate evidence through the UI, and the displayed evidence is
|
|
367
|
+
demonstrably the same canonical evidence used by CLI/programmatic and
|
|
368
|
+
coding-agent workflows. A developer can select a reference region and see the
|
|
369
|
+
bound runtime target and measured mismatch where available without the viewer
|
|
370
|
+
recomputing a second result.
|
|
371
|
+
|
|
372
|
+
Version-start planning decisions are now resolved for v0.8:
|
|
373
|
+
|
|
374
|
+
- UI: React + TypeScript + Vite;
|
|
375
|
+
- application boundary: normal browser + Node-backed local server + installable
|
|
376
|
+
Progressive Web App using the same viewer application;
|
|
377
|
+
- reader architecture: existing canonical readers feed an ephemeral viewer
|
|
378
|
+
adapter/projection rather than a new persisted viewer artifact;
|
|
379
|
+
- reference/candidate display: side-by-side by default with independently
|
|
380
|
+
toggleable structured overlays;
|
|
381
|
+
- geometry rendering: SVG using each source artifact/image's original coordinate
|
|
382
|
+
domain;
|
|
383
|
+
- interaction: explicit-binding cross-selection, independent zoom/pan, and
|
|
384
|
+
synchronized/locked viewing only when existing compatibility evidence permits
|
|
385
|
+
it;
|
|
386
|
+
- loading: metadata/index first, with full artifacts and images loaded on demand.
|
|
387
|
+
|
|
388
|
+
The frozen concrete batch plan and implementation sequencing live in
|
|
389
|
+
`docs/plans/v0.8-implementation-plan.md`; this roadmap intentionally does not
|
|
390
|
+
copy those batches.
|
|
391
|
+
|
|
392
|
+
## v0.8.1 — Project Workflow CLI and Human-Readable Evidence Aliases
|
|
393
|
+
|
|
394
|
+
Current status: released as `v0.8.1` and published to npm as
|
|
395
|
+
`@dailephd/my-frontend-observer@0.8.1`. The frozen
|
|
396
|
+
concrete implementation plan is
|
|
397
|
+
`docs/plans/v0.8.1-cli-usability-patch-plan.md`.
|
|
398
|
+
|
|
399
|
+
Objective/problem: preserve the canonical v0.1-v0.8 evidence engines while
|
|
400
|
+
removing artifact-plumbing friction from ordinary human and coding-agent use.
|
|
401
|
+
The released low-level CLI still requires users to repeat observation
|
|
402
|
+
configuration, choose output paths, pass exact artifact roots between commands,
|
|
403
|
+
and may expose long immutable artifact identifiers during routine navigation.
|
|
404
|
+
Those identities remain valuable provenance, but they should not be the normal
|
|
405
|
+
workflow interface.
|
|
406
|
+
|
|
407
|
+
Required capabilities: project-local versioned configuration; upward project
|
|
408
|
+
discovery; managed project-local Observer state; a versioned alias catalog that
|
|
409
|
+
maps human-readable names to canonical immutable artifacts; `init` for one-time
|
|
410
|
+
project configuration; `capture <name>` for project-configured observation;
|
|
411
|
+
`check [<baseline>]` for high-level capture plus canonical comparison and
|
|
412
|
+
applicable contract/reference evaluation; bounded `check --json` output for
|
|
413
|
+
coding agents; project-aware `view` without a required `--root`; alias-first
|
|
414
|
+
viewer navigation with canonical IDs retained as provenance; and reorganized
|
|
415
|
+
help that distinguishes the common workflow from advanced artifact-level
|
|
416
|
+
commands.
|
|
417
|
+
|
|
418
|
+
The normal workflow should become:
|
|
419
|
+
|
|
420
|
+
```text
|
|
421
|
+
my-frontend-observer init
|
|
422
|
+
my-frontend-observer capture baseline
|
|
423
|
+
my-frontend-observer check baseline
|
|
424
|
+
my-frontend-observer view
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
Existing low-level commands remain supported unchanged for automation,
|
|
428
|
+
compatibility, debugging, and advanced workflows:
|
|
429
|
+
|
|
430
|
+
```text
|
|
431
|
+
observe
|
|
432
|
+
compare
|
|
433
|
+
approve-baseline
|
|
434
|
+
save-change-contract
|
|
435
|
+
evaluate-contract
|
|
436
|
+
import-reference
|
|
437
|
+
approve-reference
|
|
438
|
+
evaluate-reference-fidelity
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
Acceptance semantics: `check` may report PASS only when every configured
|
|
442
|
+
executable acceptance dimension required by the project passes. It reports FAIL
|
|
443
|
+
when a configured executable criterion fails, REVIEW_REQUIRED when useful
|
|
444
|
+
comparison evidence exists but executable criteria are insufficient to declare
|
|
445
|
+
success or failure, and BLOCKED when required evidence cannot be obtained or
|
|
446
|
+
evaluated reliably. A raw comparison or apparent lack of differences must never
|
|
447
|
+
be promoted to PASS by itself. Reference-fidelity PASS must not override an
|
|
448
|
+
active frontend-contract FAIL.
|
|
449
|
+
|
|
450
|
+
Architectural/evidence constraints: this patch is a thin project/workflow layer
|
|
451
|
+
over the existing canonical observation, comparison, contract, reference,
|
|
452
|
+
binding, compatibility, fidelity, context, and viewer owners. Project
|
|
453
|
+
configuration and aliases are workflow metadata, not replacement artifact
|
|
454
|
+
identities. Alias replacement never deletes canonical evidence or silently
|
|
455
|
+
approves/supersedes a baseline or reference. Existing artifact/evaluation schema
|
|
456
|
+
versions stay unchanged. Existing CLI/programmatic paths remain first-class and
|
|
457
|
+
do not require project initialization.
|
|
458
|
+
|
|
459
|
+
Dependencies/ecosystem/compatibility: depends on released v0.8.0 and must remain
|
|
460
|
+
compatible with the existing v0.7 coding-agent/reference workflow. The patch is
|
|
461
|
+
specifically designed so v0.9 annotation can extend the existing viewer without
|
|
462
|
+
another top-level workflow command architecture, while v0.10 coding-agent
|
|
463
|
+
correction can repeatedly consume `check <baseline> --json` after external
|
|
464
|
+
source edits.
|
|
465
|
+
|
|
466
|
+
Exclusions: annotation authoring, source editing, automatic frontend correction,
|
|
467
|
+
coding-agent orchestration inside Observer, automatic binding, image-to-code
|
|
468
|
+
generation, deleting historical canonical evidence, implicit baseline/reference
|
|
469
|
+
approval or supersession, new evidence/evaluation engines, cloud hosting,
|
|
470
|
+
authentication, collaboration, and databases.
|
|
471
|
+
|
|
472
|
+
Acceptance: a new user can initialize a project once, capture a named baseline,
|
|
473
|
+
change the frontend, run one high-level check, and inspect the result without
|
|
474
|
+
typing an output path, evidence root, or canonical artifact hash. A coding agent
|
|
475
|
+
can consume the same acceptance operation through bounded JSON. Real Chromium
|
|
476
|
+
and a clean packed-consumer installation must prove the workflow, and all
|
|
477
|
+
existing low-level commands must remain backward compatible.
|
|
478
|
+
|
|
479
|
+
## v0.9 — Human Visual Annotation and Design-Intent Capture
|
|
480
|
+
|
|
481
|
+
Objective/problem: add structured visual human intent to the already working
|
|
482
|
+
v0.7 coding-agent workflow through the v0.8 viewer without inventing a separate
|
|
483
|
+
change-semantics system, and allow that intent to be authored against either a
|
|
484
|
+
runtime observation or an external visual reference. The v0.8.1 project
|
|
485
|
+
workflow/alias layer should be reused for ordinary project discovery and
|
|
486
|
+
human-readable selection rather than replaced by annotation-specific command
|
|
487
|
+
plumbing.
|
|
488
|
+
|
|
489
|
+
Required capabilities: a bounded annotation set chosen during planning, such as
|
|
490
|
+
point/select, rectangle/area, arrow, line/boundary, textual note, preserve,
|
|
491
|
+
resize, move, remove, and inspect; structured annotation artifacts preserving
|
|
492
|
+
their annotation context (runtime observation or external reference), source
|
|
493
|
+
observation/screenshot or reference identity, geometry, type, text, provenance,
|
|
494
|
+
and reliable target/relationship/reference-region association; save/reload;
|
|
495
|
+
annotated image references; and explicit interpretation/confirmation state.
|
|
496
|
+
|
|
497
|
+
Runtime-screenshot annotations and external-reference annotations are separate
|
|
498
|
+
coordinate/identity domains. The annotation model must never assume that a
|
|
499
|
+
reference-region identity is a runtime-target identity. Coordinate transforms,
|
|
500
|
+
selection, overlays, persistence, and provenance must preserve which source
|
|
501
|
+
image the annotation belongs to.
|
|
502
|
+
|
|
503
|
+
Canonical intent flow:
|
|
504
|
+
|
|
505
|
+
```text
|
|
506
|
+
runtime screenshot annotation OR external reference annotation
|
|
507
|
+
→ target/relationship/reference-region binding
|
|
508
|
+
→ candidate requested/dependent/protected/preserved intent
|
|
509
|
+
→ explicit confirmation/interpretation where necessary
|
|
510
|
+
→ canonical change contract
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
For external references, annotation may also define or refine meaningful
|
|
514
|
+
reference regions and relationships, mark an asset-sensitive region, identify
|
|
515
|
+
which visual details are informational, and promote selected geometry/style/
|
|
516
|
+
relationship requirements into the canonical contract. A visible pixel never
|
|
517
|
+
becomes a hard requirement merely because it exists in the image.
|
|
518
|
+
|
|
519
|
+
Architectural/evidence constraints: annotation feeds the existing canonical
|
|
520
|
+
reference, change-scope, contract, bounded-context, and coding-agent workflow. It
|
|
521
|
+
must not create annotation-only or reference-only requested/protected semantics
|
|
522
|
+
or different PASS/FAIL rules. Ambiguous drawings never silently become strong
|
|
523
|
+
requirements. Original raw observations and imported reference images remain
|
|
524
|
+
immutable evidence; annotation and approval/supersession state are separate.
|
|
525
|
+
|
|
526
|
+
Dependencies/ecosystem/compatibility: depends on stable runtime identity,
|
|
527
|
+
reference identity, contracts, v0.7 coding-agent review/reference evaluation,
|
|
528
|
+
v0.8 viewer/coordinate mapping, and v0.8.1 project discovery, human-readable
|
|
529
|
+
aliases, project-aware viewer behavior, and canonical identity resolution
|
|
530
|
+
beneath aliases. Aliases are selection conveniences only. Persisted annotation
|
|
531
|
+
identity must reference the exact canonical observation/reference identity,
|
|
532
|
+
never mutable aliases such as `baseline` or `current`. Structured annotation/context/reference
|
|
533
|
+
versions must be explicit and remain traceable to supported observation,
|
|
534
|
+
screenshot, and external-reference identities.
|
|
535
|
+
|
|
536
|
+
Exclusions: flattening intent into pixels only, bypassing confirmation,
|
|
537
|
+
replacing text/config requests, image-to-code generation, source editing, or
|
|
538
|
+
making annotation mandatory for ordinary coding-agent changes.
|
|
539
|
+
|
|
540
|
+
Acceptance: a user can annotate either an existing observation or an external
|
|
541
|
+
reference in the viewer; annotations survive save/reload; their source context
|
|
542
|
+
remains explicit; target/relationship/reference-region associations remain
|
|
543
|
+
available where reliable; preserve/resize/move/remove/inspect intent can be
|
|
544
|
+
represented where supported; reference regions and selected design requirements
|
|
545
|
+
can be authored without turning every pixel into a contract; ambiguous intent
|
|
546
|
+
requires explicit interpretation or confirmation; and annotations can drive the
|
|
547
|
+
existing coding-agent change-review workflow through the canonical contract and
|
|
548
|
+
reference models. Version-start planning must select the first annotation set,
|
|
549
|
+
coordinate transforms for both source contexts, persistence/versioning,
|
|
550
|
+
interpretation/confirmation workflow, conflicts, region-authoring behavior, and
|
|
551
|
+
annotated-image derivation.
|
|
552
|
+
|
|
553
|
+
## v0.10 — Full Visual Human–LLM Frontend Change Workflow
|
|
554
|
+
|
|
555
|
+
Objective/problem: complete the visual communication branch by combining the
|
|
556
|
+
already operational coding-agent loop with graphical inspection, external design
|
|
557
|
+
references, structured annotation, and the v0.8.1 project-level acceptance
|
|
558
|
+
surface so ordinary correction iterations do not require direct artifact-path
|
|
559
|
+
plumbing.
|
|
560
|
+
|
|
561
|
+
Two visual entry modes must coexist:
|
|
562
|
+
|
|
563
|
+
```text
|
|
564
|
+
actual-frontend-driven
|
|
565
|
+
human views actual captured frontend
|
|
566
|
+
→ points/draws/annotates requested design change
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
and:
|
|
570
|
+
|
|
571
|
+
```text
|
|
572
|
+
reference-driven
|
|
573
|
+
human supplies/selects an approved external visual reference
|
|
574
|
+
→ views reference beside the actual captured frontend
|
|
575
|
+
→ identifies/annotates relevant reference regions and intent
|
|
576
|
+
→ binds confirmed reference intent to stable runtime regions
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
Both then converge on the same canonical workflow:
|
|
580
|
+
|
|
581
|
+
```text
|
|
582
|
+
confirmed requested/dependent/protected/preserved scope
|
|
583
|
+
→ bounded runtime + relevant reference evidence is produced
|
|
584
|
+
→ bounded static evidence is obtained
|
|
585
|
+
→ coding-agent context is assembled
|
|
586
|
+
→ external coding agent modifies source
|
|
587
|
+
→ observer rerenders
|
|
588
|
+
→ before/after comparison runs
|
|
589
|
+
→ reference design vs candidate evaluation runs when applicable
|
|
590
|
+
→ requested/dependent/protected/preserved behavior and baseline contracts run
|
|
591
|
+
→ unexpected changes remain explicit
|
|
592
|
+
→ viewer shows PASS or actionable failure evidence
|
|
593
|
+
→ human approves or requests correction
|
|
594
|
+
→ successful state may become the new approved baseline and/or explicitly
|
|
595
|
+
supersede an approved reference according to project policy
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
The ordinary machine-facing post-edit correction loop must reuse the canonical
|
|
599
|
+
`check <baseline> --json` surface. v0.10 must not reconstruct before/after
|
|
600
|
+
comparison, frontend-contract verdicts, reference fidelity, or workflow
|
|
601
|
+
PASS/FAIL/BLOCKED precedence when v0.8.1 already provides them.
|
|
602
|
+
|
|
603
|
+
Architectural/evidence constraints: a visual request or reference does not
|
|
604
|
+
erase existing baseline contracts. Unless explicitly superseded, existing
|
|
605
|
+
approved contracts plus the new visual/per-change contract must both pass.
|
|
606
|
+
Reference fidelity is an additional evidence/evaluation dimension, not blanket
|
|
607
|
+
authorization for unrelated change. Runtime, reference, static, annotation,
|
|
608
|
+
workflow, implementation, approval, baseline, and supersession evidence remain
|
|
609
|
+
separate and traceable. The observer stays non-mutating; the orchestrator
|
|
610
|
+
coordinates bounded evidence; the lab is not required for every normal edit.
|
|
611
|
+
|
|
612
|
+
A mature result may therefore combine before/after results, reference/candidate
|
|
613
|
+
results, persistent-baseline evaluation, per-change evaluation, and unexpected
|
|
614
|
+
changes. A reference-fidelity pass with a protected or preserved contract
|
|
615
|
+
failure is overall failure. A raw imported image never silently becomes an
|
|
616
|
+
approved reference, and an approved reference never silently supersedes an
|
|
617
|
+
existing baseline or another approved reference.
|
|
618
|
+
|
|
619
|
+
Dependencies/ecosystem/compatibility: depends on all prior versions, especially
|
|
620
|
+
the v0.7 core/reference loop, v0.8 viewer, v0.8.1 project workflow/acceptance
|
|
621
|
+
surface, and v0.9 dual-context annotation intent model. Use exact compatible
|
|
622
|
+
observer/static/orchestrator/context/reference/annotation/viewer contracts and
|
|
623
|
+
retain the four-project responsibility split.
|
|
624
|
+
|
|
625
|
+
Exclusions: replacing the external coding agent with observer source editing,
|
|
626
|
+
visual/reference intent silently overriding baseline contracts, autonomous
|
|
627
|
+
image-to-code generation, automatic raster-to-vector reconstruction, opaque
|
|
628
|
+
AI-only verdicts, untraceable baseline/reference replacement, and making lab
|
|
629
|
+
evaluation part of every edit.
|
|
630
|
+
|
|
631
|
+
Acceptance: demonstrate a successful actual-frontend-driven visual change; a
|
|
632
|
+
successful reference-driven design-replication change; measurable actionable
|
|
633
|
+
reference/candidate failure evidence; a requested visual/reference change that
|
|
634
|
+
introduces a protected-property or preserved-invariant regression; a correction
|
|
635
|
+
cycle; human approval and explicit baseline/reference history; and compatible
|
|
636
|
+
integrated ecosystem evidence. A protected/invariant failure must fail overall
|
|
637
|
+
even when the requested local visual change or reference-fidelity requirement
|
|
638
|
+
succeeds. Version-start planning must settle visual workflow entry points,
|
|
639
|
+
approval identity and authority, reference selection/applicability, baseline and
|
|
640
|
+
reference governance, correction iteration history, artifact retention, and
|
|
641
|
+
cross-version compatibility.
|