/** * The always-read guidance budget, and the lessons-file size trigger. * * Both numbers exist because byte count is the dimension that costs money and was * the only one nothing measured. `lessons.md` reached 90,285 bytes across 23 instance * sections — 85% of every byte a session read before touching task work — while the * consolidation trigger sat at 25 sections and 90 days, so both triggers were still in * the future while the file was already the largest thing resident. * * Two constants with one value on purpose: they govern different things ("this one file * is too big" versus "the set every session reads is too big") and are expected to * diverge. One module so the skill prose, the `aidlc status` notice and the tests all * cite the same declaration rather than three copies of a literal. * * Requirements: lessons-digest/AC-9, AC-11, AC-12, AC-13 */ /** Consolidation is offered once `lessons.md` passes this, whatever its section count. */ export declare const LESSONS_SIZE_TRIGGER_BYTES = 20480; /** The always-read layer set over this is reported by `aidlc status` as a notice. */ export declare const ALWAYS_READ_BUDGET_BYTES = 20480; /** One always-read layer and what it costs a session. */ export interface AlwaysReadLayer { name: string; /** Path relative to `.aidlc/guidance/`, as registered. */ file: string; bytes: number; } /** * Directory holding a project's guidance layers. * * @param projectRoot - Absolute project root. */ export declare function guidanceDirOf(projectRoot: string): string; /** * The layers a session reads on entering a phase: registered, present on disk, and * not marked `on_demand: true`. * * A registered layer whose file is missing is skipped rather than counted as zero or * raised — the budget describes what is *actually* read, and a dangling registration * already warns through `loadGuidanceLayers`. An unreadable or malformed index yields * an empty list for the same reason: this feeds a notice, never a gate. * * @param projectRoot - Absolute project root. */ export declare function alwaysReadLayers(projectRoot: string): AlwaysReadLayer[]; /** * Total bytes of the always-read guidance set. * * @param projectRoot - Absolute project root. */ export declare function alwaysReadTotalBytes(projectRoot: string): number; //# sourceMappingURL=guidance-budget.d.ts.map