@codedrifters/configulator 0.0.292 → 0.0.294

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
@@ -1684,7 +1684,11 @@ interface ScopeGateConfig {
1684
1684
  * phase-completion checklist that can be decomposed — clear the
1685
1685
  * gate even when their AC count is well above the global cap.
1686
1686
  *
1687
- * Configulator ships two opt-in defaults out of the box:
1687
+ * Configulator ships eight opt-in defaults out of the box
1688
+ * each calibrated against an observed cohort of phase-template
1689
+ * issues whose AC list is the per-section content checklist for
1690
+ * one cohesive deliverable rather than a phase-completion
1691
+ * checklist that can be decomposed:
1688
1692
  *
1689
1693
  * - `req:write` — formal requirement documents (ADR / TR / OPS /
1690
1694
  * SEC / NFR / UX / MT) routinely carry 12–20 ACs covering
@@ -1694,6 +1698,30 @@ interface ScopeGateConfig {
1694
1698
  * addendum requirements into coarse ACs but still land above
1695
1699
  * the global cap. Default override:
1696
1700
  * `{ acceptanceCriteria: { mediumMax: 12 } }` (sources unchanged).
1701
+ * - `research:verify` — fixed-shape verify template emitted by
1702
+ * the `research-analyst` slice phase (uniformly `ac=9 / src=2`
1703
+ * in the wild). Default override:
1704
+ * `{ acceptanceCriteria: { mediumMax: 12 } }` (sources unchanged).
1705
+ * - `software:profile` — single software-product profile pages
1706
+ * with per-section content invariants. Default override:
1707
+ * `{ acceptanceCriteria: { mediumMax: 14 } }` (sources unchanged).
1708
+ * - `regulatory:research` — single regulation pages covering
1709
+ * jurisdiction, scope, obligations, penalties, and effective
1710
+ * dates. Default override:
1711
+ * `{ acceptanceCriteria: { mediumMax: 10 } }` (sources unchanged).
1712
+ * - `software:map` — single capability-mapping matrix file whose
1713
+ * Sources block typically cross-references the entire BCM tree
1714
+ * slice. Default override:
1715
+ * `{ acceptanceCriteria: { mediumMax: 12 }, sources: { mediumMax: 15 } }`.
1716
+ * - `bcm:connect` — connect-phase outputs that cross-link a
1717
+ * capability to upstream value streams, downstream profiles,
1718
+ * and adjacent capabilities. Default override:
1719
+ * `{ acceptanceCriteria: { mediumMax: 12 }, sources: { mediumMax: 8 } }`.
1720
+ * - `software:matrix` — physician-RCM-style feature matrices
1721
+ * (per-row/per-column requirements for one cohesive matrix
1722
+ * file). Mirrors `software:map` (closest peer). Default
1723
+ * override:
1724
+ * `{ acceptanceCriteria: { mediumMax: 12 }, sources: { mediumMax: 15 } }`.
1697
1725
  *
1698
1726
  * Consumer overrides **deep-merge** with the shipped defaults
1699
1727
  * with **consumer-wins-per-key**:
@@ -3422,7 +3450,7 @@ declare const baseBundle: AgentRuleBundle;
3422
3450
  * surfaced items via `people:research`, `company:research`, and
3423
3451
  * `research:scope` issues.
3424
3452
  */
3425
- declare function buildBcmWriterBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
3453
+ declare function buildBcmWriterBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
3426
3454
  /**
3427
3455
  * Default-paths instance of the bcm-writer bundle, preserved for
3428
3456
  * backward compatibility with consumers that import the const directly.
@@ -3446,7 +3474,7 @@ declare const bcmWriterBundle: AgentRuleBundle;
3446
3474
  * `company-profile` via the shared `<BUSINESS_MODELS_ROOT>` default
3447
3475
  * path (`<docsRoot>/industry-research/`).
3448
3476
  */
3449
- declare function buildBusinessModelsBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
3477
+ declare function buildBusinessModelsBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
3450
3478
  /**
3451
3479
  * Default-paths instance of the business-models bundle, preserved for
3452
3480
  * backward compatibility with consumers that import the const
@@ -3672,7 +3700,7 @@ declare const jestBundle: AgentRuleBundle;
3672
3700
  * automatically pick up the label taxonomy through the sync-labels
3673
3701
  * workflow.
3674
3702
  */
3675
- declare function buildMaintenanceAuditBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
3703
+ declare function buildMaintenanceAuditBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
3676
3704
  /**
3677
3705
  * Default-paths instance of the maintenance-audit bundle, preserved
3678
3706
  * for backward compatibility with consumers that import the const
@@ -4016,7 +4044,7 @@ declare const DEFAULT_SOURCES_THRESHOLDS: ScopeGateThresholds;
4016
4044
  * calibrated for phased-bundle issues and systematically over-flags
4017
4045
  * single-document writes.
4018
4046
  *
4019
- * The two shipped overrides:
4047
+ * The shipped overrides:
4020
4048
  *
4021
4049
  * - `req:write` — formal requirement documents (ADR / TR / OPS /
4022
4050
  * SEC / NFR / UX / MT) routinely carry 12–20 ACs covering
@@ -4027,6 +4055,41 @@ declare const DEFAULT_SOURCES_THRESHOLDS: ScopeGateThresholds;
4027
4055
  * addendum requirements into coarse ACs but still land above
4028
4056
  * the global cap. Cap: `mediumMax: 12` on the AC axis; sources
4029
4057
  * unchanged.
4058
+ * - `research:verify` — the `research-analyst` slice phase emits
4059
+ * a fixed-shape verify template. A 32-issue cohort observed in
4060
+ * `codedrifters/openhi-planning` (2026-05-04) all landed at
4061
+ * identical `ac=9 / src=2` dimensions, so the template's shape
4062
+ * itself is what trips the global cap. Cap: `mediumMax: 12` on
4063
+ * the AC axis (max observed 9 + ~3 headroom); sources unchanged.
4064
+ * - `software:profile` — software-product profile pages enumerate
4065
+ * per-section content invariants (overview, vendor, integrations,
4066
+ * pricing, security posture, …). Max observed 11 ACs in the same
4067
+ * openhi-planning sample; cap: `mediumMax: 14` on the AC axis
4068
+ * (max observed + 3 headroom); sources unchanged.
4069
+ * - `regulatory:research` — single regulation pages carry per-
4070
+ * section ACs covering jurisdiction, scope, obligations,
4071
+ * penalties, and effective dates. Max observed 7 ACs; cap:
4072
+ * `mediumMax: 10` on the AC axis (max observed + 3 headroom);
4073
+ * sources unchanged.
4074
+ * - `software:map` — capability-mapping output is a single cohesive
4075
+ * matrix file whose ACs enumerate per-row/per-column requirements
4076
+ * and whose Sources block typically cross-references the entire
4077
+ * BCM tree slice. Max observed `ac=9 / src=13`; cap:
4078
+ * `acceptanceCriteria.mediumMax: 12` (max + 3) and
4079
+ * `sources.mediumMax: 15` (max + 2 — sources headroom is tighter
4080
+ * because BCM cross-refs naturally cap out near the slice size).
4081
+ * - `bcm:connect` — connect-phase outputs cross-link a capability
4082
+ * to upstream value streams, downstream profiles, and adjacent
4083
+ * capabilities. Max observed `ac=9 / src=6`; cap:
4084
+ * `acceptanceCriteria.mediumMax: 12` (max + 3) and
4085
+ * `sources.mediumMax: 8` (max + 2).
4086
+ * - `software:matrix` — physician-RCM-style feature matrices
4087
+ * (per-row/per-column requirements for one cohesive matrix
4088
+ * file). The shape mirrors `software:map`: single-cohesive-
4089
+ * file matrix output whose ACs enumerate per-row/per-column
4090
+ * requirements rather than phase milestones. Mirrors the
4091
+ * `software:map` thresholds verbatim (closest-peer rationale,
4092
+ * surfaced by openhi-planning#3223).
4030
4093
  *
4031
4094
  * Consumer overrides deep-merge with these defaults with
4032
4095
  * consumer-wins-per-key (see `resolveScopeGate` for the merge
@@ -5277,7 +5340,7 @@ declare function renderStubIndexConventionRuleContent(): string;
5277
5340
  * consumer override of `AgentConfigOptions.paths` propagates to the
5278
5341
  * rendered output.
5279
5342
  */
5280
- declare function buildRequirementsAnalystBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5343
+ declare function buildRequirementsAnalystBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5281
5344
  /**
5282
5345
  * Default-paths instance of the requirements-analyst bundle, preserved
5283
5346
  * for backward compatibility with consumers that import the const
@@ -5317,7 +5380,7 @@ declare const requirementsAnalystBundle: AgentRuleBundle;
5317
5380
  * phase label so they share the same queue and triage flow as the
5318
5381
  * rest of the requirements pipeline.
5319
5382
  */
5320
- declare function buildRequirementsReviewerBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5383
+ declare function buildRequirementsReviewerBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5321
5384
  /**
5322
5385
  * Default-paths instance of the requirements-reviewer bundle, preserved
5323
5386
  * for backward compatibility with consumers that import the const
@@ -5360,7 +5423,7 @@ declare const REQUIREMENTS_WRITER_PATHS: {
5360
5423
  * `type:requirement` is intentionally **not** declared here — it is
5361
5424
  * already declared by the `requirements-analyst` bundle and reused.
5362
5425
  */
5363
- declare function buildRequirementsWriterBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5426
+ declare function buildRequirementsWriterBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5364
5427
  /**
5365
5428
  * Default-paths instance of the requirements-writer bundle, preserved
5366
5429
  * for backward compatibility with consumers that import the const
@@ -5377,7 +5440,7 @@ declare const requirementsWriterBundle: AgentRuleBundle;
5377
5440
  * interpolation of the supplied `paths` struct, so a consumer override
5378
5441
  * of `AgentConfigOptions.paths` propagates to the rendered output.
5379
5442
  */
5380
- declare function buildResearchPipelineBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5443
+ declare function buildResearchPipelineBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5381
5444
  /**
5382
5445
  * Default-paths instance of the research-pipeline bundle, preserved
5383
5446
  * for backward compatibility with consumers that import the const
package/lib/index.d.ts CHANGED
@@ -1733,7 +1733,11 @@ interface ScopeGateConfig {
1733
1733
  * phase-completion checklist that can be decomposed — clear the
1734
1734
  * gate even when their AC count is well above the global cap.
1735
1735
  *
1736
- * Configulator ships two opt-in defaults out of the box:
1736
+ * Configulator ships eight opt-in defaults out of the box
1737
+ * each calibrated against an observed cohort of phase-template
1738
+ * issues whose AC list is the per-section content checklist for
1739
+ * one cohesive deliverable rather than a phase-completion
1740
+ * checklist that can be decomposed:
1737
1741
  *
1738
1742
  * - `req:write` — formal requirement documents (ADR / TR / OPS /
1739
1743
  * SEC / NFR / UX / MT) routinely carry 12–20 ACs covering
@@ -1743,6 +1747,30 @@ interface ScopeGateConfig {
1743
1747
  * addendum requirements into coarse ACs but still land above
1744
1748
  * the global cap. Default override:
1745
1749
  * `{ acceptanceCriteria: { mediumMax: 12 } }` (sources unchanged).
1750
+ * - `research:verify` — fixed-shape verify template emitted by
1751
+ * the `research-analyst` slice phase (uniformly `ac=9 / src=2`
1752
+ * in the wild). Default override:
1753
+ * `{ acceptanceCriteria: { mediumMax: 12 } }` (sources unchanged).
1754
+ * - `software:profile` — single software-product profile pages
1755
+ * with per-section content invariants. Default override:
1756
+ * `{ acceptanceCriteria: { mediumMax: 14 } }` (sources unchanged).
1757
+ * - `regulatory:research` — single regulation pages covering
1758
+ * jurisdiction, scope, obligations, penalties, and effective
1759
+ * dates. Default override:
1760
+ * `{ acceptanceCriteria: { mediumMax: 10 } }` (sources unchanged).
1761
+ * - `software:map` — single capability-mapping matrix file whose
1762
+ * Sources block typically cross-references the entire BCM tree
1763
+ * slice. Default override:
1764
+ * `{ acceptanceCriteria: { mediumMax: 12 }, sources: { mediumMax: 15 } }`.
1765
+ * - `bcm:connect` — connect-phase outputs that cross-link a
1766
+ * capability to upstream value streams, downstream profiles,
1767
+ * and adjacent capabilities. Default override:
1768
+ * `{ acceptanceCriteria: { mediumMax: 12 }, sources: { mediumMax: 8 } }`.
1769
+ * - `software:matrix` — physician-RCM-style feature matrices
1770
+ * (per-row/per-column requirements for one cohesive matrix
1771
+ * file). Mirrors `software:map` (closest peer). Default
1772
+ * override:
1773
+ * `{ acceptanceCriteria: { mediumMax: 12 }, sources: { mediumMax: 15 } }`.
1746
1774
  *
1747
1775
  * Consumer overrides **deep-merge** with the shipped defaults
1748
1776
  * with **consumer-wins-per-key**:
@@ -3471,7 +3499,7 @@ declare const baseBundle: AgentRuleBundle;
3471
3499
  * surfaced items via `people:research`, `company:research`, and
3472
3500
  * `research:scope` issues.
3473
3501
  */
3474
- declare function buildBcmWriterBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
3502
+ declare function buildBcmWriterBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
3475
3503
  /**
3476
3504
  * Default-paths instance of the bcm-writer bundle, preserved for
3477
3505
  * backward compatibility with consumers that import the const directly.
@@ -3495,7 +3523,7 @@ declare const bcmWriterBundle: AgentRuleBundle;
3495
3523
  * `company-profile` via the shared `<BUSINESS_MODELS_ROOT>` default
3496
3524
  * path (`<docsRoot>/industry-research/`).
3497
3525
  */
3498
- declare function buildBusinessModelsBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
3526
+ declare function buildBusinessModelsBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
3499
3527
  /**
3500
3528
  * Default-paths instance of the business-models bundle, preserved for
3501
3529
  * backward compatibility with consumers that import the const
@@ -3721,7 +3749,7 @@ declare const jestBundle: AgentRuleBundle;
3721
3749
  * automatically pick up the label taxonomy through the sync-labels
3722
3750
  * workflow.
3723
3751
  */
3724
- declare function buildMaintenanceAuditBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
3752
+ declare function buildMaintenanceAuditBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
3725
3753
  /**
3726
3754
  * Default-paths instance of the maintenance-audit bundle, preserved
3727
3755
  * for backward compatibility with consumers that import the const
@@ -4065,7 +4093,7 @@ declare const DEFAULT_SOURCES_THRESHOLDS: ScopeGateThresholds;
4065
4093
  * calibrated for phased-bundle issues and systematically over-flags
4066
4094
  * single-document writes.
4067
4095
  *
4068
- * The two shipped overrides:
4096
+ * The shipped overrides:
4069
4097
  *
4070
4098
  * - `req:write` — formal requirement documents (ADR / TR / OPS /
4071
4099
  * SEC / NFR / UX / MT) routinely carry 12–20 ACs covering
@@ -4076,6 +4104,41 @@ declare const DEFAULT_SOURCES_THRESHOLDS: ScopeGateThresholds;
4076
4104
  * addendum requirements into coarse ACs but still land above
4077
4105
  * the global cap. Cap: `mediumMax: 12` on the AC axis; sources
4078
4106
  * unchanged.
4107
+ * - `research:verify` — the `research-analyst` slice phase emits
4108
+ * a fixed-shape verify template. A 32-issue cohort observed in
4109
+ * `codedrifters/openhi-planning` (2026-05-04) all landed at
4110
+ * identical `ac=9 / src=2` dimensions, so the template's shape
4111
+ * itself is what trips the global cap. Cap: `mediumMax: 12` on
4112
+ * the AC axis (max observed 9 + ~3 headroom); sources unchanged.
4113
+ * - `software:profile` — software-product profile pages enumerate
4114
+ * per-section content invariants (overview, vendor, integrations,
4115
+ * pricing, security posture, …). Max observed 11 ACs in the same
4116
+ * openhi-planning sample; cap: `mediumMax: 14` on the AC axis
4117
+ * (max observed + 3 headroom); sources unchanged.
4118
+ * - `regulatory:research` — single regulation pages carry per-
4119
+ * section ACs covering jurisdiction, scope, obligations,
4120
+ * penalties, and effective dates. Max observed 7 ACs; cap:
4121
+ * `mediumMax: 10` on the AC axis (max observed + 3 headroom);
4122
+ * sources unchanged.
4123
+ * - `software:map` — capability-mapping output is a single cohesive
4124
+ * matrix file whose ACs enumerate per-row/per-column requirements
4125
+ * and whose Sources block typically cross-references the entire
4126
+ * BCM tree slice. Max observed `ac=9 / src=13`; cap:
4127
+ * `acceptanceCriteria.mediumMax: 12` (max + 3) and
4128
+ * `sources.mediumMax: 15` (max + 2 — sources headroom is tighter
4129
+ * because BCM cross-refs naturally cap out near the slice size).
4130
+ * - `bcm:connect` — connect-phase outputs cross-link a capability
4131
+ * to upstream value streams, downstream profiles, and adjacent
4132
+ * capabilities. Max observed `ac=9 / src=6`; cap:
4133
+ * `acceptanceCriteria.mediumMax: 12` (max + 3) and
4134
+ * `sources.mediumMax: 8` (max + 2).
4135
+ * - `software:matrix` — physician-RCM-style feature matrices
4136
+ * (per-row/per-column requirements for one cohesive matrix
4137
+ * file). The shape mirrors `software:map`: single-cohesive-
4138
+ * file matrix output whose ACs enumerate per-row/per-column
4139
+ * requirements rather than phase milestones. Mirrors the
4140
+ * `software:map` thresholds verbatim (closest-peer rationale,
4141
+ * surfaced by openhi-planning#3223).
4079
4142
  *
4080
4143
  * Consumer overrides deep-merge with these defaults with
4081
4144
  * consumer-wins-per-key (see `resolveScopeGate` for the merge
@@ -5326,7 +5389,7 @@ declare function renderStubIndexConventionRuleContent(): string;
5326
5389
  * consumer override of `AgentConfigOptions.paths` propagates to the
5327
5390
  * rendered output.
5328
5391
  */
5329
- declare function buildRequirementsAnalystBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5392
+ declare function buildRequirementsAnalystBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5330
5393
  /**
5331
5394
  * Default-paths instance of the requirements-analyst bundle, preserved
5332
5395
  * for backward compatibility with consumers that import the const
@@ -5366,7 +5429,7 @@ declare const requirementsAnalystBundle: AgentRuleBundle;
5366
5429
  * phase label so they share the same queue and triage flow as the
5367
5430
  * rest of the requirements pipeline.
5368
5431
  */
5369
- declare function buildRequirementsReviewerBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5432
+ declare function buildRequirementsReviewerBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5370
5433
  /**
5371
5434
  * Default-paths instance of the requirements-reviewer bundle, preserved
5372
5435
  * for backward compatibility with consumers that import the const
@@ -5409,7 +5472,7 @@ declare const REQUIREMENTS_WRITER_PATHS: {
5409
5472
  * `type:requirement` is intentionally **not** declared here — it is
5410
5473
  * already declared by the `requirements-analyst` bundle and reused.
5411
5474
  */
5412
- declare function buildRequirementsWriterBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5475
+ declare function buildRequirementsWriterBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5413
5476
  /**
5414
5477
  * Default-paths instance of the requirements-writer bundle, preserved
5415
5478
  * for backward compatibility with consumers that import the const
@@ -5426,7 +5489,7 @@ declare const requirementsWriterBundle: AgentRuleBundle;
5426
5489
  * interpolation of the supplied `paths` struct, so a consumer override
5427
5490
  * of `AgentConfigOptions.paths` propagates to the rendered output.
5428
5491
  */
5429
- declare function buildResearchPipelineBundle(paths?: ResolvedAgentPaths): AgentRuleBundle;
5492
+ declare function buildResearchPipelineBundle(paths?: ResolvedAgentPaths, issueDefaults?: ResolvedIssueDefaults): AgentRuleBundle;
5430
5493
  /**
5431
5494
  * Default-paths instance of the research-pipeline bundle, preserved
5432
5495
  * for backward compatibility with consumers that import the const