@odavl/guardian 1.0.0 → 1.0.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 +102 -121
- package/README.md +115 -141
- package/bin/guardian.js +70 -27
- package/package.json +4 -1
- package/src/guardian/config-validator.js +283 -0
- package/src/guardian/flag-validator.js +1 -1
- package/src/guardian/flow-executor.js +24 -1
- package/src/guardian/market-reporter.js +1 -3
- package/src/guardian/parallel-executor.js +2 -2
- package/src/guardian/reality.js +282 -30
- package/src/guardian/rules-engine.js +558 -0
- package/src/guardian/scan-presets.js +4 -2
- package/src/guardian/site-intelligence.js +588 -0
- package/src/guardian/snapshot.js +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,166 +1,147 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
All notable changes to **ODAVL Guardian** are documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This project follows **semantic versioning**, with a strong emphasis on:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
- **VERSIONING.md** — SemVer policy, backward compatibility guarantees, deprecation timeline
|
|
11
|
-
- **CI/CD Resilience Hardening**:
|
|
12
|
-
- **GitHub Actions**: Playwright v1.48.2 pinning, fail-on policy enforcement (none/friction/risk/any), 5-min timeout guards
|
|
13
|
-
- **GitLab CI**: Retry policy (max=2), fail-on enforcement in after_script, 15-min job timeout
|
|
14
|
-
- **Bitbucket Pipelines**: GUARDIAN_FAIL_ON variable, policy enforcement in after-script, max-time: 15
|
|
15
|
-
- **action.yml**: Complete retry/backoff logic (3 attempts, 2s/5s delays), Playwright cache with version pin, timeout buffer calculation
|
|
16
|
-
- **Retry & Backoff**: Implemented across all platforms (3 attempts, exponential backoff, exit codes 0/1/2 exempt from retry)
|
|
17
|
-
- **Caching Strategy**: Playwright browser cache with version pins, npm cache with hash keys (1-2 min savings)
|
|
18
|
-
- **Timeout Guards**: Explicit timeout enforcement at script and job levels; exit code 124 signals timeout failure
|
|
19
|
-
- **Determinism Enforcement**: Pinned Playwright version (v1.48.2), Node.js 20, validated inputs in all CI platforms
|
|
7
|
+
- reality-based behavior
|
|
8
|
+
- honest outcomes
|
|
9
|
+
- evidence over assumptions
|
|
20
10
|
|
|
21
|
-
|
|
11
|
+
---
|
|
22
12
|
|
|
23
|
-
|
|
24
|
-
- All CI/CD platforms enforce identical resilience standards (retry, cache, timeout, policy)
|
|
25
|
-
- Institutional trust signals: SECURITY.md, SUPPORT.md, MAINTAINERS.md, VERSIONING.md
|
|
26
|
-
- No silent failures: every timeout, crash, or policy violation is explicit
|
|
27
|
-
- Deterministic verdict delivery: same input → same output across attempts (verdicts never retried)
|
|
13
|
+
## [1.0.1] — Patch Release
|
|
28
14
|
|
|
29
|
-
|
|
15
|
+
**Release date:** 2025-12-29
|
|
16
|
+
**Status:** Patch (no breaking changes)
|
|
30
17
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
18
|
+
- Added Site Intelligence Engine (automatic site understanding)
|
|
19
|
+
- Non-applicable flows are now skipped intelligently
|
|
20
|
+
- Verdicts are more accurate and human-aligned
|
|
21
|
+
- No breaking changes
|
|
35
22
|
|
|
36
|
-
##
|
|
23
|
+
## [v1.0.0] — Stable Release - Market Reality Testing Engine
|
|
37
24
|
|
|
38
|
-
|
|
25
|
+
**Release date:** 2025-12-29
|
|
26
|
+
**Status:** Stable (production-ready, community validated)
|
|
39
27
|
|
|
40
|
-
|
|
41
|
-
- **shouldRenderFocusSummary** — Suppress when READY + high + no patterns
|
|
42
|
-
- **shouldRenderDeltaInsight** — Suppress when no improved/regressed lines
|
|
43
|
-
- **shouldRenderPatterns** — Suppress when patterns.length === 0
|
|
44
|
-
- **shouldRenderConfidenceDrivers** — Suppress when high confidence + run 3+
|
|
45
|
-
- **shouldRenderJourneyMessage** — Suppress when runIndex >= 3
|
|
46
|
-
- **shouldRenderNextRunHint** — Suppress when verdict === READY
|
|
47
|
-
- **shouldRenderFirstRunNote** — Suppress when runIndex >= 2
|
|
48
|
-
- **CLI integration** — All sections use centralized suppression helpers (no inline conditions)
|
|
49
|
-
- **HTML integration** — All cards use centralized suppression helpers (no inline conditions)
|
|
50
|
-
- **decision.json integration** — Keys omitted entirely when suppressed (not empty arrays/objects)
|
|
51
|
-
- **28 comprehensive tests** covering all suppression helpers, consistency, edge cases
|
|
52
|
-
- **Demo script** showing "silent case" vs "signal case" scenarios
|
|
28
|
+
### 🎯 Purpose
|
|
53
29
|
|
|
54
|
-
|
|
30
|
+
ODAVL Guardian **v1.0.0** is the stable release of the **Market Reality Testing Engine**.
|
|
31
|
+
The engine has been proven through 50+ real-world test runs, comprehensive test coverage,
|
|
32
|
+
and community feedback. This release is ready for production use.
|
|
55
33
|
|
|
56
|
-
|
|
57
|
-
- Silence is the default state; output is an exception
|
|
58
|
-
- Consistent suppression across CLI, HTML, decision.json
|
|
59
|
-
- Deterministic helpers ensure predictable behavior
|
|
60
|
-
- "Silent case" (READY + high + no patterns) shows minimal output
|
|
61
|
-
- "Signal case" (FRICTION + patterns) provides full context
|
|
62
|
-
- Zero inline conditions in renderers (single source of truth)
|
|
34
|
+
### ✨ Added in Stable Release
|
|
63
35
|
|
|
64
|
-
|
|
36
|
+
- **Repository optimization:** Cleaned 211 MB of test artifacts and build cache
|
|
37
|
+
- **CI/CD stability:** Verified with GitHub Actions, GitLab CI, and Bitbucket Pipelines
|
|
38
|
+
- **VS Code integration:** Full extension support for market reality testing
|
|
39
|
+
- **Complete documentation:** All features documented with examples
|
|
40
|
+
- **Production-ready:** Tested on real websites including GitHub, Wikipedia, etc.
|
|
65
41
|
|
|
66
|
-
|
|
67
|
-
- **Focused:** Show only meaningful signals
|
|
68
|
-
- **Intentional:** Every output has a purpose
|
|
42
|
+
### 🎯 Key Features (Stable)
|
|
69
43
|
|
|
70
|
-
|
|
44
|
+
- Reality-driven browser testing engine
|
|
45
|
+
- Human-centered success evaluation
|
|
46
|
+
- Three-tier verdict system (READY | FRICTION | DO_NOT_LAUNCH)
|
|
47
|
+
- CLI, GitHub Actions, and VS Code extension
|
|
48
|
+
- Comprehensive artifact generation
|
|
49
|
+
- Baseline and regression detection
|
|
71
50
|
|
|
72
|
-
|
|
51
|
+
---
|
|
73
52
|
|
|
74
|
-
|
|
53
|
+
## [v0.3.0] — Beta Release with Working Engine
|
|
75
54
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
💬 Confidence: HIGH
|
|
79
|
-
[ALL OTHER SECTIONS SUPPRESSED — SILENT]
|
|
55
|
+
**Release date:** 2025-12-28
|
|
56
|
+
**Status:** Beta (engine proven, real-world validation in progress)
|
|
80
57
|
|
|
81
|
-
|
|
58
|
+
### 🎯 Purpose
|
|
82
59
|
|
|
83
|
-
|
|
60
|
+
This beta release establishes the **working core** of ODAVL Guardian as a
|
|
61
|
+
**reality-based website guard** with proven engine execution.
|
|
84
62
|
|
|
85
|
-
|
|
63
|
+
The engine successfully runs on real websites (50+ documented runs in artifacts).
|
|
64
|
+
This release is for community testing and feedback before 1.0.0 stability.
|
|
86
65
|
|
|
87
|
-
|
|
66
|
+
Guardian evaluates whether a **real human user can successfully complete a goal** —
|
|
67
|
+
not whether the code technically passes.
|
|
88
68
|
|
|
89
|
-
|
|
69
|
+
---
|
|
90
70
|
|
|
91
|
-
|
|
92
|
-
- Smoke mode (<30s) for CI
|
|
93
|
-
- Fast/fail-fast/timeout profiles
|
|
94
|
-
- CI-ready output and exit codes
|
|
71
|
+
### ✨ Added
|
|
95
72
|
|
|
96
|
-
|
|
73
|
+
- Reality-driven scanning engine executing real user-like flows
|
|
74
|
+
- Human-centered result evaluation (goal reached vs. user failed)
|
|
75
|
+
- Deterministic outcome classification:
|
|
76
|
+
- `READY`
|
|
77
|
+
- `FRICTION`
|
|
78
|
+
- `DO_NOT_LAUNCH`
|
|
79
|
+
- Machine-readable decision artifacts (`decision.json`)
|
|
80
|
+
- Clear failure reasons when user goals are not achieved
|
|
81
|
+
- CLI-based execution with explicit run summaries
|
|
82
|
+
- VS Code extension for quick access
|
|
83
|
+
- GitHub Action for CI/CD integration
|
|
84
|
+
- Comprehensive documentation and examples
|
|
97
85
|
|
|
98
|
-
|
|
86
|
+
---
|
|
99
87
|
|
|
100
|
-
###
|
|
88
|
+
### 🧠 Design Principles Introduced
|
|
101
89
|
|
|
102
|
-
-
|
|
103
|
-
-
|
|
90
|
+
- Reality > Implementation
|
|
91
|
+
- No hallucinated success
|
|
92
|
+
- No optimistic assumptions
|
|
93
|
+
- Evidence-based decisions
|
|
94
|
+
- Human experience as the primary signal
|
|
104
95
|
|
|
105
|
-
|
|
96
|
+
---
|
|
106
97
|
|
|
107
|
-
###
|
|
98
|
+
### 📊 Artifacts & Evidence
|
|
108
99
|
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
- **Text normalization** with diacritic removal (é→e, ü→u) for robust matching
|
|
113
|
-
- **4-rule detection hierarchy** with confidence levels (data-guardian → href → text → aria)
|
|
114
|
-
- **Ranked contact candidates** with detection sources (href, text, aria, nav/footer position)
|
|
115
|
-
- **CLI integration** with language detection output
|
|
116
|
-
- **26 unit tests** covering text normalization, token matching, language detection, edge cases
|
|
117
|
-
- **7 end-to-end browser tests** with real German fixture pages
|
|
118
|
-
- **German fixture pages** (/de, /de/kontakt, /de/uber) for multilingual testing
|
|
100
|
+
- Deterministic run outputs
|
|
101
|
+
- Explicit decision semantics
|
|
102
|
+
- Reproducible scan behavior per scenario
|
|
119
103
|
|
|
120
|
-
|
|
104
|
+
---
|
|
121
105
|
|
|
122
|
-
|
|
123
|
-
- Deterministic semantic detection (no machine learning, no remote calls, fully local)
|
|
124
|
-
- Sub-second detection performance (averaging ~150ms per page)
|
|
125
|
-
- Fully backward compatible with existing functionality
|
|
126
|
-
- Production-grade implementation with 100% test coverage
|
|
106
|
+
### ⚠️ Beta Limitations & Community Testing
|
|
127
107
|
|
|
128
|
-
|
|
108
|
+
This is a **working beta**, not a stable 1.0.0 release. The engine runs successfully on real websites, but:
|
|
129
109
|
|
|
130
|
-
|
|
110
|
+
- Community feedback needed before API stability guarantee
|
|
111
|
+
- Edge cases and deployment variations still being discovered
|
|
112
|
+
- Performance benchmarking in progress
|
|
113
|
+
- Preset scenarios limited (4 presets for MVP scope)
|
|
114
|
+
- Website deployment being finalized
|
|
115
|
+
- Some CLI commands experimental
|
|
131
116
|
|
|
132
|
-
**
|
|
117
|
+
**What we guarantee in beta:**
|
|
118
|
+
- Core verdict engine produces consistent, deterministic results
|
|
119
|
+
- No hallucinated success — failures are reported honestly
|
|
120
|
+
- Evidence artifacts are reproducible
|
|
121
|
+
- Exit codes are stable (0=READY, 1=FRICTION, 2=DO_NOT_LAUNCH)
|
|
133
122
|
|
|
134
|
-
|
|
135
|
-
|
|
123
|
+
**What will change before 1.0.0:**
|
|
124
|
+
- CLI command naming (some experimental commands will be removed or renamed)
|
|
125
|
+
- Preset behavior refinement based on real usage
|
|
126
|
+
- Policy system enhancement
|
|
127
|
+
- Additional documentation and examples
|
|
136
128
|
|
|
137
|
-
|
|
138
|
-
Text: "→ Kontakt"
|
|
139
|
-
Link: <http://example.de/kontakt>
|
|
129
|
+
---
|
|
140
130
|
|
|
141
|
-
|
|
131
|
+
### 🔮 What This Release Does *Not* Promise
|
|
142
132
|
|
|
143
|
-
|
|
133
|
+
- No guarantee of full test coverage
|
|
134
|
+
- No replacement for unit, integration, or security tests
|
|
135
|
+
- No automated CI enforcement by default (available but optional)
|
|
136
|
+
- Not a substitute for dedicated penetration testing
|
|
144
137
|
|
|
145
|
-
|
|
146
|
-
- ✅ **7/7 end-to-end tests passing** (e2e-german-contact.test.js)
|
|
147
|
-
- ✅ All 11 supported languages tested
|
|
138
|
+
---
|
|
148
139
|
|
|
149
|
-
|
|
140
|
+
### 🔗 References
|
|
150
141
|
|
|
151
|
-
|
|
142
|
+
- [GitHub Release](https://github.com/odavlstudio/odavlguardian/releases/tag/v1.0.0)
|
|
152
143
|
|
|
153
|
-
|
|
154
|
-
- Reality testing engine with Playwright browser automation
|
|
155
|
-
- Baseline save/check and regression detection
|
|
156
|
-
- Preset policies (startup, saas, enterprise)
|
|
157
|
-
- HTML and JSON reports with evidence artifacts
|
|
144
|
+
---
|
|
158
145
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
- Website build currently fails on ESLint (react/no-unescaped-entities) in website/app/page.tsx
|
|
162
|
-
- One non-critical test failure in phase2 (flow executor constructor)
|
|
163
|
-
|
|
164
|
-
### Status
|
|
165
|
-
|
|
166
|
-
Public Preview (GitHub-only)
|
|
146
|
+
*ODAVL Guardian v1.0.0 establishes the truth engine.
|
|
147
|
+
If a real user can fail — Guardian will find it.*
|
package/README.md
CHANGED
|
@@ -1,199 +1,173 @@
|
|
|
1
1
|
# 🛡️ ODAVL Guardian
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
4
8
|
|
|
5
|
-
|
|
6
|
-
It tests reality — before your users do.
|
|
9
|
+
## What Guardian Does
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
Guardian tests your website the way users actually use it.
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
It opens a real browser, navigates your flows, and tells you if they work—before your users find the problems.
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+
```bash
|
|
16
|
+
# Test your site in one command
|
|
17
|
+
guardian reality --url https://your-site.com
|
|
13
18
|
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
# Get a verdict
|
|
20
|
+
# Artifact: decision.json (verdict + triggered rules)
|
|
21
|
+
# Artifact: summary.md (human-readable explanation)
|
|
22
|
+
```
|
|
16
23
|
|
|
17
|
-
|
|
24
|
+
That's it.
|
|
18
25
|
|
|
19
|
-
Why
|
|
26
|
+
## Why It Exists
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
Tests pass. Metrics look good. Code is clean.
|
|
22
29
|
|
|
23
|
-
|
|
30
|
+
And users still fail.
|
|
24
31
|
|
|
25
|
-
|
|
32
|
+
Guardian finds these breaks before they become support tickets.
|
|
26
33
|
|
|
27
|
-
|
|
34
|
+
## The Golden Command
|
|
28
35
|
|
|
29
|
-
|
|
36
|
+
```bash
|
|
37
|
+
npm install -g @odavl/guardian
|
|
30
38
|
|
|
31
|
-
|
|
39
|
+
guardian reality --url https://example.com
|
|
40
|
+
```
|
|
32
41
|
|
|
33
|
-
|
|
42
|
+
Guardian produces:
|
|
34
43
|
|
|
35
|
-
|
|
44
|
+
```
|
|
45
|
+
✅ Verdict: READY (exit code 0)
|
|
36
46
|
|
|
37
|
-
|
|
47
|
+
Artifacts:
|
|
48
|
+
- .odavlguardian/<timestamp>/decision.json
|
|
49
|
+
- .odavlguardian/<timestamp>/summary.md
|
|
50
|
+
```
|
|
38
51
|
|
|
39
|
-
|
|
52
|
+
## What You Get
|
|
40
53
|
|
|
41
|
-
|
|
54
|
+
### decision.json (Machine-Readable)
|
|
42
55
|
|
|
43
|
-
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"finalVerdict": "READY",
|
|
59
|
+
"exitCode": 0,
|
|
60
|
+
"triggeredRules": ["all_goals_reached"],
|
|
61
|
+
"reasons": [
|
|
62
|
+
{
|
|
63
|
+
"ruleId": "all_goals_reached",
|
|
64
|
+
"message": "All critical flows executed successfully and goals reached",
|
|
65
|
+
"category": "COMPLIANCE",
|
|
66
|
+
"priority": 50
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"policySignals": {
|
|
70
|
+
"executedCount": 1,
|
|
71
|
+
"failedCount": 0,
|
|
72
|
+
"goalReached": true,
|
|
73
|
+
"domain": "example.com"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
44
77
|
|
|
45
|
-
|
|
78
|
+
### summary.md (Human-Readable)
|
|
46
79
|
|
|
47
|
-
|
|
80
|
+
Human-friendly explanation of the verdict, what was tested, what Guardian couldn't confirm, and why.
|
|
48
81
|
|
|
49
|
-
|
|
82
|
+
## The Three Verdicts
|
|
50
83
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Core Principle
|
|
56
|
-
|
|
57
|
-
Reality > Implementation
|
|
58
|
-
|
|
59
|
-
Guardian does not ask:
|
|
60
|
-
“Is the code correct?”
|
|
61
|
-
|
|
62
|
-
Guardian asks:
|
|
63
|
-
“Did the human succeed?”
|
|
64
|
-
|
|
65
|
-
How It Works (Conceptually)
|
|
66
|
-
|
|
67
|
-
You define a realistic user scenario
|
|
68
|
-
(landing, signup, checkout, dashboard, etc.)
|
|
69
|
-
|
|
70
|
-
Guardian executes the scenario as a human-like agent
|
|
71
|
-
|
|
72
|
-
real navigation
|
|
73
|
-
|
|
74
|
-
real waits
|
|
75
|
-
|
|
76
|
-
real interactions
|
|
77
|
-
|
|
78
|
-
real failure conditions
|
|
79
|
-
|
|
80
|
-
Guardian evaluates the result using reality rules
|
|
81
|
-
|
|
82
|
-
goal reached or not
|
|
83
|
-
|
|
84
|
-
partial success
|
|
85
|
-
|
|
86
|
-
friction
|
|
87
|
-
|
|
88
|
-
silent failure
|
|
89
|
-
|
|
90
|
-
Guardian produces a decision, not just logs.
|
|
91
|
-
|
|
92
|
-
Result Semantics (Honest by Design)
|
|
84
|
+
- **READY** (exit 0) — Goal reached, no failures
|
|
85
|
+
- **FRICTION** (exit 1) — Partial success, warnings, or near-misses
|
|
86
|
+
- **DO_NOT_LAUNCH** (exit 2) — User failed or flow broken
|
|
93
87
|
|
|
94
88
|
Guardian never pretends success.
|
|
95
89
|
|
|
96
|
-
|
|
90
|
+
## What Guardian Does (Conceptually)
|
|
97
91
|
|
|
98
|
-
|
|
92
|
+
1. **You define a scenario** — signup, checkout, landing, etc.
|
|
93
|
+
2. **Guardian executes it** — real navigation, real waits, real interactions
|
|
94
|
+
3. **Guardian evaluates** — did the human succeed?
|
|
95
|
+
4. **Guardian produces a decision** — not logs, a verdict
|
|
99
96
|
|
|
100
|
-
|
|
97
|
+
## When to Use Guardian
|
|
101
98
|
|
|
102
|
-
|
|
99
|
+
- **Before launch** — Does signup actually work?
|
|
100
|
+
- **Before scaling** — Does checkout really finish?
|
|
101
|
+
- **Before campaigns** — Does the landing convert?
|
|
102
|
+
- **Before localization** — Does language switching work?
|
|
103
|
+
- **Before deployment** — Did this change break the flow?
|
|
103
104
|
|
|
104
|
-
|
|
105
|
+
## How It Works
|
|
105
106
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
Guardian is not:
|
|
107
|
+
Guardian uses a **rules engine** to evaluate reality:
|
|
109
108
|
|
|
110
|
-
|
|
109
|
+
1. Scan results → Policy signals (execution counts, outcomes, etc.)
|
|
110
|
+
2. Policy signals → Rules evaluation (deterministic, transparent)
|
|
111
|
+
3. Rules → Final verdict (READY | FRICTION | DO_NOT_LAUNCH)
|
|
111
112
|
|
|
112
|
-
|
|
113
|
+
**All rules are explicit.** No ML. No guessing. Transparency by design.
|
|
113
114
|
|
|
114
|
-
|
|
115
|
+
## What Guardian Is NOT
|
|
115
116
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
a synthetic lighthouse replacement
|
|
119
|
-
|
|
120
|
-
Guardian complements those tools — it does not replace them.
|
|
121
|
-
|
|
122
|
-
Who Is This For?
|
|
123
|
-
|
|
124
|
-
ODAVL Guardian is built for:
|
|
125
|
-
|
|
126
|
-
founders before launch
|
|
127
|
-
|
|
128
|
-
teams before deployment
|
|
129
|
-
|
|
130
|
-
SaaS products before scaling
|
|
131
|
-
|
|
132
|
-
marketing pages before campaigns
|
|
133
|
-
|
|
134
|
-
checkout flows before ads
|
|
135
|
-
|
|
136
|
-
international sites before localization
|
|
137
|
-
|
|
138
|
-
Anyone who cares about what users actually experience.
|
|
139
|
-
|
|
140
|
-
Example Use Cases
|
|
117
|
+
Guardian is not:
|
|
141
118
|
|
|
142
|
-
|
|
119
|
+
- A unit test framework
|
|
120
|
+
- A code quality tool
|
|
121
|
+
- A performance benchmark
|
|
122
|
+
- A security scanner
|
|
123
|
+
- A Lighthouse replacement
|
|
143
124
|
|
|
144
|
-
|
|
125
|
+
Guardian complements those tools.
|
|
145
126
|
|
|
146
|
-
|
|
127
|
+
## Philosophy
|
|
147
128
|
|
|
148
|
-
|
|
129
|
+
ODAVL Guardian follows strict principles:
|
|
149
130
|
|
|
150
|
-
|
|
131
|
+
- **No hallucination** — Only what Guardian observed
|
|
132
|
+
- **No fake success** — Honest verdicts always
|
|
133
|
+
- **No optimistic assumptions** — Conservative by default
|
|
134
|
+
- **No silent failures** — If reality is broken, Guardian says so
|
|
135
|
+
- **Evidence > explanation** — Verdicts are data-driven
|
|
136
|
+
- **Reality > implementation** — What users experience matters most
|
|
151
137
|
|
|
152
|
-
|
|
138
|
+
## Install
|
|
153
139
|
|
|
154
|
-
|
|
140
|
+
```bash
|
|
141
|
+
npm install -g @odavl/guardian
|
|
142
|
+
```
|
|
155
143
|
|
|
156
|
-
|
|
144
|
+
## Quick Start
|
|
157
145
|
|
|
158
|
-
|
|
146
|
+
```bash
|
|
147
|
+
# Test a website
|
|
148
|
+
guardian reality --url https://example.com
|
|
159
149
|
|
|
160
|
-
|
|
150
|
+
# Test with a preset (startup, custom, landing, full)
|
|
151
|
+
guardian reality --url https://example.com --preset startup
|
|
161
152
|
|
|
162
|
-
|
|
153
|
+
# See all options
|
|
154
|
+
guardian --help
|
|
155
|
+
```
|
|
163
156
|
|
|
164
|
-
|
|
157
|
+
## VS Code Integration
|
|
165
158
|
|
|
166
|
-
|
|
159
|
+
Command Palette → "Guardian: Run Reality Check"
|
|
167
160
|
|
|
168
|
-
Status
|
|
161
|
+
## Status
|
|
169
162
|
|
|
170
|
-
|
|
171
|
-
Early but real.
|
|
172
|
-
Opinionated.
|
|
173
|
-
Built with honesty over hype.
|
|
163
|
+
**Early but real.** Opinionated. Built with honesty over hype.
|
|
174
164
|
|
|
175
165
|
This is a foundation — not a marketing shell.
|
|
176
166
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
ODAVL Guardian is part of the ODAVL ecosystem, focused on:
|
|
180
|
-
|
|
181
|
-
truth
|
|
182
|
-
|
|
183
|
-
evidence
|
|
184
|
-
|
|
185
|
-
safety
|
|
186
|
-
|
|
187
|
-
reality-driven decisions
|
|
188
|
-
|
|
189
|
-
More tools may exist — but Guardian protects the human layer.
|
|
190
|
-
|
|
191
|
-
Final Thought
|
|
167
|
+
## License
|
|
192
168
|
|
|
193
|
-
|
|
194
|
-
Metrics can look good.
|
|
195
|
-
Code can be clean.
|
|
169
|
+
MIT
|
|
196
170
|
|
|
197
|
-
|
|
171
|
+
---
|
|
198
172
|
|
|
199
|
-
|
|
173
|
+
Built with the belief that users matter more than code.
|