Skip to content

Common envelope

Shared types referenced by every verb schema. Single source of truth for cross-cutting types.

  • RepoSlug — Slug from registry.yaml. Must match an entry’s slug field exactly.
  • IsoDate — ISO 8601 date (MR-4). YYYY-MM-DD form for dates; full RFC 3339 for timestamps.
  • IdempotencyKey — SHA256 of |<target_repo>|<canonical_input_json>, hex-encoded, lowercase. 64 chars.
  • MRCitation — Cross-cutting meta-rule identifier from META-RULES.md.
  • Profile — Branch protection / merge profile inherited from registry.yaml.
  • Status — Terminal status of a verb invocation.
  • Actor — Who invoked the verb. fleet: for agent fleets, human: for direct human invocation, system: for petrova internal automation.
  • TriggeredBy — What surfaced the need for this verb invocation. Required by MR-7 — every action has a documented trigger.
  • Envelope — Common input envelope embedded in every verb’s input.
  • OutputEnvelope — Common output envelope returned by every verb invocation.
  • PRRef — Reference to the PR emitted by an applied write verb.
  • DiffPreview — Predicted file changes (returned in dry_run mode). Mirrors the shape applied mode would emit.
  • Error
  • MilestoneId — Milestone identifier in the form M{phase}.{n}[.{m}].

spec/verbs/_common.schema.json — see the petrova-hq repo for the authoritative JSON Schema.