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.
- package/CHANGELOG.md +22 -0
- package/README.md +69 -0
- package/dist/application/browserCaptureService.d.ts +11 -0
- package/dist/application/browserCaptureService.js +12 -0
- package/dist/application/browserCaptureService.js.map +1 -0
- package/dist/application/observationPersistence.d.ts +59 -0
- package/dist/application/observationPersistence.js +78 -0
- package/dist/application/observationPersistence.js.map +1 -0
- package/dist/artifacts/artifactWriter.d.ts +25 -0
- package/dist/artifacts/artifactWriter.js +68 -0
- package/dist/artifacts/artifactWriter.js.map +1 -0
- package/dist/artifacts/types.d.ts +17 -0
- package/dist/artifacts/types.js +2 -0
- package/dist/artifacts/types.js.map +1 -0
- package/dist/browser/chromiumAdapter.d.ts +21 -0
- package/dist/browser/chromiumAdapter.js +150 -0
- package/dist/browser/chromiumAdapter.js.map +1 -0
- package/dist/browser/evidenceCapture.d.ts +19 -0
- package/dist/browser/evidenceCapture.js +201 -0
- package/dist/browser/evidenceCapture.js.map +1 -0
- package/dist/browser/types.d.ts +22 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.js +216 -0
- package/dist/cli.js.map +1 -0
- package/dist/domain/completion.d.ts +30 -0
- package/dist/domain/completion.js +22 -0
- package/dist/domain/completion.js.map +1 -0
- package/dist/domain/diagnostics.d.ts +17 -0
- package/dist/domain/diagnostics.js +55 -0
- package/dist/domain/diagnostics.js.map +1 -0
- package/dist/domain/evidence.d.ts +27 -0
- package/dist/domain/evidence.js +55 -0
- package/dist/domain/evidence.js.map +1 -0
- package/dist/domain/identity.d.ts +13 -0
- package/dist/domain/identity.js +37 -0
- package/dist/domain/identity.js.map +1 -0
- package/dist/domain/schema.d.ts +111 -0
- package/dist/domain/schema.js +126 -0
- package/dist/domain/schema.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/request/paths.d.ts +14 -0
- package/dist/request/paths.js +33 -0
- package/dist/request/paths.js.map +1 -0
- package/dist/request/request.d.ts +43 -0
- package/dist/request/request.js +174 -0
- package/dist/request/request.js.map +1 -0
- package/dist/safety/policy.d.ts +14 -0
- package/dist/safety/policy.js +81 -0
- package/dist/safety/policy.js.map +1 -0
- package/docs/ARCHITECTURE.md +85 -0
- package/docs/CI_CD.md +28 -0
- package/docs/COMMANDS.md +82 -0
- package/docs/CONTRACTS.md +54 -0
- package/docs/CURRENT_STATE.md +113 -0
- package/docs/DEVELOPMENT.md +65 -0
- package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +33 -0
- package/docs/PROJECT_DESCRIPTION.md +1770 -0
- package/docs/PROJECT_MILESTONES.md +2073 -0
- package/docs/PROJECT_OVERVIEW.md +53 -0
- package/docs/QUICKSTART.md +35 -0
- package/docs/RELEASE.md +9 -0
- package/docs/ROADMAP.md +352 -0
- package/docs/SECURITY.md +33 -0
- package/docs/WORKFLOWS.md +51 -0
- 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.
|