@aeptus/aexeo-emdash 0.8.3 → 0.8.6
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 +156 -1
- package/dist/configured.js +1 -1
- package/dist/index.js +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/wasm/aexeo_emdash_bridge_bg.wasm +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,158 @@ and the project follows [Semantic Versioning](https://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.8.6] - 2026-05-04
|
|
10
|
+
|
|
11
|
+
Code-review follow-ups on the 0.8.5 agent-readiness rule bundles.
|
|
12
|
+
All five issues are real correctness fixes; no behavior change
|
|
13
|
+
for sites that already had clean output.
|
|
14
|
+
|
|
15
|
+
### Fixed (engine via bridge)
|
|
16
|
+
|
|
17
|
+
- **Public API exposure.** `SiteCapabilities`, `infer_site_capabilities`,
|
|
18
|
+
`well_known_path_exists`, `run_well_known_rules`, and
|
|
19
|
+
`run_header_rules` are now re-exported at the `aexeo-core` root
|
|
20
|
+
to match the existing pattern (`run_robots_rules`,
|
|
21
|
+
`run_surface_rules`, etc.). Previously consumers had to use the
|
|
22
|
+
long `aexeo_core::well_known_rules::run_well_known_rules` form.
|
|
23
|
+
- **LNK020 group/check-key mismatch.** The rule was registered under
|
|
24
|
+
the `links` group but gated on the `headers` config key in
|
|
25
|
+
`static_check.rs`; toggling `links: false` would not silence it
|
|
26
|
+
and toggling `headers: false` would silence an unrelated group.
|
|
27
|
+
Fixed by moving LNK020 to a new `headers` rule group so the
|
|
28
|
+
registry name matches the toggle key.
|
|
29
|
+
- **`route_looks_api` over-match.** Bare `v1/`, `v2/`, and
|
|
30
|
+
`graphql` prefixes incorrectly classified docs routes
|
|
31
|
+
(`/v1/getting-started`, `/v2/migration-guide`, `/graphql-101`)
|
|
32
|
+
as API surfaces, triggering SRF020 false-positives on
|
|
33
|
+
content-only docs sites. Tightened to require `api/` or
|
|
34
|
+
`graphql/` (with the slash) — the conditional-firing design's
|
|
35
|
+
whole point is to keep these silent on content sites.
|
|
36
|
+
- **`render_robots_txt` round-trip.** Aexeo's own generator emitted
|
|
37
|
+
a robots.txt that tripped ROB010 + ROB011 (no AI-bot block, no
|
|
38
|
+
Content-Signal). Generator now emits explicit AI-bot blocks
|
|
39
|
+
(GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot) and
|
|
40
|
+
a permissive Content-Signal default so Aexeo's own output
|
|
41
|
+
passes Aexeo's own rules.
|
|
42
|
+
- **SRF010/SRF015 unreachable from path-only signals.** The
|
|
43
|
+
capability gate required the canonical card/index file to
|
|
44
|
+
exist, but the rule fires when that exact file is missing —
|
|
45
|
+
structurally unreachable. Inference now also fires when the
|
|
46
|
+
`.well-known/mcp/` or `.well-known/agent-skills/` directory
|
|
47
|
+
exists without a canonical file inside (the partial-stub
|
|
48
|
+
pattern editors hit when starting an implementation).
|
|
49
|
+
|
|
50
|
+
### Notes for hosts upgrading from 0.8.5
|
|
51
|
+
|
|
52
|
+
- No code changes required.
|
|
53
|
+
- `aexeo-cli generate robots-txt` (and the deploy generator) now
|
|
54
|
+
produces a robots.txt with explicit AI-bot blocks and a
|
|
55
|
+
Content-Signal directive. Editors who want a non-permissive
|
|
56
|
+
stance edit the line; the defaults match the wildcard `Allow: /`
|
|
57
|
+
posture so existing crawl behavior is unchanged.
|
|
58
|
+
- Sites that have a `.well-known/mcp/` or
|
|
59
|
+
`.well-known/agent-skills/` directory stub without canonical
|
|
60
|
+
files inside will now see SRF010 / SRF015 fire (correctly —
|
|
61
|
+
the directory-stub state is exactly what the rule was meant
|
|
62
|
+
to catch).
|
|
63
|
+
|
|
64
|
+
## [0.8.5] - 2026-05-04
|
|
65
|
+
|
|
66
|
+
Brings in the agent-readiness audit rules from upstream
|
|
67
|
+
aexeo-core 0.0.11 — three bundles extracted from the Cloudflare
|
|
68
|
+
"Is Your Site Agent-Ready?" scan model.
|
|
69
|
+
|
|
70
|
+
### Added (engine via bridge)
|
|
71
|
+
|
|
72
|
+
- **Bundle A — robots.txt extensions** (always-on, retrievability):
|
|
73
|
+
- `ROB010` — robots.txt has no AI-bot User-agent directives
|
|
74
|
+
(GPTBot, ClaudeBot, ChatGPT-User, PerplexityBot, …)
|
|
75
|
+
- `ROB011` — robots.txt has no Content-Signal directives
|
|
76
|
+
(`ai-train`, `search`, `ai-input`)
|
|
77
|
+
|
|
78
|
+
- **Bundle B — `.well-known/*` discovery surfaces** (conditional,
|
|
79
|
+
absorbability). All gated on a new `SiteCapabilities` inference
|
|
80
|
+
that reads route patterns, JSON-LD schema, llms.txt content,
|
|
81
|
+
and partial-file presence to decide whether the site claims
|
|
82
|
+
the underlying capability — so these rules don't fire on
|
|
83
|
+
content-only sites that have no business exposing the surface:
|
|
84
|
+
- `SRF010 / SRF011` — agent-skills index (Cloudflare RFC v0.2.0)
|
|
85
|
+
- `SRF015 / SRF016` — MCP server card (SEP-1649)
|
|
86
|
+
- `SRF020 / SRF021` — API catalog (RFC 9727 linkset+json)
|
|
87
|
+
- `SRF025` — OAuth/OIDC discovery (RFC 8414, OIDC Discovery 1.0)
|
|
88
|
+
- `SRF026` — OAuth protected-resource metadata (RFC 9728)
|
|
89
|
+
|
|
90
|
+
- **Bundle C — runtime header audits** (runtime-only, mixed):
|
|
91
|
+
- `LNK020` — homepage response sends no Link headers (RFC 8288).
|
|
92
|
+
Silent on pure static audits — fires only when `Page.response_headers`
|
|
93
|
+
is populated.
|
|
94
|
+
- `SRF030` — homepage doesn't honor `Accept: text/markdown`
|
|
95
|
+
content negotiation (Cloudflare Markdown for Agents). Adds
|
|
96
|
+
one extra HTTP probe at the end of the runtime audit.
|
|
97
|
+
|
|
98
|
+
### Notes for hosts upgrading from 0.8.4
|
|
99
|
+
|
|
100
|
+
- No code changes required.
|
|
101
|
+
- Static audits will gain ROB010/011 immediately on every site;
|
|
102
|
+
the SRF010+ rules are silent unless the site has the
|
|
103
|
+
capability signal (so most content sites see no new findings).
|
|
104
|
+
- LNK020 + SRF030 only fire during runtime audits — static
|
|
105
|
+
audits don't reach that code path.
|
|
106
|
+
- The new `SiteCapabilities` API is exported from aexeo-core
|
|
107
|
+
for hosts that want to reuse the inference in their own
|
|
108
|
+
tooling.
|
|
109
|
+
|
|
110
|
+
## [0.8.4] - 2026-05-04
|
|
111
|
+
|
|
112
|
+
Three follow-up quality fixes from Aeptus's post-0.8.3 rollout
|
|
113
|
+
report. The 0.8.3 manifest-quality and GEO009 fixes landed
|
|
114
|
+
correctly; this release closes the remaining edges that surfaced
|
|
115
|
+
once those were out the door.
|
|
116
|
+
|
|
117
|
+
### Fixed (engine via bridge)
|
|
118
|
+
|
|
119
|
+
- **Multilingual 404 detection.** v0.0.9's blocklist was
|
|
120
|
+
English-only, so French, Spanish, Italian, German, Dutch, and
|
|
121
|
+
Portuguese 404 titles still leaked through as candidate
|
|
122
|
+
organization/product names. Aeptus reported a French
|
|
123
|
+
"Page introuvable" landing as `products[0].name`. The detector
|
|
124
|
+
now matches on cross-language morphological cues
|
|
125
|
+
(`introuvable`, `non trouv`, `no encontrad`, `não encontrad`,
|
|
126
|
+
`non trovat`, `nicht gefunden`, `niet gevonden`) plus the
|
|
127
|
+
literal numeric `404` anchor.
|
|
128
|
+
|
|
129
|
+
### Fixed (presence diagnostic via bridge)
|
|
130
|
+
|
|
131
|
+
- **RDAP normalizes to the apex domain.** The diagnostic was
|
|
132
|
+
asking rdap.org about `www.aeptus.com` (whatever subdomain the
|
|
133
|
+
manifest's website happened to record), which returns
|
|
134
|
+
not_found because the registrable domain is the apex
|
|
135
|
+
(`aeptus.com`). The RDAP fetcher now strips a leading `www.`
|
|
136
|
+
before the lookup; the result text shows the original host
|
|
137
|
+
alongside the apex so editors can see what was actually
|
|
138
|
+
checked. Deeper subdomains (`blog.foo.bar`) still need
|
|
139
|
+
manual manifest correction — full public-suffix-list-aware
|
|
140
|
+
resolution is a future hardening.
|
|
141
|
+
- **Wikidata disambiguation.** wbsearchentities returns
|
|
142
|
+
label-matched candidates without distinguishing
|
|
143
|
+
Aeptus-the-company from Aeptus-the-genus-of-insects. The
|
|
144
|
+
fetcher now requests up to 10 candidates and prefers ones
|
|
145
|
+
whose description doesn't begin with natural-world or
|
|
146
|
+
geographic disambiguators (`genus of`, `species of`, `village
|
|
147
|
+
in`, `asteroid`, …). When every match is a generic-concept
|
|
148
|
+
description, the result still lands but `extra` flags
|
|
149
|
+
"likely disambiguation needed" so the editor sees the
|
|
150
|
+
problem instead of trusting the wrong record.
|
|
151
|
+
|
|
152
|
+
### Notes for hosts upgrading from 0.8.3
|
|
153
|
+
|
|
154
|
+
- No code changes required; pure engine-side improvements.
|
|
155
|
+
- Worth re-running `intelligence facts generate` if your site
|
|
156
|
+
has any non-English 404 page that was leaking through.
|
|
157
|
+
- Worth re-running `intelligence presence` if you saw
|
|
158
|
+
Wikidata false-positives or RDAP not-found on a www-prefixed
|
|
159
|
+
domain.
|
|
160
|
+
|
|
9
161
|
## [0.8.3] - 2026-05-04
|
|
10
162
|
|
|
11
163
|
Picks up the upstream aexeo-core 0.0.9 improvements that address
|
|
@@ -608,7 +760,10 @@ First public release.
|
|
|
608
760
|
`astro.config.mjs` for the WASM import to resolve to a
|
|
609
761
|
precompiled `WebAssembly.Module`. Not optional.
|
|
610
762
|
|
|
611
|
-
[Unreleased]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.
|
|
763
|
+
[Unreleased]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.6...HEAD
|
|
764
|
+
[0.8.6]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.5...aexeo-emdash-v0.8.6
|
|
765
|
+
[0.8.5]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.4...aexeo-emdash-v0.8.5
|
|
766
|
+
[0.8.4]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.3...aexeo-emdash-v0.8.4
|
|
612
767
|
[0.8.3]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.2...aexeo-emdash-v0.8.3
|
|
613
768
|
[0.8.2]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.1...aexeo-emdash-v0.8.2
|
|
614
769
|
[0.8.1]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.0...aexeo-emdash-v0.8.1
|
package/dist/configured.js
CHANGED
package/dist/index.js
CHANGED
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "0.8.
|
|
1
|
+
export declare const PACKAGE_VERSION = "0.8.6";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
Binary file
|