@codedrifters/configulator 0.0.274 → 0.0.276

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.mts CHANGED
@@ -464,6 +464,13 @@ declare const DEFAULT_STATUS_LABELS: ReadonlyArray<LabelDefinition>;
464
464
  declare const DEFAULT_PRIORITY_LABELS: ReadonlyArray<LabelDefinition>;
465
465
  /** Default type labels — one per conventional commit type. */
466
466
  declare const DEFAULT_TYPE_LABELS: ReadonlyArray<LabelDefinition>;
467
+ /**
468
+ * Hard limit GitHub's Labels API enforces on the `description` field.
469
+ * EndBug/label-sync rejects (and the API returns an opaque error for)
470
+ * any label whose description exceeds this length, which silently
471
+ * breaks the sync workflow downstream.
472
+ */
473
+ declare const MAX_LABEL_DESCRIPTION_LENGTH = 100;
467
474
  /**
468
475
  * Adds a labels config file and a GitHub Actions workflow that syncs
469
476
  * labels to the repository using EndBug/label-sync.
@@ -2226,117 +2233,6 @@ interface SkillEvalsConfig {
2226
2233
  */
2227
2234
  readonly emitRunner?: boolean;
2228
2235
  }
2229
- /*******************************************************************************
2230
- *
2231
- * Workflow Diagrams Config
2232
- *
2233
- ******************************************************************************/
2234
- /**
2235
- * Workflow-diagrams convention consumed by the `base` bundle and
2236
- * every phased-agent bundle. Documents the single hand-authored
2237
- * Mermaid-based diagrams page that visualises every agent's phase
2238
- * graph and every cross-agent handoff, and enforces the
2239
- * **diagram-touched-when-bundle-touched** rule: a change set that
2240
- * modifies a bundle's phase graph must also update the matching
2241
- * section in the diagrams page.
2242
- *
2243
- * The convention is deliberately content-free — configulator cannot
2244
- * ship meaningful diagrams because each consuming repo enables a
2245
- * different subset of bundles and customises agent labels, paths,
2246
- * and taxonomies via the Group A injection points. Instead the
2247
- * bundle renders the rule (what to author, when to update it) and
2248
- * optionally emits a starter page + a checker script.
2249
- *
2250
- * Every field is optional. When the whole config is absent the
2251
- * convention ships **enabled** with the documented default diagrams
2252
- * path (`docs/src/content/docs/agents/workflows.md`), the default
2253
- * bundle-path patterns, the hard-requirement phrasing, the starter
2254
- * page opt-in, and the checker script opt-in.
2255
- *
2256
- * Malformed configs — empty / whitespace-only or absolute
2257
- * `diagramsPath`, empty `bundlePathPatterns`, empty /
2258
- * whitespace-only pattern entry — fail the build at synth time via
2259
- * `validateWorkflowDiagramsConfig`.
2260
- *
2261
- * @see ./bundles/workflow-diagrams.ts#resolveWorkflowDiagrams
2262
- * @see ./bundles/workflow-diagrams.ts#validateWorkflowDiagramsConfig
2263
- * @see ./bundles/workflow-diagrams.ts#renderWorkflowDiagramsRuleContent
2264
- */
2265
- interface WorkflowDiagramsConfig {
2266
- /**
2267
- * Master switch for the workflow-diagrams convention. When `false`,
2268
- * the base bundle renders a short stub stating the project does not
2269
- * enforce the convention; phased-agent bundles skip the
2270
- * per-workflow "Workflow Diagram" injection and the optional helper
2271
- * script / starter page are not emitted even if their `emit*`
2272
- * flags are true.
2273
- *
2274
- * Defaults to `true` — the convention is on by default.
2275
- */
2276
- readonly enabled?: boolean;
2277
- /**
2278
- * Repo-relative path to the single workflow-diagrams page. The
2279
- * rendered rule cites this path as the on-disk home of every
2280
- * Mermaid diagram; the checker script uses it as the sentinel path
2281
- * that must appear in a change set when any bundle file is
2282
- * touched.
2283
- *
2284
- * Must be a non-empty relative path (no leading `/`).
2285
- *
2286
- * Defaults to `docs/src/content/docs/agents/workflows.md`, which
2287
- * matches the monorepo-wide singleton `/docs` Starlight site every
2288
- * configulator-managed repo ships.
2289
- */
2290
- readonly diagramsPath?: string;
2291
- /**
2292
- * Path patterns (bash-style globs) that identify "bundle files" —
2293
- * the source files whose edits require the workflow-diagrams page
2294
- * to be touched in the same change set. Rendered verbatim into
2295
- * the rule body as a bullet list and emitted into the checker
2296
- * script when `emitChecker: true`.
2297
- *
2298
- * Must be a non-empty array of non-empty strings.
2299
- *
2300
- * Defaults to the configulator-wide set covering in-tree bundle
2301
- * source files, `.claude/agents/**.md` agent prompts, and
2302
- * `.claude/skills/**.md` skill prompts.
2303
- */
2304
- readonly bundlePathPatterns?: ReadonlyArray<string>;
2305
- /**
2306
- * Whether the convention emits a minimal starter diagrams page to
2307
- * disk at `<diagramsPath>`. The starter carries the expected
2308
- * structure (master diagram placeholder, one example agent section,
2309
- * legend) so consumers adopting the convention on a green-field
2310
- * repo have a working template to extend.
2311
- *
2312
- * Disabled by default because the page is hand-authored — an
2313
- * emitted stub would conflict with existing content on repos
2314
- * adopting the convention late.
2315
- */
2316
- readonly emitStarterDiagram?: boolean;
2317
- /**
2318
- * Whether the convention emits the
2319
- * `.claude/procedures/check-workflow-diagrams.sh` helper to disk.
2320
- * The script walks a newline-separated list of changed files (from
2321
- * stdin or positional arguments) and fails non-zero when any file
2322
- * matches a bundle-path pattern but `<diagramsPath>` is not also
2323
- * in the list.
2324
- *
2325
- * Disabled by default — the helper is opt-in for repos that want a
2326
- * hard CI gate or pre-commit hook. Consumers that prefer to
2327
- * enforce the rule via review discipline alone can leave it off.
2328
- */
2329
- readonly emitChecker?: boolean;
2330
- /**
2331
- * Whether the rendered rule body phrases the diagram update as a
2332
- * **hard requirement** (`MUST`) or a **strong recommendation**
2333
- * (`SHOULD`). Defaults to `true` — the hard-requirement phrasing
2334
- * matches the "enforced via CI" posture the convention is
2335
- * designed for. Consumers that treat diagrams as aspirational can
2336
- * soften the phrasing by setting this to `false`.
2337
- */
2338
- readonly requireDiagramUpdate?: boolean;
2339
- }
2340
2236
  /*******************************************************************************
2341
2237
  *
2342
2238
  * Issue Templates Config
@@ -3028,40 +2924,6 @@ interface AgentConfigOptions {
3028
2924
  * @see ./bundles/skill-evals.ts#renderSkillEvalsRuleContent
3029
2925
  */
