import { type GovernanceProfile } from '@enterprise-skills/core'; /** * The governance profile a command should operate under — DECLARED beats * inferred. * * The defect this closes (reported 2026-08-02): `adapt --ide claude` stamped * a generated CLAUDE.md with "profile: standard" in a project whose * `.project-ai/PROJECT_PROFILE.yaml` says `governance_profile: enterprise`. * Every consuming command called `governance.detectProfile()` — a three-signal * filesystem heuristic (Dockerfile / CI / tests) — and nothing ever read the * authority pack's own declaration. A project that has SAID what it is was * being re-guessed, and the guess wrote itself into governance artifacts. * * Three commands consumed the heuristic on existing projects (adapt, audit, * status); all three now resolve through this. `init` keeps the heuristic — * it GENERATES the pack, so there is nothing declared yet to honour. * * The heuristic also cannot produce `maximum` at all (it tops out at * `enterprise` on three signals), so before this, a maximum-profile pack was * structurally impossible to honour — declared-wins is not a preference here, * it is the only path to two of the four profiles being reachable. * * Fail-safe shape: ANY defect in the declaration — absent pack, unparseable * YAML, missing field, a value outside the enum — falls back to the * heuristic, and the `source` in the result says which side answered so the * caller can print it. A malformed declaration is never guessed at and never * silently trusted. */ export interface ResolvedProfile { profile: GovernanceProfile; source: 'declared' | 'inferred'; } export declare const PROJECT_PROFILE_PATH: string[]; /** The declared profile, or null when the pack does not usably declare one. */ export declare function declaredGovernanceProfile(projectPath: string): GovernanceProfile | null; export declare function resolveGovernanceProfile(projectPath: string, detect: (projectPath: string) => GovernanceProfile): ResolvedProfile; /** One consistent parenthetical for command output. */ export declare function describeProfileSource(resolved: ResolvedProfile): string; //# sourceMappingURL=governance-profile.d.ts.map