my-frontend-observer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +69 -0
  3. package/dist/application/browserCaptureService.d.ts +11 -0
  4. package/dist/application/browserCaptureService.js +12 -0
  5. package/dist/application/browserCaptureService.js.map +1 -0
  6. package/dist/application/observationPersistence.d.ts +59 -0
  7. package/dist/application/observationPersistence.js +78 -0
  8. package/dist/application/observationPersistence.js.map +1 -0
  9. package/dist/artifacts/artifactWriter.d.ts +25 -0
  10. package/dist/artifacts/artifactWriter.js +68 -0
  11. package/dist/artifacts/artifactWriter.js.map +1 -0
  12. package/dist/artifacts/types.d.ts +17 -0
  13. package/dist/artifacts/types.js +2 -0
  14. package/dist/artifacts/types.js.map +1 -0
  15. package/dist/browser/chromiumAdapter.d.ts +21 -0
  16. package/dist/browser/chromiumAdapter.js +150 -0
  17. package/dist/browser/chromiumAdapter.js.map +1 -0
  18. package/dist/browser/evidenceCapture.d.ts +19 -0
  19. package/dist/browser/evidenceCapture.js +201 -0
  20. package/dist/browser/evidenceCapture.js.map +1 -0
  21. package/dist/browser/types.d.ts +22 -0
  22. package/dist/browser/types.js +2 -0
  23. package/dist/browser/types.js.map +1 -0
  24. package/dist/cli.d.ts +7 -0
  25. package/dist/cli.js +216 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/domain/completion.d.ts +30 -0
  28. package/dist/domain/completion.js +22 -0
  29. package/dist/domain/completion.js.map +1 -0
  30. package/dist/domain/diagnostics.d.ts +17 -0
  31. package/dist/domain/diagnostics.js +55 -0
  32. package/dist/domain/diagnostics.js.map +1 -0
  33. package/dist/domain/evidence.d.ts +27 -0
  34. package/dist/domain/evidence.js +55 -0
  35. package/dist/domain/evidence.js.map +1 -0
  36. package/dist/domain/identity.d.ts +13 -0
  37. package/dist/domain/identity.js +37 -0
  38. package/dist/domain/identity.js.map +1 -0
  39. package/dist/domain/schema.d.ts +111 -0
  40. package/dist/domain/schema.js +126 -0
  41. package/dist/domain/schema.js.map +1 -0
  42. package/dist/index.d.ts +21 -0
  43. package/dist/index.js +12 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/request/paths.d.ts +14 -0
  46. package/dist/request/paths.js +33 -0
  47. package/dist/request/paths.js.map +1 -0
  48. package/dist/request/request.d.ts +43 -0
  49. package/dist/request/request.js +174 -0
  50. package/dist/request/request.js.map +1 -0
  51. package/dist/safety/policy.d.ts +14 -0
  52. package/dist/safety/policy.js +81 -0
  53. package/dist/safety/policy.js.map +1 -0
  54. package/docs/ARCHITECTURE.md +85 -0
  55. package/docs/CI_CD.md +28 -0
  56. package/docs/COMMANDS.md +82 -0
  57. package/docs/CONTRACTS.md +54 -0
  58. package/docs/CURRENT_STATE.md +113 -0
  59. package/docs/DEVELOPMENT.md +65 -0
  60. package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +33 -0
  61. package/docs/PROJECT_DESCRIPTION.md +1770 -0
  62. package/docs/PROJECT_MILESTONES.md +2073 -0
  63. package/docs/PROJECT_OVERVIEW.md +53 -0
  64. package/docs/QUICKSTART.md +35 -0
  65. package/docs/RELEASE.md +9 -0
  66. package/docs/ROADMAP.md +352 -0
  67. package/docs/SECURITY.md +33 -0
  68. package/docs/WORKFLOWS.md +51 -0
  69. package/package.json +46 -0