3030
2926
  readonly skillEvals?: SkillEvalsConfig;
3031
- /**
3032
- * Workflow-diagrams convention consumed by the `base` bundle and
3033
- * every phased-agent bundle. Documents the single hand-authored
3034
- * Mermaid-based diagrams page that visualises every agent's phase
3035
- * graph and every cross-agent handoff, and enforces the
3036
- * diagram-touched-when-bundle-touched rule: a change set that
3037
- * modifies a bundle's phase graph must also update the matching
3038
- * section in the diagrams page.
3039
- *
3040
- * When the whole config is omitted, the convention ships
3041
- * **enabled** with the default diagrams path
3042
- * (`docs/src/content/docs/agents/workflows.md`), the default
3043
- * bundle-path patterns, the hard-requirement phrasing, and both
3044
- * the starter page and the checker script opt-in.
3045
- *
3046
- * Supply `enabled: false` to disable the convention entirely,
3047
- * `diagramsPath` to move the page, `bundlePathPatterns` to
3048
- * replace the default pattern list, `emitStarterDiagram: true`
3049
- * to seed a minimal starter page on disk, `emitChecker: true` to
3050
- * ship the `.claude/procedures/check-workflow-diagrams.sh`
3051
- * helper, or `requireDiagramUpdate: false` to soften the rule
3052
- * phrasing from MUST to SHOULD.
3053
- *
3054
- * Malformed configs — empty / whitespace-only or absolute
3055
- * `diagramsPath`, empty `bundlePathPatterns`, empty /
3056
- * whitespace-only pattern entry — fail the build at synth time
3057
- * via `validateWorkflowDiagramsConfig`.
3058
- *
3059
- * @see WorkflowDiagramsConfig
3060
- * @see ./bundles/workflow-diagrams.ts#resolveWorkflowDiagrams
3061
- * @see ./bundles/workflow-diagrams.ts#validateWorkflowDiagramsConfig
3062
- * @see ./bundles/workflow-diagrams.ts#renderWorkflowDiagramsRuleContent
3063
- */
3064
- readonly workflowDiagrams?: WorkflowDiagramsConfig;
3065
2927
  /**
3066
2928
  * Issue-templates convention consumed by the `base` bundle and
3067
2929
  * every phased-agent bundle that files downstream issues.
@@ -5148,179 +5010,6 @@ declare function renderSkillEvalsBundleHook(se: ResolvedSkillEvals, skillLabel:
5148
5010
  */
5149
5011
  declare function renderSkillEvalsRunnerScript(se: ResolvedSkillEvals): string;
5150
5012
 
