Skip to content

declare_baseline

Ratify a new petrova baseline version (v2, v3, …) as a decision doc in petrova-codes. The verb’s pre-flight runs the full server-side audit and refuses to proceed if any MR check is fail — declaration is a real verification, not a paper claim. Emits docs/decisions/<date>-petrova-baseline-v<N>.md populated from the operator-supplied scope + roster.

Upholds: MR-7 Side effects: Creates a branch petrova/declare-baseline/v in petrova-codes. Adds docs/decisions/-petrova-baseline-v.md. Opens a PR.

  • TARGET_IS_PETROVA_CODES — target_repo must be petrova-codes. Baselines are control-plane meta-state; consumer repos cannot ratify their own baselines.
  • BASELINE_VERSION_MONOTONIC — baseline_version must be strictly greater than the highest existing petrova-baseline-v<N> decision doc found in docs/decisions/.
  • BASELINE_VERSION_NOT_DECLARED — no existing docs/decisions/*-petrova-baseline-v<baseline_version>.md may exist (no duplicate declarations of the same version).
  • AUDIT_HAS_NO_FAILS — calling AuditSource.run({force:true}) pre-flight must produce zero rows with status:fail. If any row fails, the verb refuses and surfaces the offending (slug, mr, detail) triples in errors[].
  • EVIDENCE_REFS_RESOLVE — Each evidence_refs entry’s value must be a non-empty string. Strict resolution (HTTP fetch / git-show) is left to reviewer judgement — the verb accepts any string.
  • FLEETS_ALLOWED_EMPTY — Standard policy gate. petrova-codes has fleets_allowed:[] so human override (PETROVA_ALLOW_HUMAN_OVERRIDE=1) is required.
  • baseline_version integer (required)
  • scope_description string (required)
  • evidence_refs array (required)
    • items:
      • type string (required) enum: pr_url, adr_path, audit_snapshot, plan_path
      • value string (required)
      • note string
  • roster_included array (required) — Slugs in registry.yaml that this baseline covers.
  • roster_deferred array
    • items:
      • slug string (required)
      • reason string (required)
  • follow_up_gaps array
    • items:
      • summary string (required)
      • tracking_ref string
  • decision_doc_path string
  • audit_pass_count integer
  • audit_warn_count integer
  • audit_skip_count integer
  • prPRRef
  • diff_previewDiffPreview

Input:

{
"envelope": {
"verb": "declare_baseline",
"target_repo": "petrova-codes",
"idempotency_key": "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789",
"dry_run": true,
"actor": "human:alex@devarno.com",
"triggered_by": {
"kind": "human_request",
"ref": "~/.claude/plans/glittery-popping-bear.md#wave-3"
}
},
"params": {
"baseline_version": 2,
"scope_description": "Architectural formalization: petrova-onboard + declare-baseline verbs; MR-14 + MR-15 audit checks; outranks default-convention; contract-SHA drift resolution.",
"evidence_refs": [
{
"type": "adr_path",
"value": "docs/decisions/2026-05-13-petrova-baseline-v1.md",
"note": "precursor baseline"
},
{
"type": "adr_path",
"value": "docs/decisions/2026-05-13-outranks-default-convention.md"
},
{
"type": "pr_url",
"value": "https://github.com/petrova-codes/petrova/pull/74",
"note": "Wave 1: audit refinements + drift bumps"
},
{
"type": "pr_url",
"value": "https://github.com/petrova-codes/petrova/pull/75",
"note": "Wave 2: petrova_onboard verb"
}
],
"roster_included": [
"petrova-codes",
"kahn-hq",
"stratt-hq",
"choco-hq",
"devarno-cloud",
"traceo-mcp-server",
"grace-hq",
"rocky-hq",
"eva-hq",
"skyflow-hq",
"smo1-io",
"oompa-tools"
],
"roster_deferred": [
{
"slug": "rocky-hq",
"reason": "MR-1 + MR-12 warns until docs/north-star/ bootstrapped — operator-paced content work"
}
]
}
}

Output (n/a):

(none)

(no recipe yet — see SKILL guide)