@kya-os/checkpoint-wasm-runtime 1.2.0 → 1.3.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
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# @kya-os/checkpoint-wasm-runtime
|
|
2
2
|
|
|
3
|
+
## 1.3.0 — 2026-05-18
|
|
4
|
+
|
|
5
|
+
**Engine-Tier3-Ruleset-Wiring-1.** Replaces the
|
|
6
|
+
`phase-1-d-impl-placeholder` ruleset hash with a real Tier 3 UA
|
|
7
|
+
pattern table, wired into the engine's Stage 1b default policy. The
|
|
8
|
+
engine now Blocks known agent UAs even with an empty tenant policy.
|
|
9
|
+
|
|
10
|
+
Conforms to `dylan-todos/Engine-Tier-Ordering-1.md` contract:
|
|
11
|
+
`Tier 1 (signed) > Tier 2 (IP+UA) > Tier 3 (UA only) > Tier 4 (IP only)`.
|
|
12
|
+
This release ships Tier 3.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- `BlockReason::Tier3UAMatch { pattern_id, pattern_kind, confidence }`
|
|
17
|
+
— additive variant, priority 8 (lowest). Fires only on the PlainHttp
|
|
18
|
+
path when Stage 1 classifies the request as a known agent.
|
|
19
|
+
- Stage 1b default policy in `verify_plain_http`: if Stage 1 classifies
|
|
20
|
+
the request as `KnownAiAgent`, `AiCrawler`, or `HeadlessBrowser`,
|
|
21
|
+
the engine short-circuits with `Decision::Block { Tier3UAMatch }`
|
|
22
|
+
BEFORE handing off to tenant policy. Calibrated defaults that don't
|
|
23
|
+
expose customers to the threshold-knob footgun.
|
|
24
|
+
- `SearchBot` is **exempted** from Tier 3 default per architect
|
|
25
|
+
precedent (`tests/cross_runtime_baselines.rs` line 175-178: "search-
|
|
26
|
+
engine indexing is generally permitted by tenant policy"). Googlebot
|
|
27
|
+
/ Bingbot / Applebot / DuckDuckBot still flow through to tenant
|
|
28
|
+
policy.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- `EngineInfo.ruleset_hash` is now `sha256:<t2>:<t3_sha256>` where
|
|
33
|
+
`<t3_sha256>` is the SHA-256 of `patterns_generated.rs` (real
|
|
34
|
+
identity, not placeholder). `<t2>` is `t2-unset` until Engineer A's
|
|
35
|
+
reputation/IP-feed schema commits its own identity hash.
|
|
36
|
+
- Drift gate: unit test `tier3_pattern_sha_matches_file` recomputes
|
|
37
|
+
the SHA at test time and fails with a copy-paste-ready new SHA if
|
|
38
|
+
`patterns_generated.rs` drifts.
|
|
39
|
+
|
|
40
|
+
### Breaking change in default behavior
|
|
41
|
+
|
|
42
|
+
Consumers who deployed the engine with an **empty tenant policy** and
|
|
43
|
+
expected permit-by-default for unsigned traffic now get Block on any
|
|
44
|
+
known agent UA. This is the architectural intent — calibrated defaults
|
|
45
|
+
that don't require every customer to write their own bot-blocking
|
|
46
|
+
policy. Mitigation: deploy a tenant policy that explicitly permits the
|
|
47
|
+
agent classes you want to allow.
|
|
48
|
+
|
|
49
|
+
### Test coverage added
|
|
50
|
+
|
|
51
|
+
- 5 new tests in `stage1_classification.rs` covering each blocking
|
|
52
|
+
class + SearchBot allowlist + real-human permit.
|
|
53
|
+
- Existing baseline tests in `cross_runtime_baselines.rs` updated to
|
|
54
|
+
assert `Tier3UAMatch` instead of the supplanted `PolicyDenied` path.
|
|
55
|
+
- 173/173 TS tests (including cross-runtime parity) still green.
|
|
56
|
+
|
|
57
|
+
### Followups
|
|
58
|
+
|
|
59
|
+
- **Engine-Pattern-Codegen-Retirement-1** (filed): replace
|
|
60
|
+
`patterns_generated.rs` (legacy YAML codegen) with a build-time JSON
|
|
61
|
+
export of `KNOWN_AGENT_PATTERNS` from `@kya-os/checkpoint-shared`,
|
|
62
|
+
with the same drift-prevention pattern as #2599. Current PR uses
|
|
63
|
+
the existing `patterns_generated.rs` data as the Tier 3 source; the
|
|
64
|
+
followup makes the TS-side `KNOWN_AGENT_PATTERNS` the engine's SSOT.
|
|
65
|
+
- **Tier 2 data version coordination** (Engineer A): substitute
|
|
66
|
+
`t2-unset` once the reputation/IP-feed schema commits its identity.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
3
70
|
## 1.2.0 — 2026-05-18
|
|
4
71
|
|
|
5
72
|
Phase-D.8b engine-surface expansion.
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|