5151
- /**
5152
- * Default master switch for the workflow-diagrams convention. When no
5153
- * config is supplied the convention ships **enabled** so every
5154
- * configulator-consuming repo carries the "diagram-touched-when-bundle-
5155
- * touched" rule in its rendered `CLAUDE.md`.
5156
- *
5157
- * @see WorkflowDiagramsConfig
5158
- */
5159
- declare const DEFAULT_WORKFLOW_DIAGRAMS_ENABLED = true;
5160
- /**
5161
- * Default repo-relative path for the workflow-diagrams page. Matches
5162
- * the singleton `/docs` site layout the monorepo contract assumes: a
5163
- * single Starlight docs site at `/docs` with sub-project agent pages
5164
- * under `docs/src/content/docs/agents/`.
5165
- *
5166
- * The file is never generated by configulator (the convention is
5167
- * explicit: diagrams are hand-authored for readability). Consumers
5168
- * opt into the starter stub via `emitStarterDiagram: true`.
5169
- *
5170
- * @see WorkflowDiagramsConfig
5171
- */
5172
- declare const DEFAULT_WORKFLOW_DIAGRAMS_PATH = "docs/src/content/docs/agents/workflows.md";
5173
- /**
5174
- * Default list of glob patterns that identify "bundle files" — the
5175
- * source files whose edits require the workflow-diagrams page to be
5176
- * touched in the same change set.
5177
- *
5178
- * The defaults cover the two canonical locations bundle-like content
5179
- * lives in a configulator-consuming repo:
5180
- *
5181
- * - `packages/@codedrifters/configulator/src/agent/bundles/**.ts` —
5182
- * the bundle authoring sites inside configulator itself.
5183
- * - `.claude/agents/**.md` / `.claude/skills/**` — agent and skill
5184
- * prompts in consuming repos that don't re-export configulator
5185
- * bundles.
5186
- *
5187
- * Consumers can replace the list outright via `bundlePathPatterns`
5188
- * when their agent sources live elsewhere (e.g. a monorepo that keeps
5189
- * agents under `tools/agents/`).
5190
- *
5191
- * @see WorkflowDiagramsConfig
5192
- */
5193
- declare const DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS: ReadonlyArray<string>;
5194
- /**
5195
- * Default for whether the convention emits a starter workflow-diagrams
5196
- * page to disk at `<diagramsPath>`. Disabled by default because the
5197
- * page is hand-authored — an emitted stub would conflict with
5198
- * existing content on repos adopting the convention late.
5199
- *
5200
- * @see WorkflowDiagramsConfig
5201
- */
5202
- declare const DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER = false;
5203
- /**
5204
- * Default for whether the convention emits the
5205
- * `.claude/procedures/check-workflow-diagrams.sh` checker script. The
5206
- * script walks the staged / changed-file set and fails when a bundle
5207
- * file is touched without the diagrams page being touched too.
5208
- *
5209
- * Disabled by default because many consumers prefer to enforce the
5210
- * rule via review discipline and the rendered documentation alone;
5211
- * the script is opt-in for repos that want a hard CI gate or
5212
- * pre-commit hook.
5213
- *
5214
- * @see WorkflowDiagramsConfig
5215
- */
5216
- declare const DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER = false;
5217
- /**
5218
- * Default for whether the rendered rule body asserts the diagram
5219
- * update as a **hard requirement** vs. a **strong recommendation**.
5220
- * Defaults to `true` — the whole point of the convention is that
5221
- * diagrams stay in sync, so the hard-requirement phrasing is the
5222
- * correct default. Consumers that treat diagrams as aspirational can
5223
- * soften the phrasing by setting this to `false`.
5224
- *
5225
- * @see WorkflowDiagramsConfig
5226
- */
5227
- declare const DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE = true;
5228
- /**
5229
- * Fully-resolved workflow-diagrams settings. Every field is defaulted
5230
- * so downstream renderers can reason about a single canonical shape.
5231
- */
5232
- interface ResolvedWorkflowDiagrams {
5233
- readonly enabled: boolean;
5234
- readonly diagramsPath: string;
5235
- readonly bundlePathPatterns: ReadonlyArray<string>;
5236
- readonly emitStarterDiagram: boolean;
5237
- readonly emitChecker: boolean;
5238
- readonly requireDiagramUpdate: boolean;
5239
- }
5240
- /**
5241
- * Resolve a (possibly absent) `WorkflowDiagramsConfig` into a
5242
- * canonical `ResolvedWorkflowDiagrams` with every field filled in.
5243
- * Unset fields cascade from their documented defaults.
5244
- *
5245
- * Malformed configs — empty / whitespace-only or absolute
5246
- * `diagramsPath`, empty `bundlePathPatterns`, empty /
5247
- * whitespace-only path entry — throw a descriptive `Error`.
5248
- */
5249
- declare function resolveWorkflowDiagrams(config?: WorkflowDiagramsConfig): ResolvedWorkflowDiagrams;
5250
- /**
5251
- * Synth-time validation hook. Throws a descriptive `Error` when the
5252
- * supplied `WorkflowDiagramsConfig` is malformed. Called by
5253
- * `AgentConfig.preSynthesize` before any rendering so a misconfigured
5254
- * convention fails the build instead of silently shipping broken
5255
- * workflow-diagrams guidance. Returns the resolved config unchanged
5256
- * so callers can write
5257
- * `const wd = validateWorkflowDiagramsConfig(config)` in one line.
5258
- *
5259
- * Malformed cases rejected here:
5260
- *
5261
- * - `diagramsPath` empty, whitespace-only, or absolute.
5262
- * - `bundlePathPatterns` not an array, empty, or contains an empty /
5263
- * whitespace-only entry.
5264
- */
5265
- declare function validateWorkflowDiagramsConfig(config?: WorkflowDiagramsConfig): ResolvedWorkflowDiagrams;
5266
- /**
5267
- * Render the full body for the `workflow-diagrams-convention` rule
5268
- * shipped by the `base` bundle. The rule documents:
5269
- *
5270
- * - Why the convention exists (diagram / prose drift).
5271
- * - The on-disk contract — a single Mermaid-based page at
5272
- * `<diagramsPath>` with one diagram per agent + a master
5273
- * cross-agent diagram.
5274
- * - The **diagram-touched-when-bundle-touched** rule, phrased as a
5275
- * hard requirement or a strong recommendation per
5276
- * `requireDiagramUpdate`.
5277
- * - The set of paths the rule applies to.
5278
- * - The optional checker script (cross-referenced only when emitted).
5279
- *
5280
- * When the convention is disabled, the rule renders a short stub.
5281
- */
5282
- declare function renderWorkflowDiagramsRuleContent(wd: ResolvedWorkflowDiagrams): string;
5283
- /**
5284
- * Render the short workflow-diagrams hook section injected into a
5285
- * phased-agent bundle's workflow rule. The section cites the full
5286
- * contract documented in the base bundle's
5287
- * `workflow-diagrams-convention` rule so individual bundles stay DRY.
5288
- *
5289
- * When the convention is disabled, the function returns an empty
5290
- * string so callers can no-op their append path.
5291
- */
5292
- declare function renderWorkflowDiagramsBundleHook(wd: ResolvedWorkflowDiagrams, bundleLabel: string): string;
5293
- /**
5294
- * Render a minimal starter workflow-diagrams page — a top-level
5295
- * heading, the master-diagram placeholder, and a single example
5296
- * agent section. Exported so `AgentConfig` can emit it to disk when
5297
- * the consumer opts in via `emitStarterDiagram: true`.
5298
- *
5299
- * The starter is deliberately sparse: it documents the expected
5300
- * structure without committing the consumer to a particular agent
5301
- * list. Repos that already maintain a hand-authored diagrams page
5302
- * should leave `emitStarterDiagram` off — the emission would
5303
- * overwrite their content.
5304
- */
5305
- declare function renderWorkflowDiagramsStarterPage(_wd: ResolvedWorkflowDiagrams): string;
5306
- /**
5307
- * Render the `.claude/procedures/check-workflow-diagrams.sh` helper
5308
- * script. Exported so `AgentConfig` can register it as an
5309
- * `AgentProcedure` when the consumer opts in via `emitChecker: true`.
5310
- *
5311
- * The script accepts the list of changed files as either:
5312
- *
5313
- * 1. Positional arguments (one file per arg).
5314
- * 2. Newline-separated entries on stdin (when no args supplied) —
5315
- * pipe `git diff --name-only` directly into it.
5316
- *
5317
- * It fails non-zero when any changed file matches a bundle-path
5318
- * pattern and the configured diagrams path is not also in the list.
5319
- * It exits `0` when no bundle files were touched or when the
5320
- * diagrams page was touched alongside them.
5321
- */
5322
- declare function renderWorkflowDiagramsCheckerScript(wd: ResolvedWorkflowDiagrams): string;
5323
-
5324
5013
  /**
5325
5014
  * Build the requirements-analyst bundle with the supplied resolved
5326
5015
  * paths.
@@ -6701,6 +6390,556 @@ declare const DEFAULT_SAMPLE_COMPILER_OPTIONS: ts.CompilerOptions;
6701
6390
  */
