; zetl release readiness theory ; Combines facts from across the vault to determine if zetl is ready to ship. ; Run: zetl reason status -d . | jq ‘.conclusions[] | select(.literal == “release-candidate”)’
; — Strict rules: these must hold, no exceptions —
; Scanner must handle both wikilinks and SPL (always r-scanner-complete (and wikilink-extraction spl-extraction) scanner-complete)
; Graph engine must support all query types (always r-graph-complete (and directed-graph multi-hop-traversal forward-links-done backlinks-done shortest-path-done) graph-complete)
; All eight reason commands must be implemented (always r-reason-commands-complete (and reason-status-done reason-explain-done reason-why-not-done reason-require-done reason-what-if-done reason-conflicts-done reason-export-done reason-provenance-done) reason-commands-complete)
; Diagnostics cover both links and logic (always r-diagnostics-complete (and dead-link-detection orphan-detection spl-diagnostics) diagnostics-complete)
; — Defeasible rules: normally true, can be defeated —
; Agent-friendly when JSON + structured errors + exit codes (normally r-agent-friendly (and json-default-output structured-errors nonzero-exit-codes) agent-friendly)
; Safe to use when read-only + disposable cache (normally r-safe-to-use (and read-only-vault-access disposable-cache) safe-to-use)
; Core features ready when scanner, graph, diagnostics, and search are done (normally r-core-ready (and scanner-complete graph-complete diagnostics-complete fulltext-search-done) core-features-ready)
; Reasoning layer ready when commands + engine integration are done (normally r-reasoning-ready (and reason-commands-complete spindle-core-integrated four-conclusion-types) reasoning-ready)
; Release candidate when all areas are in place (normally r-release-candidate (and core-features-ready reasoning-ready agent-friendly safe-to-use tui-complete) release-candidate)