@@ -0,0 +1,65 @@
1
+ # Development
2
+
3
+ Install the current scaffold with `npm install`. Node.js 24+ is required.
4
+
5
+ Since Batch 2, the package depends on `playwright` for the Chromium browser
6
+ boundary. Install the browser binary once per machine with:
7
+
8
+ ```powershell
9
+ npx playwright install chromium
10
+ ```
11
+
12
+ The applicable foundation validation chain is:
13
+
14
+ ```powershell
15
+ npm run typecheck
16
+ npm run lint
17
+ npm test
18
+ npm run test:browser
19
+ npm run build
20
+ npm run check:docs
21
+ npm pack --dry-run
22
+ ```
23
+
24
+ `npm test` runs the fast unit suite only (`tests/unit/`, currently 70
25
+ passing tests). `npm run test:browser` runs the real-Chromium integration
26
+ suite (`tests/browser/`, currently 16 passing tests) against deterministic
27
+ local fixtures under `tests/fixtures/` and requires the Chromium binary
28
+ above to be installed first; it is kept out of `npm test` because it
29
+ launches a real browser and is slower.
30
+
31
+ ROADMAP v0.1 and Project Milestone 1 require browser-level validation once the
32
+ observation capability is planned and implemented. Static checks must not later
33
+ be substituted for that required browser evidence. `npm run test:browser` is
34
+ that required browser evidence and covers the full source-checkout v0.1
35
+ workflow end to end: page/target evidence, atomic artifact persistence, and
36
+ the real `observe` CLI (including a built `node dist/cli.js observe ...`
37
+ smoke run) are all implemented and covered, including a deterministic
38
+ real-navigation-failure case (distinct from a readiness timeout or a
39
+ pre-launch safety rejection).
40
+
41
+ For maintainers validating the package boundary itself (not required for
42
+ routine development): `npm pack --dry-run` inspects the tarball contents;
43
+ installing the real tarball (`npm pack --json`, then `npm install
44
+ <tarball>` in a clean temporary directory) and running the installed bin
45
+ against a disposable local HTTP target is the way to confirm the packaged
46
+ CLI performs a real observation independent of the source checkout. This is
47
+ local package validation only, not a release procedure.
48
+
49
+ `npm run test:security` runs only the safety-relevant subset of the suite
50
+ (`tests/unit/policy.test.ts` plus the real-Chromium enforcement cases in
51
+ `tests/browser/chromiumAdapter.test.ts`) - a discoverable entry point for
52
+ security review tooling, not a replacement for `npm test`/`npm run
53
+ test:browser`.
54
+
55
+ `scripts/ci/runPackedObservationSmoke.mjs <tarball-path>` is the same
56
+ packed-candidate smoke described above, packaged as a reusable script: it
57
+ installs the given tarball into a fresh temporary consumer directory,
58
+ installs Chromium via that consumer's own Playwright dependency, runs the
59
+ installed bin against a disposable local HTTP target it creates itself, and
60
+ validates the resulting artifact - exiting nonzero on any contract failure.
61
+ It is what `.github/workflows/pre-release-readiness.yml` runs identically on
62
+ Windows, Linux, and macOS against one shared candidate tarball (see
63
+ `docs/CI_CD.md`); it can also be run locally the same way the workflow runs
64
+ it. It is readiness/CI infrastructure only, not part of the published
65
+ package and never imported by production code.
@@ -0,0 +1,33 @@
1
+ # Documentation Preservation Policy
2
+
3
+ Current explicit user decisions have highest authority. The complete
4
+ repository-local Project Description then owns durable product intent, and the
5
+ complete repository-local Project Milestones owns capability ordering, major
6
+ requirements, acceptance expectations, and cross-milestone rules. ROADMAP
7
+ derives version-level direction from both. Actual repository evidence is the
8
+ authority for claims about current implementation and release state. Accepted
9
+ greenfield artifacts may prove an approved design decision but do not alone
10
+ prove implementation. Reconnaissance informs decisions but does not replace
11
+ intent.
12
+
13
+ Responsibilities are distinct:
14
+
15
+ - `PROJECT_DESCRIPTION.md` contains complete durable product intent, the three
16
+ primary jobs, long-term product model, principles, and ecosystem boundaries.
17
+ - `PROJECT_MILESTONES.md` contains the complete ordered capability design,
18
+ acceptance expectations, and cross-milestone rules.
19
+ - `ROADMAP.md` owns version-level goals, constraints, dependencies, exclusions,
20
+ ecosystem implications, acceptance, and unresolved planning decisions.
21
+ - `CURRENT_STATE.md` describes only actual implementation, scaffold, validation,
22
+ and release state.
23
+ - `ARCHITECTURE.md` describes implemented architecture and may include clearly
24
+ labeled durable or planned extension constraints.
25
+ - `PROJECT_OVERVIEW.md` is concise navigation and orientation; it does not
26
+ replace the complete authorities.
27
+
28
+ ROADMAP must not override Project Description or Project Milestones on durable
29
+ intent, and it must never contain prewritten implementation batches, command
30
+ transcripts, or execution bookkeeping. Current-state documents do not override
31
+ future product intent merely because implementation is incomplete. Before
32
+ deleting, relocating, or replacing a source document, verify that all unique
33
+ information and useful historical provenance remain.