6702
6391
  declare function compileFencedSamples(options?: CompileFencedSamplesOptions): Array<SampleCompilationFailure>;
6703
6392
 
6393
+ /**
6394
+ * Schema definitions for the docs-sync scan-phase audit report.
6395
+ *
6396
+ * The report is the durable output of Phase 1 (Scan) of the docs-sync
6397
+ * pipeline (parent epic #448). Phase 1 walks the repo, runs every
6398
+ * registered drift check, and persists a single combined report to
6399
+ * `.claude/state/docs-sync/<N>-audit.json` (where `<N>` is the
6400
+ * tracking-issue number). Phase 2 (Fix) reads the persisted report
6401
+ * and applies mechanical fixes — the two phases never share an
6402
+ * in-memory handle, so the JSON shape on disk is the contract
6403
+ * between them.
6404
+ *
6405
+ * #518 ships the **schema and the orchestrator skeleton only**. The
6406
+ * actual drift checks (API/TSDoc/reference, link, fenced-sample) are
6407
+ * wired in by children #519 and #520 by passing additional
6408
+ * `AuditCheckRunner` instances to {@link runScan}. An empty
6409
+ * runner list is the supported scaffold-time configuration and
6410
+ * produces a schema-compliant report with empty findings in every
6411
+ * category.
6412
+ *
6413
+ * The schema is intentionally **keyed by drift-check category** at
6414
+ * the top level (`apiDiff`, `tsdocCoverage`, `referenceMismatches`,
6415
+ * `linkFailures`, `sampleFailures`) so consumers can render or
6416
+ * filter by category without re-grouping a flat list. Each
6417
+ * category-keyed array carries category-specific finding shapes,
6418
+ * and a flat `findings` array re-aggregates the same records with
6419
+ * `category` and `severity` fields attached so the report doubles
6420
+ * as a backlog source for downstream tooling.
6421
+ */
6422
+ /**
6423
+ * Drift-check categories the docs-sync scan phase can produce
6424
+ * findings in. Exhaustive — adding a new category here is a schema
6425
+ * change that requires bumping {@link DOCS_SYNC_AUDIT_SCHEMA_VERSION}
6426
+ * and updating every consumer that switches on the literal.
6427
+ */
6428
+ declare const AuditCategory: {
6429
+ /**
6430
+ * Findings produced by the public-API diff check that surfaces
6431
+ * added, renamed, or removed exports between the current branch
6432
+ * and the recorded baseline. Wired in by child issue #519.
6433
+ */
6434
+ readonly ApiDiff: "apiDiff";
6435
+ /**
6436
+ * Findings produced by the TSDoc-coverage check that flags public
6437
+ * exports without a one-sentence summary. Wired in by child issue
6438
+ * #519.
6439
+ */
6440
+ readonly TsdocCoverage: "tsdocCoverage";
6441
+ /**
6442
+ * Findings produced by the doc-reference cross-index check that
6443
+ * flags inline-code symbol mentions whose target is missing or
6444
+ * has changed. Wired in by child issue #519.
6445
+ */
6446
+ readonly ReferenceMismatches: "referenceMismatches";
6447
+ /**
6448
+ * Findings produced by the link-integrity check (internal via
6449
+ * `astro check`, external via `lychee`). Wired in by child issue
6450
+ * #520.
6451
+ */
6452
+ readonly LinkFailures: "linkFailures";
6453
+ /**
6454
+ * Findings produced by the fenced-sample compilation check that
6455
+ * flags ` ```ts ` / ` ```typescript ` / ` ```tsx ` blocks in the
6456
+ * docs that fail `tsc`. Wired in by child issue #520.
6457
+ */
6458
+ readonly SampleFailures: "sampleFailures";
6459
+ };
6460
+ /**
6461
+ * String-literal type matching the values of {@link AuditCategory}.
6462
+ */
6463
+ type AuditCategory = (typeof AuditCategory)[keyof typeof AuditCategory];
6464
+ /**
6465
+ * Severity ladder applied to every finding before persistence. The
6466
+ * ladder mirrors the parent epic's behavior-on-drift contract —
6467
+ * mechanical fixes auto-apply, advisory findings post a non-blocking
6468
+ * note, blocking findings hand off to `pr-reviewer` via
6469
+ * `review:human-required`.
6470
+ */
6471
+ declare const AuditSeverity: {
6472
+ /**
6473
+ * The finding has a deterministic mechanical fix that the Phase 2
6474
+ * (Fix) agent will auto-apply (TSDoc stubs, dead-link updates,
6475
+ * registry sync, etc.).
6476
+ */
6477
+ readonly Mechanical: "mechanical";
6478
+ /**
6479
+ * The finding deserves human attention but does not block the PR.
6480
+ * Surfaced as a non-blocking note on the sticky `## Docs sync`
6481
+ * comment.
6482
+ */
6483
+ readonly Advisory: "advisory";
6484
+ /**
6485
+ * The finding blocks the PR. Per the parent epic this is reserved
6486
+ * for the two narrow cases of confirmed broken external links and
6487
+ * fenced TS samples that fail to compile.
6488
+ */
6489
+ readonly Blocking: "blocking";
6490
+ };
6491
+ /**
6492
+ * String-literal type matching the values of {@link AuditSeverity}.
6493
+ */
6494
+ type AuditSeverity = (typeof AuditSeverity)[keyof typeof AuditSeverity];
6495
+ /**
6496
+ * Invocation mode of the scan phase. Determines how downstream
6497
+ * tooling treats the report — `pr` reports run against a single
6498
+ * branch and feed `pr-reviewer`; `audit` reports walk the whole
6499
+ * repo and feed the prioritized `docs:write` backlog.
6500
+ */
6501
+ declare const AuditMode: {
6502
+ readonly Pr: "pr";
6503
+ readonly Audit: "audit";
6504
+ };
6505
+ /**
6506
+ * String-literal type matching the values of {@link AuditMode}.
6507
+ */
6508
+ type AuditMode = (typeof AuditMode)[keyof typeof AuditMode];
6509
+ /**
6510
+ * File-and-line location attached to most finding shapes. The
6511
+ * `file` field is always a path relative to the repo root so reports
6512
+ * are portable across machines; absolute paths must be normalized
6513
+ * before they reach the report.
6514
+ */
6515
+ interface AuditLocation {
6516
+ /**
6517
+ * Path relative to {@link AuditReport.repoRoot}. Empty string is
6518
+ * permitted for findings that have no associated file (e.g. an
6519
+ * `apiDiff` removed-export finding that lost its source location).
6520
+ */
6521
+ readonly file: string;
6522
+ /**
6523
+ * 1-indexed line number when known. `0` means "line is not known"
6524
+ * — downstream consumers must treat `0` as missing rather than as
6525
+ * the literal first line.
6526
+ */
6527
+ readonly line: number;
6528
+ }
6529
+ /**
6530
+ * Common fields every finding shape carries. The category-specific
6531
+ * record types below extend this interface with additional fields.
6532
+ */
6533
+ interface AuditFindingBase {
6534
+ /**
6535
+ * Drift-check category that produced the finding. Mirrors the key
6536
+ * on the {@link AuditReport} that the finding is filed under.
6537
+ */
6538
+ readonly category: AuditCategory;
6539
+ /**
6540
+ * Severity classification per the {@link AuditSeverity} ladder.
6541
+ */
6542
+ readonly severity: AuditSeverity;
6543
+ /**
6544
+ * Source location the finding is anchored at. Empty location is
6545
+ * tolerated for findings with no concrete anchor.
6546
+ */
6547
+ readonly location: AuditLocation;
6548
+ /**
6549
+ * Stable subject identifier. For symbol findings this is the
6550
+ * exported symbol name; for link findings the URL; for sample
6551
+ * findings the docPath plus fence index. Used by Phase 2 to
6552
+ * deduplicate findings across runs.
6553
+ */
6554
+ readonly subject: string;
6555
+ /**
6556
+ * One-sentence human-readable description of the finding.
6557
+ * Phase 2 surfaces this directly in the sticky PR comment, so
6558
+ * keep it short and self-contained — no markdown links to
6559
+ * external context, and never includes generated prose over the
6560
+ * 100-word stub budget.
6561
+ */
6562
+ readonly details: string;
6563
+ /**
6564
+ * Optional hint for the Phase 2 fix agent. When present and the
6565
+ * severity is `mechanical`, Phase 2 may use this string to
6566
+ * compute the auto-applied edit. Free-form; downstream consumers
6567
+ * should treat unknown hints as no-op.
6568
+ */
6569
+ readonly fixHint?: string;
6570
+ }
6571
+ /**
6572
+ * Finding produced by the public-API diff check. Wired in by #519.
6573
+ */
6574
+ interface ApiDiffFinding extends AuditFindingBase {
6575
+ readonly category: typeof AuditCategory.ApiDiff;
6576
+ /**
6577
+ * Kind of API change observed. The literal `added` covers a new
6578
+ * export; `removed` covers a deletion; `changed` covers a
6579
+ * signature change that does not rename or remove the symbol.
6580
+ */
6581
+ readonly change: "added" | "removed" | "changed";
6582
+ /**
6583
+ * Public name of the symbol whose surface changed.
6584
+ */
6585
+ readonly symbol: string;
6586
+ }
6587
+ /**
6588
+ * Finding produced by the TSDoc-coverage check. Wired in by #519.
6589
+ */
6590
+ interface TsdocCoverageFinding extends AuditFindingBase {
6591
+ readonly category: typeof AuditCategory.TsdocCoverage;
6592
+ /**
6593
+ * Public name of the symbol that is missing or has thin TSDoc.
6594
+ */
6595
+ readonly symbol: string;
6596
+ /**
6597
+ * Coverage shortfall the finding reports. `missing-summary`
6598
+ * means no TSDoc at all; `thin-summary` means the summary exists
6599
+ * but is shorter than the configured threshold; `missing-params`
6600
+ * / `missing-returns` mean the signature has parameters or a
6601
+ * return value with no matching block tag.
6602
+ */
6603
+ readonly shortfall: "missing-summary" | "thin-summary" | "missing-params" | "missing-returns";
6604
+ }
6605
+ /**
6606
+ * Finding produced by the doc-reference cross-index check. Wired in
6607
+ * by #519.
6608
+ */
6609
+ interface ReferenceMismatchFinding extends AuditFindingBase {
6610
+ readonly category: typeof AuditCategory.ReferenceMismatches;
6611
+ /**
6612
+ * Inline-code symbol referenced in the markdown source.
6613
+ */
6614
+ readonly symbol: string;
6615
+ /**
6616
+ * Why the reference is flagged. `unknown-symbol` means the
6617
+ * symbol does not appear in the supplied known-symbols set;
6618
+ * `signature-changed` means the symbol still resolves but its
6619
+ * type signature differs from the cached snapshot.
6620
+ */
6621
+ readonly mismatch: "unknown-symbol" | "signature-changed";
6622
+ }
6623
+ /**
6624
+ * Finding produced by the link-integrity check. Wired in by #520.
6625
+ */
6626
+ interface LinkFailureFinding extends AuditFindingBase {
6627
+ readonly category: typeof AuditCategory.LinkFailures;
6628
+ /**
6629
+ * URL or relative path that failed integrity checks.
6630
+ */
6631
+ readonly url: string;
6632
+ /**
6633
+ * Whether the link is internal (resolved by `astro check`) or
6634
+ * external (resolved by `lychee`).
6635
+ */
6636
+ readonly kind: "internal" | "external";
6637
+ /**
6638
+ * Short tool-supplied diagnostic explaining the failure.
6639
+ */
6640
+ readonly reason: string;
6641
+ }
6642
+ /**
6643
+ * Finding produced by the fenced-sample compilation check. Wired in
6644
+ * by #520.
6645
+ */
6646
+ interface SampleFailureFinding extends AuditFindingBase {
6647
+ readonly category: typeof AuditCategory.SampleFailures;
6648
+ /**
6649
+ * 0-indexed position of the fenced block within the markdown file.
6650
+ */
6651
+ readonly fenceIndex: number;
6652
+ /**
6653
+ * Language tag the sample carried (e.g. `ts`, `typescript`,
6654
+ * `tsx`, `typescriptreact`).
6655
+ */
6656
+ readonly lang: string;
6657
+ /**
6658
+ * Compiler diagnostics produced by `tsc` against the sample.
6659
+ */
6660
+ readonly diagnostics: ReadonlyArray<string>;
6661
+ }
6662
+ /**
6663
+ * Discriminated union of every category-specific finding shape.
6664
+ */
6665
+ type AuditFinding = ApiDiffFinding | TsdocCoverageFinding | ReferenceMismatchFinding | LinkFailureFinding | SampleFailureFinding;
6666
+ /**
6667
+ * Schema version embedded on every persisted audit report. Bump on
6668
+ * any breaking change to the report shape so downstream consumers
6669
+ * can refuse incompatible files rather than mis-parsing them.
6670
+ *
6671
+ * Versioning is **integer-monotonic**: the producer of a v2 report
6672
+ * is responsible for keeping the v1 fields parseable when
6673
+ * possible, but a v1 reader must reject a v2 report it does not
6674
+ * understand.
6675
+ */
6676
+ declare const DOCS_SYNC_AUDIT_SCHEMA_VERSION = 1;
6677
+ /**
6678
+ * Top-level audit-report shape persisted to
6679
+ * `.claude/state/docs-sync/<N>-audit.json`. The category-keyed
6680
+ * arrays are the durable surface; the flat `findings` array is a
6681
+ * convenience aggregation of the same records.
6682
+ */
6683
+ interface AuditReport {
6684
+ /**
6685
+ * Schema version embedded on every persisted report. Always
6686
+ * equal to {@link DOCS_SYNC_AUDIT_SCHEMA_VERSION} at write time.
6687
+ */
6688
+ readonly schemaVersion: number;
6689
+ /**
6690
+ * Tracking-issue number the scan ran for. Determines the
6691
+ * filename when persisted (`<issueNumber>-audit.json`).
6692
+ */
6693
+ readonly issueNumber: number;
6694
+ /**
6695
+ * Invocation mode — `pr` for diff-scoped runs invoked through
6696
+ * `/docs-sync-pr`, `audit` for full-repo runs invoked through
6697
+ * `/docs-sync-audit`.
6698
+ */
6699
+ readonly mode: AuditMode;
6700
+ /**
6701
+ * ISO 8601 UTC timestamp the scan completed at. Always written
6702
+ * with `Z` suffix; consumers parse with `Date(...)`.
6703
+ */
6704
+ readonly generatedAt: string;
6705
+ /**
6706
+ * Absolute path to the repository root the scan ran against.
6707
+ * Persisted so a downstream consumer reading the report on a
6708
+ * different checkout can rewrite paths relative to its own
6709
+ * root.
6710
+ */
6711
+ readonly repoRoot: string;
6712
+ /**
6713
+ * Optional free-form scope label attached at the issue level
6714
+ * (e.g. `pr:feat/518-foo`, `audit:packages/configulator`).
6715
+ * Empty string when no scope was supplied.
6716
+ */
6717
+ readonly scope: string;
6718
+ /**
6719
+ * Findings grouped by drift-check category. Every category key
6720
+ * is always present and always an array — empty arrays are
6721
+ * persisted explicitly so consumers never have to test for
6722
+ * presence.
6723
+ */
6724
+ readonly categories: {
6725
+ readonly apiDiff: ReadonlyArray<ApiDiffFinding>;
6726
+ readonly tsdocCoverage: ReadonlyArray<TsdocCoverageFinding>;
6727
+ readonly referenceMismatches: ReadonlyArray<ReferenceMismatchFinding>;
6728
+ readonly linkFailures: ReadonlyArray<LinkFailureFinding>;
6729
+ readonly sampleFailures: ReadonlyArray<SampleFailureFinding>;
6730
+ };
6731
+ /**
6732
+ * Flat re-aggregation of every category-keyed finding into a
6733
+ * single deterministically-ordered array. Sorted by `severity`
6734
+ * (`blocking` first, then `advisory`, then `mechanical`), then
6735
+ * `category` (alphabetical), then `location.file`,
6736
+ * `location.line`, `subject`. Provided so consumers that don't
6737
+ * need the category grouping can iterate one array and see the
6738
+ * merge-blocking findings at the top.
6739
+ */
6740
+ readonly findings: ReadonlyArray<AuditFinding>;
6741
+ }
6742
+ /**
6743
+ * JSON-Schema-shaped descriptor for {@link AuditReport}. Returned by
6744
+ * {@link auditReportJsonSchema} so downstream tooling (e.g. ajv)
6745
+ * can validate persisted reports without re-importing the TS
6746
+ * types. The shape is hand-authored and deliberately permissive on
6747
+ * forward-compatible additions (extra category keys are forbidden;
6748
+ * extra finding fields are permitted).
6749
+ *
6750
+ * Returned as a plain JSON-shaped record — callers that want to
6751
+ * feed it into ajv or another validator pass it through directly.
6752
+ */
6753
+ declare function auditReportJsonSchema(): Record<string, unknown>;
6754
+
6755
+ /**
6756
+ * Default subdirectory beneath the repo root where audit reports are
6757
+ * persisted. Mirrors the path declared on issue #518's acceptance
6758
+ * criteria: `.claude/state/docs-sync/<N>-audit.json`.
6759
+ */
6760
+ declare const DEFAULT_AUDIT_REPORT_DIR = ".claude/state/docs-sync";
6761
+ /**
6762
+ * Stable iteration order for category keys. Matches the order they
6763
+ * appear in the persisted report and the order they ran during the
6764
+ * scan (API surface diff first, then TSDoc, then references, then
6765
+ * the docs-only checks). The order is part of the contract — a
6766
+ * consumer that walks `Object.keys(report.categories)` sees this
6767
+ * order on every read.
6768
+ */
6769
+ declare const AUDIT_CATEGORY_ORDER: ReadonlyArray<AuditCategory>;
6770
+ /**
6771
+ * One drift-check runner. The scan orchestrator invokes each
6772
+ * runner in registration order, collects the findings, and merges
6773
+ * them into the persisted report. Runners are intentionally
6774
+ * synchronous to keep the scaffold simple — children #519 and
6775
+ * #520 may introduce async runners by adding a parallel
6776
+ * `AsyncAuditCheckRunner` shape if needed.
6777
+ *
6778
+ * Runners are pure functions: given the same context they should
6779
+ * produce the same finding list. The scan orchestrator does not
6780
+ * sandbox them — a runner that mutates the filesystem or shells
6781
+ * out is on its own honor.
6782
+ */
6783
+ interface AuditCheckRunner {
6784
+ /**
6785
+ * Stable name used in diagnostics and logs. Conventionally
6786
+ * matches the category the runner produces findings in (e.g.
6787
+ * `apiDiff`, `tsdocCoverage`).
6788
+ */
6789
+ readonly name: string;
6790
+ /**
6791
+ * Compute the findings for this check. Runners must return
6792
+ * already-validated finding records — the orchestrator does not
6793
+ * post-process category, severity, or location.
6794
+ */
6795
+ run(context: AuditCheckRunnerContext): ReadonlyArray<AuditFinding>;
6796
+ }
6797
+ /**
6798
+ * Context passed to every check runner. Carries the same fields
6799
+ * the orchestrator needs to populate the report header so runners
6800
+ * can consult them when computing their findings (e.g. resolve
6801
+ * relative paths against `repoRoot`).
6802
+ */
6803
+ interface AuditCheckRunnerContext {
6804
+ readonly repoRoot: string;
6805
+ readonly mode: AuditMode;
6806
+ readonly scope: string;
6807
+ readonly issueNumber: number;
6808
+ }
6809
+ /**
6810
+ * Options accepted by {@link runScan}.
6811
+ */
6812
+ interface RunScanOptions {
6813
+ /**
6814
+ * Absolute path to the repository root the scan runs against.
6815
+ * The audit report's `repoRoot` field is set to this value
6816
+ * verbatim — pass an absolute path so consumers reading the
6817
+ * report on a different checkout can rewrite paths reliably.
6818
+ */
6819
+ readonly repoRoot: string;
6820
+ /**
6821
+ * Tracking-issue number the scan ran for. Determines the
6822
+ * persisted filename (`<issueNumber>-audit.json`).
6823
+ */
6824
+ readonly issueNumber: number;
6825
+ /**
6826
+ * Invocation mode — `pr` for diff-scoped runs, `audit` for
6827
+ * full-repo runs.
6828
+ */
6829
+ readonly mode: AuditMode;
6830
+ /**
6831
+ * Optional free-form scope label. Persisted on the report and
6832
+ * forwarded to every runner. Defaults to the empty string.
6833
+ */
6834
+ readonly scope?: string;
6835
+ /**
6836
+ * Drift-check runners to invoke in order. Empty by default —
6837
+ * #518 ships the orchestrator skeleton without any wired
6838
+ * checks; #519 and #520 plug them in.
6839
+ */
6840
+ readonly checks?: ReadonlyArray<AuditCheckRunner>;
6841
+ /**
6842
+ * Override the timestamp embedded on the report. Used in tests
6843
+ * to make output deterministic. Defaults to `new Date()` at
6844
+ * scan start.
6845
+ */
6846
+ readonly now?: Date;
6847
+ /**
6848
+ * When `true`, persist the report to disk under
6849
+ * `<repoRoot>/<reportDir>/<issueNumber>-audit.json`. When
6850
+ * `false` (the default), the report is returned in memory only.
6851
+ *
6852
+ * @default false
6853
+ */
6854
+ readonly persist?: boolean;
6855
+ /**
6856
+ * Override the directory the report is written to (relative to
6857
+ * {@link RunScanOptions.repoRoot}). Defaults to
6858
+ * {@link DEFAULT_AUDIT_REPORT_DIR}.
6859
+ *
6860
+ * @default ".claude/state/docs-sync"
6861
+ */
6862
+ readonly reportDir?: string;
6863
+ }
6864
+ /**
6865
+ * Result returned by {@link runScan}. Always carries the report;
6866
+ * `reportPath` is non-empty only when persistence was requested.
6867
+ */
6868
+ interface RunScanResult {
6869
+ /**
6870
+ * The report produced by the scan. Schema-compliant whether or
6871
+ * not any checks ran — empty `categories` arrays are persisted
6872
+ * explicitly.
6873
+ */
6874
+ readonly report: AuditReport;
6875
+ /**
6876
+ * Absolute path the report was persisted to. Empty string when
6877
+ * `persist` was `false`.
6878
+ */
6879
+ readonly reportPath: string;
6880
+ }
6881
+ /**
6882
+ * Run the docs-sync scan phase. Invokes every registered check
6883
+ * runner in order, merges the findings into a single
6884
+ * schema-compliant {@link AuditReport}, and optionally persists
6885
+ * the report to `<repoRoot>/<reportDir>/<issueNumber>-audit.json`.
6886
+ *
6887
+ * #518 ships this function with an **empty default check list**:
6888
+ * invoking `runScan({ repoRoot, issueNumber, mode: "pr" })`
6889
+ * produces a report whose `findings` and per-category arrays are
6890
+ * all empty. Children #519 and #520 register the real checks by
6891
+ * passing them via the `checks` option.
6892
+ */
6893
+ declare function runScan(options: RunScanOptions): RunScanResult;
6894
+ /**
6895
+ * Compute the final {@link AuditReport} from a flat list of
6896
+ * findings. Group by category, sort each bucket deterministically,
6897
+ * and produce the flat `findings` aggregation in the documented
6898
+ * order. Exported so #519 / #520 can build reports incrementally
6899
+ * without re-running the whole scan.
6900
+ */
6901
+ declare function buildReport(args: {
6902
+ readonly issueNumber: number;
6903
+ readonly mode: AuditMode;
6904
+ readonly scope: string;
6905
+ readonly repoRoot: string;
6906
+ readonly generatedAt: Date;
6907
+ readonly findings: ReadonlyArray<AuditFinding>;
6908
+ }): AuditReport;
6909
+ /**
6910
+ * Persist an {@link AuditReport} to disk. The directory is created
6911
+ * recursively when missing; the file is written atomically via a
6912
+ * temp-file + rename so a partial write never produces a corrupt
6913
+ * report.
6914
+ */
6915
+ declare function persistAuditReport(args: {
6916
+ readonly report: AuditReport;
6917
+ readonly repoRoot: string;
6918
+ readonly reportDir?: string;
6919
+ }): string;
6920
+ /**
6921
+ * Build an empty {@link AuditReport.categories} record with every
6922
+ * key explicitly set to an empty array. Exported so callers that
6923
+ * stub the report shape in tests don't have to repeat the keys.
6924
+ */
6925
+ declare function emptyCategoryBuckets(): {
6926
+ apiDiff: Array<AuditFinding & {
6927
+ category: typeof AuditCategory.ApiDiff;
6928
+ }>;
6929
+ tsdocCoverage: Array<AuditFinding & {
6930
+ category: typeof AuditCategory.TsdocCoverage;
6931
+ }>;
6932
+ referenceMismatches: Array<AuditFinding & {
6933
+ category: typeof AuditCategory.ReferenceMismatches;
6934
+ }>;
6935
+ linkFailures: Array<AuditFinding & {
6936
+ category: typeof AuditCategory.LinkFailures;
6937
+ }>;
6938
+ sampleFailures: Array<AuditFinding & {
6939
+ category: typeof AuditCategory.SampleFailures;
6940
+ }>;
6941
+ };
6942
+
6704
6943
  /**
6705
6944
  * One row in the TSDoc-coverage report — describes a single public
6706
6945
  * symbol exported (transitively) from the package's entry point and
@@ -8719,4 +8958,4 @@ declare const COMPLETE_JOB_ID = "complete";
8719
8958
  */
