@dailephd/my-frontend-observer 0.10.0 → 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 -479
- package/LICENSE +21 -21
- package/README.md +375 -365
- 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/cli.js +510 -510
- package/dist/viewer/index.html +13 -13
- package/dist/viewer/sw.js +1 -1
- package/docs/ARCHITECTURE.md +1394 -1385
- package/docs/CI_CD.md +349 -338
- package/docs/COMMANDS.md +1035 -1026
- package/docs/CONTRACTS.md +1971 -1960
- package/docs/CURRENT_STATE.md +1277 -1252
- 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 -196
- package/docs/QUICKSTART.md +100 -100
- package/docs/RELEASE.md +37 -36
- package/docs/ROADMAP.md +1105 -1034
- package/docs/SECURITY.md +297 -297
- package/docs/WORKFLOWS.md +806 -796
- package/docs/plans/v0.10-implementation-plan.md +1509 -1509
- 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 -102
- package/docs/reports/v0.10-batch2-project-composition-check-recording.md +103 -103
- package/docs/reports/v0.10-batch3-viewer-visual-change-workspace.md +93 -93
- package/docs/reports/v0.10-batch4-actual-frontend-entry.md +59 -59
- package/docs/reports/v0.10-batch5-reference-driven-entry.md +238 -238
- package/docs/reports/v0.10-batch6-coding-agent-handoff.md +85 -85
- package/docs/reports/v0.10-batch7-correction-review-acceptance.md +145 -145
- package/docs/reports/v0.10-batch8-integrated-acceptance.md +109 -109
- package/docs/reports/v0.10-implementation-completeness-documentation-reconciliation.md +344 -344
- package/docs/reports/v0.10-pre-release-readiness.md +120 -120
- package/docs/reports/v0.10-release-preparation.md +70 -70
- 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
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
# v0.8.1 Hardened Documentation and Implementation-Completeness Audit
|
|
2
|
-
|
|
3
|
-
## Verdict
|
|
4
|
-
|
|
5
|
-
PASS_V081_HARDENED_DOCUMENTATION_AND_IMPLEMENTATION_COMPLETENESS_AUDIT
|
|
6
|
-
|
|
7
|
-
Starting candidate: `85ff1cbaa6c9cf86aa7de59cf3abeb09cbaa6877`.
|
|
8
|
-
Source-of-truth order was the task contract, current Git/package state,
|
|
9
|
-
preservation policy and durable product documents, frozen v0.8.1 plan,
|
|
10
|
-
current implementation/tests, then predecessor reports. The Prompt 1 and
|
|
11
|
-
Prompt 2 reports were corroborating evidence only.
|
|
12
|
-
|
|
13
|
-
## Capability matrix
|
|
14
|
-
|
|
15
|
-
| Capability | Plan source | Implementation | Tests | Documentation | Result |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| Config v1.0 compatibility | Plan §§3, 6 | `projectConfig.ts` | `projectWorkflow.test.ts` | COMMANDS | PASS |
|
|
18
|
-
| Config v1.1 acceptance | Plan §6 | `projectConfig.ts`, `checkAcceptance.ts` | project workflow/check tests | COMMANDS | PASS |
|
|
19
|
-
| Project discovery/managed state | Plan Prompt 1 | `projectDiscovery.ts`, `projectPaths.ts` | project workflow tests | ARCHITECTURE | PASS |
|
|
20
|
-
| Alias grammar/atomic catalog | Plan Prompt 1 | `projectConfig.ts`, `aliasCatalog.ts` | project workflow tests | COMMANDS | PASS |
|
|
21
|
-
| Immutable evidence/alias replacement | Plan Prompt 1 | project workflow service | browser workflow tests | WORKFLOWS | PASS |
|
|
22
|
-
| `init` and `capture` | Plan Prompt 1 | CLI/project workflow service | CLI/browser/packed tests | README, COMMANDS | PASS |
|
|
23
|
-
| Reserved `current` | Plan Prompt 2 | project workflow service/catalog validator | unit/browser tests | COMMANDS | PASS |
|
|
24
|
-
| Project-aware `view` | Plan Prompt 1 | CLI/viewer service/projection | viewer/browser/packed tests | README, COMMANDS | PASS |
|
|
25
|
-
| Standalone `view --root` | Plan Prompt 1 | existing view dispatch | viewer regression tests | COMMANDS | PASS |
|
|
26
|
-
| Alias-first navigation/provenance | Plan Prompt 1 | evidence projection/React list | real Chromium/packed tests | ARCHITECTURE | PASS |
|
|
27
|
-
| Explicit/default baseline | Plan Prompt 2 | `projectCheckService.ts` | check-service/browser tests | COMMANDS | PASS |
|
|
28
|
-
| Current capture/history | Plan Prompt 2 | capture workflow/check service | browser tests | WORKFLOWS | PASS |
|
|
29
|
-
| Canonical comparison/config reuse | Plan Prompt 2 | comparison service composition | browser/unit tests | ARCHITECTURE | PASS |
|
|
30
|
-
| Contract orchestration | Plan Prompt 2 | contract evaluator composition | browser/unit/packed tests | COMMANDS | PASS |
|
|
31
|
-
| Approved-reference governance/bindings/fidelity | Plan Prompt 2 | reference reader/fidelity composition | browser/unit tests | SECURITY, COMMANDS | PASS |
|
|
32
|
-
| PASS/FAIL/REVIEW_REQUIRED/BLOCKED precedence | Plan Prompt 2 | `checkResult.ts` | unit/CLI/browser tests | COMMANDS | PASS |
|
|
33
|
-
| Human check output | Plan Prompt 2 | CLI formatter | CLI/browser tests | WORKFLOWS | PASS |
|
|
34
|
-
| Bounded `check --json` | Plan Prompt 2 | `checkResult.ts` | bounded projection tests | COMMANDS | PASS |
|
|
35
|
-
| Check exit codes 0/1/2/3 | Plan Prompt 2 | CLI mapping | CLI/browser tests | COMMANDS, CI_CD | PASS |
|
|
36
|
-
| No check artifact/no second engine | Plan Prompt 2 | check application composition | architecture/source audit | ARCHITECTURE | PASS |
|
|
37
|
-
| Coding-agent FAIL-to-PASS loop | Plan Prompt 2 | check + canonical evaluators | browser/packed tests | WORKFLOWS | PASS |
|
|
38
|
-
| Acceptance paths/realpath containment | Plan Prompt 2 | config/acceptance resolver | unit/browser junction tests | SECURITY | PASS |
|
|
39
|
-
| Installed-package workflow | Plan Prompt 2 | packed viewer smoke | local/CI packed smoke | CI_CD, DEVELOPMENT | PASS |
|
|
40
|
-
| Advanced-command compatibility | Plan Prompt 1/2 | preserved CLI services | unit/browser/packed observation tests | COMMANDS | PASS |
|
|
41
|
-
|
|
42
|
-
No `MISSING_IMPLEMENTATION`, `MISSING_TEST`, `MISSING_DOCUMENTATION`, or
|
|
43
|
-
`IMPLEMENTATION_DOCUMENTATION_DRIFT` remained after the reconciliation.
|
|
44
|
-
|
|
45
|
-
## ROADMAP and CLI/help audit
|
|
46
|
-
|
|
47
|
-
ROADMAP now correctly says v0.8.1 is implemented in the repository, package
|
|
48
|
-
metadata remains `0.8.0`, and publication has not happened. v0.9 and v0.10
|
|
49
|
-
remain future work; the v0.9 alias/canonical-identity invariant and v0.10
|
|
50
|
-
reuse of `check <baseline> --json` are explicit.
|
|
51
|
-
|
|
52
|
-
Built CLI help was captured under the prerelease audit root for every public
|
|
53
|
-
command. The common surface is `init`, `capture`, `check`, `view`; advanced
|
|
54
|
-
commands remain `observe`, `compare`, `approve-baseline`,
|
|
55
|
-
`save-change-contract`, `evaluate-contract`, `import-reference`,
|
|
56
|
-
`approve-reference`, and `evaluate-reference-fidelity`. Documentation now
|
|
57
|
-
states that `view` discovers initialized project evidence without `--root`,
|
|
58
|
-
while `view --root` remains the standalone compatibility form.
|
|
59
|
-
|
|
60
|
-
Documentation records check exits exactly as PASS 0, FAIL 1,
|
|
61
|
-
REVIEW_REQUIRED 2, BLOCKED 3. Comparison alone is evidence and yields
|
|
62
|
-
REVIEW_REQUIRED, never PASS. JSON is documented as a bounded ephemeral
|
|
63
|
-
workflow projection rather than a persisted artifact.
|
|
64
|
-
|
|
65
|
-
## Architecture and code-rot audit
|
|
66
|
-
|
|
67
|
-
Direct source tracing found one canonical semantic owner for browser
|
|
68
|
-
observation (`observationPersistence`), comparison (`comparisonEngine`),
|
|
69
|
-
frontend-contract evaluation (`frontendContractEvaluation`), reference
|
|
70
|
-
compatibility, explicit binding, reference fidelity, bounded context,
|
|
71
|
-
runtime/static correlation, discovery, catalog persistence, project-check
|
|
72
|
-
orchestration, and check-result projection. `projectCheckService` composes
|
|
73
|
-
those owners; it neither spawns the CLI nor adds an evaluation engine.
|
|
74
|
-
|
|
75
|
-
The packed check helper that duplicated the viewer/project workflow was
|
|
76
|
-
removed. `runPackedViewerSmoke.mjs` is now the single installed-package
|
|
77
|
-
project/viewer smoke owner and covers REVIEW_REQUIRED plus unchanged-criteria
|
|
78
|
-
FAIL-to-PASS before alias-aware viewer checks. `runPackedObservationSmoke.mjs`
|
|
79
|
-
retains its lower-level legacy responsibility. Windows npm installation in
|
|
80
|
-
both smoke owners invokes npm's CLI through Node with `shell: false`; no
|
|
81
|
-
project-controlled value is shell command text.
|
|
82
|
-
|
|
83
|
-
Historical release reports and frozen plans retain their older descriptions as
|
|
84
|
-
historical evidence. Current-state documentation no longer presents v0.8.1 as
|
|
85
|
-
merely planned or `view --root` as universally required.
|
|
86
|
-
|
|
87
|
-
## Security and package truth
|
|
88
|
-
|
|
89
|
-
The audit reconfirmed portable acceptance paths, realpath/junction containment,
|
|
90
|
-
alias/catalog containment, immutable `current` replacement, project-relative
|
|
91
|
-
JSON, approved-reference-only governance, explicit bindings, loopback/read-only
|
|
92
|
-
viewer routing, media traversal containment, and PWA no-stale-evidence tests.
|
|
93
|
-
The dynamic-execution search found `spawn` only in controlled viewer opening
|
|
94
|
-
and CI/developer smoke infrastructure; production project/config/evidence
|
|
95
|
-
inputs do not become executable command text. A real-Chromium source-hash test
|
|
96
|
-
proves `capture`, `check`, and `view` do not modify target frontend source.
|
|
97
|
-
|
|
98
|
-
`npm pack --dry-run --json` is audited in Phase B. Package metadata remains
|
|
99
|
-
`0.8.0`; v0.8.1 is implemented in source but not released, tagged, or
|
|
100
|
-
published. CHANGELOG remains release history and has no released v0.8.1 entry.
|
|
101
|
-
|
|
102
|
-
## Validation and next gate
|
|
103
|
-
|
|
104
|
-
Phase A reruns typecheck, lint, unit tests, build, documentation checks,
|
|
105
|
-
browser tests, security tests, and `git diff --check` after reconciliation.
|
|
106
|
-
Results: typecheck PASS; lint PASS; build PASS; unit suite PASS (68 files,
|
|
107
|
-
1,180 tests); documentation check PASS; browser suite PASS (21 files,
|
|
108
|
-
186 tests); security subset PASS (97 unit plus 77 browser tests); and diff
|
|
109
|
-
whitespace check PASS.
|
|
110
|
-
Phase B starts only from the clean reconciliation commit and independently
|
|
111
|
-
repeats local/package/security/packed validation before exact-candidate
|
|
112
|
-
cross-platform CI.
|
|
113
|
-
|
|
114
|
-
Next stage: formal v0.8.1 pre-release readiness.
|
|
1
|
+
# v0.8.1 Hardened Documentation and Implementation-Completeness Audit
|
|
2
|
+
|
|
3
|
+
## Verdict
|
|
4
|
+
|
|
5
|
+
PASS_V081_HARDENED_DOCUMENTATION_AND_IMPLEMENTATION_COMPLETENESS_AUDIT
|
|
6
|
+
|
|
7
|
+
Starting candidate: `85ff1cbaa6c9cf86aa7de59cf3abeb09cbaa6877`.
|
|
8
|
+
Source-of-truth order was the task contract, current Git/package state,
|
|
9
|
+
preservation policy and durable product documents, frozen v0.8.1 plan,
|
|
10
|
+
current implementation/tests, then predecessor reports. The Prompt 1 and
|
|
11
|
+
Prompt 2 reports were corroborating evidence only.
|
|
12
|
+
|
|
13
|
+
## Capability matrix
|
|
14
|
+
|
|
15
|
+
| Capability | Plan source | Implementation | Tests | Documentation | Result |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| Config v1.0 compatibility | Plan §§3, 6 | `projectConfig.ts` | `projectWorkflow.test.ts` | COMMANDS | PASS |
|
|
18
|
+
| Config v1.1 acceptance | Plan §6 | `projectConfig.ts`, `checkAcceptance.ts` | project workflow/check tests | COMMANDS | PASS |
|
|
19
|
+
| Project discovery/managed state | Plan Prompt 1 | `projectDiscovery.ts`, `projectPaths.ts` | project workflow tests | ARCHITECTURE | PASS |
|
|
20
|
+
| Alias grammar/atomic catalog | Plan Prompt 1 | `projectConfig.ts`, `aliasCatalog.ts` | project workflow tests | COMMANDS | PASS |
|
|
21
|
+
| Immutable evidence/alias replacement | Plan Prompt 1 | project workflow service | browser workflow tests | WORKFLOWS | PASS |
|
|
22
|
+
| `init` and `capture` | Plan Prompt 1 | CLI/project workflow service | CLI/browser/packed tests | README, COMMANDS | PASS |
|
|
23
|
+
| Reserved `current` | Plan Prompt 2 | project workflow service/catalog validator | unit/browser tests | COMMANDS | PASS |
|
|
24
|
+
| Project-aware `view` | Plan Prompt 1 | CLI/viewer service/projection | viewer/browser/packed tests | README, COMMANDS | PASS |
|
|
25
|
+
| Standalone `view --root` | Plan Prompt 1 | existing view dispatch | viewer regression tests | COMMANDS | PASS |
|
|
26
|
+
| Alias-first navigation/provenance | Plan Prompt 1 | evidence projection/React list | real Chromium/packed tests | ARCHITECTURE | PASS |
|
|
27
|
+
| Explicit/default baseline | Plan Prompt 2 | `projectCheckService.ts` | check-service/browser tests | COMMANDS | PASS |
|
|
28
|
+
| Current capture/history | Plan Prompt 2 | capture workflow/check service | browser tests | WORKFLOWS | PASS |
|
|
29
|
+
| Canonical comparison/config reuse | Plan Prompt 2 | comparison service composition | browser/unit tests | ARCHITECTURE | PASS |
|
|
30
|
+
| Contract orchestration | Plan Prompt 2 | contract evaluator composition | browser/unit/packed tests | COMMANDS | PASS |
|
|
31
|
+
| Approved-reference governance/bindings/fidelity | Plan Prompt 2 | reference reader/fidelity composition | browser/unit tests | SECURITY, COMMANDS | PASS |
|
|
32
|
+
| PASS/FAIL/REVIEW_REQUIRED/BLOCKED precedence | Plan Prompt 2 | `checkResult.ts` | unit/CLI/browser tests | COMMANDS | PASS |
|
|
33
|
+
| Human check output | Plan Prompt 2 | CLI formatter | CLI/browser tests | WORKFLOWS | PASS |
|
|
34
|
+
| Bounded `check --json` | Plan Prompt 2 | `checkResult.ts` | bounded projection tests | COMMANDS | PASS |
|
|
35
|
+
| Check exit codes 0/1/2/3 | Plan Prompt 2 | CLI mapping | CLI/browser tests | COMMANDS, CI_CD | PASS |
|
|
36
|
+
| No check artifact/no second engine | Plan Prompt 2 | check application composition | architecture/source audit | ARCHITECTURE | PASS |
|
|
37
|
+
| Coding-agent FAIL-to-PASS loop | Plan Prompt 2 | check + canonical evaluators | browser/packed tests | WORKFLOWS | PASS |
|
|
38
|
+
| Acceptance paths/realpath containment | Plan Prompt 2 | config/acceptance resolver | unit/browser junction tests | SECURITY | PASS |
|
|
39
|
+
| Installed-package workflow | Plan Prompt 2 | packed viewer smoke | local/CI packed smoke | CI_CD, DEVELOPMENT | PASS |
|
|
40
|
+
| Advanced-command compatibility | Plan Prompt 1/2 | preserved CLI services | unit/browser/packed observation tests | COMMANDS | PASS |
|
|
41
|
+
|
|
42
|
+
No `MISSING_IMPLEMENTATION`, `MISSING_TEST`, `MISSING_DOCUMENTATION`, or
|
|
43
|
+
`IMPLEMENTATION_DOCUMENTATION_DRIFT` remained after the reconciliation.
|
|
44
|
+
|
|
45
|
+
## ROADMAP and CLI/help audit
|
|
46
|
+
|
|
47
|
+
ROADMAP now correctly says v0.8.1 is implemented in the repository, package
|
|
48
|
+
metadata remains `0.8.0`, and publication has not happened. v0.9 and v0.10
|
|
49
|
+
remain future work; the v0.9 alias/canonical-identity invariant and v0.10
|
|
50
|
+
reuse of `check <baseline> --json` are explicit.
|
|
51
|
+
|
|
52
|
+
Built CLI help was captured under the prerelease audit root for every public
|
|
53
|
+
command. The common surface is `init`, `capture`, `check`, `view`; advanced
|
|
54
|
+
commands remain `observe`, `compare`, `approve-baseline`,
|
|
55
|
+
`save-change-contract`, `evaluate-contract`, `import-reference`,
|
|
56
|
+
`approve-reference`, and `evaluate-reference-fidelity`. Documentation now
|
|
57
|
+
states that `view` discovers initialized project evidence without `--root`,
|
|
58
|
+
while `view --root` remains the standalone compatibility form.
|
|
59
|
+
|
|
60
|
+
Documentation records check exits exactly as PASS 0, FAIL 1,
|
|
61
|
+
REVIEW_REQUIRED 2, BLOCKED 3. Comparison alone is evidence and yields
|
|
62
|
+
REVIEW_REQUIRED, never PASS. JSON is documented as a bounded ephemeral
|
|
63
|
+
workflow projection rather than a persisted artifact.
|
|
64
|
+
|
|
65
|
+
## Architecture and code-rot audit
|
|
66
|
+
|
|
67
|
+
Direct source tracing found one canonical semantic owner for browser
|
|
68
|
+
observation (`observationPersistence`), comparison (`comparisonEngine`),
|
|
69
|
+
frontend-contract evaluation (`frontendContractEvaluation`), reference
|
|
70
|
+
compatibility, explicit binding, reference fidelity, bounded context,
|
|
71
|
+
runtime/static correlation, discovery, catalog persistence, project-check
|
|
72
|
+
orchestration, and check-result projection. `projectCheckService` composes
|
|
73
|
+
those owners; it neither spawns the CLI nor adds an evaluation engine.
|
|
74
|
+
|
|
75
|
+
The packed check helper that duplicated the viewer/project workflow was
|
|
76
|
+
removed. `runPackedViewerSmoke.mjs` is now the single installed-package
|
|
77
|
+
project/viewer smoke owner and covers REVIEW_REQUIRED plus unchanged-criteria
|
|
78
|
+
FAIL-to-PASS before alias-aware viewer checks. `runPackedObservationSmoke.mjs`
|
|
79
|
+
retains its lower-level legacy responsibility. Windows npm installation in
|
|
80
|
+
both smoke owners invokes npm's CLI through Node with `shell: false`; no
|
|
81
|
+
project-controlled value is shell command text.
|
|
82
|
+
|
|
83
|
+
Historical release reports and frozen plans retain their older descriptions as
|
|
84
|
+
historical evidence. Current-state documentation no longer presents v0.8.1 as
|
|
85
|
+
merely planned or `view --root` as universally required.
|
|
86
|
+
|
|
87
|
+
## Security and package truth
|
|
88
|
+
|
|
89
|
+
The audit reconfirmed portable acceptance paths, realpath/junction containment,
|
|
90
|
+
alias/catalog containment, immutable `current` replacement, project-relative
|
|
91
|
+
JSON, approved-reference-only governance, explicit bindings, loopback/read-only
|
|
92
|
+
viewer routing, media traversal containment, and PWA no-stale-evidence tests.
|
|
93
|
+
The dynamic-execution search found `spawn` only in controlled viewer opening
|
|
94
|
+
and CI/developer smoke infrastructure; production project/config/evidence
|
|
95
|
+
inputs do not become executable command text. A real-Chromium source-hash test
|
|
96
|
+
proves `capture`, `check`, and `view` do not modify target frontend source.
|
|
97
|
+
|
|
98
|
+
`npm pack --dry-run --json` is audited in Phase B. Package metadata remains
|
|
99
|
+
`0.8.0`; v0.8.1 is implemented in source but not released, tagged, or
|
|
100
|
+
published. CHANGELOG remains release history and has no released v0.8.1 entry.
|
|
101
|
+
|
|
102
|
+
## Validation and next gate
|
|
103
|
+
|
|
104
|
+
Phase A reruns typecheck, lint, unit tests, build, documentation checks,
|
|
105
|
+
browser tests, security tests, and `git diff --check` after reconciliation.
|
|
106
|
+
Results: typecheck PASS; lint PASS; build PASS; unit suite PASS (68 files,
|
|
107
|
+
1,180 tests); documentation check PASS; browser suite PASS (21 files,
|
|
108
|
+
186 tests); security subset PASS (97 unit plus 77 browser tests); and diff
|
|
109
|
+
whitespace check PASS.
|
|
110
|
+
Phase B starts only from the clean reconciliation commit and independently
|
|
111
|
+
repeats local/package/security/packed validation before exact-candidate
|
|
112
|
+
cross-platform CI.
|
|
113
|
+
|
|
114
|
+
Next stage: formal v0.8.1 pre-release readiness.
|
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
# v0.8.1 Pre-release Readiness
|
|
2
|
-
|
|
3
|
-
## 1. Purpose and scope
|
|
4
|
-
|
|
5
|
-
This report records formal readiness evidence for the source-complete v0.8.1
|
|
6
|
-
project workflow. It is not release preparation: package metadata remains
|
|
7
|
-
`0.8.0`; no npm publication, tag, GitHub Release, or master push occurs here.
|
|
8
|
-
|
|
9
|
-
## 2. Entry gate and starting state
|
|
10
|
-
|
|
11
|
-
The readiness branch began from master commit
|
|
12
|
-
`85ff1cbaa6c9cf86aa7de59cf3abeb09cbaa6877`, with a clean tracked worktree.
|
|
13
|
-
`origin/master` was an ancestor of local master. The documentation
|
|
14
|
-
reconciliation commit is `02a930d295c84fc0f47521bac226ab5fb3553542`.
|
|
15
|
-
|
|
16
|
-
## 3. Filesystem policy
|
|
17
|
-
|
|
18
|
-
All generated readiness state is confined to
|
|
19
|
-
`.my-dev-kit-workflow/v0.8.1/prerelease-readiness`, including temp/cache,
|
|
20
|
-
audit snapshots, logs, packed candidate, consumer, fixture, browser, and CI
|
|
21
|
-
state. Process-local TEMP/TMP/npm cache settings point there. No sibling
|
|
22
|
-
project or repository-root disposable frontend is used.
|
|
23
|
-
|
|
24
|
-
## 4. Documentation/completeness and architecture audits
|
|
25
|
-
|
|
26
|
-
The companion
|
|
27
|
-
`v0.8.1-implementation-completeness-documentation-reconciliation.md` report
|
|
28
|
-
passes the bidirectional capability matrix. It found one CI-readiness/code-rot
|
|
29
|
-
defect: v0.8.1 packed `check` proof was isolated in a separate helper rather
|
|
30
|
-
than the established packed viewer owner. The helper was removed and
|
|
31
|
-
`runPackedViewerSmoke.mjs` now proves installed `init`, `capture baseline`,
|
|
32
|
-
`check --json` REVIEW_REQUIRED, unchanged-contract FAIL-to-PASS, `baseline`
|
|
33
|
-
and `current` aliases, canonical-ID detail, and the viewer. The lower-level
|
|
34
|
-
packed observation smoke remains separate by responsibility.
|
|
35
|
-
|
|
36
|
-
Source tracing confirms one semantic owner each for browser observation,
|
|
37
|
-
relationships, comparison, contract evaluation, reference compatibility,
|
|
38
|
-
explicit binding, reference fidelity, bounded context, runtime/static
|
|
39
|
-
correlation, discovery, catalog persistence, project-check orchestration, and
|
|
40
|
-
check projection. `check` only composes canonical owners and creates no
|
|
41
|
-
persisted check artifact or second evaluation engine.
|
|
42
|
-
|
|
43
|
-
## 5. Local validation
|
|
44
|
-
|
|
45
|
-
From the clean reconciliation commit: typecheck PASS; lint PASS; build PASS;
|
|
46
|
-
unit PASS (68 files, 1,180 tests); browser PASS (21 files, 186 tests);
|
|
47
|
-
security PASS (97 unit plus 77 browser tests); documentation check PASS; and
|
|
48
|
-
`git diff --check` PASS. A real-Chromium source-hash regression test confirms
|
|
49
|
-
that capture, check, and view do not modify a target frontend source file.
|
|
50
|
-
|
|
51
|
-
## 6. Package-content and API audit
|
|
52
|
-
|
|
53
|
-
`npm pack --dry-run --json` reports 314 files and no workflow state, evidence,
|
|
54
|
-
consumer, fixture, browser profile, coverage, `.claude`, or nested tarball.
|
|
55
|
-
Required compiled CLI, library, project-check, check-result, and viewer files
|
|
56
|
-
are present. Built exports include `CHECK_RESULT_SCHEMA_VERSION` and
|
|
57
|
-
`CHECK_WORKFLOW_STATUSES`; type-only check result interfaces are present in the
|
|
58
|
-
published declarations.
|
|
59
|
-
|
|
60
|
-
## 7. Security and code-rot audit
|
|
61
|
-
|
|
62
|
-
Project discovery stops at the nearest config. Alias/catalog validation and
|
|
63
|
-
atomic catalog persistence are fail-closed. Acceptance paths are portable and
|
|
64
|
-
realpath-contained; a Windows junction escape is rejected by real browser
|
|
65
|
-
coverage. `current` replacement changes catalog metadata only and preserves
|
|
66
|
-
canonical history. Check JSON uses project-relative paths, bounded collections,
|
|
67
|
-
and no image bytes. Imported references are not approved authority; bindings
|
|
68
|
-
remain explicit; contract FAIL cannot be overridden by reference PASS.
|
|
69
|
-
|
|
70
|
-
Viewer security regressions cover loopback binding, read-only methods,
|
|
71
|
-
traversal/media containment, symlink/junction containment, and no stale PWA
|
|
72
|
-
evidence. Production source has no eval/new-Function/vm execution. The only
|
|
73
|
-
process spawns are controlled viewer opening and development/CI smoke tooling;
|
|
74
|
-
Windows packed npm invocation uses Node's npm CLI with `shell: false`.
|
|
75
|
-
|
|
76
|
-
## 8. Local packed candidate and workflow audit
|
|
77
|
-
|
|
78
|
-
LOCAL_CANDIDATE_TARBALL: `my-frontend-observer-0.8.0.tgz`
|
|
79
|
-
|
|
80
|
-
LOCAL_CANDIDATE_SHA256: `5e9ded9170c59de0f7c0205144fb1d6bb375ce6c6a5b70adef57f5223db43e3a`
|
|
81
|
-
|
|
82
|
-
Local installed-package observation smoke: PASS (final candidate).
|
|
83
|
-
|
|
84
|
-
Local installed-package project/viewer smoke: PASS (final candidate).
|
|
85
|
-
|
|
86
|
-
The GitHub workflow builds and hashes one candidate in its Linux candidate job,
|
|
87
|
-
uploads that tarball, downloads it on Windows/Linux/macOS, verifies the
|
|
88
|
-
candidate SHA on every matrix runner, and runs both installed-package smokes.
|
|
89
|
-
|
|
90
|
-
## 9. Historical failed exact-candidate evidence
|
|
91
|
-
|
|
92
|
-
The latest candidate run was `35015180719` for commit
|
|
93
|
-
`b32fe9759187c024cc5828b73cf0c6a682de95b0`. Its candidate job completed all
|
|
94
|
-
validation, packaging, and artifact-hash steps successfully; the exact
|
|
95
|
-
downloaded candidate passed both installed-package smokes on Windows and
|
|
96
|
-
Ubuntu. macOS failed only the project/viewer smoke because that test compares
|
|
97
|
-
the logical temporary path returned by Node (`/var/...`) to the physical path
|
|
98
|
-
reported by the viewer (`/private/var/...`) in `/api/status`.
|
|
99
|
-
|
|
100
|
-
This is a smoke-harness realpath presentation mismatch, not an evidence,
|
|
101
|
-
containment, or product-workflow failure. It is nevertheless a formal matrix
|
|
102
|
-
failure and therefore cannot be represented as cross-platform PASS.
|
|
103
|
-
|
|
104
|
-
Previous run `35012678176` identified the original raw CLI artifact-path
|
|
105
|
-
assumption. Run `35013965786` validated the first correction through candidate
|
|
106
|
-
and Windows/Ubuntu, then identified the macOS logical/physical temporary-root
|
|
107
|
-
mismatch.
|
|
108
|
-
|
|
109
|
-
## 10. Authorized macOS realpath correction
|
|
110
|
-
|
|
111
|
-
Classification: **TEST/READINESS PORTABILITY DEFECT**.
|
|
112
|
-
|
|
113
|
-
Product behavior affected: **NO**.
|
|
114
|
-
|
|
115
|
-
The viewer is permitted to report the physical evidence root. The defect was
|
|
116
|
-
only the readiness smoke's raw string comparison of the caller-visible
|
|
117
|
-
`/var/...` spelling with the physical `/private/var/...` spelling. The smoke
|
|
118
|
-
now compares canonical physical identity with `fs.realpath()` and reports both
|
|
119
|
-
the original spellings and canonical paths if a genuine mismatch occurs. On
|
|
120
|
-
Windows, a smoke-local junction regression self-check proves that an alias and
|
|
121
|
-
its target compare equal while a distinct directory compares unequal.
|
|
122
|
-
|
|
123
|
-
Security semantics weakened: **NO**. This helper is limited to an
|
|
124
|
-
already-authorized smoke assertion; project acceptance-path containment remains
|
|
125
|
-
owned by production realpath validation and is unchanged.
|
|
126
|
-
|
|
127
|
-
MACOS_REALPATH_TARGETED_CORRECTION: PASS
|
|
128
|
-
|
|
129
|
-
## 11. Exact-candidate and cross-platform results
|
|
130
|
-
|
|
131
|
-
OLD_FAILED_RUN: `35015180719`
|
|
132
|
-
|
|
133
|
-
OLD_FAILED_COMMIT: `b32fe9759187c024cc5828b73cf0c6a682de95b0`
|
|
134
|
-
|
|
135
|
-
ROOT_CAUSE: logical-vs-physical temporary path comparison on macOS
|
|
136
|
-
|
|
137
|
-
The next run must build a new candidate once and validate that exact SHA on
|
|
138
|
-
Windows, Linux, and macOS. This historical failed candidate is never rewritten
|
|
139
|
-
as passing evidence.
|
|
140
|
-
|
|
141
|
-
## 12. Corrected formal exact-candidate result
|
|
142
|
-
|
|
143
|
-
CORRECTION_COMMIT: `d5986b5297a2b466b3373a6c896a447cdabe2bdb`
|
|
144
|
-
|
|
145
|
-
NEW_GITHUB_ACTIONS_RUN_ID: `35018400346`
|
|
146
|
-
|
|
147
|
-
FINAL_VALIDATED_COMMIT: `d5986b5297a2b466b3373a6c896a447cdabe2bdb`
|
|
148
|
-
|
|
149
|
-
FORMAL_CANDIDATE_TARBALL: `my-frontend-observer-0.8.0.tgz`
|
|
150
|
-
|
|
151
|
-
FORMAL_CANDIDATE_SHA256:
|
|
152
|
-
`1ae46575595451e56f7c851273387ee4808e546940077e08a40cebcc1c4f8d30`
|
|
153
|
-
|
|
154
|
-
WINDOWS: PASS
|
|
155
|
-
|
|
156
|
-
LINUX: PASS
|
|
157
|
-
|
|
158
|
-
MACOS: PASS
|
|
159
|
-
|
|
160
|
-
CANDIDATE_SHA_PARITY: PASS
|
|
161
|
-
|
|
162
|
-
The candidate job and all three exact-candidate jobs passed. The macOS packed
|
|
163
|
-
project/viewer smoke passed the corrected filesystem-identity assertion.
|
|
164
|
-
|
|
165
|
-
## 13. Release-state truth and next decision
|
|
166
|
-
|
|
167
|
-
The source is not released as v0.8.1. Package version is `0.8.0`; npm
|
|
168
|
-
publication, tag, GitHub Release, and master push are all absent. The final
|
|
169
|
-
verdict is `PASS_V081_PRERELEASE_READINESS`; the next authorized stage is
|
|
170
|
-
release preparation, not publication.
|
|
1
|
+
# v0.8.1 Pre-release Readiness
|
|
2
|
+
|
|
3
|
+
## 1. Purpose and scope
|
|
4
|
+
|
|
5
|
+
This report records formal readiness evidence for the source-complete v0.8.1
|
|
6
|
+
project workflow. It is not release preparation: package metadata remains
|
|
7
|
+
`0.8.0`; no npm publication, tag, GitHub Release, or master push occurs here.
|
|
8
|
+
|
|
9
|
+
## 2. Entry gate and starting state
|
|
10
|
+
|
|
11
|
+
The readiness branch began from master commit
|
|
12
|
+
`85ff1cbaa6c9cf86aa7de59cf3abeb09cbaa6877`, with a clean tracked worktree.
|
|
13
|
+
`origin/master` was an ancestor of local master. The documentation
|
|
14
|
+
reconciliation commit is `02a930d295c84fc0f47521bac226ab5fb3553542`.
|
|
15
|
+
|
|
16
|
+
## 3. Filesystem policy
|
|
17
|
+
|
|
18
|
+
All generated readiness state is confined to
|
|
19
|
+
`.my-dev-kit-workflow/v0.8.1/prerelease-readiness`, including temp/cache,
|
|
20
|
+
audit snapshots, logs, packed candidate, consumer, fixture, browser, and CI
|
|
21
|
+
state. Process-local TEMP/TMP/npm cache settings point there. No sibling
|
|
22
|
+
project or repository-root disposable frontend is used.
|
|
23
|
+
|
|
24
|
+
## 4. Documentation/completeness and architecture audits
|
|
25
|
+
|
|
26
|
+
The companion
|
|
27
|
+
`v0.8.1-implementation-completeness-documentation-reconciliation.md` report
|
|
28
|
+
passes the bidirectional capability matrix. It found one CI-readiness/code-rot
|
|
29
|
+
defect: v0.8.1 packed `check` proof was isolated in a separate helper rather
|
|
30
|
+
than the established packed viewer owner. The helper was removed and
|
|
31
|
+
`runPackedViewerSmoke.mjs` now proves installed `init`, `capture baseline`,
|
|
32
|
+
`check --json` REVIEW_REQUIRED, unchanged-contract FAIL-to-PASS, `baseline`
|
|
33
|
+
and `current` aliases, canonical-ID detail, and the viewer. The lower-level
|
|
34
|
+
packed observation smoke remains separate by responsibility.
|
|
35
|
+
|
|
36
|
+
Source tracing confirms one semantic owner each for browser observation,
|
|
37
|
+
relationships, comparison, contract evaluation, reference compatibility,
|
|
38
|
+
explicit binding, reference fidelity, bounded context, runtime/static
|
|
39
|
+
correlation, discovery, catalog persistence, project-check orchestration, and
|
|
40
|
+
check projection. `check` only composes canonical owners and creates no
|
|
41
|
+
persisted check artifact or second evaluation engine.
|
|
42
|
+
|
|
43
|
+
## 5. Local validation
|
|
44
|
+
|
|
45
|
+
From the clean reconciliation commit: typecheck PASS; lint PASS; build PASS;
|
|
46
|
+
unit PASS (68 files, 1,180 tests); browser PASS (21 files, 186 tests);
|
|
47
|
+
security PASS (97 unit plus 77 browser tests); documentation check PASS; and
|
|
48
|
+
`git diff --check` PASS. A real-Chromium source-hash regression test confirms
|
|
49
|
+
that capture, check, and view do not modify a target frontend source file.
|
|
50
|
+
|
|
51
|
+
## 6. Package-content and API audit
|
|
52
|
+
|
|
53
|
+
`npm pack --dry-run --json` reports 314 files and no workflow state, evidence,
|
|
54
|
+
consumer, fixture, browser profile, coverage, `.claude`, or nested tarball.
|
|
55
|
+
Required compiled CLI, library, project-check, check-result, and viewer files
|
|
56
|
+
are present. Built exports include `CHECK_RESULT_SCHEMA_VERSION` and
|
|
57
|
+
`CHECK_WORKFLOW_STATUSES`; type-only check result interfaces are present in the
|
|
58
|
+
published declarations.
|
|
59
|
+
|
|
60
|
+
## 7. Security and code-rot audit
|
|
61
|
+
|
|
62
|
+
Project discovery stops at the nearest config. Alias/catalog validation and
|
|
63
|
+
atomic catalog persistence are fail-closed. Acceptance paths are portable and
|
|
64
|
+
realpath-contained; a Windows junction escape is rejected by real browser
|
|
65
|
+
coverage. `current` replacement changes catalog metadata only and preserves
|
|
66
|
+
canonical history. Check JSON uses project-relative paths, bounded collections,
|
|
67
|
+
and no image bytes. Imported references are not approved authority; bindings
|
|
68
|
+
remain explicit; contract FAIL cannot be overridden by reference PASS.
|
|
69
|
+
|
|
70
|
+
Viewer security regressions cover loopback binding, read-only methods,
|
|
71
|
+
traversal/media containment, symlink/junction containment, and no stale PWA
|
|
72
|
+
evidence. Production source has no eval/new-Function/vm execution. The only
|
|
73
|
+
process spawns are controlled viewer opening and development/CI smoke tooling;
|
|
74
|
+
Windows packed npm invocation uses Node's npm CLI with `shell: false`.
|
|
75
|
+
|
|
76
|
+
## 8. Local packed candidate and workflow audit
|
|
77
|
+
|
|
78
|
+
LOCAL_CANDIDATE_TARBALL: `my-frontend-observer-0.8.0.tgz`
|
|
79
|
+
|
|
80
|
+
LOCAL_CANDIDATE_SHA256: `5e9ded9170c59de0f7c0205144fb1d6bb375ce6c6a5b70adef57f5223db43e3a`
|
|
81
|
+
|
|
82
|
+
Local installed-package observation smoke: PASS (final candidate).
|
|
83
|
+
|
|
84
|
+
Local installed-package project/viewer smoke: PASS (final candidate).
|
|
85
|
+
|
|
86
|
+
The GitHub workflow builds and hashes one candidate in its Linux candidate job,
|
|
87
|
+
uploads that tarball, downloads it on Windows/Linux/macOS, verifies the
|
|
88
|
+
candidate SHA on every matrix runner, and runs both installed-package smokes.
|
|
89
|
+
|
|
90
|
+
## 9. Historical failed exact-candidate evidence
|
|
91
|
+
|
|
92
|
+
The latest candidate run was `35015180719` for commit
|
|
93
|
+
`b32fe9759187c024cc5828b73cf0c6a682de95b0`. Its candidate job completed all
|
|
94
|
+
validation, packaging, and artifact-hash steps successfully; the exact
|
|
95
|
+
downloaded candidate passed both installed-package smokes on Windows and
|
|
96
|
+
Ubuntu. macOS failed only the project/viewer smoke because that test compares
|
|
97
|
+
the logical temporary path returned by Node (`/var/...`) to the physical path
|
|
98
|
+
reported by the viewer (`/private/var/...`) in `/api/status`.
|
|
99
|
+
|
|
100
|
+
This is a smoke-harness realpath presentation mismatch, not an evidence,
|
|
101
|
+
containment, or product-workflow failure. It is nevertheless a formal matrix
|
|
102
|
+
failure and therefore cannot be represented as cross-platform PASS.
|
|
103
|
+
|
|
104
|
+
Previous run `35012678176` identified the original raw CLI artifact-path
|
|
105
|
+
assumption. Run `35013965786` validated the first correction through candidate
|
|
106
|
+
and Windows/Ubuntu, then identified the macOS logical/physical temporary-root
|
|
107
|
+
mismatch.
|
|
108
|
+
|
|
109
|
+
## 10. Authorized macOS realpath correction
|
|
110
|
+
|
|
111
|
+
Classification: **TEST/READINESS PORTABILITY DEFECT**.
|
|
112
|
+
|
|
113
|
+
Product behavior affected: **NO**.
|
|
114
|
+
|
|
115
|
+
The viewer is permitted to report the physical evidence root. The defect was
|
|
116
|
+
only the readiness smoke's raw string comparison of the caller-visible
|
|
117
|
+
`/var/...` spelling with the physical `/private/var/...` spelling. The smoke
|
|
118
|
+
now compares canonical physical identity with `fs.realpath()` and reports both
|
|
119
|
+
the original spellings and canonical paths if a genuine mismatch occurs. On
|
|
120
|
+
Windows, a smoke-local junction regression self-check proves that an alias and
|
|
121
|
+
its target compare equal while a distinct directory compares unequal.
|
|
122
|
+
|
|
123
|
+
Security semantics weakened: **NO**. This helper is limited to an
|
|
124
|
+
already-authorized smoke assertion; project acceptance-path containment remains
|
|
125
|
+
owned by production realpath validation and is unchanged.
|
|
126
|
+
|
|
127
|
+
MACOS_REALPATH_TARGETED_CORRECTION: PASS
|
|
128
|
+
|
|
129
|
+
## 11. Exact-candidate and cross-platform results
|
|
130
|
+
|
|
131
|
+
OLD_FAILED_RUN: `35015180719`
|
|
132
|
+
|
|
133
|
+
OLD_FAILED_COMMIT: `b32fe9759187c024cc5828b73cf0c6a682de95b0`
|
|
134
|
+
|
|
135
|
+
ROOT_CAUSE: logical-vs-physical temporary path comparison on macOS
|
|
136
|
+
|
|
137
|
+
The next run must build a new candidate once and validate that exact SHA on
|
|
138
|
+
Windows, Linux, and macOS. This historical failed candidate is never rewritten
|
|
139
|
+
as passing evidence.
|
|
140
|
+
|
|
141
|
+
## 12. Corrected formal exact-candidate result
|
|
142
|
+
|
|
143
|
+
CORRECTION_COMMIT: `d5986b5297a2b466b3373a6c896a447cdabe2bdb`
|
|
144
|
+
|
|
145
|
+
NEW_GITHUB_ACTIONS_RUN_ID: `35018400346`
|
|
146
|
+
|
|
147
|
+
FINAL_VALIDATED_COMMIT: `d5986b5297a2b466b3373a6c896a447cdabe2bdb`
|
|
148
|
+
|
|
149
|
+
FORMAL_CANDIDATE_TARBALL: `my-frontend-observer-0.8.0.tgz`
|
|
150
|
+
|
|
151
|
+
FORMAL_CANDIDATE_SHA256:
|
|
152
|
+
`1ae46575595451e56f7c851273387ee4808e546940077e08a40cebcc1c4f8d30`
|
|
153
|
+
|
|
154
|
+
WINDOWS: PASS
|
|
155
|
+
|
|
156
|
+
LINUX: PASS
|
|
157
|
+
|
|
158
|
+
MACOS: PASS
|
|
159
|
+
|
|
160
|
+
CANDIDATE_SHA_PARITY: PASS
|
|
161
|
+
|
|
162
|
+
The candidate job and all three exact-candidate jobs passed. The macOS packed
|
|
163
|
+
project/viewer smoke passed the corrected filesystem-identity assertion.
|
|
164
|
+
|
|
165
|
+
## 13. Release-state truth and next decision
|
|
166
|
+
|
|
167
|
+
The source is not released as v0.8.1. Package version is `0.8.0`; npm
|
|
168
|
+
publication, tag, GitHub Release, and master push are all absent. The final
|
|
169
|
+
verdict is `PASS_V081_PRERELEASE_READINESS`; the next authorized stage is
|
|
170
|
+
release preparation, not publication.
|