skill.publish

Page actions AI-ready formats and sharing
Open LLM text
Share with AI
Ask Claude Ask ChatGPT Ask Gemini Ask Copilot

Skill publish gate — check + freeze + smoke with a pass/fail receipt.

Orrery publish oracle (epic #962 / issue #976): a skill may publish only when app.check()contracts, freeze-time manifest digests,…

Skill publish gate — check + freeze + smoke with a pass/fail receipt.

Orrery publish oracle (epic #962 / issue #976): a skill may publish only when app.check()contracts, freeze-time manifest digests, and the smoke harness all pass. This module orchestrates the three stages and always runs all three so the receipt reports every stage; any failure blocks publish.

No registry upload lives here (E5).

skill.publish

Name Type Default Description
type
qualified_name
element_type
description
source_file
line_number
is_autodoc
autodoc_element
_autodoc_template
_autodoc_url_path
_autodoc_page_type
title
doc_content_hash

Symbols on this page

StageResult
class

Outcome of one publish-gate stage.

PublishReceipt
class

Legible pass/fail receipt forchirp skill publish / run_publish_gate().

format_publish_receipt
function
def format_publish_receipt(receipt: PublishReceipt) -> str

Human-readable multi-stage publish receipt for the terminal.

Parameters

Name Type Default Description
receipt PublishReceipt
run_publish_gate
function
def run_publish_gate(app: Any, corpus: Sequence[CorpusPrompt], *, answer_fn: AnswerFn | None = None, warnings_as_errors: bool = False) -> PublishReceipt

Run check → freeze → smoke and return a receipt.

All three stages always execute so the receipt is complete. Publish is blocked when any stage fails (receipt.passedis False).

Parameters

Name Type Default Description
app Any
corpus Sequence[CorpusPrompt]
answer_fn AnswerFn | None None
warnings_as_errors bool False

View source · /home/runner/work/chirp/chirp/site/../src/chirp/skill/publish.py:1