Open methodology · Typed contracts

The contracts behind every output our agency produces. Read them.

Most agencies publish a methodology page that lists the frameworks they use. Ours lists the typed contracts that every customer-facing output is constructed against. A contract is more honest than a framework — frameworks tell you what the agency cares about; contracts tell you what the agency refuses to ship.

Each schema below is a frozen dataclass with a schema_slug and a schema_version. Renaming a field is a breaking change with a new version. Adding a field is additive. The full source for each lives in the public repo.

Start with a free profile → Read the principles → Jump to the catalogue →

Six principles behind the typed-output discipline.

Every agent output is a versioned typed contract.

Every result our 50 agents produce — outcome cards, BrandScripts, audit verdicts, regulator briefings — is a frozen dataclass with a schema_slug + schema_version. Renaming a field is a breaking change with a new version. Adding a field is additive.

Every customer-facing number has a source field.

The OutcomeMeasurement type literally requires a non-empty source_label; the constructor refuses anything else. Renderers refuse to publish a measurement without a source. The brand promise is enforced by the type system.

Every renderer is pure and deterministic.

Same input → same output, every time. We catch drift via golden-file snapshot tests on every commit (the discipline lives in tests/_snapshots/). Intentional changes regenerate the file in the same PR and the reviewer sees the diff.

Every Bayesian estimate ships its credible interval.

Per ADR-0269 WC-1. Point estimates without uncertainty are misleading — a 0.42 conversion rate could be 0.40 ± 0.02 or 0.42 ± 0.18 and they're not the same answer. The audit catches any Bayesian-method metric that lacks the credible-interval flag.

Every regulator pack is named at signing.

Per ADR-0269 WC-3. RegulatoryContextBriefing is a typed AgentOutput co-signed by the client; engagement deliverables don't begin until it's signed.

Reproducible from seeds.

Every typed output can implement Reproducible — a client downloads the typed input seeds and re-runs the analysis themselves. The agency's value is the discipline, not the secret math.

The schema catalogue.

Every output our agency produces ships against one of these contracts. The slug is the canonical identifier; the body is the one-line shape. Source files in the public repo.

Engagement lifecycle

  • engagement_registry.engagement
    Source-of-truth Engagement record. Identity + tier + status + signed targets + lifecycle timestamps.
  • engagement_continuity_card.continuity_card
    Per-period "your team this period" record. Pod leads + reg-pack owners + change history.
  • engagement_exit_pack.exit_pack
    7-day exit pack record. Every artefact category accounted for; 30-day support window field.
  • engagement_post_mortem.post_mortem
    Typed post-mortem after cancellation. Root-cause categories + named-owner lessons.
  • regulatory_context_briefing.briefing
    Per-engagement regulator briefing. Active reg packs with named auditor + client co-signature.

Outcomes + reporting

  • outcome_report_card.report_card
    Monthly card with red/amber/green verdict + pounds-in vs pounds-out + named-auditor signoff.
  • in_progress_outcome_card.card
    Mid-period view with trajectory verdict (pace against time-elapsed).
  • quarterly_business_review.bundle
    Hand-to-board quarterly bundle composing three monthly cards + narrative sections.
  • deliverable_sla.violation
    Typed SLA breach record with auto-refund clause + Knox signoff.

StoryBrand + creative

  • sten.brandscript
    Typed SB7 BrandScript: character + problem + guide + plan + call-to-action + failure + success.
  • sten.pain_desire_bridge
    Pain → bridge → desire triad. The narrative scaffold for every campaign.
  • saga.deliverable
    Unified deliverable shape across the 8 surface kinds (headline / ad copy / etc).
  • lore.existing_copy_audit
    Audit of existing client content: voice signals + BrandScript drifts.
  • five_minute_audit.audit
    Entry-product audit: 3-5 typed actions tied to verbatim page evidence.

Cross-suite bridge

  • cross_suite_bridge.signal
    Typed envelope for every cross-suite signal. Includes audit_trail_ref for evidence drill-down.

Audit + safety

  • knox_playbook.playbook
    Typed Knox review checklist. 10 canonical items including vendor-name leak + credible-interval present.
  • incident_report.report
    Typed incident record with severity / category / root-cause / actions / Knox signoff.
  • capacity_snapshot.snapshot
    Real-time agency capacity by tier + Knox load + panel size.

Marketplace + scoring

  • marketplace_matcher.brand_influencer_match_score
    Typed brand↔influencer match score. 5-section weighted composite per ADR-0255.
  • metric_scorer.metric_score
    Per-metric score with normalised value + benchmark percentile + rationale + credible interval.
  • company_profile_scorer.profile_score
    Composite of the 250-metric profile (business / customer / market / marketing / brand).

What's NOT open.

The typed contracts are public. The data flowing through them is per-tenant and stays per-tenant.

  • Per-tenant data (BrandScripts, VOC corpora, conversion data, strategy artefacts)
  • Specific named-client lists (panel rosters, reference customers)
  • Operator-side runbooks naming infrastructure / vendors
  • Pricing-model maths beyond what's published on /pricing
  • The vendor + regulator policy registry (operationally sensitive; published as ADR-only)

The split is honest. We publish the discipline; we don't publish your data.

Start with a free profile.

The typed contracts above are what every engagement runs through. The free profile baselines where your business sits against them.

Start with a free profile → See the monthly report shape →