aidokitwiki

Conformance Reference

Audience-Contributor Status-Shipped v0.5 Spec-Conformance

Purpose #

The per-level check tables and a complete list of check ids. Authoritative source: .docs/docs/specs/conformance-levels.md (Appendix B is the canonical id reference).

Tier ↔ ConformanceLevel mapping #

User-facing tier names (introduced in A1) map 1:1 to the internal ConformanceLevel. The schema, adapter manifests, and the project state file all use ConformanceLevel; only the CLI surface, prompts, and user-facing docs use tier names.

Tier (user-facing) ConformanceLevel (internal) Audience
starter minimum New to structured AI workflows; 60-second setup
standard standard Outgrew hand-rolled CLAUDE.md; the default
strict strict Audit-ready; capability declarations + signed manifest

tierToConformance() / conformanceToTier() in @aidokit/core are the canonical mappers. See the tier landing pages for the user-facing surface.

Per-level totals #

Level Adapter MUST Adapter SHOULD Stack-pack MUST Stack-pack SHOULD
Minimum ~24 ~3 ~11 ~2
Standard ~32 ~6 ~16 ~3
Strict ~36 ~8 ~18 ~4

Exact counts depend on spec evolution; the harness is authoritative.

Adapter check ids (~36 at Strict) #

From .docs/docs/specs/conformance-levels.md Appendix B.1:

Manifest #

Agent rules file #

Engine config #

Verbs #

Roles #

Skills #

Watchdog #

Post-install #

Determinism #

MCP #

Sync #

Doctor #

Output styles #

v1.0 capability cross-check #

Stack-pack check ids (~21 at Strict) #

From .docs/docs/specs/conformance-levels.md Appendix B.2:

stack-pack.manifest.declared-level
stack-pack.manifest.languages-non-empty
stack-pack.manifest.spec-version

stack-pack.detect.returns-result
stack-pack.detect.confidence-categorical
stack-pack.detect.no-shell-calls
stack-pack.detect.handles-missing-files

stack-pack.skills.at-least-one-skill
stack-pack.skills.source-marked
stack-pack.skills.has-review-markers
stack-pack.skills.no-secrets
stack-pack.skills.no-hard-coded-paths        # SHOULD

stack-pack.determinism.repeated-invocation-stable

stack-pack.mcp.references-catalog-ids        # MUST at Standard
stack-pack.mcp.no-sensitive-suggestions

stack-pack.validation.commands-well-formed   # MUST at Standard
stack-pack.validation.ci-safety-marked
stack-pack.validation.respects-project-scripts   # SHOULD

stack-pack.architecture.pattern-implemented      # SHOULD at Strict
stack-pack.architecture.suggested-layout-non-empty   # MUST when method exists
stack-pack.composability.composes-with-declared  # SHOULD at Strict

Running the harness #

import { runAdapterConformance, runStackPackConformance } from '@aidokit/core';
import { adapter } from '../src/index.js';

const report = await runAdapterConformance(adapter, adapter.manifest.conformance);
// report.overall === 'pass' | 'fail'
// report.results: ConformanceResult[]

ConformanceOptions: { fixture?, onlyChecks?, skipChecks?, strictSoft? }. Pass packagePath to enable AD-STD-CAP-01 source-level capability cross-check.

Snapshots and drift #

At install time, the CLI writes <projectRoot>/.aido/conformance-snapshot.json. aidokit doctor re-runs a subset and reports drift. Full harness lives in the package CI; doctor is the user-time sanity check.

Recovery from common failures #

From .docs/docs/specs/conformance-levels.md §13.3:

Failure Recovery
Adapter version mismatch aidokit sync
Skill file deleted aidokit sync --skills
Hook scripts lost execute permission aidokit sync --scripts or chmod +x manually
Adapter no longer claims declared level aidokit doctor --strict; upgrade/replace adapter
MCP scoping divergence aidokit mcp scope <id> --set-roles <list>