NoGoals 検証レポート

ルートの不変条件を定理で証明し、--audit の検査に失敗すると出力ディレクトリを更新しない静的サイトジェネレーター

3
コンテンツのスラッグ
6
コンテンツのルート
4
レポートのルート
4
アセット
51
保証・検査項目(全件)

概要レポートと詳細レポートは、ほかのページと同じパス関数を使う予約済みルートに配置されます。内容はゲート実行後の検証結果であるため、サイトのページ集合に関する証明の対象外です。ビルド時には、出力パスがほかのファイルと衝突しないようにし、監査プロファイルでは最終検査でほかのページと同じゲートを実行します。

✓ すべてのチェックに合格
29
型・定理による保証
19
実行時チェック合格
0
失敗
0
未実行

型安全性

静的保証 (NoGoals.DSL.L (record with both ja and en fields))
Bilingual completeness for editorial content [NoGoals.DSL.L]
Every L leaf carries both JA and EN — enforced structurally by the L type; a page cannot ship with one language missing
静的保証 (NoGoals.Verify.IsoDate.lit (elaboration-checked literal))
Dates are valid ISO calendar dates [NoGoals.Verify.IsoDate.lit]
Every article and page date is an `IsoDate`; the `IsoDate.lit` literal is parsed during elaboration, so a malformed date is a compile error
静的保証 (Segment / Slug / AssetPath types + Route.outputPath)
Output paths cannot escape the root [NoGoals.Route.outputPath]
Every page path is derived from a Route whose slug is a list of validated [a-z0-9-] segments, and every asset path from validated [a-z0-9._-] segments that are never `.` or `..`; a name that could escape the output root or collide across case is unrepresentable — a compile error at the literal
静的保証 (Fin nP + rendered_link_resolves)
Route closure: every internal href resolves to an emitted page (IR vocabulary)カーネルレンダラーのみ [NoGoals.rendered_link_resolves]
In the kernel IR, link targets are Fin nP (unrepresentable otherwise); rendered_link_resolves proves the emitted href, resolved as a browser and the host resolve it from any source page, is a file in the build plan. Body links of the shipped site are covered separately by the artifact-level link gate.
静的保証 (AnchorIn subtype + rendered_fragment_declared)
Fragment closure: a link's #anchor is an id the target declares (IR vocabulary)カーネルレンダラーのみ [NoGoals.rendered_fragment_declared]
A link's anchor is a member of the target page's anchor schema (AnchorIn); anchors_sound + body_ids_emitted prove the target's rendered tree carries that id
静的保証 (AssetId type witness)
No missing assets (IR vocabulary)カーネルレンダラーのみ [NoGoals.AssetId]
AssetId carries proof that asset exists with correct kind
静的保証 (AssetId n k A)
No asset type confusion (IR vocabulary)カーネルレンダラーのみ [NoGoals.AssetId]
Cannot use JS file as image - kind is part of type
静的保証 (NonEmptyStr type)
No empty alt text (IR vocabulary)カーネルレンダラーのみ [NoGoals.NonEmptyStr]
Alt attributes require NonEmptyStr
静的保証 (NonEmptyStr type)
No empty link labels (IR vocabulary)カーネルレンダラーのみ [NoGoals.NonEmptyStr]
Link text requires NonEmptyStr
静的保証 (Url.Safe ADT)
Safe external URLs only (IR vocabulary)カーネルレンダラーのみ [NoGoals.Url.Safe]
External URLs must be https/http/data URIs
静的保証 (NoGoals.Bridge.RefineOk (native_decide))
NoGoals.refine accepts this site [NoGoals.Bridge.RefineOk]
NoGoals.refine produces a verified SiteV 6 4 value at compile time

定理

静的保証 (NoGoals.SiteV.roundTrip₁ (via NoGoals.Bridge.siteV))
Slug/(slug,lang) round-trip [NoGoals.Bridge.roundTrip₁]
For all i, indexOf (slug i) (lang i) = some i — on this site's SiteV 6 4
静的保証 (NoGoals.SiteV.i18nComplete (via NoGoals.Bridge.siteV))
i18n completeness [NoGoals.Bridge.i18nComplete]
Every page slug exists in both languages — NoGoals theorem on this site's SiteV
静的保証 (NoGoals.unique_paths (via NoGoals.Bridge.siteV))
No file collisions in build plan [NoGoals.Bridge.plan_unique_paths]
All 10 page and asset files in the NoGoals build plan have unique paths
静的保証 (NoGoals.SiteV.disjointAssets (via NoGoals.Bridge.siteV))
Pages/assets path disjoint [NoGoals.Bridge.disjointAssets]
No route path collides with any of the 4 asset paths
静的保証 (NoGoals.coverage (via NoGoals.Bridge.siteV))
Build covers all pages [NoGoals.Bridge.plan_covers_pages]
Every route in the verified site has a corresponding file in the build plan
静的保証 (NoGoals.Bridge.AssetsUnique)
Asset path injectivity [NoGoals.Bridge.AssetsUnique]
All 4 asset paths are distinct (native_decide on the concrete list)
静的保証 (sitemap_covers + sitemap_entry_count theorems)
Sitemap covers every route [NoGoals.Meta.sitemap_covers]
Every route of an indexed page (page × language) is the loc of an entry that is a member of the generated sitemap, and the sitemap has exactly one entry per such route — no page dropped, none invented
静的保証 (stage_headers_superset_prod theorem)
Stage headers ⊇ prod headers [NoGoals.Meta.stage_headers_superset_prod]
Staging security headers never weaken prod; stage only adds directives
静的保証 (prod_robots_sitemap_consistent theorem)
Robots/sitemap URL consistent [NoGoals.Meta.prod_robots_sitemap_consistent]
Prod robots.txt Sitemap URL matches sitemap base URL — no drift
静的保証 (hreflang_symmetric + alternates_complete theorems)
Canonical, hreflang and sitemap from one route set [NoGoals.Meta.hreflang_symmetric]
The <head> canonical link, the <head> hreflang alternates, the sitemap alternates and the switcher are all Route.href of the same route set through one alternatesFor function: the JA and EN entries of a slug carry the identical alternate set (hreflang_symmetric) and every set names ja, en and x-default (alternates_complete)
静的保証 (switcher_symmetric theorem)
Language switcher symmetric [NoGoals.Meta.switcher_symmetric]
The switcher offers a language iff the twin page's switcher offers the way back — a page you can switch into can always switch out
静的保証 (NoGoals.refine → SiteV proof fields, this build)
Structural invariants proven for this build [NoGoals.refine]
NoGoals.refine constructed a verified SiteV for all 6 (page × language) routes of this site's page SKELETON (slugs, languages, output paths — bodies are the trusted shell's): (slug,lang) round-trip, i18n completeness across both languages, unique output paths
静的保証 (NoGoals.SiteV.uniquePages (via NoGoals.Bridge.siteV))
No duplicate page paths [NoGoals.Bridge.uniquePages]
All 6 route paths in the verified site are distinct

構造

合格
Every page has a body
All 6 (page × language) body slots carry visible content — no blank page can ship
合格
Page trees well-formed (modulo raw slots) [NoGoals.Render.Tree.render_wf_mod]
All 6 page trees are well-formed under the fragment grammar with void/normal tag classes; 0 raw slot(s) on 0 page(s) () are outside the grammar and covered by html-validate. render_wf_mod is conditional on those slots.

セキュリティ

