# description
Canonical wire shape for IntelligencePro attestation events. Emitted into time-series + realtime-analytics + audit-log backends (per [[time-series-and-realtime-analytics]] R11). One schema × 6+ backend shippers via Kafka Connect (T1) — same compositional pattern as 'one MCP × 7 workflow platforms' (R7) and 'one Croissant @context × every dataset marketplace' (R11 D2).

# $comment
Discovery: https://ip.tekton.cc/.well-known/ip-knowledge.json (full descriptor) | Badge: https://ip.tekton.cc/api/badge/v1/attestation/attestation.event.v1/<subjectSha256> (shields.io endpoint) | Free dry-run: POST https://ip.tekton.cc/api/credentials/dry-run with body {kind:"attestation.event.v1", body:<candidate>} (no auth required, validates against this schema) | Verification recipe: https://ip.tekton.cc/docs/verification-recipe.md (3-layer trust model + curl trail) | Revocation: https://ip.tekton.cc/credentials/status/v1 (W3C BitstringStatusList v1.0; check bit at credentialStatus.statusListIndex)

# properties.schemaVersion.description
Semver of this schema. Bumps to 2.0.0 land at /credentials/event-schema/v2 — v1 stays immutable (see /docs/schema-versioning.md for the cycle-726 canonical bump-mechanics + soft-change-detection contract).

# properties.eventId.description
Unique RFC 4122 UUID v4 or v7. Lets a downstream consumer dedupe across retries + replays.

# properties.eventType.description
Discriminator on the event family. judgment.* / proposal.* / attestation.* / drift.* / citation.* / labeler.* (the last extends to the R11 L8 portable-labeler-reputation primitive).

# properties.eventTime.description
Epoch milliseconds when the event happened on the platform. Matches the signedAt + receivedAt convention used across CP manifests.

# properties.platformDid.description
Issuer DID — the platform's did:web (cycle 269). Lets a consumer resolve the verifying public key via /.well-known/jwks.json on the same domain.

# properties.emittedAt.description
Epoch milliseconds when this event row was emitted onto the bus. Differs from eventTime when the platform replays historical events into a new stream.

# properties.proposalId.description
Per-kind proposalId. Prefixes: prop_ brief / cprop_ capability / dgprop_ decision-graph / eprop_ eval-result / sprop_ spec-sharpening / tprop_ tree-expansion / arprop_ artifact.

# properties.kind.description
Lifecycle the proposal belongs to. Matches the 7-kind dispatch table on /api/knowledge/judge.

# properties.judgmentId.description
Per-judgment identifier when the event is judgment.* scoped.

# properties.judgeKid.description
Key id of the Ed25519 keypair that signed the judgment. Resolves at /.well-known/jwks.json (domain key) or /api/agents/{tag} (per-judge key).

# properties.ed25519SigShort.description
First 16 hex chars of the Ed25519 signature — compact display form. Full signature lives on the JudgmentSignature side-table; consumers needing the full 128-char hex round-trip /api/credentials/judgment/{kind}/{proposalId}/{judgmentId}.

# properties.proposalTargetSha256.description
Sha256 of the canonical target string the judge signed over.

# properties.composite.description
Composite score (0..1) — judgment scores averaged. Only present on judgment.* + proposal.* events.

# properties.domain.description
First path segment of the proposal's ref ('/artifacts/models/foo' → 'artifacts'). Null for ref-less briefs. Used by [[time-series-and-realtime-analytics]] per-domain rollups + by /agents/{tag}.citationStats.byDomain.

# properties.phase.description
Signing phase. A2 = platform-held key signed on judge's behalf. B = judge signed client-side; platform never touched the seed.

# properties.cited.description
True when the judgment carried at least one evidence citation. citationStats consumer can aggregate without re-reading the manifest.

# properties.citationCount.description
Number of citations bound to the canonical payload (0 when cited=false).

# properties.extra.description
Open extension slot — event-type-specific payload. Consumers MUST ignore unknown keys (forward-compat policy).