Skip to content

feat: ingest output standard v2 (STE-80 lint, v2 marker, page render-html) - #96

Merged
karlorz merged 8 commits into
mainfrom
feat-ingest-output-standard-v2
Oct 16, 2026
Merged

karlorz merged 8 commits into
mainfrom
feat-ingest-output-standard-v2

Conversation

@karlorz

@karlorz karlorz commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Summary

Adds ingest output standard v2: STE-80 authoring checks, a typed-page marker, and an opt-in HTML renderer. Agents write the prose; the CLI only checks marked pages.

Lint WARN buckets (marked pages only)

  • ste_sentence_length — prose sentences > 25 words; ordered-list items and list items under Steps/Procedure > 20 words
  • ste_hedge_words — whole-word hedges outside ## Uncertainty, **Least certain:** lists, code, and blockquotes
  • ste_diagram_uncertainty — a Mermaid block with no **Least certain:** bullet list after it
  • ste_comparison_visual — a type: comparison page with neither a Markdown table nor a Mermaid block

These are advisory WARN findings. They do not change publish, the lint exit code, health exit, or release CI on content.

New flags / command

  • skillwiki ingest stamps output_standard: v2 on every new typed stub
  • skillwiki ingest --html also stamps html_render: true
  • skillwiki page render-html <page> [vault] --out <file> — vault read-only; refuses unless html_render: true; refuses --out inside the vault; writes one self-contained HTML file (TOC, tabs, <details>, inline CSS/JS; Mermaid as <pre class="mermaid">)

Tests run

  • npm run typecheck
  • npm run build
  • npx vitest run packages/cli/test/ (plus shared tests touched by this change)
  • Result: typecheck pass, build pass, 215 files / 2461 tests passed (1 skipped)

Notes

  • Draft concept page lives at packages/cli/test/fixtures/output-standard-v2/concepts-ingest-output-standard-v2.md for later attended publish. Not written to any vault.
  • Health lint status ignores the four advisory buckets so v2 content WARN does not flip health exit.
  • No new npm dependencies. MCP write paths and page-publish behavior are unchanged.

TypedKnowledgeSchema accepts optional output_standard: v2 and html_render.
Add HTML_RENDER_NOT_OPTED_IN so page render-html can refuse unmarked pages.
Check marked pages only for sentence length, hedges, diagram uncertainty,
and comparison visuals. Findings stay WARN and do not change lint or health
exit codes.
skillwiki ingest always stamps output_standard: v2. --html also stamps
html_render: true. page render-html writes a self-contained file outside
the vault for opted-in pages.
Add rungs, format table, and the four WARN buckets to wiki-ingest and
wiki-lint. Include v2 sample fixtures and a draft concept page for later
attended publish.
Reject --out paths that resolve inside the vault through symlink aliases
before mkdir/write. Skip inline code, nested Uncertainty headings, and
wrapped Least-certain list items in hedge scans. Activate HTML tab panels
from TOC links and URL fragments. Name actual diagram edges in sample
uncertainty lists.
Parse equal-length backtick runs, treat escaped and unclosed ticks as
literal text, and keep lazy Least-certain continuations in list scope.
Name interpretive grouping, simplified steps, omitted conditions, or
unstated mappings. Do not invent doubt about settled source facts.
@karlorz
karlorz merged commit 9765863 into main Oct 16, 2026
8 checks passed
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.

1 participant