静的保証 (htmlEscape_no_specials theorem)
Escaping correct where applied (typed tree) [NoGoals.htmlEscape_no_specials]
Text and attribute content routed through the typed tree renderer is escaped; htmlEscape_no_specials proves the output contains no < > " ' for ANY input. Raw slot content is NOT covered by this theorem — each raw node is a named trust obligation checked by the runtime validators.
静的保証 (typed HeadersPolicy)
CSP forbids inline styles and scripts (typed policy) [NoGoals.Meta.prodHeaders]
The typed HeadersPolicy ships style-src 'self' and script-src without 'unsafe-inline'; the emitted _headers file is rendered from it. Whether the emitted PAGES honor the policy is the CSP audit gate's claim, reported separately from its actual run.
静的保証 (xmlEscape_no_specials theorem)
XML injection impossible (sitemap/feeds) [NoGoals.Meta.xmlEscape_no_specials]
xmlEscape is the charwise htmlEscape; xmlEscape_no_specials proves sitemap and feed text/attribute content contains no < > " ' for ANY input
静的保証 (chrome_tree_wellFormed + render_wf_mod theorems)
Chrome structure well-formed (slots trusted) [NoGoals.Render.Tree.render_wf_mod]
Every content page is one typed HTML tree: kernel chrome (head, nav, hero, footer) around the site's typed slots; chrome_tree_wellFormed proves the chrome adds no imbalance whenever the slot trees are well-formed, and render_wf_mod promotes that to the rendered bytes modulo the listed raw slots — the fragment grammar plus void/normal tag classes, not HTML element semantics (html-validate remains the authority for those). The report pages use their own constructors and are checked well-formed (no raw node) before they are written.
静的保証 (render_wf grammar theorem)
Well-formed markup (kernel renderer)カーネルレンダラーのみ [NoGoals.Render.Tree.render_wf]
The kernel renderer factors through a typed HTML tree; render_wf proves every raw-free tree renders to properly nested tags whose text and attribute values cannot open or close an element, with void elements never given children — balanced markup is a grammar theorem, not a validator's opinion

実行時

合格
Navigation links resolve
Every page link in the main and footer navigation names a page of this site
合格
Unique page slugs
All 3 page slugs are distinct
該当なし
Unique division IDs
All 0 division IDs are distinct
該当なし
Unique person IDs
All 0 person IDs are distinct
該当なし
People reference existing divisions
Every division reference on a person record (0) names a declared division
合格
External link liveness
All 0 external URLs in the emitted HTML answered the liveness check
合格
HTML validity (every emitted page)
html-validate: 8 pages, 0 errors (verification pages checked in the finalization pass)
合格
Parser facts available
parse5 produced facts for all 8 pages (verification pages: finalization pass)
合格
CSP ↔ content consistency
8 pages: every HTML-declared resource use allowed by the typed production CSP; no inline script/style/handlers
合格
Internal reference closure
Every internal reference on 8 pages resolves to an emitted file or a declared endpoint ([]); every fragment to a declared id
合格
SEO coherence
All 6 route pages carry the canonical, hreflang (+x-default), og:url and og:locale their route predicts
合格
Metadata completeness
All 6 route pages declare their language, one title, one description and the OpenGraph basics
合格
No CJK leaks on English pages
No undeclared Japanese text on 3 EN pages (0 declared allowances beyond the chrome's own labels)
合格
CSS contract
Every class on 8 pages is styled or one of 0 declared semantic hooks
合格
No double-escaped entities
No double-escaped entities in the visible text of 8 pages
合格
Click-path reachability
All 8 pages reachable from a declared root (1 roots; 0 pages declared redirect-reached and 2 not-found pages exempt)
合格
Stylesheet asset reality
All 1 url(/assets/…) references in 1 stylesheets exist in the candidate
合格
News invariants
0 articles sorted newest-first, none future-dated as of 2026-10-08
合格
Feed entries are emitted routes
All 0 Atom entry routes are routes this build emitted
合格
Permalink permanence
All 20 previously published URL obligations live or typed-redirected; 0 redirect(s) rendered into _redirects

対照テスト

合格
陽性対照
期待どおりすべて合格
合格
陰性対照
想定した3件の違反を検出
✓ 対照テスト合格