Skip to content

feat(visualizer): offline HTML proof-status report (VOKF-8 / M1) - #4

Merged
aggre merged 1 commit into
mainfrom
m1/visualizer
Jun 15, 2026
Merged

feat(visualizer): offline HTML proof-status report (VOKF-8 / M1)#4
aggre merged 1 commit into
mainfrom
m1/visualizer

Conversation

@yumemayu

Copy link
Copy Markdown
Member

M1 — @verifiable-okf/visualizer (VOKF-8)

A bundle → a single self-contained, offline HTML report with per-concept verified / unverified / failed badges.

Implements

  • renderReport() — fully inlined CSS + a tiny expand-on-load script. No backend, no CDN, no external resources, no network calls / data exfil (asserted in tests). All content HTML-escaped.
  • visualize() — collect .md concepts (recursively) → verify each → render; declared content_hash surfaced per concept.
  • vokf-visualize <dir|concept.md> [-o report.html] CLI.

DoD(VOKF-8)

  • バンドル → 単一自己完結 HTML
  • 完全オフライン(CDN不可・外部リソース参照0・fetch/XHR/form なし=データがページ外に出ない)
  • ノード別 verified / unverified / failed バッジ + クリックで reason/issuer/content_hash 詳細
  • build/test green(canon 28 + signer 7 + verifier 22 + visualizer 5 = 62)。CLI が fixtures から 5KB のレポートを生成(外部URL参照 0)

次(M1 残り)

  • VOKF-7 attestation 1本 e2e(D-4 の決定待ち — 下記)
  • VOKF-9 実 OKF バンドルの worked example

🤖 Generated with Claude Code

`@verifiable-okf/visualizer` turns a bundle (or a single concept) into a
single self-contained, OFFLINE HTML report with per-concept
verified / unverified / failed badges and expandable reason codes,
issuer, and content_hash.

- render.ts: renderReport() — fully inlined CSS + a tiny expand script;
  no backend, no CDN, no external resources, and no network calls /
  data exfil (asserted in tests). HTML-escapes all content.
- visualize.ts: collectConcepts() + verify each + render.
- cli.ts: `vokf-visualize <dir|concept.md> [-o report.html]`.

Tests (5): all three badges render; no external (CDN) refs; no
fetch/XHR/form; HTML injection escaped; the fixtures tree verifies with
the expected per-concept statuses. Full suite green
(canon 28 + signer 7 + verifier 22 + visualizer 5 = 62).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aggre
aggre merged commit ddb1035 into main Jun 15, 2026
1 check passed
@aggre
aggre deleted the m1/visualizer branch June 15, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants