@codedrifters/configulator 0.0.231 → 0.0.232
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.js +71 -62
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +71 -62
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.mjs
CHANGED
|
@@ -7297,7 +7297,10 @@ var requirementsAnalystSubAgent = {
|
|
|
7297
7297
|
" meeting extract).",
|
|
7298
7298
|
"3. **Respect the taxonomy.** Route every discovered requirement to the",
|
|
7299
7299
|
" correct BCM category (FR, BR, NFR, SEC, DR, INT, OPS, UX, MT, ADR, TR)",
|
|
7300
|
-
" using the disambiguation rules
|
|
7300
|
+
" using the shared disambiguation rules \u2014 the same taxonomy the",
|
|
7301
|
+
" `requirements-writer` and `requirements-reviewer` load. The",
|
|
7302
|
+
" canonical source lives in `requirements-taxonomy.ts` and is",
|
|
7303
|
+
" embedded verbatim in both downstream agents' prompts.",
|
|
7301
7304
|
"4. **Deduplicate.** Before creating an issue, check whether a requirement",
|
|
7302
7305
|
" already exists or an issue is already open for it.",
|
|
7303
7306
|
"",
|
|
@@ -7400,7 +7403,9 @@ var requirementsAnalystSubAgent = {
|
|
|
7400
7403
|
"2. **Identify potential gaps.** For each potential missing requirement:",
|
|
7401
7404
|
" - Classify into the correct BCM category (FR, BR, NFR, SEC, DR, INT,",
|
|
7402
7405
|
" OPS, UX, MT, ADR, TR)",
|
|
7403
|
-
" - Apply the disambiguation rules from
|
|
7406
|
+
" - Apply the shared disambiguation rules (from `requirements-taxonomy.ts`,",
|
|
7407
|
+
" also embedded in the requirements-writer and requirements-reviewer",
|
|
7408
|
+
" prompts)",
|
|
7404
7409
|
" - Note the source that revealed the gap",
|
|
7405
7410
|
" - Estimate priority based on the source context",
|
|
7406
7411
|
"",
|
|
@@ -7741,6 +7746,61 @@ var requirementsAnalystBundle = {
|
|
|
7741
7746
|
]
|
|
7742
7747
|
};
|
|
7743
7748
|
|
|
7749
|
+
// src/agent/bundles/requirements-taxonomy.ts
|
|
7750
|
+
var REQUIREMENTS_TAXONOMY_TABLE_SECTION = [
|
|
7751
|
+
"## The 11-Category Taxonomy",
|
|
7752
|
+
"",
|
|
7753
|
+
"All requirements follow the BIZBOK-aligned 11-category taxonomy",
|
|
7754
|
+
"below. Getting requirements into the right category matters because",
|
|
7755
|
+
"it determines which template applies, which standards inform it, and",
|
|
7756
|
+
"how it traces to other requirements.",
|
|
7757
|
+
"",
|
|
7758
|
+
"| Category | Prefix | Directory (default) | Question it answers |",
|
|
7759
|
+
"|----------|--------|---------------------|---------------------|",
|
|
7760
|
+
"| Business Requirements | BR | `business/` | **Why** are we building this? What business value does it deliver? |",
|
|
7761
|
+
"| Functional Requirements | FR | `functional/` | **What** does the system do? What is the user-visible behavior? |",
|
|
7762
|
+
"| Non-Functional Requirements | NFR | `non-functional/` | **How well** must the system perform? What quality bar must it meet? |",
|
|
7763
|
+
"| Technical Requirements | TR | `technical/` | **What technology** are we using, and why that one? |",
|
|
7764
|
+
"| Architectural Decisions | ADR | `architectural-decisions/` | **What structural decision** are we making, and what are the trade-offs? |",
|
|
7765
|
+
"| Security & Compliance | SEC | `security/` | **What must we protect**, and what rules govern that protection? |",
|
|
7766
|
+
"| Data Requirements | DR | `data/` | **What data** do we store, how long, and how do we recover it? |",
|
|
7767
|
+
"| Integration Requirements | INT | `integration/` | **What external systems** do we connect to, and how? |",
|
|
7768
|
+
"| Operational Requirements | OPS | `operational/` | **How do we deploy, monitor, and respond** to incidents? |",
|
|
7769
|
+
"| UX Requirements | UX | `ux/` | **How must the interface look, feel, and behave** for users? |",
|
|
7770
|
+
"| Multi-Tenancy & Licensing | MT | `multi-tenancy/` | **How do we isolate tenants, gate features, and meter usage?** |",
|
|
7771
|
+
"",
|
|
7772
|
+
"All requirement documents live under `<REQUIREMENTS_ROOT>` in the",
|
|
7773
|
+
"category directory shown above. Directory names are defaults \u2014",
|
|
7774
|
+
"consuming projects may rename them, but the prefixes are universal."
|
|
7775
|
+
];
|
|
7776
|
+
var REQUIREMENTS_TAXONOMY_DISAMBIGUATION_SECTION = [
|
|
7777
|
+
"- **SEC vs NFR:** Protecting data, enforcing access control, or",
|
|
7778
|
+
" meeting a regulation \u2192 SEC. System performance, uptime, or",
|
|
7779
|
+
' scalability \u2192 NFR. "99.9% uptime" is NFR; "audit logs for all',
|
|
7780
|
+
' admin actions" is SEC.',
|
|
7781
|
+
'- **TR vs ADR:** A TR pins down a specific technology choice ("use',
|
|
7782
|
+
' PostgreSQL 16+"). An ADR records a structural decision with',
|
|
7783
|
+
' context, trade-offs, and alternatives ("why row-level isolation',
|
|
7784
|
+
' over schema-per-tenant"). TRs often follow from ADRs.',
|
|
7785
|
+
"- **FR vs INT:** What the user experiences \u2192 FR. How two systems",
|
|
7786
|
+
' communicate \u2192 INT. "User can pay with a credit card" is FR;',
|
|
7787
|
+
' "Stripe Checkout API integration for payment processing" is INT.',
|
|
7788
|
+
"- **DR vs SEC:** What data exists, how long we keep it, and how we",
|
|
7789
|
+
" recover it \u2192 DR. Who can access it and how it's protected \u2192 SEC.",
|
|
7790
|
+
" These often cross-reference each other.",
|
|
7791
|
+
"- **NFR vs OPS:** A measurable target the system must meet \u2192 NFR.",
|
|
7792
|
+
' The tooling and processes to run the system \u2192 OPS. "p99 latency',
|
|
7793
|
+
' < 200ms" is NFR; "Datadog APM for latency monitoring" is OPS.'
|
|
7794
|
+
];
|
|
7795
|
+
var REQUIREMENTS_TIER_TABLE_SECTION = [
|
|
7796
|
+
"| Tier | Slug | When to use |",
|
|
7797
|
+
"|------|------|-------------|",
|
|
7798
|
+
"| **Platform** | `platform` | Core platform services \u2014 APIs, tenant isolation, auth, event bus, shared infrastructure |",
|
|
7799
|
+
"| **Industry** | `industry` | Vertical-specific capabilities not every tenant needs |",
|
|
7800
|
+
"| **Customer Workflow** | `customer-workflow` | Business logic tenants configure within the platform \u2014 approval chains, notification rules, intake processes |",
|
|
7801
|
+
"| **Consumer Application** | `consumer-app` | UI/UX and integrations in external front-ends/systems consuming the platform's APIs |"
|
|
7802
|
+
];
|
|
7803
|
+
|
|
7744
7804
|
// src/agent/bundles/requirements-writer.ts
|
|
7745
7805
|
var TEMPLATE_BR = `---
|
|
7746
7806
|
title: "BR-NNN: [Business Requirement Title]"
|
|
@@ -9672,52 +9732,13 @@ var requirementsWriterSubAgent = {
|
|
|
9672
9732
|
"",
|
|
9673
9733
|
"---",
|
|
9674
9734
|
"",
|
|
9675
|
-
|
|
9676
|
-
"",
|
|
9677
|
-
"All requirements follow the BIZBOK-aligned 11-category taxonomy",
|
|
9678
|
-
"below. Getting requirements into the right category matters because",
|
|
9679
|
-
"it determines which template applies, which standards inform it, and",
|
|
9680
|
-
"how it traces to other requirements.",
|
|
9681
|
-
"",
|
|
9682
|
-
"| Category | Prefix | Directory (default) | Question it answers |",
|
|
9683
|
-
"|----------|--------|---------------------|---------------------|",
|
|
9684
|
-
"| Business Requirements | BR | `business/` | **Why** are we building this? What business value does it deliver? |",
|
|
9685
|
-
"| Functional Requirements | FR | `functional/` | **What** does the system do? What is the user-visible behavior? |",
|
|
9686
|
-
"| Non-Functional Requirements | NFR | `non-functional/` | **How well** must the system perform? What quality bar must it meet? |",
|
|
9687
|
-
"| Technical Requirements | TR | `technical/` | **What technology** are we using, and why that one? |",
|
|
9688
|
-
"| Architectural Decisions | ADR | `architectural-decisions/` | **What structural decision** are we making, and what are the trade-offs? |",
|
|
9689
|
-
"| Security & Compliance | SEC | `security/` | **What must we protect**, and what rules govern that protection? |",
|
|
9690
|
-
"| Data Requirements | DR | `data/` | **What data** do we store, how long, and how do we recover it? |",
|
|
9691
|
-
"| Integration Requirements | INT | `integration/` | **What external systems** do we connect to, and how? |",
|
|
9692
|
-
"| Operational Requirements | OPS | `operational/` | **How do we deploy, monitor, and respond** to incidents? |",
|
|
9693
|
-
"| UX Requirements | UX | `ux/` | **How must the interface look, feel, and behave** for users? |",
|
|
9694
|
-
"| Multi-Tenancy & Licensing | MT | `multi-tenancy/` | **How do we isolate tenants, gate features, and meter usage?** |",
|
|
9695
|
-
"",
|
|
9696
|
-
"All requirement documents live under `<REQUIREMENTS_ROOT>` in the",
|
|
9697
|
-
"category directory shown above. Directory names are defaults \u2014",
|
|
9698
|
-
"consuming projects may rename them, but the prefixes are universal.",
|
|
9735
|
+
...REQUIREMENTS_TAXONOMY_TABLE_SECTION,
|
|
9699
9736
|
"",
|
|
9700
9737
|
"### Disambiguation Rules",
|
|
9701
9738
|
"",
|
|
9702
9739
|
"Apply these rules when deciding where a requirement belongs:",
|
|
9703
9740
|
"",
|
|
9704
|
-
|
|
9705
|
-
" meeting a regulation \u2192 SEC. System performance, uptime, or",
|
|
9706
|
-
' scalability \u2192 NFR. "99.9% uptime" is NFR; "audit logs for all',
|
|
9707
|
-
' admin actions" is SEC.',
|
|
9708
|
-
'- **TR vs ADR:** A TR pins down a specific technology choice ("use',
|
|
9709
|
-
' PostgreSQL 16+"). An ADR records a structural decision with',
|
|
9710
|
-
' context, trade-offs, and alternatives ("why row-level isolation',
|
|
9711
|
-
' over schema-per-tenant"). TRs often follow from ADRs.',
|
|
9712
|
-
"- **FR vs INT:** What the user experiences \u2192 FR. How two systems",
|
|
9713
|
-
' communicate \u2192 INT. "User can pay with a credit card" is FR;',
|
|
9714
|
-
' "Stripe Checkout API integration for payment processing" is INT.',
|
|
9715
|
-
"- **DR vs SEC:** What data exists, how long we keep it, and how we",
|
|
9716
|
-
" recover it \u2192 DR. Who can access it and how it's protected \u2192 SEC.",
|
|
9717
|
-
" These often cross-reference each other.",
|
|
9718
|
-
"- **NFR vs OPS:** A measurable target the system must meet \u2192 NFR.",
|
|
9719
|
-
' The tooling and processes to run the system \u2192 OPS. "p99 latency',
|
|
9720
|
-
' < 200ms" is NFR; "Datadog APM for latency monitoring" is OPS.',
|
|
9741
|
+
...REQUIREMENTS_TAXONOMY_DISAMBIGUATION_SECTION,
|
|
9721
9742
|
"",
|
|
9722
9743
|
"---",
|
|
9723
9744
|
"",
|
|
@@ -9729,12 +9750,7 @@ var requirementsWriterSubAgent = {
|
|
|
9729
9750
|
"are the bundle defaults; consuming projects may rename or reduce the",
|
|
9730
9751
|
"tier set in their own `docs/project-context.md`.",
|
|
9731
9752
|
"",
|
|
9732
|
-
|
|
9733
|
-
"|------|------|-------------|",
|
|
9734
|
-
"| **Platform** | `platform` | Core platform services \u2014 APIs, tenant isolation, auth, event bus, shared infrastructure |",
|
|
9735
|
-
"| **Industry** | `industry` | Vertical-specific capabilities not every tenant needs |",
|
|
9736
|
-
"| **Customer Workflow** | `customer-workflow` | Business logic tenants configure within the platform \u2014 approval chains, notification rules, intake processes |",
|
|
9737
|
-
"| **Consumer Application** | `consumer-app` | UI/UX and integrations in external front-ends/systems consuming the platform's APIs |",
|
|
9753
|
+
...REQUIREMENTS_TIER_TABLE_SECTION,
|
|
9738
9754
|
"",
|
|
9739
9755
|
"Tier is a **required metadata field**. Set it in the Metadata table",
|
|
9740
9756
|
"of every requirement document and apply the matching `tier:*` issue",
|
|
@@ -10524,19 +10540,12 @@ var requirementsReviewerSubAgent = {
|
|
|
10524
10540
|
"### 2. Categorization Accuracy",
|
|
10525
10541
|
"",
|
|
10526
10542
|
"Verify each document is in the right category by applying the",
|
|
10527
|
-
"disambiguation rules
|
|
10528
|
-
"",
|
|
10529
|
-
"-
|
|
10530
|
-
"
|
|
10531
|
-
"
|
|
10532
|
-
|
|
10533
|
-
" decision with trade-offs \u2192 ADR.",
|
|
10534
|
-
"- **FR vs INT:** User-visible behavior \u2192 FR. System-to-system",
|
|
10535
|
-
" communication \u2192 INT.",
|
|
10536
|
-
"- **DR vs SEC:** Data lifecycle / retention / recovery \u2192 DR. Data",
|
|
10537
|
-
" access / protection \u2192 SEC.",
|
|
10538
|
-
"- **NFR vs OPS:** Measurable system quality target \u2192 NFR. Tooling",
|
|
10539
|
-
" and processes to operate the system \u2192 OPS.",
|
|
10543
|
+
"shared taxonomy disambiguation rules. The reviewer and the",
|
|
10544
|
+
"`requirements-writer` load the **same** rules from",
|
|
10545
|
+
"`requirements-taxonomy.ts` so the reviewer never flags a",
|
|
10546
|
+
"correctly-categorized document as wrong:",
|
|
10547
|
+
"",
|
|
10548
|
+
...REQUIREMENTS_TAXONOMY_DISAMBIGUATION_SECTION,
|
|
10540
10549
|
"",
|
|
10541
10550
|
"Flag any documents that appear miscategorized. Explain where they",
|
|
10542
10551
|
"should live and why.",
|