@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.
Files changed (75) hide show
  1. package/CHANGELOG.md +490 -479
  2. package/LICENSE +21 -21
  3. package/README.md +375 -365
  4. package/dist/application/projectCheckService.d.ts +6 -0
  5. package/dist/application/projectCheckService.js +8 -1
  6. package/dist/application/projectCheckService.js.map +1 -1
  7. package/dist/application/projectWorkflowService.d.ts +7 -2
  8. package/dist/application/projectWorkflowService.js +10 -3
  9. package/dist/application/projectWorkflowService.js.map +1 -1
  10. package/dist/cli.js +510 -510
  11. package/dist/viewer/index.html +13 -13
  12. package/dist/viewer/sw.js +1 -1
  13. package/docs/ARCHITECTURE.md +1394 -1385
  14. package/docs/CI_CD.md +349 -338
  15. package/docs/COMMANDS.md +1035 -1026
  16. package/docs/CONTRACTS.md +1971 -1960
  17. package/docs/CURRENT_STATE.md +1277 -1252
  18. package/docs/DEVELOPMENT.md +240 -237
  19. package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +50 -50
  20. package/docs/PROJECT_DESCRIPTION.md +2248 -2224
  21. package/docs/PROJECT_MILESTONES.md +2681 -2558
  22. package/docs/PROJECT_OVERVIEW.md +200 -196
  23. package/docs/QUICKSTART.md +100 -100
  24. package/docs/RELEASE.md +37 -36
  25. package/docs/ROADMAP.md +1105 -1034
  26. package/docs/SECURITY.md +297 -297
  27. package/docs/WORKFLOWS.md +806 -796
  28. package/docs/plans/v0.10-implementation-plan.md +1509 -1509
  29. package/docs/plans/v0.8-implementation-plan.md +655 -655
  30. package/docs/plans/v0.8.1-cli-usability-patch-plan.md +505 -505
  31. package/docs/plans/v0.9-implementation-plan.md +1529 -1529
  32. package/docs/plans/v0.9.1-implementation-plan.md +468 -468
  33. package/docs/reports/v0.10-batch1-visual-change-workflow-foundation.md +102 -102
  34. package/docs/reports/v0.10-batch2-project-composition-check-recording.md +103 -103
  35. package/docs/reports/v0.10-batch3-viewer-visual-change-workspace.md +93 -93
  36. package/docs/reports/v0.10-batch4-actual-frontend-entry.md +59 -59
  37. package/docs/reports/v0.10-batch5-reference-driven-entry.md +238 -238
  38. package/docs/reports/v0.10-batch6-coding-agent-handoff.md +85 -85
  39. package/docs/reports/v0.10-batch7-correction-review-acceptance.md +145 -145
  40. package/docs/reports/v0.10-batch8-integrated-acceptance.md +109 -109
  41. package/docs/reports/v0.10-implementation-completeness-documentation-reconciliation.md +344 -344
  42. package/docs/reports/v0.10-pre-release-readiness.md +120 -120
  43. package/docs/reports/v0.10-release-preparation.md +70 -70
  44. package/docs/reports/v0.10.1-project-check-baseline-context-implementation.md +86 -0
  45. package/docs/reports/v0.7-bounded-fidelity-context-prompt7.md +243 -243
  46. package/docs/reports/v0.7-implementation-completeness-documentation-reconciliation.md +497 -497
  47. package/docs/reports/v0.7-pre-release-readiness.md +337 -337
  48. package/docs/reports/v0.7-reference-binding-prompt5.md +223 -223
  49. package/docs/reports/v0.7-reference-compatibility-prompt4.md +234 -234
  50. package/docs/reports/v0.7-reference-correction-workflow-prompt8.md +222 -222
  51. package/docs/reports/v0.7-reference-fidelity-prompt6.md +216 -216
  52. package/docs/reports/v0.7-reference-foundation-prompt1.md +151 -151
  53. package/docs/reports/v0.7-reference-regions-prompt2.md +195 -195
  54. package/docs/reports/v0.7-reference-requirements-prompt3.md +217 -217
  55. package/docs/reports/v0.7-release-prep.md +423 -423
  56. package/docs/reports/v0.8-binding-fidelity-interaction-batch6.md +279 -279
  57. package/docs/reports/v0.8-bounded-context-correlation-batch7.md +233 -233
  58. package/docs/reports/v0.8-comparison-contract-inspection-batch4.md +279 -279
  59. package/docs/reports/v0.8-evidence-index-readers-batch2.md +247 -247
  60. package/docs/reports/v0.8-implementation-completeness-documentation-reconciliation.md +741 -741
  61. package/docs/reports/v0.8-integrated-viewer-acceptance-batch8.md +128 -128
  62. package/docs/reports/v0.8-observation-svg-inspection-batch3.md +223 -223
  63. package/docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md +687 -687
  64. package/docs/reports/v0.8-reference-candidate-inspection-batch5.md +232 -232
  65. package/docs/reports/v0.8-viewer-runtime-pwa-batch1.md +278 -278
  66. package/docs/reports/v0.8.1-implementation-completeness-documentation-reconciliation.md +114 -114
  67. package/docs/reports/v0.8.1-prerelease-readiness-cross-platform-security-code-rot.md +170 -170
  68. package/docs/reports/v0.9-architecture-retrieval.md +14 -37
  69. package/docs/reports/v0.9-final-pre-release-readiness.md +209 -209
  70. package/docs/reports/v0.9-final-readiness-corrections.md +530 -530
  71. package/docs/reports/v0.9-pre-release-readiness.md +169 -169
  72. package/docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md +359 -359
  73. package/docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md +262 -262
  74. package/docs/reports/v0.9.1-pre-release-readiness.md +206 -206
  75. 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.