@dailephd/my-frontend-observer 0.9.1 → 0.10.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 +490 -471
- package/LICENSE +21 -21
- package/README.md +375 -357
- package/dist/application/projectCheckService.d.ts +6 -0
- package/dist/application/projectCheckService.js +8 -1
- package/dist/application/projectCheckService.js.map +1 -1
- package/dist/application/projectWorkflowService.d.ts +7 -2
- package/dist/application/projectWorkflowService.js +10 -3
- package/dist/application/projectWorkflowService.js.map +1 -1
- package/dist/application/visualChangeAgentHandoffService.d.ts +28 -0
- package/dist/application/visualChangeAgentHandoffService.js +111 -0
- package/dist/application/visualChangeAgentHandoffService.js.map +1 -0
- package/dist/application/visualChangeProjectWorkflowService.d.ts +95 -0
- package/dist/application/visualChangeProjectWorkflowService.js +376 -0
- package/dist/application/visualChangeProjectWorkflowService.js.map +1 -0
- package/dist/application/visualChangeReviewService.d.ts +50 -0
- package/dist/application/visualChangeReviewService.js +69 -0
- package/dist/application/visualChangeReviewService.js.map +1 -0
- package/dist/application/visualChangeWorkflowPersistenceService.d.ts +26 -0
- package/dist/application/visualChangeWorkflowPersistenceService.js +15 -0
- package/dist/application/visualChangeWorkflowPersistenceService.js.map +1 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.d.ts +9 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.js +47 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.js.map +1 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.d.ts +20 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.js +41 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.js.map +1 -0
- package/dist/cli.js +9 -7
- package/dist/cli.js.map +1 -1
- package/dist/domain/visualChangeAgentHandoff.d.ts +82 -0
- package/dist/domain/visualChangeAgentHandoff.js +80 -0
- package/dist/domain/visualChangeAgentHandoff.js.map +1 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.d.ts +2 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.js +11 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.js.map +1 -0
- package/dist/domain/visualChangeCycle.d.ts +8 -0
- package/dist/domain/visualChangeCycle.js +7 -0
- package/dist/domain/visualChangeCycle.js.map +1 -0
- package/dist/domain/visualChangeWorkflow.d.ts +125 -0
- package/dist/domain/visualChangeWorkflow.js +109 -0
- package/dist/domain/visualChangeWorkflow.js.map +1 -0
- package/dist/domain/visualChangeWorkflowIdentity.d.ts +5 -0
- package/dist/domain/visualChangeWorkflowIdentity.js +24 -0
- package/dist/domain/visualChangeWorkflowIdentity.js.map +1 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/projectWorkflow/projectPaths.d.ts +3 -0
- package/dist/projectWorkflow/projectPaths.js +7 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -1
- package/dist/viewer/assets/index-DglJ6f28.css +1 -0
- package/dist/viewer/assets/index-DsODREY5.js +9 -0
- package/dist/viewer/index.html +15 -15
- package/dist/viewer/sw.js +1 -1
- package/dist/viewerServer/evidence/classify.d.ts +3 -1
- package/dist/viewerServer/evidence/classify.js +10 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -1
- package/dist/viewerServer/evidence/handles.js +1 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -1
- package/dist/viewerServer/evidence/projection.d.ts +5 -0
- package/dist/viewerServer/evidence/projection.js +19 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -1
- package/dist/viewerServer/evidence/visualChangeWorkflowView.d.ts +31 -0
- package/dist/viewerServer/evidence/visualChangeWorkflowView.js +36 -0
- package/dist/viewerServer/evidence/visualChangeWorkflowView.js.map +1 -0
- package/dist/viewerServer/httpServer.js +323 -1
- package/dist/viewerServer/httpServer.js.map +1 -1
- package/dist/viewerServer/referenceApproval.d.ts +22 -0
- package/dist/viewerServer/referenceApproval.js +42 -0
- package/dist/viewerServer/referenceApproval.js.map +1 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.d.ts +28 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.js +134 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.d.ts +33 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.js +81 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/visualChangeAuthoring.d.ts +46 -0
- package/dist/viewerServer/visualChangeAuthoring.js +63 -0
- package/dist/viewerServer/visualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/visualChangeHandoff.d.ts +23 -0
- package/dist/viewerServer/visualChangeHandoff.js +31 -0
- package/dist/viewerServer/visualChangeHandoff.js.map +1 -0
- package/dist/viewerServer/visualChangeReview.d.ts +30 -0
- package/dist/viewerServer/visualChangeReview.js +46 -0
- package/dist/viewerServer/visualChangeReview.js.map +1 -0
- package/docs/ARCHITECTURE.md +1394 -1373
- package/docs/CI_CD.md +349 -327
- package/docs/COMMANDS.md +1035 -1012
- package/docs/CONTRACTS.md +1971 -1926
- package/docs/CURRENT_STATE.md +1277 -1238
- package/docs/DEVELOPMENT.md +240 -237
- package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +50 -50
- package/docs/PROJECT_DESCRIPTION.md +2248 -2224
- package/docs/PROJECT_MILESTONES.md +2681 -2558
- package/docs/PROJECT_OVERVIEW.md +200 -191
- package/docs/QUICKSTART.md +100 -96
- package/docs/RELEASE.md +37 -33
- package/docs/ROADMAP.md +1105 -1033
- package/docs/SECURITY.md +297 -275
- package/docs/WORKFLOWS.md +806 -770
- package/docs/plans/v0.10-implementation-plan.md +1509 -0
- package/docs/plans/v0.8-implementation-plan.md +655 -655
- package/docs/plans/v0.8.1-cli-usability-patch-plan.md +505 -505
- package/docs/plans/v0.9-implementation-plan.md +1529 -1529
- package/docs/plans/v0.9.1-implementation-plan.md +468 -468
- package/docs/reports/v0.10-batch1-visual-change-workflow-foundation.md +102 -0
- package/docs/reports/v0.10-batch2-project-composition-check-recording.md +103 -0
- package/docs/reports/v0.10-batch3-viewer-visual-change-workspace.md +93 -0
- package/docs/reports/v0.10-batch4-actual-frontend-entry.md +59 -0
- package/docs/reports/v0.10-batch5-reference-driven-entry.md +238 -0
- package/docs/reports/v0.10-batch6-coding-agent-handoff.md +85 -0
- package/docs/reports/v0.10-batch7-correction-review-acceptance.md +145 -0
- package/docs/reports/v0.10-batch8-integrated-acceptance.md +109 -0
- package/docs/reports/v0.10-implementation-completeness-documentation-reconciliation.md +344 -0
- package/docs/reports/v0.10-pre-release-readiness.md +120 -0
- package/docs/reports/v0.10-release-preparation.md +70 -0
- package/docs/reports/v0.10.1-project-check-baseline-context-implementation.md +86 -0
- package/docs/reports/v0.7-bounded-fidelity-context-prompt7.md +243 -243
- package/docs/reports/v0.7-implementation-completeness-documentation-reconciliation.md +497 -497
- package/docs/reports/v0.7-pre-release-readiness.md +337 -337
- package/docs/reports/v0.7-reference-binding-prompt5.md +223 -223
- package/docs/reports/v0.7-reference-compatibility-prompt4.md +234 -234
- package/docs/reports/v0.7-reference-correction-workflow-prompt8.md +222 -222
- package/docs/reports/v0.7-reference-fidelity-prompt6.md +216 -216
- package/docs/reports/v0.7-reference-foundation-prompt1.md +151 -151
- package/docs/reports/v0.7-reference-regions-prompt2.md +195 -195
- package/docs/reports/v0.7-reference-requirements-prompt3.md +217 -217
- package/docs/reports/v0.7-release-prep.md +423 -423
- package/docs/reports/v0.8-binding-fidelity-interaction-batch6.md +279 -279
- package/docs/reports/v0.8-bounded-context-correlation-batch7.md +233 -233
- package/docs/reports/v0.8-comparison-contract-inspection-batch4.md +279 -279
- package/docs/reports/v0.8-evidence-index-readers-batch2.md +247 -247
- package/docs/reports/v0.8-implementation-completeness-documentation-reconciliation.md +741 -741
- package/docs/reports/v0.8-integrated-viewer-acceptance-batch8.md +128 -128
- package/docs/reports/v0.8-observation-svg-inspection-batch3.md +223 -223
- package/docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md +687 -687
- package/docs/reports/v0.8-reference-candidate-inspection-batch5.md +232 -232
- package/docs/reports/v0.8-viewer-runtime-pwa-batch1.md +278 -278
- package/docs/reports/v0.8.1-implementation-completeness-documentation-reconciliation.md +114 -114
- package/docs/reports/v0.8.1-prerelease-readiness-cross-platform-security-code-rot.md +170 -170
- package/docs/reports/v0.9-architecture-retrieval.md +14 -37
- package/docs/reports/v0.9-final-pre-release-readiness.md +209 -209
- package/docs/reports/v0.9-final-readiness-corrections.md +530 -530
- package/docs/reports/v0.9-pre-release-readiness.md +169 -169
- package/docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md +359 -359
- package/docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md +262 -262
- package/docs/reports/v0.9.1-pre-release-readiness.md +206 -206
- package/package.json +59 -59
- package/dist/viewer/assets/index-BN41MI7m.css +0 -1
- package/dist/viewer/assets/index-CkKXnlrI.js +0 -9
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# v0.10 Implementation Completeness and Documentation Reconciliation
|
|
2
|
+
|
|
3
|
+
## 1. Verdict
|
|
4
|
+
|
|
5
|
+
`PASS_V0_10_IMPLEMENTATION_COMPLETE_DOCS_RECONCILED_READY_FOR_PRERELEASE`
|
|
6
|
+
|
|
7
|
+
This verdict means the frozen v0.10 implementation is complete, current
|
|
8
|
+
documentation is reconciled to repository evidence, and local validation is
|
|
9
|
+
green. It does not mean release-ready, publish-ready, or cross-platform-ready.
|
|
10
|
+
|
|
11
|
+
## 2. Repository state
|
|
12
|
+
|
|
13
|
+
- Repository: `C:\Users\daile\Projects\my-frontend-observer`
|
|
14
|
+
- Branch: `feature/v0.10-full-visual-workflow`
|
|
15
|
+
- Starting HEAD: `d164886dd665a140a9fc783f25c87f57cbc01ebb`
|
|
16
|
+
- Ending HEAD: the documentation-reconciliation commit created after this
|
|
17
|
+
report; the final task response records its exact identity.
|
|
18
|
+
- Local package: `@dailephd/my-frontend-observer@0.9.1`
|
|
19
|
+
- Latest npm-published package: `0.9.1`
|
|
20
|
+
- `v0.10.0` local/remote tag: absent
|
|
21
|
+
- Latest GitHub Release: `v0.9.1`; no v0.10 release exists
|
|
22
|
+
- v0.10 release state: implemented and documentation-reconciled, unreleased
|
|
23
|
+
|
|
24
|
+
## 3. Retrieval and audit index
|
|
25
|
+
|
|
26
|
+
- Resolved `@dailephd/my-dev-kit`: `1.12.4`; CLI identity matched.
|
|
27
|
+
- Install: `.my-dev-kit-workflow/tools/v0.10-documentation-reconciliation/`
|
|
28
|
+
- Index: `.my-dev-kit-context/indexes/my-frontend-observer-v0.10-doc-reconciliation-20260922T145706`
|
|
29
|
+
- Command: `my-dev-kit index --root . --src src --src viewer/src --src tests --src scripts --language typescript --out <index> --call-graph --progress --json`
|
|
30
|
+
- Result: 319 files, 2,567 symbols, 4,989 edges, zero top-level warnings/errors.
|
|
31
|
+
- Partial analyzers: data-model (872 warnings) and classification (2,517
|
|
32
|
+
warnings). Syntax, call graph, frontend semantic, and frontend reachability
|
|
33
|
+
completed. Android analyzers were inapplicable; model-view lineage did not
|
|
34
|
+
run.
|
|
35
|
+
|
|
36
|
+
Retrieval-first search, symbol lookup, bounded source, continuation, and local
|
|
37
|
+
dependency inspection established the v0.10 owners and public surface. No
|
|
38
|
+
whole source/test fallback was required.
|
|
39
|
+
|
|
40
|
+
## 4. Evidence inspected
|
|
41
|
+
|
|
42
|
+
All eight v0.10 implementation reports were inspected. The frozen v0.10 plan,
|
|
43
|
+
documentation preservation policy, durable project description/milestones,
|
|
44
|
+
all canonical current documents, README, CHANGELOG, release guidance, the two
|
|
45
|
+
v0.7/v0.8 completeness-audit precedents, package metadata, Git tags, npm state,
|
|
46
|
+
built CLI help, public exports, Viewer routes, tests, packed-smoke scripts, and
|
|
47
|
+
the readiness workflow were inspected. Current source/tests/package evidence
|
|
48
|
+
was used over historical report text wherever relevant.
|
|
49
|
+
|
|
50
|
+
## 5. Package and script inventory
|
|
51
|
+
|
|
52
|
+
- Package: `@dailephd/my-frontend-observer`, ESM, Node `>=24`.
|
|
53
|
+
- Runtime dependency: `playwright ^1.62.1`; no my-dev-kit or orchestrator
|
|
54
|
+
runtime dependency.
|
|
55
|
+
- Public bin: `my-frontend-observer -> dist/cli.js`.
|
|
56
|
+
- Public export: package root -> `dist/index.js`.
|
|
57
|
+
- Package allowlist: `dist`, README, CHANGELOG, `docs`, LICENSE.
|
|
58
|
+
- Current scripts: prebuild, build, typecheck, lint, unit tests, browser tests,
|
|
59
|
+
security tests, isolated PWA hard gate, and documentation check.
|
|
60
|
+
- Test inventory before this docs-only change: 101 unit files and 32 browser
|
|
61
|
+
files.
|
|
62
|
+
|
|
63
|
+
## 6. CLI command inventory
|
|
64
|
+
|
|
65
|
+
Built help exposes exactly twelve top-level commands:
|
|
66
|
+
|
|
67
|
+
1. `init`
|
|
68
|
+
2. `capture <alias>`
|
|
69
|
+
3. `check [baseline]`
|
|
70
|
+
4. `view`
|
|
71
|
+
5. `observe`
|
|
72
|
+
6. `compare`
|
|
73
|
+
7. `approve-baseline`
|
|
74
|
+
8. `save-change-contract`
|
|
75
|
+
9. `evaluate-contract`
|
|
76
|
+
10. `import-reference`
|
|
77
|
+
11. `approve-reference`
|
|
78
|
+
12. `evaluate-reference-fidelity`
|
|
79
|
+
|
|
80
|
+
`--version` reports `0.9.1`. v0.10 adds no command. Visual Change actions are
|
|
81
|
+
project-aware Viewer/API operations. `check <baseline> --json` remains the
|
|
82
|
+
post-edit machine operation. A stale `view --help` description was corrected
|
|
83
|
+
to describe the implemented guarded Visual Change mutations and explicit
|
|
84
|
+
reference approval without changing behavior or flags.
|
|
85
|
+
|
|
86
|
+
## 7. Viewer action and API inventory
|
|
87
|
+
|
|
88
|
+
The top-level Viewer modes are Evidence, Bounded context, and Visual changes.
|
|
89
|
+
Standalone `view --root` permits inspection only. Project-aware sessions may
|
|
90
|
+
save annotations, promote runtime intent, materialize reference intent,
|
|
91
|
+
approve an imported reference, create actual/reference workflows, activate,
|
|
92
|
+
run a check, restore acceptance, prepare a handoff, review, and record an
|
|
93
|
+
already-completed governance result.
|
|
94
|
+
|
|
95
|
+
The v0.10 routes are:
|
|
96
|
+
|
|
97
|
+
- `GET /api/visual-changes/:handle/view`
|
|
98
|
+
- `POST /api/visual-changes`
|
|
99
|
+
- `POST /api/visual-changes/:handle/activate`
|
|
100
|
+
- `POST /api/visual-changes/:handle/check`
|
|
101
|
+
- `POST /api/visual-changes/:handle/restore-acceptance`
|
|
102
|
+
- `POST /api/visual-changes/:handle/prepare-handoff`
|
|
103
|
+
- `POST /api/visual-changes/:handle/review`
|
|
104
|
+
- `POST /api/visual-changes/:handle/governance`
|
|
105
|
+
- `POST /api/annotations/:handle/start-visual-change`
|
|
106
|
+
- `POST /api/references/:handle/approve`
|
|
107
|
+
- `POST /api/references/:handle/start-visual-change`
|
|
108
|
+
|
|
109
|
+
They reuse exact Host/Origin, memory-only token, JSON content type, compression,
|
|
110
|
+
body-bound, closed-shape, containment, serialization, and no-store controls.
|
|
111
|
+
|
|
112
|
+
## 8. Public programmatic API
|
|
113
|
+
|
|
114
|
+
`src/index.ts` publicly exports the workflow contract/constants/validator and
|
|
115
|
+
identity helpers; workflow writer/reader/persistence; project creation,
|
|
116
|
+
activation, restore, snapshot, and check; handoff contract/validator/serializer
|
|
117
|
+
and preparation; cycle derivation; review; and governance recording. Viewer
|
|
118
|
+
adapters, HTTP handlers, route matching, and React hooks/components remain
|
|
119
|
+
internal/Viewer-only. The public API is programmatic; it is not a hidden CLI
|
|
120
|
+
command family.
|
|
121
|
+
|
|
122
|
+
## 9. Schema and protocol inventory
|
|
123
|
+
|
|
124
|
+
| Contract | Kind | Version | Source owner | Changed in v0.10 |
|
|
125
|
+
|---|---|---:|---|---|
|
|
126
|
+
| Observation | persisted artifact | 1.2.0 | `domain/schema.ts` | No |
|
|
127
|
+
| Comparison | persisted artifact | 1.0.0 | `domain/comparison.ts` | No |
|
|
128
|
+
| Frontend contract | persisted artifact | 1.0.0 | `domain/frontendContracts.ts` | No |
|
|
129
|
+
| Contract evaluation | persisted artifact | 1.0.0 | `domain/frontendContractEvaluationArtifact.ts` | No |
|
|
130
|
+
| Bounded agent context | transfer artifact | 1.0.0 | `domain/boundedAgentContext.ts` | No |
|
|
131
|
+
| External reference | persisted artifact | 1.0.0 | `domain/externalReference.ts` | No |
|
|
132
|
+
| Visual annotation | persisted artifact | 1.0.0 | `domain/visualAnnotation.ts` | No |
|
|
133
|
+
| Visual change workflow | persisted artifact | 1.0.0 | `domain/visualChangeWorkflow.ts` | Yes, new |
|
|
134
|
+
| Agent handoff | non-persisted transfer contract | 1.0.0 | `domain/visualChangeAgentHandoff.ts` | Yes, new |
|
|
135
|
+
| Viewer protocol | HTTP/UI protocol | 1.3.0 | `viewerServer/httpServer.ts` | No |
|
|
136
|
+
|
|
137
|
+
The workflow kind is
|
|
138
|
+
`my-frontend-observer/visual-change-workflow`. The handoff kind is
|
|
139
|
+
`my-frontend-observer/visual-change-agent-handoff`. No other persisted v0.10
|
|
140
|
+
evidence family was introduced.
|
|
141
|
+
|
|
142
|
+
## 10. v0.10 implementation-completeness matrix
|
|
143
|
+
|
|
144
|
+
Each row gives requirement, owner/source witness, test witness, interface/docs,
|
|
145
|
+
and status.
|
|
146
|
+
|
|
147
|
+
| # | Requirement | Implementation/source witness | Test witness | Interface/document witness | Status |
|
|
148
|
+
|---:|---|---|---|---|---|
|
|
149
|
+
| 1 | Workflow artifact foundation | workflow domain, reader/writer, persistence | `visualChangeWorkflow.test.ts` | public API, CONTRACTS | IMPLEMENTED |
|
|
150
|
+
| 2 | Request/workflow/attempt identities | workflow identity owner | workflow identity tests | public API, CONTRACTS | IMPLEMENTED |
|
|
151
|
+
| 3 | Immutable workflow revisions | persistence service | workflow/project/review immutability tests | Visual changes, WORKFLOWS | IMPLEMENTED |
|
|
152
|
+
| 4 | Project-contained activation | project workflow service | project workflow service tests | Activate action | IMPLEMENTED |
|
|
153
|
+
| 5 | Canonical check attempt recording | project workflow service -> `checkProject` | project workflow/correction tests | Run check | IMPLEMENTED |
|
|
154
|
+
| 6 | Visual Changes workspace | Viewer workspace/projection | workspace browser tests | project-aware `view` | IMPLEMENTED |
|
|
155
|
+
| 7 | Actual visual entry | runtime authoring adapter | actual-entry and integrated browser gates | Viewer | IMPLEMENTED |
|
|
156
|
+
| 8 | Reference visual entry | reference approval/authoring adapters | reference-entry and integrated gates | Viewer | IMPLEMENTED |
|
|
157
|
+
| 9 | Explicit workflow bindings | reference binding domain/workflow writer | reference authoring/workspace tests | Viewer Add/Remove binding | IMPLEMENTED |
|
|
158
|
+
| 10 | Handoff contract | handoff domain | handoff contract tests | public API/Viewer | IMPLEMENTED |
|
|
159
|
+
| 11 | Bounded context | existing projection reused | bounded-context/handoff tests | handoff | IMPLEMENTED |
|
|
160
|
+
| 12 | Supplemental static-context ownership | handoff service coherence gate | handoff service tests | explicit `--context-file` | IMPLEMENTED |
|
|
161
|
+
| 13 | Optional orchestrator correlation | handoff metadata validator | handoff and review tests | Viewer optional fields | IMPLEMENTED |
|
|
162
|
+
| 14 | Post-edit check command | handoff exact command | handoff/UI tests | `check <baseline> --json` | IMPLEMENTED |
|
|
163
|
+
| 15 | Pending-review human gate | cycle helper/check/handoff gates | Batch 7 service/browser gates | Viewer controls | IMPLEMENTED |
|
|
164
|
+
| 16 | Correction-requested loop | review service | correction acceptance gates | Viewer | IMPLEMENTED |
|
|
165
|
+
| 17 | Two-attempt lineage | check append owner | actual/reference correction gates | attempt history | IMPLEMENTED |
|
|
166
|
+
| 18 | PASS-only acceptance | review service | latest-PASS/non-PASS tests | Viewer Accept | IMPLEMENTED |
|
|
167
|
+
| 19 | Abandon | review service | transition/terminal tests | Viewer Abandon | IMPLEMENTED |
|
|
168
|
+
| 20 | Explicit restore separation | project workflow service | review/browser tests | Restore acceptance | IMPLEMENTED |
|
|
169
|
+
| 21 | Reference-correction identity trace | existing v0.7 builders reused | reference two-candidate tests | attempt metadata | IMPLEMENTED |
|
|
170
|
+
| 22 | Governance after canonical governance | review/governance service | canonical baseline/reference governance tests | Viewer recording actions | IMPLEMENTED |
|
|
171
|
+
| 23 | Baseline/reference governance separation | canonical approval owners plus recorder | governance tests | CONTRACTS/WORKFLOWS | IMPLEMENTED |
|
|
172
|
+
| 24 | Standalone read-only | server authoring state | Viewer/security/packed tests | `view --root` | IMPLEMENTED |
|
|
173
|
+
| 25 | Authoring security | shared authoring gate | security suites | SECURITY | IMPLEMENTED |
|
|
174
|
+
| 26 | PWA no-stale-evidence | PWA/service worker | isolated hard gate | SECURITY | IMPLEMENTED |
|
|
175
|
+
| 27 | Packed installed v0.10 surface | package exports/dist | packed v0.10 smoke | CI/CD | IMPLEMENTED |
|
|
176
|
+
| 28 | Same-candidate CI wiring | readiness workflow | Batch 8 same-tarball proof | CI/CD | IMPLEMENTED |
|
|
177
|
+
| 29 | No source editing | service boundaries | browser/source immutability tests | ARCHITECTURE/SECURITY | IMPLEMENTED_BY_DESIGN_NO_PUBLIC_COMMAND |
|
|
178
|
+
| 30 | No second evaluator | services call canonical owners | call-count/integration tests | ARCHITECTURE | IMPLEMENTED_BY_DESIGN_NO_PUBLIC_COMMAND |
|
|
179
|
+
| 31 | No automatic approval/retry | explicit transitions | entry/review/governance tests | WORKFLOWS | IMPLEMENTED_BY_DESIGN_NO_PUBLIC_COMMAND |
|
|
180
|
+
| 32 | v0.7-v0.9.1 regression preservation | unchanged owners | complete unit/browser/security/PWA suites | historical docs | IMPLEMENTED |
|
|
181
|
+
|
|
182
|
+
No `MISSING_IMPLEMENTATION`, `MISSING_TEST`, `MISSING_DOCUMENTATION`, or
|
|
183
|
+
`DOCUMENTATION_DRIFT` remains after this reconciliation.
|
|
184
|
+
|
|
185
|
+
## 11. Milestone and roadmap acceptance
|
|
186
|
+
|
|
187
|
+
`V0_10_MILESTONE_ACCEPTANCE: PASS`
|
|
188
|
+
|
|
189
|
+
The applicable graphical interaction, visual scope, external edit, canonical
|
|
190
|
+
evaluation, correction, human acceptance, evidence immutability, and ecosystem
|
|
191
|
+
boundary criteria map to rows 1-32 and the Batch 4-8 acceptance gates.
|
|
192
|
+
|
|
193
|
+
`V0_10_ROADMAP_ACCEPTANCE: PASS`
|
|
194
|
+
|
|
195
|
+
Both entry modes converge on one frozen workflow; explicit activation,
|
|
196
|
+
handoff, canonical check, review/correction, PASS-only acceptance, and separate
|
|
197
|
+
governance are implemented and tested. Frozen exclusions remain excluded.
|
|
198
|
+
|
|
199
|
+
## 12. Batch 1-8 gate audit
|
|
200
|
+
|
|
201
|
+
| Batch | Frozen goal | Current source witness | Current test witness | Documentation witness | Status |
|
|
202
|
+
|---:|---|---|---|---|---|
|
|
203
|
+
| 1 | Workflow foundation | workflow domain/artifacts | workflow tests | CONTRACTS | PASS |
|
|
204
|
+
| 2 | Project composition/check | project workflow service | project workflow tests | ARCHITECTURE/WORKFLOWS | PASS |
|
|
205
|
+
| 3 | Viewer workspace | server projection/UI workspace | workspace/security tests | COMMANDS | PASS |
|
|
206
|
+
| 4 | Actual entry | runtime start/promotion owners | actual-entry gate | WORKFLOWS | PASS |
|
|
207
|
+
| 5 | Reference entry | approval/reference start owners | reference-entry gate | WORKFLOWS | PASS |
|
|
208
|
+
| 6 | Agent handoff | handoff domain/service | handoff unit/browser tests | CONTRACTS | PASS |
|
|
209
|
+
| 7 | Correction/review/governance | cycle/review services | correction/governance gates | WORKFLOWS | PASS |
|
|
210
|
+
| 8 | Integrated/packed/docs wiring | integrated suite/smoke/CI | integrated and packed proofs | Batch 8 report/CI docs | PASS |
|
|
211
|
+
|
|
212
|
+
Report PASS was not accepted alone; every row has current HEAD witnesses.
|
|
213
|
+
|
|
214
|
+
## 13. Cross-version regression audit
|
|
215
|
+
|
|
216
|
+
The final validation protects v0.1 observation, v0.2 semantic targets, v0.3
|
|
217
|
+
scrolling/runtime behavior, v0.4 comparison, v0.5 contracts, v0.6 bounded
|
|
218
|
+
context, v0.7 reference correction, v0.8 Viewer, v0.8.1 project workflow,
|
|
219
|
+
v0.9 annotation, and v0.9.1 isolated PWA hard-gate behavior. Historical
|
|
220
|
+
release documents were preserved.
|
|
221
|
+
|
|
222
|
+
## 14. Document audit ledger
|
|
223
|
+
|
|
224
|
+
| Document | Role | Changed | Claim/release/future result | Preservation |
|
|
225
|
+
|---|---|---:|---|---|
|
|
226
|
+
| README | first-use/current overview | Yes | reconciled v0.10 status; 0.9.1 remains published | preserved |
|
|
227
|
+
| CHANGELOG | unreleased/release history | No | `[Unreleased]` already correct | all history preserved |
|
|
228
|
+
| PROJECT_DESCRIPTION | durable intent | No | no stale status claim | complete authority preserved |
|
|
229
|
+
| PROJECT_MILESTONES | capability/acceptance | No | requirements mapped and satisfied | complete authority preserved |
|
|
230
|
+
| ROADMAP | version-level direction | Yes | reconciliation complete; readiness next | v0.1-v0.10 preserved; no batches |
|
|
231
|
+
| PROJECT_OVERVIEW | concise orientation | Yes | stale future claim repaired | earlier version orientation preserved |
|
|
232
|
+
| CURRENT_STATE | current facts | Yes | reconciliation complete; unreleased | historical sections preserved |
|
|
233
|
+
| ARCHITECTURE | implemented ownership | Yes | stale v0.10 future claim repaired | earlier architecture preserved |
|
|
234
|
+
| CONTRACTS | canonical contracts | No | workflow/handoff already accurate | all contract history preserved |
|
|
235
|
+
| COMMANDS | implemented commands | Yes | project-aware writes corrected; no command invented | command families preserved |
|
|
236
|
+
| WORKFLOWS | current procedures | No | complete loop already accurate | prior workflows preserved |
|
|
237
|
+
| QUICKSTART | concise entry | Yes | source v0.10 vs published 0.9.1 clarified | simpler workflow preserved |
|
|
238
|
+
| DEVELOPMENT | contributor workflow | No | no contradictory v0.10 status | retained |
|
|
239
|
+
| CI_CD | CI/readiness boundary | No | four-smoke same-candidate wiring already accurate | retained |
|
|
240
|
+
| RELEASE | release state/process | Yes | reconciliation complete; readiness pending | release history preserved |
|
|
241
|
+
| SECURITY | safety boundary | Yes | v0.10 guarded mutations and external boundary added | v0.1-v0.9 controls preserved |
|
|
242
|
+
| DOCUMENTATION_PRESERVATION_POLICY | authority rules | No | followed | unchanged |
|
|
243
|
+
| v0.10 implementation plan | frozen plan/history | No | remains planning authority | unchanged |
|
|
244
|
+
| Batch 1-8 reports | execution evidence | No | historically scoped claims retained | unchanged |
|
|
245
|
+
|
|
246
|
+
## 15. Stale-claim repair ledger
|
|
247
|
+
|
|
248
|
+
| Document | Old claim | Classification | Evidence | Correction |
|
|
249
|
+
|---|---|---|---|---|
|
|
250
|
+
| PROJECT_OVERVIEW | v0.10 future/unimplemented/planned | STALE_CLAIM | current source/tests and eight PASS batches | implemented, reconciled, unreleased; readiness next |
|
|
251
|
+
| ARCHITECTURE | graphical workflow future/unimplemented | STALE_CLAIM | workflow/handoff/review owners | implemented/unreleased architecture |
|
|
252
|
+
| CURRENT_STATE | reconciliation pending/next | STALE_CLAIM after this task | this audit and validation | reconciliation complete; readiness next |
|
|
253
|
+
| ROADMAP | reconciliation remained next gate | STALE_CLAIM after this task | this audit | version-level reconciled status |
|
|
254
|
+
| README | implemented but not reconciliation status | INCOMPLETE_CURRENT_FACT | this audit | concise reconciled/unreleased wording |
|
|
255
|
+
| QUICKSTART | standalone Viewer phrasing implied all Viewer use was inspect-only | MISPLACED_DETAIL | project-aware routes/UI | distinguishes project-aware authoring from standalone |
|
|
256
|
+
| COMMANDS and built `view --help` | only three v0.9 writes / never approves references | STALE_CLAIM | current route inventory | guarded v0.10 actions and explicit approval boundary |
|
|
257
|
+
| SECURITY | v0.9 “any other POST” wording lacked current v0.10 extension | HISTORICAL_FACT_WITH_CURRENT_AMBIGUITY | route/security tests | scoped to v0.9 and added current v0.10 boundary |
|
|
258
|
+
| RELEASE | reconciliation still pending implicitly | INCOMPLETE_CURRENT_FACT | this audit | reconciliation complete; readiness still pending |
|
|
259
|
+
|
|
260
|
+
Matches in frozen plans and historical reports were classified as
|
|
261
|
+
HISTORICAL_RELEASE_FACT or IMPLEMENTATION_PROMPT_RESIDUE and intentionally
|
|
262
|
+
left unchanged.
|
|
263
|
+
|
|
264
|
+
## 16. Planning and history preservation
|
|
265
|
+
|
|
266
|
+
No document, roadmap version, future-version statement, product pillar,
|
|
267
|
+
architecture subsystem, command family, workflow family, report, or release
|
|
268
|
+
entry was removed. ROADMAP remains version-level and contains v0.1-v0.10 with
|
|
269
|
+
no `Batch N` bookkeeping. CHANGELOG retains `[Unreleased]` and every historical
|
|
270
|
+
release entry. The v0.10 plan and Batch 1-8 reports remain historical evidence.
|
|
271
|
+
|
|
272
|
+
## 17. Documentation-check audit and hardening
|
|
273
|
+
|
|
274
|
+
`DOC_CHECK_HARDENING: REQUIRED`
|
|
275
|
+
|
|
276
|
+
The existing checker already protected all 17 required documents, ROADMAP
|
|
277
|
+
v0.1-v0.10 retention, absence of Batch bookkeeping, package/lock version
|
|
278
|
+
agreement, and `[Unreleased]`. It could not detect the exact regression found:
|
|
279
|
+
current canonical documents could still describe completed v0.10 as future or
|
|
280
|
+
leave reconciliation/readiness state contradictory.
|
|
281
|
+
|
|
282
|
+
The existing `scripts/check-docs.mjs` owner now adds narrow semantic markers:
|
|
283
|
+
no current v0.10 future/unimplemented claim, CURRENT_STATE implementation and
|
|
284
|
+
reconciliation completion with readiness still next/pending, ROADMAP
|
|
285
|
+
implementation-complete/documentation-reconciled status, and retention of both
|
|
286
|
+
canonical v0.10 contract kind markers. It does not hardcode paragraphs or
|
|
287
|
+
create a parallel preservation framework. `npm run check:docs` is the
|
|
288
|
+
regression proof.
|
|
289
|
+
|
|
290
|
+
## 18. Validation
|
|
291
|
+
|
|
292
|
+
Final results are recorded after the complete post-edit run:
|
|
293
|
+
|
|
294
|
+
- `npm run typecheck`: PASS
|
|
295
|
+
- `npm run lint`: PASS
|
|
296
|
+
- `npm test`: PASS
|
|
297
|
+
- `npm run test:browser`: PASS
|
|
298
|
+
- `npm run test:security`: PASS
|
|
299
|
+
- `npm run test:pwa-hard-gate`: PASS
|
|
300
|
+
- `npm run build`: PASS
|
|
301
|
+
- `npm run check:docs`: PASS
|
|
302
|
+
- targeted stale-claim search: PASS; remaining matches are historical
|
|
303
|
+
- `git diff --check`: PASS
|
|
304
|
+
- `npm pack --dry-run`: PASS; package remains 0.9.1 and contains compiled
|
|
305
|
+
v0.10/public Viewer assets without generated state
|
|
306
|
+
|
|
307
|
+
This is local implementation/completeness validation, not formal multi-OS
|
|
308
|
+
pre-release readiness.
|
|
309
|
+
|
|
310
|
+
## 19. Changed and unchanged files
|
|
311
|
+
|
|
312
|
+
Documentation changed: README, CURRENT_STATE, ROADMAP, PROJECT_OVERVIEW,
|
|
313
|
+
ARCHITECTURE, COMMANDS, QUICKSTART, SECURITY, RELEASE, and this report.
|
|
314
|
+
Documentation inspected but unchanged: CHANGELOG, PROJECT_DESCRIPTION,
|
|
315
|
+
PROJECT_MILESTONES, CONTRACTS, WORKFLOWS, DEVELOPMENT, CI_CD, preservation
|
|
316
|
+
policy, implementation plan, and Batch 1-8 reports.
|
|
317
|
+
|
|
318
|
+
Tooling changed: the existing docs checker. Production behavior changed: none.
|
|
319
|
+
Two user-facing documentation strings/comments in `src/cli.ts` and
|
|
320
|
+
`src/viewerServer/httpServer.ts`, plus the existing CLI-help assertion, were
|
|
321
|
+
updated to remove false route/security claims. No executable semantics changed.
|
|
322
|
+
|
|
323
|
+
## 20. Change boundaries
|
|
324
|
+
|
|
325
|
+
- Schema/protocol changes: none.
|
|
326
|
+
- Package-version changes: none.
|
|
327
|
+
- Dependency changes: none.
|
|
328
|
+
- Product feature changes: none.
|
|
329
|
+
- Release operations: none.
|
|
330
|
+
- Remaining implementation gaps: none.
|
|
331
|
+
- Remaining documentation ambiguities: none material.
|
|
332
|
+
|
|
333
|
+
## 21. Exact next workflow
|
|
334
|
+
|
|
335
|
+
Run the separate v0.10 pre-release readiness workflow: exact-candidate
|
|
336
|
+
cross-platform validation, security validation, and readiness audit. Do not
|
|
337
|
+
perform release preparation or publication yet.
|
|
338
|
+
|
|
339
|
+
## 22. Full-file fallback accounting
|
|
340
|
+
|
|
341
|
+
Canonical documentation and reports were inspected as documentation
|
|
342
|
+
authorities. Source/test work used retrieval-first bounded inspection.
|
|
343
|
+
|
|
344
|
+
Full source/test file reads: none.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# v0.10 Pre-release Readiness
|
|
2
|
+
|
|
3
|
+
## Provisional verdict
|
|
4
|
+
|
|
5
|
+
RUN_A passed on the corrected validation candidate. This report is intentionally
|
|
6
|
+
provisional: it is shipped by the package `files` allowlist, so committing it
|
|
7
|
+
changes candidate bytes. A complete RUN_B against the report-containing HEAD is
|
|
8
|
+
required before the final readiness verdict may be declared.
|
|
9
|
+
|
|
10
|
+
## Repository and release state
|
|
11
|
+
|
|
12
|
+
- Repository: `my-frontend-observer`
|
|
13
|
+
- Validation branch: `validation/v0.10-pre-release`
|
|
14
|
+
- Validation entry HEAD: `ce8bf7c7b0060b35cfb2fdd850c7a80ff0b340ad`
|
|
15
|
+
- RUN_A HEAD: `b1c273d853dd9f00394b355522d06c344252e928`
|
|
16
|
+
- Package: `@dailephd/my-frontend-observer@0.9.1`
|
|
17
|
+
- Latest npm-published version: `0.9.1`
|
|
18
|
+
- v0.10 release/tag/publication: not performed
|
|
19
|
+
- Implementation-completeness reconciliation: `ce8bf7c7b0060b35cfb2fdd850c7a80ff0b340ad`
|
|
20
|
+
|
|
21
|
+
## Local validation before RUN_A
|
|
22
|
+
|
|
23
|
+
The canonical local chain passed on the corrected HEAD: `npm ci`, Chromium
|
|
24
|
+
installation, typecheck, lint, unit tests (99 files / 1,524 tests), browser
|
|
25
|
+
tests (32 files / 301 tests), security tests, isolated PWA hard gate, build,
|
|
26
|
+
documentation check, `git diff --check`, and `npm pack --dry-run`.
|
|
27
|
+
|
|
28
|
+
The local security result was PASS. The isolated PWA hard gate passed independently
|
|
29
|
+
and also through the security command, preserving active-worker, controlled-page,
|
|
30
|
+
shell-precache, zero-API-cache, server-down, offline-shell, unavailable-evidence,
|
|
31
|
+
and stale-identity assertions.
|
|
32
|
+
|
|
33
|
+
## RUN_A
|
|
34
|
+
|
|
35
|
+
- Workflow: `Pre-release readiness`
|
|
36
|
+
- Run ID: `35785226212`
|
|
37
|
+
- URL: https://github.com/dailephd/my-frontend-observer/actions/runs/35785226212
|
|
38
|
+
- Event: push
|
|
39
|
+
- Branch: `validation/v0.10-pre-release`
|
|
40
|
+
- Exact HEAD: `b1c273d853dd9f00394b355522d06c344252e928`
|
|
41
|
+
- Conclusion: PASS
|
|
42
|
+
|
|
43
|
+
All seven required jobs passed:
|
|
44
|
+
|
|
45
|
+
| Job | Result |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| Package exact candidate (Linux, Node 24) | PASS |
|
|
48
|
+
| ubuntu-latest exact-candidate smoke | PASS |
|
|
49
|
+
| windows-latest exact-candidate smoke | PASS |
|
|
50
|
+
| macos-latest exact-candidate smoke | PASS |
|
|
51
|
+
| ubuntu-latest Observer tutorial readiness | PASS |
|
|
52
|
+
| windows-latest Observer tutorial readiness | PASS |
|
|
53
|
+
| macos-latest Observer tutorial readiness | PASS |
|
|
54
|
+
|
|
55
|
+
## Exact candidate and matrix proof
|
|
56
|
+
|
|
57
|
+
- Candidate filename: `dailephd-my-frontend-observer-0.9.1.tgz`
|
|
58
|
+
- Candidate package version: `0.9.1`
|
|
59
|
+
- Candidate SHA-256: `bda75f4f5ca441b3f58f9fe6ffa535f41904608a783961db8bcef4171f353ef5`
|
|
60
|
+
- Independently downloaded/recomputed SHA-256: identical
|
|
61
|
+
- Windows, Linux, and macOS each verified the candidate SHA and used the same tarball.
|
|
62
|
+
- Each OS uploaded `smoke-summary.json`, `viewer-smoke-summary.json`,
|
|
63
|
+
`v09-annotation-smoke-summary.json`, and `v010-workflow-smoke-summary.json`.
|
|
64
|
+
|
|
65
|
+
The four packed smokes passed on every OS: observation, Viewer/project workflow,
|
|
66
|
+
v0.9 annotation, and v0.10 visual workflow. The v0.10 summaries prove installed
|
|
67
|
+
package workflow creation/activation, two-attempt immutable correction history,
|
|
68
|
+
non-PASS rejection and PASS acceptance, reference bindings, Viewer discovery,
|
|
69
|
+
standalone read-only behavior, and absence of authoring token, note text, absolute
|
|
70
|
+
project/temp paths, and orchestrator paths.
|
|
71
|
+
|
|
72
|
+
The three tutorial-readiness jobs also passed, preserving the v0.9 tutorial
|
|
73
|
+
regression on Windows, Linux, and macOS.
|
|
74
|
+
|
|
75
|
+
## Security and package audit
|
|
76
|
+
|
|
77
|
+
RUN_A exercised the existing formal security suite and PWA hard gate in the
|
|
78
|
+
candidate job. The added v0.10 attack surface remains bounded by loopback,
|
|
79
|
+
Host/Origin/token, JSON/body/compression, path-containment, immutable-parent,
|
|
80
|
+
handoff-privacy, standalone-read-only, and orchestrator-non-authority controls.
|
|
81
|
+
|
|
82
|
+
The candidate retained package version `0.9.1`, Viewer protocol `1.3.0`, all
|
|
83
|
+
governed schema versions, and no dependency/schema/version changes. Package
|
|
84
|
+
contents were audited locally for compiled v0.10 exports and Viewer assets, with
|
|
85
|
+
tests, generated state, browser profiles, summaries, and nested tarballs excluded.
|
|
86
|
+
|
|
87
|
+
## Failed-run history and correction
|
|
88
|
+
|
|
89
|
+
Earlier same-HEAD runs are retained as historical diagnosis:
|
|
90
|
+
|
|
91
|
+
1. Run `35780908327` exposed hosted browser flakes in an existing screenshot
|
|
92
|
+
comparison and materialization toast assertion; it was cancelled after the
|
|
93
|
+
candidate failed and its matrix was not promoted.
|
|
94
|
+
2. A same-HEAD rerun reproduced the materialization toast synchronization issue.
|
|
95
|
+
The test was corrected to rely on the already asserted HTTP 201 response and
|
|
96
|
+
exact canonical artifact reselection.
|
|
97
|
+
3. Run `35783718376` then exposed a separate Chromium adapter flake and a
|
|
98
|
+
macOS-only packed activation failure.
|
|
99
|
+
4. The packed smoke was corrected to canonicalize its disposable temp root before
|
|
100
|
+
deriving relative artifact paths. Local validation passed, and RUN_A above
|
|
101
|
+
passed all seven jobs on the corrected candidate.
|
|
102
|
+
|
|
103
|
+
No product semantics, governed schema, dependency, package version, or readiness
|
|
104
|
+
workflow architecture changed.
|
|
105
|
+
|
|
106
|
+
## RUN_B requirement
|
|
107
|
+
|
|
108
|
+
This tracked report changes the npm candidate bytes because `docs/` is included
|
|
109
|
+
in the package. Commit it with:
|
|
110
|
+
|
|
111
|
+
`docs: record v0.10 pre-release readiness`
|
|
112
|
+
|
|
113
|
+
Push the resulting `REPORT_HEAD` to this validation branch and require a new
|
|
114
|
+
complete `Pre-release readiness` run whose exact HEAD equals `REPORT_HEAD`.
|
|
115
|
+
RUN_B must independently pass the candidate job, all three exact-candidate smoke
|
|
116
|
+
lanes, and all three tutorial-readiness lanes. Only then may the overall verdict
|
|
117
|
+
become `PASS_V0_10_PRERELEASE_READY_FOR_RELEASE_PREP`.
|
|
118
|
+
|
|
119
|
+
Release operations performed: none. Version bump, tag, publication, merge, and
|
|
120
|
+
GitHub Release remain unauthorized and incomplete.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# v0.10.0 Release Preparation
|
|
2
|
+
|
|
3
|
+
## 1. Verdict and identity
|
|
4
|
+
|
|
5
|
+
Verdict: `PASS_READY_TO_PUBLISH_AFTER_USER_APPROVAL`
|
|
6
|
+
|
|
7
|
+
Repository: `dailephd/my-frontend-observer` (`C:\Users\daile\Projects\my-frontend-observer`)
|
|
8
|
+
Workflow: `RELEASE_PREPARATION`
|
|
9
|
+
Source validation branch: `validation/v0.10-pre-release`
|
|
10
|
+
Starting RUN_B-validated SHA: `4ae5b9e0328364dd27e0761b8f243093bdcb3f45`
|
|
11
|
+
Inherited RUN_B: `35789033295`, workflow `Pre-release readiness`, conclusion success. Its seven required jobs all succeeded. Readiness was inherited; RUN_B was not rerun.
|
|
12
|
+
Release branch: `release/v0.10.0`, created directly from the exact validated SHA without merge or rebase.
|
|
13
|
+
Package: `@dailephd/my-frontend-observer`
|
|
14
|
+
Old package version: `0.9.1`
|
|
15
|
+
Target package version: `0.10.0`
|
|
16
|
+
|
|
17
|
+
## 2. Release-state preflight
|
|
18
|
+
|
|
19
|
+
- npm current version before preparation: `0.9.1`.
|
|
20
|
+
- npm `0.10.0`: absent (npm returned E404 for the exact version).
|
|
21
|
+
- Local `v0.10.0` tag: absent.
|
|
22
|
+
- Remote `origin` `v0.10.0` tag: absent.
|
|
23
|
+
- GitHub Release `v0.10.0`: absent.
|
|
24
|
+
- Local and remote `release/v0.10.0` branches: absent before creation.
|
|
25
|
+
- GitHub identity: `dailephd/my-frontend-observer`, default branch `master`; `gh auth status` succeeded.
|
|
26
|
+
- `package.json` identity: `@dailephd/my-frontend-observer`.
|
|
27
|
+
|
|
28
|
+
## 3. Version and documentation state
|
|
29
|
+
|
|
30
|
+
`package.json` version, `package-lock.json` version, and `package-lock.json` `packages[""]` version are all `0.10.0`. The version was changed with `npm version 0.10.0 --no-git-tag-version`; no version commit or tag was created by npm.
|
|
31
|
+
|
|
32
|
+
The changelog keeps `## [Unreleased]` for future work and adds `## 0.10.0 - 2026-09-23` describing the shipped Visual Change workflow, actual/reference entry, artifact/handoff versions, explicit activation, bounded coding-agent handoff, immutable correction history, PASS-only acceptance, separate governance, installed-package/Viewer support, and security boundaries.
|
|
33
|
+
|
|
34
|
+
README identifies v0.10.0 as current and accurately describes the normal user-facing Visual Change workflow. `docs/CURRENT_STATE.md` records the current release, complete shipped workflow, formal Windows/Linux/macOS readiness, package version, independently versioned schemas, and Viewer protocol. `docs/ROADMAP.md` changes only the high-level v0.10 release status and preserves future-version planning. `docs/PROJECT_OVERVIEW.md`, `docs/RELEASE.md`, `docs/CI_CD.md`, `docs/SECURITY.md`, and `docs/QUICKSTART.md` state the final v0.10 release and readiness facts while retaining relevant security limitations. Commands, workflows, contracts, and architecture semantics were not changed.
|
|
35
|
+
|
|
36
|
+
`docs/reports/v0.10-pre-release-readiness.md` was preserved unchanged. The existing `scripts/check-docs.mjs` was narrowly updated to enforce final release consistency: a dated 0.10.0 changelog entry plus an Unreleased section, current package/release/readiness/protocol facts, roadmap release status, and canonical contract markers. It was not disabled and no second checker was added. `npm run check:docs` passed after the change.
|
|
37
|
+
|
|
38
|
+
## 4. Source, dependencies, schemas, and package
|
|
39
|
+
|
|
40
|
+
Production source audit: `git diff -- src viewer/src` is empty; no executable product changes were made. Dependency audit: `dependencies` and `devDependencies` are identical to the starting commit (`DEPENDENCY_CHANGED = false`).
|
|
41
|
+
|
|
42
|
+
Schema/protocol inventory is unchanged: observation `1.2.0`; comparison `1.0.0`; frontend contract `1.0.0`; evaluation `1.0.0`; bounded-agent-context `1.0.0`; external-reference `1.0.0`; visual annotation `1.0.0`; visual-change-workflow `1.0.0`; handoff `1.0.0`; Viewer protocol `1.3.0`.
|
|
43
|
+
|
|
44
|
+
Package hygiene: `.gitignore` excludes `node_modules/`, `dist/`, and the `.my-dev-kit-*` generated workflow/context roots. No `.npmignore` is present. `package.json#files` allowlists `dist`, README, CHANGELOG, docs, and LICENSE. `npm pack --dry-run` reports package `@dailephd/my-frontend-observer@0.10.0`, 437 files in the final dry run (436 before adding this report), and includes compiled visual-change workflow owners, Viewer/PWA assets, README, changelog, and release docs. The JSON dry-run content audit found no tests, private workflow/context roots, caches, browser profiles, smoke summaries, nested tarballs, or `node_modules`. No tarball was created by the dry run.
|
|
45
|
+
|
|
46
|
+
## 5. Local validation
|
|
47
|
+
|
|
48
|
+
All requested commands passed after release-preparation edits:
|
|
49
|
+
|
|
50
|
+
- `npm run typecheck`: PASS.
|
|
51
|
+
- `npm run lint`: PASS.
|
|
52
|
+
- `npm test`: PASS, 99 files and 1,524 tests.
|
|
53
|
+
- `npm run test:browser`: PASS, 32 files and 301 tests.
|
|
54
|
+
- `npm run test:security`: PASS, including 16 security unit files (168 tests), 3 browser files (77 tests), and the PWA hard gate.
|
|
55
|
+
- `npm run test:pwa-hard-gate`: PASS, one hard-gate test; six unrelated tests filtered by the task's script.
|
|
56
|
+
- `npm run build`: PASS.
|
|
57
|
+
- `npm run check:docs`: PASS (17 required documentation files).
|
|
58
|
+
- `git diff --check`: PASS.
|
|
59
|
+
- `npm pack --dry-run`: PASS, package identity/version and content audit as above.
|
|
60
|
+
- `node dist/cli.js --version`: `0.10.0`.
|
|
61
|
+
- `node dist/cli.js --help`: PASS; expected command surface displayed.
|
|
62
|
+
|
|
63
|
+
## 6. Git, publication boundary, and handoff
|
|
64
|
+
|
|
65
|
+
Release-preparation commit message: `chore: prepare v0.10.0 release`.
|
|
66
|
+
Push target: `origin release/v0.10.0`. The commit is pushed and the post-push check confirms the remote branch matches the local release-preparation commit. The tracked worktree is clean after push. The final commit SHA and branch tip are recorded in the handoff summary.
|
|
67
|
+
|
|
68
|
+
No product-semantic changes, dependency changes, tag, GitHub Release, npm publication, dist-tag change, PR, or merge were made. The historical pre-release readiness report was not edited. Generated build output remains ignored; no local/private generated files are staged or packaged.
|
|
69
|
+
|
|
70
|
+
Exact next action: await explicit user approval. After approval, run the standardized GitHub release + final npm publication workflow from `release/v0.10.0`. The publication workflow must create/validate the release PR, merge it, validate master, create/push `v0.10.0`, create/verify the GitHub Release, verify release-channel parity, and run `npm publish --access public` as the final state-changing command.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# v0.10.1 Project Check Baseline Context Replay — Implementation Report
|
|
2
|
+
|
|
3
|
+
## Result
|
|
4
|
+
|
|
5
|
+
At implementation completion, the bounded maintenance fix was recorded at
|
|
6
|
+
`82dc7745b1935b827a57870ff9a942d166d4cca5` on
|
|
7
|
+
`fix/v0.10.1-project-check-baseline-context`, while package version `0.10.0`
|
|
8
|
+
remained unchanged. This report preserves that implementation-time snapshot;
|
|
9
|
+
formal readiness passed later, and release-preparation state is tracked in
|
|
10
|
+
`docs/RELEASE.md`.
|
|
11
|
+
|
|
12
|
+
## Defect and correction
|
|
13
|
+
|
|
14
|
+
Project-aware `check` validated an immutable baseline before capture, but the candidate capture used only the project configuration. When the baseline carried `requestConfig.scrollScenario` or `requestConfig.explicitState`, the candidate omitted those dimensions and could be classified as incomparable even when rendered evidence had no differences.
|
|
15
|
+
|
|
16
|
+
After baseline validation, `checkProject` now derives an optional, narrow replay context from the validated baseline artifact and passes only `scrollScenario` and `explicitState` to candidate capture. Current project configuration still owns URL, viewport, semantic targets, and ordinary capture defaults. The canonical request normalization and browser observation path remain responsible for validation and actual scroll execution. Unrelated baseline request fields are not replayed.
|
|
17
|
+
|
|
18
|
+
`scrollScenario` replay executes the same bounded browser scroll action. `explicitState` replay retains caller-declared identity metadata only; it does not establish theme, application, authentication, cookie, storage, or session state. No state inference or setup was added. Controlled state/session setup remains future v0.12 scope.
|
|
19
|
+
|
|
20
|
+
## Changed owners and preserved boundaries
|
|
21
|
+
|
|
22
|
+
The implementation extends `src/application/projectCheckService.ts` and the existing candidate capture path in `src/application/projectWorkflowService.ts`, with unit, workflow, and real-Chromium regression coverage. It does not alter the comparison rules or weaken comparability.
|
|
23
|
+
|
|
24
|
+
At implementation completion, project config remained schema `1.1.0` and rejected top-level `scrollScenario` and `explicitState`. Normal `init` and `capture` remained project-config-driven. The machine-facing CLI remained `check <baseline> --json`; no flags were added. Observation schema remained `1.2.0`; comparison schema remained `1.0.0`; check-result schema remained `1.0.0`. Viewer protocol was unchanged. No dependency was added, and package version was `0.10.0`.
|
|
25
|
+
|
|
26
|
+
## Verification evidence
|
|
27
|
+
|
|
28
|
+
The implementation acceptance run recorded:
|
|
29
|
+
|
|
30
|
+
- Typecheck, lint, build: PASS.
|
|
31
|
+
- Unit tests: 1,527 passed.
|
|
32
|
+
- Browser tests: 302 passed.
|
|
33
|
+
- Security tests: 170 unit and 78 browser tests passed.
|
|
34
|
+
- PWA hard gate: PASS.
|
|
35
|
+
- Real-Chromium project-check reproducer: baseline and candidate retained both low-level dimensions; the bounded scroll action executed; check returned `PASS`, comparison was comparable with zero differences, configured contract passed, and blockers were empty.
|
|
36
|
+
- Negative target-scroll case: missing/incompatible project target fails through the existing honest blocked/failure path.
|
|
37
|
+
- Project-config boundary, immutable baseline, and current-history regressions: PASS.
|
|
38
|
+
|
|
39
|
+
Downstream consumer validation used the unchanged `iworkhere.space` candidate `b0ee1bb251571ce2f83b08c55285a12ee68dc4c4` with this maintenance implementation. Five document routes at desktop `1440×900` and mobile `390×844` produced 10/10 passing Observer checks, comparable results, zero differences, and passing configured contracts. This proves the original missing-context blocker is removed for that consumer candidate; it is not a release claim for iworkhere.space v0.3.0.
|
|
40
|
+
|
|
41
|
+
## Release lifecycle at implementation completion
|
|
42
|
+
|
|
43
|
+
At this report's implementation-time snapshot, current published release and
|
|
44
|
+
package version were `0.10.0`. Documentation reconciliation and the packed-
|
|
45
|
+
readiness coverage correction were complete, while formal readiness, release
|
|
46
|
+
preparation, version bump, publication, PR, and merge had not occurred. These
|
|
47
|
+
are historical lifecycle facts; subsequent release state is recorded in
|
|
48
|
+
`docs/CURRENT_STATE.md` and `docs/RELEASE.md`.
|
|
49
|
+
|
|
50
|
+
## Pre-readiness packed-acceptance coverage correction
|
|
51
|
+
|
|
52
|
+
PRE_READINESS_PACKED_ACCEPTANCE_GAP: FOUND. The existing packed project/viewer
|
|
53
|
+
smoke exercised installed `check` but did not include a baseline carrying both
|
|
54
|
+
`scrollScenario` and `explicitState`. Source/unit/browser validation and the
|
|
55
|
+
downstream consumer smoke did not close that installed-tarball acceptance gap.
|
|
56
|
+
|
|
57
|
+
Correction: `scripts/ci/runPackedViewerSmoke.mjs`, the existing installed
|
|
58
|
+
project/viewer smoke owner, now creates a canonical low-level observation with
|
|
59
|
+
both dimensions through the installed CLI, registers its generated identities
|
|
60
|
+
in the existing schema-1.0.0 catalog, and checks it using installed
|
|
61
|
+
`check <baseline> --json` with no added flags. The assertion requires real
|
|
62
|
+
scroll evidence, matching candidate request context, a comparable zero-
|
|
63
|
+
difference result, passing configured contract, no blockers, and immutable
|
|
64
|
+
baseline/source/configuration. The smoke summary records bounded v0.10.1
|
|
65
|
+
acceptance fields. The existing three-OS matrix already invokes this same
|
|
66
|
+
smoke on the one frozen tarball, so readiness workflow architecture is
|
|
67
|
+
unchanged.
|
|
68
|
+
|
|
69
|
+
PRODUCT_SOURCE_CHANGED: NO
|
|
70
|
+
READINESS_WORKFLOW_ARCHITECTURE_CHANGED: NO
|
|
71
|
+
At the time of this packed-acceptance correction, formal v0.10.1 readiness had
|
|
72
|
+
not yet run; local packed regression was validation evidence only.
|
|
73
|
+
|
|
74
|
+
### Local exact-packed-candidate evidence
|
|
75
|
+
|
|
76
|
+
One local `0.10.0` tarball was installed and exercised by the existing packed
|
|
77
|
+
observation, Viewer/project, v0.9 annotation, and v0.10 workflow smokes. The
|
|
78
|
+
updated `runPackedViewerSmoke.mjs` passed on Windows and wrote
|
|
79
|
+
`viewer-smoke-summary.json`; its `projectCheckBaselineContextReplay` section
|
|
80
|
+
records check exit 0/PASS, comparable/zero differences, contract PASS, zero
|
|
81
|
+
blockers, both context matches, real baseline/candidate scroll to 240,
|
|
82
|
+
immutable baseline/source/configuration, and current-only alias advancement.
|
|
83
|
+
Exact local tarball identity and summaries are retained in project-local
|
|
84
|
+
workflow evidence.
|
|
85
|
+
|
|
86
|
+
Validation after this correction: typecheck PASS; lint PASS; 1,527 unit tests PASS; 302 browser tests PASS; security 170 unit + 78 browser tests PASS; the nested PWA hard-gate invocation PASS; build PASS; docs check PASS. No hosted workflow or formal readiness run was started.
|