8720
8959
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
8721
8960
 
8722
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CompileFencedSamplesOptions, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, type CustomDocSection, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_SAMPLE_COMPILER_OPTIONS, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, type DeployWorkflowOptions, type DeploymentMetadata, type DocReferenceRecord, type ExtractDocReferencesOptions, type ExtractFencedSamplesOptions, type FencedSampleRecord, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, type IssueTemplatesConfig, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MeetingArea, type MeetingScope, type MeetingType, type MeetingTypeKind, type MeetingsConfig, type MergeMethod, type MonorepoLayoutRoot, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, type PnpmWorkspaceOptions, type PreflightMergeMethod, type PreflightPrConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedIssueTemplates, type ResolvedPreflightPr, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedUnblockDependents, type ResolvedWorkflowDiagrams, type RunRatioConfig, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, type SampleCompilationFailure, SampleLang, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, type ScopeGateConfig, type ScopeGateThresholds, type SharedEditingConfig, type SkillEvalsConfig, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, type TemplateResolveResult, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, type WorkflowDiagramsConfig, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, checkDocSamplesProcedure, checkLinksProcedure, classifyIssueScope, classifyRun, companyProfileBundle, compileFencedSamples, customerProfileBundle, docsSyncBundle, extractApiProcedure, extractDocReferences, extractFencedSamples, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCheckDocSamplesProcedure, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8961
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AUDIT_CATEGORY_ORDER, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, type ApiDiffFinding, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, AuditCategory, type AuditCheckRunner, type AuditCheckRunnerContext, type AuditFinding, type AuditFindingBase, type AuditLocation, AuditMode, type AuditReport, AuditSeverity, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CompileFencedSamplesOptions, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, type CustomDocSection, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_AUDIT_REPORT_DIR, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_SAMPLE_COMPILER_OPTIONS, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DOCS_SYNC_AUDIT_SCHEMA_VERSION, type DeployWorkflowOptions, type DeploymentMetadata, type DocReferenceRecord, type ExtractDocReferencesOptions, type ExtractFencedSamplesOptions, type FencedSampleRecord, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, type IssueTemplatesConfig, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, type LinkFailureFinding, MAX_LABEL_DESCRIPTION_LENGTH, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MeetingArea, type MeetingScope, type MeetingType, type MeetingTypeKind, type MeetingsConfig, type MergeMethod, type MonorepoLayoutRoot, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, type PnpmWorkspaceOptions, type PreflightMergeMethod, type PreflightPrConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type ReferenceMismatchFinding, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedIssueTemplates, type ResolvedPreflightPr, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedUnblockDependents, type RunRatioConfig, type RunScanOptions, type RunScanResult, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, type SampleCompilationFailure, type SampleFailureFinding, SampleLang, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, type ScopeGateConfig, type ScopeGateThresholds, type SharedEditingConfig, type SkillEvalsConfig, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, type TemplateResolveResult, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, type TsdocCoverageFinding, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, auditReportJsonSchema, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildReport, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, checkDocSamplesProcedure, checkLinksProcedure, classifyIssueScope, classifyRun, companyProfileBundle, compileFencedSamples, customerProfileBundle, docsSyncBundle, emptyCategoryBuckets, extractApiProcedure, extractDocReferences, extractFencedSamples, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, persistAuditReport, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCheckDocSamplesProcedure, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, runScan, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, vitestBundle };