xdrs-core 0.25.0 → 0.26.0
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/.xdrs/_core/adrs/index.md +8 -8
- package/.xdrs/_core/adrs/principles/003-skill-standards.md +3 -2
- package/.xdrs/_core/adrs/principles/004-article-standards.md +1 -1
- package/.xdrs/_core/adrs/principles/006-research-standards.md +1 -1
- package/.xdrs/_core/adrs/principles/007-plan-standards.md +1 -1
- package/.xdrs/_core/adrs/principles/articles/001-xdrs-overview.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/001-review/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/002-write-policy/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/003-write-skill/SKILL.md +3 -3
- package/.xdrs/_core/adrs/principles/skills/004-write-article/SKILL.md +2 -2
- package/.xdrs/_core/adrs/principles/skills/005-write-research/SKILL.md +2 -2
- package/.xdrs/_core/adrs/principles/skills/006-write-plan/SKILL.md +2 -2
- package/.xdrs/_core/adrs/principles/skills/007-write-presentation/SKILL.md +1 -1
- package/.xdrs/_core/index.md +8 -14
- package/lib/lint.js +10 -5
- package/lib/lint.test.js +8 -8
- package/package.json +1 -1
- package/.xdrs/_core/bdrs/index.md +0 -9
- package/.xdrs/_core/bdrs/principles/001-xdr-decisions-and-skills-usage.md +0 -52
|
@@ -20,16 +20,16 @@ Foundational standards, principles, and guidelines.
|
|
|
20
20
|
|
|
21
21
|
Step-by-step procedural guides for humans and AI agents.
|
|
22
22
|
|
|
23
|
-
- [001-review](principles/skills/001-review/SKILL.md) - **Review** — review code and files against Policies
|
|
24
|
-
- [002-write-policy](principles/skills/002-write-policy/SKILL.md) - **Write Policy** — create a new Policy document
|
|
25
|
-
- [003-write-skill](principles/skills/003-write-skill/SKILL.md) - **Write Skill** — create a new skill package
|
|
26
|
-
- [004-write-article](principles/skills/004-write-article/SKILL.md) - **Write Article** — create a new article document
|
|
27
|
-
- [005-write-research](principles/skills/005-write-research/SKILL.md) - **Write Research** — create a new research document
|
|
28
|
-
- [006-write-plan](principles/skills/006-write-plan/SKILL.md) - **Write Plan** — create a new plan document
|
|
29
|
-
- [007-write-presentation](principles/skills/007-write-presentation/SKILL.md) - **Write Presentation** — create Marp slide presentations for XDRS documents
|
|
23
|
+
- [_core-adr-skill-001-review](principles/skills/001-review/SKILL.md) - **Review** — review code and files against Policies
|
|
24
|
+
- [_core-adr-skill-002-write-policy](principles/skills/002-write-policy/SKILL.md) - **Write Policy** — create a new Policy document
|
|
25
|
+
- [_core-adr-skill-003-write-skill](principles/skills/003-write-skill/SKILL.md) - **Write Skill** — create a new skill package
|
|
26
|
+
- [_core-adr-skill-004-write-article](principles/skills/004-write-article/SKILL.md) - **Write Article** — create a new article document
|
|
27
|
+
- [_core-adr-skill-005-write-research](principles/skills/005-write-research/SKILL.md) - **Write Research** — create a new research document
|
|
28
|
+
- [_core-adr-skill-006-write-plan](principles/skills/006-write-plan/SKILL.md) - **Write Plan** — create a new plan document
|
|
29
|
+
- [_core-adr-skill-007-write-presentation](principles/skills/007-write-presentation/SKILL.md) - **Write Presentation** — create Marp slide presentations for XDRS documents
|
|
30
30
|
|
|
31
31
|
## Articles
|
|
32
32
|
|
|
33
33
|
Synthetic views combining Policies, Research, and Skills around a specific topic.
|
|
34
34
|
|
|
35
|
-
- [_core-article-001](principles/articles/001-xdrs-overview.md) - **XDRS Overview** (objective, structure, getting started, guidelines, extension, usage)
|
|
35
|
+
- [_core-adr-article-001](principles/articles/001-xdrs-overview.md) - **XDRS Overview** (objective, structure, getting started, guidelines, extension, usage)
|
|
@@ -81,7 +81,7 @@ Examples:
|
|
|
81
81
|
|
|
82
82
|
```
|
|
83
83
|
---
|
|
84
|
-
name:
|
|
84
|
+
name: [scope]-[type]-skill-[number]-[skill-name] # required: full identifier including scope and type; max 64 chars
|
|
85
85
|
description: > # required: what the skill does AND when to activate it; max 1024 chars
|
|
86
86
|
Concise explanation of the skill and the situations in which an agent should load it.
|
|
87
87
|
license: <license> # optional
|
|
@@ -110,7 +110,8 @@ Known gotchas and how to handle them.
|
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
Rules:
|
|
113
|
-
- The `name` field
|
|
113
|
+
- The `name` field MUST use the format `[scope]-[type]-skill-[number]-[skill-name]` (e.g., `_core-adr-skill-001-code-review`). This aligns skill identifiers with the Policy document identifier format, making every XDRS element consistently identifiable by scope and type.
|
|
114
|
+
- The directory name MUST follow the format `[number]-[skill-name]` (e.g., `001-code-review`), which keeps the filesystem hierarchy simple while the `name:` field carries the full identifier.
|
|
114
115
|
- `## Overview` SHOULD state the task objective, expected outcome, and relevant prerequisites or tools when they matter.
|
|
115
116
|
- `## Instructions` SHOULD include verification steps or acceptance criteria at the end of the task, or at the end of major phases when partial validation matters.
|
|
116
117
|
- For simple structure, flow, layout, or relationship indications, `SKILL.md` SHOULD prefer plain Markdown, tables, or ASCII art instead of external assets.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 001-review
|
|
2
|
+
name: _core-adr-skill-001-review
|
|
3
3
|
description: >
|
|
4
4
|
Reviews code changes or files against applicable Policies and reports violations as structured findings.
|
|
5
5
|
Activate this skill when the user asks to review, lint, or audit code or Policies, or when you identify a need to check compliance with Policies during implementation.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 002-write-policy
|
|
2
|
+
name: _core-adr-skill-002-write-policy
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new Policy interactively: selects type, scope, subject, and writes a focused, conflict-checked policy document.
|
|
5
5
|
Activate this skill when the user asks to create, add, or write a new Policy (ADR, BDR, or EDR).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 003-write-skill
|
|
2
|
+
name: _core-adr-skill-003-write-skill
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new skill package following XDRS skill standards: determines type, scope, subject, and number;
|
|
5
5
|
then writes a focused SKILL.md with correct frontmatter, phased instructions, examples, and edge cases.
|
|
@@ -45,7 +45,7 @@ Quick test:
|
|
|
45
45
|
|
|
46
46
|
**Skill number** — scan `.xdrs/[scope]/[type]/[subject]/skills/` for the highest existing number and increment by 1. Never reuse numbers from deleted skills.
|
|
47
47
|
|
|
48
|
-
**Skill name** — `[number]-[short-kebab-case-description]`, max 64 characters total.
|
|
48
|
+
**Skill name** — `[scope]-[type]-skill-[number]-[short-kebab-case-description]`, max 64 characters total. The directory name is `[number]-[short-kebab-case-description]`.
|
|
49
49
|
|
|
50
50
|
### Phase 3: Research Existing Skills and Related Policies
|
|
51
51
|
|
|
@@ -60,7 +60,7 @@ Use the mandatory agentskills format:
|
|
|
60
60
|
|
|
61
61
|
```
|
|
62
62
|
---
|
|
63
|
-
name: [number]-[skill-name]
|
|
63
|
+
name: [scope]-[type]-skill-[number]-[skill-name]
|
|
64
64
|
description: >
|
|
65
65
|
[What the skill does AND exactly when an agent should activate it. Max 1024 chars.]
|
|
66
66
|
metadata:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 004-write-article
|
|
2
|
+
name: _core-adr-skill-004-write-article
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new article document following XDRS article standards: selects scope, type, subject, and number; then writes a focused synthetic text that combines and links multiple Policies, Research documents, and Skills around a topic. Activate this skill when the user asks to create, add, or write a new article, guide, or overview document within an XDRS project.
|
|
5
5
|
metadata:
|
|
@@ -72,7 +72,7 @@ If the article spans more than one subject, place it in `principles`.
|
|
|
72
72
|
Use the mandatory template from `004-article-standards`:
|
|
73
73
|
|
|
74
74
|
```
|
|
75
|
-
# [scope]-article-[number]: [Short Title]
|
|
75
|
+
# [scope]-[type]-article-[number]: [Short Title]
|
|
76
76
|
|
|
77
77
|
## Overview
|
|
78
78
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 005-write-research
|
|
2
|
+
name: _core-adr-skill-005-write-research
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new research document following XDRS research standards: selects scope, type, subject, and number;
|
|
5
5
|
then writes an IMRAD-based study with enough evidence and method detail to stand on its own as a technical paper.
|
|
@@ -88,7 +88,7 @@ If the results contain competing interpretations or the intended audience for th
|
|
|
88
88
|
Use the mandatory template from `006-research-standards`:
|
|
89
89
|
|
|
90
90
|
```markdown
|
|
91
|
-
# [scope]-research-[number]: [Short Title]
|
|
91
|
+
# [scope]-[type]-research-[number]: [Short Title]
|
|
92
92
|
|
|
93
93
|
## Abstract
|
|
94
94
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 006-write-plan
|
|
2
|
+
name: _core-adr-skill-006-write-plan
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new plan document following XDRS plan standards: selects scope, type, subject, and number;
|
|
5
5
|
then writes a focused execution plan with problem context, proposed solution, approach, milestones, and deliverables.
|
|
@@ -62,7 +62,7 @@ Consult `001-xdrs-core` while making each choice in this phase. The summaries be
|
|
|
62
62
|
Use the mandatory template from `007-plan-standards`:
|
|
63
63
|
|
|
64
64
|
```markdown
|
|
65
|
-
# [scope]-plan-[number]: [Short Title]
|
|
65
|
+
# [scope]-[type]-plan-[number]: [Short Title]
|
|
66
66
|
|
|
67
67
|
## Executive Summary
|
|
68
68
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 007-write-presentation
|
|
2
|
+
name: _core-adr-skill-007-write-presentation
|
|
3
3
|
description: >
|
|
4
4
|
Creates a Marp slide presentation for an existing XDRS document (policy, research, article, or plan).
|
|
5
5
|
Activate this skill when the user asks to create slides, a presentation, or a slide deck for an XDRS document.
|
package/.xdrs/_core/index.md
CHANGED
|
@@ -31,10 +31,6 @@ Each artifact type has its own writing standard:
|
|
|
31
31
|
|
|
32
32
|
[_core-adr-policy-005](adrs/principles/005-semantic-versioning-for-xdrs-packages.md) defines how XDRS packages use semantic versioning to communicate upgrade impact when decisions are shared across repositories or teams.
|
|
33
33
|
|
|
34
|
-
### Usage policy
|
|
35
|
-
|
|
36
|
-
The business decision [_core-bdr-policy-001](bdrs/principles/001-xdr-decisions-and-skills-usage.md) establishes how agents and humans must use XDRS policies and skills, separating policy authority (which lives in Policies) from execution guidance (which lives in skills).
|
|
37
|
-
|
|
38
34
|
### Presentation standards
|
|
39
35
|
|
|
40
36
|
Slide presentations that support XDRS documents follow [_core-adr-policy-009](adrs/principles/009-presentation-standards.md). Slides use the Marp Markdown format, live in `.assets/` next to the document they support, and must maintain bidirectional links with the parent document.
|
|
@@ -43,20 +39,18 @@ Slide presentations that support XDRS documents follow [_core-adr-policy-009](ad
|
|
|
43
39
|
|
|
44
40
|
The `_core` scope ships with seven skills that automate the most common framework operations:
|
|
45
41
|
|
|
46
|
-
- **001-review** reviews code and files against applicable Policies
|
|
47
|
-
- **002-write-policy** guides creation of a new Policy document
|
|
48
|
-
- **003-write-skill** guides creation of a new skill package
|
|
49
|
-
- **004-write-article** guides creation of a new article
|
|
50
|
-
- **005-write-research** guides creation of a new research document
|
|
51
|
-
- **006-write-plan** guides creation of a new execution plan
|
|
52
|
-
- **007-write-presentation** guides creation of Marp slide presentations
|
|
42
|
+
- **_core-adr-skill-001-review** reviews code and files against applicable Policies
|
|
43
|
+
- **_core-adr-skill-002-write-policy** guides creation of a new Policy document
|
|
44
|
+
- **_core-adr-skill-003-write-skill** guides creation of a new skill package
|
|
45
|
+
- **_core-adr-skill-004-write-article** guides creation of a new article
|
|
46
|
+
- **_core-adr-skill-005-write-research** guides creation of a new research document
|
|
47
|
+
- **_core-adr-skill-006-write-plan** guides creation of a new execution plan
|
|
48
|
+
- **_core-adr-skill-007-write-presentation** guides creation of Marp slide presentations
|
|
53
49
|
|
|
54
50
|
### Getting started
|
|
55
51
|
|
|
56
|
-
For a narrative introduction to the framework, including how elements differ, how to decide whether a Policy applies, and how to extend the framework with your own scopes, see the overview article [_core-article-001](adrs/principles/articles/001-xdrs-overview.md).
|
|
52
|
+
For a narrative introduction to the framework, including how elements differ, how to decide whether a Policy applies, and how to extend the framework with your own scopes, see the overview article [_core-adr-article-001](adrs/principles/articles/001-xdrs-overview.md).
|
|
57
53
|
|
|
58
54
|
## Type Indexes
|
|
59
55
|
|
|
60
56
|
- [ADRs Index](adrs/index.md) - Architectural decisions about the XDRS framework structure and standards
|
|
61
|
-
- [BDRs Index](bdrs/index.md) - Business decisions about XDRS framework governance and usage
|
|
62
|
-
- [BDRs Index](bdrs/index.md) - Business decisions about how agents and humans must use XDRS policies and skills
|
package/lib/lint.js
CHANGED
|
@@ -472,8 +472,10 @@ function lintSkillsDirectory(xdrsRoot, scopeName, typeName, subjectName, skillsP
|
|
|
472
472
|
if (!skillFm.name) {
|
|
473
473
|
errors.push(`SKILL.md frontmatter must include a non-empty name field: ${toDisplayPath(skillFilePath)}`);
|
|
474
474
|
} else {
|
|
475
|
-
|
|
476
|
-
|
|
475
|
+
const typeId = TYPE_TO_ID[typeName].split('-')[0]; // 'adr', 'bdr', or 'edr'
|
|
476
|
+
const expectedSkillName = `${scopeName}-${typeId}-skill-${number}-${match[2]}`;
|
|
477
|
+
if (skillFm.name !== expectedSkillName) {
|
|
478
|
+
errors.push(`Skill frontmatter name must be "${expectedSkillName}": ${toDisplayPath(skillFilePath)}`);
|
|
477
479
|
}
|
|
478
480
|
if (skillFm.name.length > 64) {
|
|
479
481
|
errors.push(`SKILL.md frontmatter name must be 64 characters or fewer: ${toDisplayPath(skillFilePath)}`);
|
|
@@ -537,7 +539,8 @@ function lintArticlesDirectory(xdrsRoot, scopeName, typeName, subjectName, artic
|
|
|
537
539
|
}
|
|
538
540
|
|
|
539
541
|
const content = fs.readFileSync(entryPath, 'utf8');
|
|
540
|
-
const
|
|
542
|
+
const typeId = TYPE_TO_ID[typeName].split('-')[0]; // 'adr', 'bdr', or 'edr'
|
|
543
|
+
const expectedHeader = `# ${scopeName}-${typeId}-article-${number}:`;
|
|
541
544
|
const firstLine = firstNonEmptyLine(content);
|
|
542
545
|
if (!firstLine.startsWith(expectedHeader)) {
|
|
543
546
|
errors.push(`Article title must start with "${expectedHeader}": ${toDisplayPath(entryPath)}`);
|
|
@@ -591,7 +594,8 @@ function lintResearchDirectory(xdrsRoot, scopeName, typeName, subjectName, resea
|
|
|
591
594
|
}
|
|
592
595
|
|
|
593
596
|
const content = fs.readFileSync(entryPath, 'utf8');
|
|
594
|
-
const
|
|
597
|
+
const typeId = TYPE_TO_ID[typeName].split('-')[0]; // 'adr', 'bdr', or 'edr'
|
|
598
|
+
const expectedHeader = `# ${scopeName}-${typeId}-research-${number}:`;
|
|
595
599
|
const firstLine = firstNonEmptyLine(content);
|
|
596
600
|
if (!firstLine.startsWith(expectedHeader)) {
|
|
597
601
|
errors.push(`Research title must start with "${expectedHeader}": ${toDisplayPath(entryPath)}`);
|
|
@@ -646,7 +650,8 @@ function lintPlansDirectory(xdrsRoot, scopeName, typeName, subjectName, plansPat
|
|
|
646
650
|
}
|
|
647
651
|
|
|
648
652
|
const content = fs.readFileSync(entryPath, 'utf8');
|
|
649
|
-
const
|
|
653
|
+
const typeId = TYPE_TO_ID[typeName].split('-')[0]; // 'adr', 'bdr', or 'edr'
|
|
654
|
+
const expectedHeader = `# ${scopeName}-${typeId}-plan-${number}:`;
|
|
650
655
|
const firstLine = firstNonEmptyLine(content);
|
|
651
656
|
if (!firstLine.startsWith(expectedHeader)) {
|
|
652
657
|
errors.push(`Plan title must start with "${expectedHeader}": ${toDisplayPath(entryPath)}`);
|
package/lib/lint.test.js
CHANGED
|
@@ -242,7 +242,7 @@ test('reports unknown frontmatter fields in SKILL.md files', () => {
|
|
|
242
242
|
]),
|
|
243
243
|
'.xdrs/_local/adrs/principles/skills/001-check-links/SKILL.md': [
|
|
244
244
|
'---',
|
|
245
|
-
'name: 001-check-links',
|
|
245
|
+
'name: _local-adr-skill-001-check-links',
|
|
246
246
|
'description: Test skill document',
|
|
247
247
|
'unknown-field: some value',
|
|
248
248
|
'---',
|
|
@@ -271,7 +271,7 @@ test('accepts all known frontmatter fields in SKILL.md files', () => {
|
|
|
271
271
|
]),
|
|
272
272
|
'.xdrs/_local/adrs/principles/skills/001-check-links/SKILL.md': [
|
|
273
273
|
'---',
|
|
274
|
-
'name: 001-check-links',
|
|
274
|
+
'name: _local-adr-skill-001-check-links',
|
|
275
275
|
'description: Test skill document',
|
|
276
276
|
'license: MIT',
|
|
277
277
|
'metadata:',
|
|
@@ -429,7 +429,7 @@ test('allows child directory relative non-asset links in XDRS element documents'
|
|
|
429
429
|
});
|
|
430
430
|
const skillDir = path.join(workspaceRoot, '.xdrs/_local/adrs/principles/skills/001-review');
|
|
431
431
|
fs.mkdirSync(skillDir, { recursive: true });
|
|
432
|
-
fs.writeFileSync(path.join(skillDir, 'SKILL.md'), '---\nname: 001-review\ndescription: test skill\n---\n# Skill');
|
|
432
|
+
fs.writeFileSync(path.join(skillDir, 'SKILL.md'), '---\nname: _local-adr-skill-001-review\ndescription: test skill\n---\n# Skill');
|
|
433
433
|
|
|
434
434
|
const result = lintWorkspace(workspaceRoot);
|
|
435
435
|
|
|
@@ -626,7 +626,7 @@ test('reports orphan asset in articles .assets directory', () => {
|
|
|
626
626
|
'- [001-guide](principles/articles/001-guide.md) - Guide article'
|
|
627
627
|
]),
|
|
628
628
|
'.xdrs/_local/adrs/principles/articles/001-guide.md': [
|
|
629
|
-
'# _local-article-001: Guide',
|
|
629
|
+
'# _local-adr-article-001: Guide',
|
|
630
630
|
'',
|
|
631
631
|
'See .',
|
|
632
632
|
''
|
|
@@ -838,7 +838,7 @@ function xdrDocument(body) {
|
|
|
838
838
|
function skillDocument(body) {
|
|
839
839
|
return [
|
|
840
840
|
'---',
|
|
841
|
-
'name: 001-check-links',
|
|
841
|
+
'name: _local-adr-skill-001-check-links',
|
|
842
842
|
'description: Test skill document',
|
|
843
843
|
'---',
|
|
844
844
|
'',
|
|
@@ -1392,7 +1392,7 @@ function slideDocument(body) {
|
|
|
1392
1392
|
|
|
1393
1393
|
function articleDocument(body) {
|
|
1394
1394
|
return [
|
|
1395
|
-
'# _local-article-001: Guide',
|
|
1395
|
+
'# _local-adr-article-001: Guide',
|
|
1396
1396
|
'',
|
|
1397
1397
|
'## Overview',
|
|
1398
1398
|
'',
|
|
@@ -1414,7 +1414,7 @@ function researchDocument(introBody, questionLine) {
|
|
|
1414
1414
|
? `${introBody}\n\n${questionLine}`
|
|
1415
1415
|
: introBody;
|
|
1416
1416
|
return [
|
|
1417
|
-
'# _local-research-001: Study',
|
|
1417
|
+
'# _local-adr-research-001: Study',
|
|
1418
1418
|
'',
|
|
1419
1419
|
'## Abstract',
|
|
1420
1420
|
'',
|
|
@@ -1449,7 +1449,7 @@ function researchDocument(introBody, questionLine) {
|
|
|
1449
1449
|
|
|
1450
1450
|
function planDocument(body) {
|
|
1451
1451
|
return [
|
|
1452
|
-
'# _local-plan-001: My plan',
|
|
1452
|
+
'# _local-adr-plan-001: My plan',
|
|
1453
1453
|
'',
|
|
1454
1454
|
'## Executive Summary',
|
|
1455
1455
|
'',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xdrs-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "A framework to structure, compile and distribute Architectural (ADR), Business (BDR), and Engineering (EDR) decision records contents so that AI agents and humans can reliably find and use them with hierarchical scopes and controlled rollout in the format of distributable versioned packages.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# _core BDRs Index
|
|
2
|
-
|
|
3
|
-
Business decisions about how the XDRS framework itself is governed and used. Owned by the platform team. Propose changes via pull request.
|
|
4
|
-
|
|
5
|
-
## Principles
|
|
6
|
-
|
|
7
|
-
Foundational standards, principles, and guidelines.
|
|
8
|
-
|
|
9
|
-
- [_core-bdr-policy-001](principles/001-xdr-decisions-and-skills-usage.md) - **Policy decisions and skills usage** — How agents and humans must use XDRS policies and skills, separating policy authority from execution guidance
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: _core-bdr-policy-001-policy-decisions-and-skills-usage
|
|
3
|
-
description: Defines how agents and humans must use Policy decisions and skills, separating policy authority from execution guidance across single-agent and multi-agent workflows.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# _core-bdr-policy-001: Policy decisions and skills usage
|
|
7
|
-
|
|
8
|
-
## Context and Problem Statement
|
|
9
|
-
|
|
10
|
-
Repositories using the XDRS framework contain both policies (BDRs, ADRs, EDRs) and skills. In multi-agent or multi-role workflows, each actor needs to know which artifact carries policy authority and which carries execution guidance.
|
|
11
|
-
|
|
12
|
-
Question: How must agents and humans use Policy decisions and skills so policy, execution guidance, and role boundaries stay clear?
|
|
13
|
-
|
|
14
|
-
## Decision Outcome
|
|
15
|
-
|
|
16
|
-
**BDRs define compliance policy; skills operationalize it**
|
|
17
|
-
|
|
18
|
-
Policy decisions are the authoritative source of mandatory decisions. Skills are execution artifacts that operationalize those decisions and must never substitute them as policy authority.
|
|
19
|
-
|
|
20
|
-
### Details
|
|
21
|
-
|
|
22
|
-
- Before treating any Policy as a current requirement, evaluate applicability in order: `valid-from`, `apply-to`, then the decision text.
|
|
23
|
-
- The set of policies that an agent or human must comply with for a given operational context must be declared in BDRs.
|
|
24
|
-
- If a policy set becomes too large or too mixed in purpose to review clearly in one record, it must be split into multiple focused BDRs.
|
|
25
|
-
- Specific work instructions that operationalize BDR policies must be structured as skills when the procedure is detailed enough to benefit from a dedicated operational document.
|
|
26
|
-
- Every skill that operationalizes or verifies BDR policies must link to the BDRs it implements or checks.
|
|
27
|
-
- If a skill conflicts with an applicable Policy, the Policy prevails. The human or agent must stop relying on the conflicting skill behavior and report the inconsistency.
|
|
28
|
-
- If an applicable BDR exists but no supporting skill exists yet, the human or agent may proceed by following the BDR directly when the decision is actionable, and must report the missing skill as an operational gap.
|
|
29
|
-
- In multi-agent graphs or staged workflows, every participating agent must remain bounded by the same applicable BDR policies even when agents have different local objectives, prompts, or skills.
|
|
30
|
-
- Each agent or human role involved in a workflow must make explicit which applicable BDRs govern its work and which skills it is following.
|
|
31
|
-
- Different documents may be consumed by different actors. For example: one agent uses skills for data acquisition, another for plan execution, and a reviewer reads BDRs directly to validate outcomes.
|
|
32
|
-
|
|
33
|
-
Allowed:
|
|
34
|
-
- using multiple skills to operationalize one BDR in different phases of a workflow;
|
|
35
|
-
- using one skill to operationalize multiple related BDRs when the skill links them clearly;
|
|
36
|
-
- having human-only, agent-only, or mixed human-agent execution for the same skill.
|
|
37
|
-
|
|
38
|
-
Disallowed:
|
|
39
|
-
- treating a skill as policy authority by itself;
|
|
40
|
-
- inventing mandatory policy rules only inside prompts, plans, or skills;
|
|
41
|
-
- allowing one agent in a workflow to bypass an applicable BDR because another agent checked a different subset of rules.
|
|
42
|
-
|
|
43
|
-
## Considered Options
|
|
44
|
-
|
|
45
|
-
- (REJECTED) **Keep policy and execution guidance mixed inside operational BDRs** — Makes decisions harder to reuse, review, and assign across humans and multiple agent roles.
|
|
46
|
-
- (CHOSEN) **Separate mandatory policy in BDRs from executable guidance in skills** — Preserves a clear source of truth while allowing different humans and agents to execute specialized procedures.
|
|
47
|
-
|
|
48
|
-
## References
|
|
49
|
-
|
|
50
|
-
- [_core-adr-001](../../adrs/principles/001-xdrs-core.md)
|
|
51
|
-
- [_core-adr-002](../../adrs/principles/002-policy-standards.md)
|
|
52
|
-
- [_core-adr-003](../../adrs/principles/003-skill-standards.md)
|