xdrs-core 0.24.0 → 0.25.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.
Files changed (34) hide show
  1. package/.xdrs/_core/adrs/index.md +15 -15
  2. package/.xdrs/_core/adrs/principles/001-xdrs-core.md +37 -37
  3. package/.xdrs/_core/adrs/principles/002-policy-standards.md +153 -0
  4. package/.xdrs/_core/adrs/principles/003-skill-standards.md +20 -20
  5. package/.xdrs/_core/adrs/principles/004-article-standards.md +22 -22
  6. package/.xdrs/_core/adrs/principles/{005-semantic-versioning-for-xdr-packages.md → 005-semantic-versioning-for-xdrs-packages.md} +11 -11
  7. package/.xdrs/_core/adrs/principles/006-research-standards.md +23 -23
  8. package/.xdrs/_core/adrs/principles/007-plan-standards.md +13 -13
  9. package/.xdrs/_core/adrs/principles/008-xdr-standards-structured.md +19 -19
  10. package/.xdrs/_core/adrs/principles/009-presentation-standards.md +11 -11
  11. package/.xdrs/_core/adrs/principles/articles/001-xdrs-overview.md +61 -50
  12. package/.xdrs/_core/adrs/principles/skills/{001-lint/001-lint.test.int.js → 001-review/001-review.test.int.js} +4 -4
  13. package/.xdrs/_core/adrs/principles/skills/{001-lint/001-lint.test.int.report → 001-review/001-review.test.int.report} +1 -1
  14. package/.xdrs/_core/adrs/principles/skills/001-review/SKILL.md +94 -0
  15. package/.xdrs/_core/adrs/principles/skills/002-write-policy/002-write-policy.test.int.js +24 -0
  16. package/.xdrs/_core/adrs/principles/skills/{002-write-xdr/002-write-xdr.test.int.report → 002-write-policy/002-write-policy.test.int.report} +2 -2
  17. package/.xdrs/_core/adrs/principles/skills/{002-write-xdr → 002-write-policy}/SKILL.md +40 -40
  18. package/.xdrs/_core/adrs/principles/skills/003-write-skill/SKILL.md +15 -15
  19. package/.xdrs/_core/adrs/principles/skills/004-write-article/SKILL.md +30 -30
  20. package/.xdrs/_core/adrs/principles/skills/005-write-research/SKILL.md +23 -23
  21. package/.xdrs/_core/adrs/principles/skills/006-write-plan/SKILL.md +15 -15
  22. package/.xdrs/_core/adrs/principles/skills/007-write-presentation/SKILL.md +13 -13
  23. package/.xdrs/_core/bdrs/index.md +3 -3
  24. package/.xdrs/_core/bdrs/principles/001-xdr-decisions-and-skills-usage.md +9 -9
  25. package/.xdrs/_core/index.md +19 -18
  26. package/.xdrs/index.md +4 -4
  27. package/AGENTS.md +12 -12
  28. package/README.md +53 -40
  29. package/lib/lint.js +90 -43
  30. package/lib/lint.test.js +239 -89
  31. package/package.json +3 -3
  32. package/.xdrs/_core/adrs/principles/002-xdr-standards.md +0 -158
  33. package/.xdrs/_core/adrs/principles/skills/001-lint/SKILL.md +0 -94
  34. package/.xdrs/_core/adrs/principles/skills/002-write-xdr/002-write-xdr.test.int.js +0 -24
@@ -1,37 +1,37 @@
1
1
  ---
2
- name: _core-adr-006-research-standards
3
- description: Defines research document standards including IMRAD structure and traceability to XDRs. Use when creating or reviewing research documents.
2
+ name: _core-adr-policy-006-research-standards
3
+ description: Defines research document standards including IMRAD structure and traceability to Policies. Use when creating or reviewing research documents.
4
4
  ---
5
5
 
6
- # _core-adr-006: Research standards
6
+ # _core-adr-policy-006: Research standards
7
7
 
8
8
  ## Context and Problem Statement
9
9
 
10
- Teams often need more space than an XDR allows to evaluate constraints, explore options, and record findings before or after a decision changes. When that material is scattered across PR comments, docs, and chat, the reasoning behind a decision becomes hard to recover or update.
10
+ Teams often need more space than a Policy allows to evaluate constraints, explore options, and record findings before or after a decision changes. When that material is scattered across PR comments, docs, and chat, the reasoning behind a decision becomes hard to recover or update.
11
11
 
12
- Question: How should research documents be structured and organized so they communicate an investigated problem, evidence, and conclusions clearly, while remaining traceable from related XDRs?
12
+ Question: How should research documents be structured and organized so they communicate an investigated problem, evidence, and conclusions clearly, while remaining traceable from related Policies?
13
13
 
14
14
  ## Decision Outcome
15
15
 
16
- **IMRAD-based subject-level research documents co-located with XDRs**
16
+ **IMRAD-based subject-level research documents co-located with XDRS**
17
17
 
18
- Research documents are Markdown files placed inside a subject folder alongside decision records. They use an IMRAD-inspired paper structure adapted to company needs so teams can communicate investigated problems, methods, findings, and conclusions clearly, combine experienced professional judgment with good-enough evidence, preserve reproducibility where it matters, and revisit the work when technology, constraints, or facts change.
18
+ Research documents are Markdown files placed inside a subject folder alongside policies. They use an IMRAD-inspired paper structure adapted to company needs so teams can communicate investigated problems, methods, findings, and conclusions clearly, combine experienced professional judgment with good-enough evidence, preserve reproducibility where it matters, and revisit the work when technology, constraints, or facts change.
19
19
 
20
20
  ### Details
21
21
 
22
- - Research is evidence and exploration, not the adopted decision. When a research document and an XDR disagree, the XDR takes precedence.
22
+ - Research is evidence and exploration, not the adopted decision. When a research document and a Policy disagree, the Policy takes precedence.
23
23
  - `Research` is the artifact name. `researches/` is only the folder name used alongside `skills/` and `articles/`.
24
24
  - Research documents MUST live under `researches/` inside the relevant subject folder:
25
25
  `.xdrs/[scope]/[type]/[subject]/researches/[number]-[short-title].md`
26
- - The `[subject]` component MUST be one of the allowed subjects for the chosen type. The required list of allowed subjects per type is defined in `_core-adr-001`.
26
+ - The `[subject]` component MUST be one of the allowed subjects for the chosen type. The required list of allowed subjects per type is defined in `_core-adr-policy-001`.
27
27
  - Research documents SHOULD stay focused on one investigated problem, comparison, or hypothesis.
28
28
  - Research documents MUST state clearly what problem or question is being investigated, the relevant system or domain context, and why the subject matters in practice.
29
29
  - Research documents MUST follow this section order: `Abstract`, `Introduction`, `Methods`, `Results`, `Discussion`, `Conclusion`, `References`.
30
30
  - Research uses a company-adapted IMRAD structure. It MAY include informed professional judgment and experience-based observations, but claims that affect the conclusion MUST have enough evidence to be teachable, reviewable, and useful to other colleagues.
31
31
  - Research does not require full academic statistical rigor. Use good-enough evidence that supports the conclusion without demanding exhaustive proof.
32
- - Research documents MUST read as standalone technical papers for readers who do not know the XDR process.
32
+ - Research documents MUST read as standalone technical papers for readers who do not know the XDRS process.
33
33
  - Mentions of future ADRs, decision lifecycle, repository process, or artifact management SHOULD be avoided in the body unless they are materially necessary to understand the research question.
34
- - Traceability to related XDRs, skills, articles, discussions, and external sources SHOULD live primarily in `## References` and surrounding indexes rather than in the body narrative.
34
+ - Traceability to related Policies, skills, articles, discussions, and external sources SHOULD live primarily in `## References` and surrounding indexes rather than in the body narrative.
35
35
  - Research documents MUST describe the methods, tools, sources, and conditions with enough detail that an experienced professional could at least minimally reproduce the important parts of the study, especially the aspects that materially affected the conclusion.
36
36
  - The short title portion after the research id MUST stay under 20 words.
37
37
  - `## Abstract` MUST be a single paragraph under 200 words summarizing the goal, methods, results, and conclusion. It SHOULD let a quick technical reader understand the question, method, main result, and takeaway.
@@ -45,13 +45,13 @@ Research documents are Markdown files placed inside a subject folder alongside d
45
45
  - In general, research SHOULD roughly follow the proportion `Introduction : Methods : Results : Discussion ≈ 3 : 5 : 6 : 4`.
46
46
  - Be strict about the goal of each section. Avoid duplicating the same material across sections and prefer clarity over rhetorical flourishes.
47
47
  - Research documents SHOULD stay under 5000 words total. They MAY exceed that only when the `## Introduction` explicitly states that the study will be lengthy because a very detailed analysis is required.
48
- - Research documents SHOULD link in `## References` to the XDRs, skills, articles, discussions, and external references relevant to the subject or that later cite the work.
48
+ - Research documents SHOULD link in `## References` to the Policies, skills, articles, discussions, and external references relevant to the subject or that later cite the work.
49
49
  - A 1:1 relationship between one research document and one decision will likely be common in practice, but it is not required.
50
- - One research document MAY also be referenced by multiple XDRs, including a mix of ADRs, BDRs, and EDRs, when the same investigation remains relevant across several decisions.
50
+ - One research document MAY also be referenced by multiple Policies, including a mix of ADRs, BDRs, and EDRs, when the same investigation remains relevant across several decisions.
51
51
  - Any non-Markdown files referenced by a research document (schemas, JSON examples, images, diagrams, binaries, or any other data files) SHOULD be used only when they are materially necessary and MUST live in `researches/.assets/` next to the research files.
52
52
  - Sub-directories inside this `.assets/` folder are allowed only when it already has more than 10 files. Otherwise, keep files flat.
53
53
  - Research file names MUST be lowercase. Never use emojis.
54
- - A research document MAY exist before the related XDR is written, or remain after the XDR changes, as long as its status and references stay clear.
54
+ - A research document MAY exist before the related Policy is written, or remain after the Policy changes, as long as its status and references stay clear.
55
55
 
56
56
  **Folder layout**
57
57
 
@@ -116,22 +116,22 @@ Prefer tables, bullets, or ASCII art for simple comparisons. Use external figure
116
116
 
117
117
  [A list of all cited literature, websites, tutorials, documentation, discussions, and related artifacts. Goal: make all cited sources and supporting artifacts traceable.]
118
118
 
119
- - [Related XDR or artifact](relative/path.md) - Why it matters
120
- - [Another related XDR if this research informed multiple decisions](relative/path.md) - Why it matters
119
+ - [Related Policy or artifact](relative/path.md) - Why it matters
120
+ - [Another related Policy if this research informed multiple decisions](relative/path.md) - Why it matters
121
121
  ```
122
122
 
123
123
  ## Considered Options
124
124
 
125
125
  - Related research: `001-research-and-decision-lifecycle` (workspace-local research)
126
126
 
127
- * (REJECTED) **Inline long-form analysis inside the XDR** - Put all research and decision text in one file.
128
- * Reason: Makes XDRs too long, mixes evidence with the adopted rule set, and hurts fast retrieval by humans and AI agents.
129
- * (CHOSEN) **IMRAD-based subject-level research beside XDRs** - Keep exploratory material beside the decisions, skills, and articles it informs, using an IMRAD-inspired structure adapted to company work.
130
- * Reason: Preserves lifecycle context, keeps the XDR concise, gives readers a predictable structure, and raises evidence quality without demanding full academic rigor.
127
+ * (REJECTED) **Inline long-form analysis inside the Policy** - Put all research and decision text in one file.
128
+ * Reason: Makes Policies too long, mixes evidence with the adopted rule set, and hurts fast retrieval by humans and AI agents.
129
+ * (CHOSEN) **IMRAD-based subject-level research beside XDRS** - Keep exploratory material beside the decisions, skills, and articles it informs, using an IMRAD-inspired structure adapted to company work.
130
+ * Reason: Preserves lifecycle context, keeps the Policy concise, gives readers a predictable structure, and raises evidence quality without demanding full academic rigor.
131
131
 
132
132
  ## References
133
133
 
134
- - [_core-adr-001 - XDRs core](001-xdrs-core.md)
135
- - [_core-adr-003 - Skill standards](003-skill-standards.md)
136
- - [_core-adr-004 - Article standards](004-article-standards.md)
134
+ - [_core-adr-policy-001 - XDRS core](001-xdrs-core.md)
135
+ - [_core-adr-policy-003 - Skill standards](003-skill-standards.md)
136
+ - [_core-adr-policy-004 - Article standards](004-article-standards.md)
137
137
  - [005-write-research skill](skills/005-write-research/SKILL.md) - Step-by-step instructions for creating a research document
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: _core-adr-007-plan-standards
2
+ name: _core-adr-policy-007-plan-standards
3
3
  description: Defines plan document standards for describing problems, solutions, and activities. Use when creating or reviewing plans.
4
4
  ---
5
5
 
6
- # _core-adr-007: Plan standards
6
+ # _core-adr-policy-007: Plan standards
7
7
 
8
8
  ## Context and Problem Statement
9
9
 
@@ -13,21 +13,21 @@ How should plans be structured and organized so they provide clear guidance for
13
13
 
14
14
  ## Decision Outcome
15
15
 
16
- **Subject-level ephemeral plan documents co-located with XDRs**
16
+ **Subject-level ephemeral plan documents co-located with Policies**
17
17
 
18
- Plans are Markdown documents placed inside a subject folder alongside decision records. They describe a problem, a proposed solution, and the approach to solve it. Plans have a clear start and end and a well-defined scope.
18
+ Plans are Markdown documents placed inside a subject folder alongside policies. They describe a problem, a proposed solution, and the approach to solve it. Plans have a clear start and end and a well-defined scope.
19
19
 
20
20
  ### Details
21
21
 
22
22
  - Plans describe a problem (why), what we will do to solve the problem, and the approach and activities needed to solve it (how).
23
- - Plans are NOT the source of truth. When a plan and an XDR disagree, the XDR takes precedence.
23
+ - Plans are NOT the source of truth. When a plan and a Policy disagree, the Policy takes precedence.
24
24
  - Plans are ephemeral. They MUST be deleted after full implementation. The lasting outputs of a plan are actual actions or Decisions, Skills, Articles, Research documents, and other artifacts that result from execution.
25
25
  - Plans may be used to implement a certain Decision. They may also use Research documents to help with the planning process. Articles may be written on top of a plan to give more context and connect more details present in other decisions and research to people involved in the plan.
26
26
  - During the implementation of a plan, new Decisions, Articles, Skills, Research documents, and even other Plans may be created. Always link all related elements to each other.
27
27
  - A plan can be high level, describing only one milestone, or more complex, describing a WBS (work breakdown structure) along with owners, multiple milestones in a tactical sequence, and checklists to verify completeness. Actual tasks performed by actors should normally be tracked in specialized software such as GitHub or Azure DevOps.
28
28
  - The total time to deliver a plan should not be more than 2 years. If more time is needed, create a new plan later with what was learned.
29
29
  - Plans MUST live under `plans/` inside the relevant subject folder: `.xdrs/[scope]/[type]/[subject]/plans/[number]-[short-title].md`
30
- - The `[subject]` component MUST be one of the allowed subjects for the chosen type. The required list of allowed subjects per type is defined in `_core-adr-001`.
30
+ - The `[subject]` component MUST be one of the allowed subjects for the chosen type. The required list of allowed subjects per type is defined in `_core-adr-policy-001`.
31
31
  - Plans MUST include an `Expected end date:` field in ISO format (YYYY-MM-DD) inside the `## Proposed Solution` section.
32
32
  - Always use lowercase file names.
33
33
  - Never use emojis in plan content.
@@ -121,19 +121,19 @@ Due date: YYYY-MM-DD
121
121
 
122
122
  ## References
123
123
 
124
- - [Related XDR or artifact](relative/path.md) - Brief description of relevance
124
+ - [Related Policy or artifact](relative/path.md) - Brief description of relevance
125
125
  ```
126
126
 
127
127
  ## Considered Options
128
128
 
129
- * (REJECTED) **Inline planning in XDRs** — Embed planning details inside decision records.
130
- * Reason: Plans are ephemeral execution documents while XDRs are lasting decisions. Mixing them bloats XDRs and creates confusion about what to delete after execution.
131
- * (CHOSEN) **Subject-level plans folder co-located with XDRs** — Keeps plans alongside the decisions they implement, with clear lifecycle expectations.
129
+ * (REJECTED) **Inline planning in Policies** — Embed planning details inside policies.
130
+ * Reason: Plans are ephemeral execution documents while Policies are lasting decisions. Mixing them bloats Policies and creates confusion about what to delete after execution.
131
+ * (CHOSEN) **Subject-level plans folder co-located with Policies** — Keeps plans alongside the decisions they implement, with clear lifecycle expectations.
132
132
  * Reason: Consistent with how skills, articles, and research are organized. The explicit deletion requirement after implementation keeps the document base clean.
133
133
 
134
134
  ## References
135
135
 
136
- - [_core-adr-001 - XDRs core](001-xdrs-core.md) - Framework elements: types, scopes, subjects, folder structure
137
- - [_core-adr-004 - Article standards](004-article-standards.md) - Companion artifact type for synthetic views
138
- - [_core-adr-006 - Research standards](006-research-standards.md) - Companion artifact type for exploratory evidence
136
+ - [_core-adr-policy-001 - Policies core](001-xdrs-core.md) - Framework elements: types, scopes, subjects, folder structure
137
+ - [_core-adr-policy-004 - Article standards](004-article-standards.md) - Companion artifact type for synthetic views
138
+ - [_core-adr-policy-006 - Research standards](006-research-standards.md) - Companion artifact type for exploratory evidence
139
139
  - [006-write-plan skill](skills/006-write-plan/SKILL.md) - Step-by-step instructions for creating a new plan
@@ -1,25 +1,25 @@
1
1
  ---
2
- name: _core-adr-008-xdr-standards-structured
3
- description: Extends xdr-standards with a numbered rule format for XDR documents that define strong policies or rules, or need individually referenceable items. Use when an XDR must expose explicit rule blocks that other documents or skills may cite by identifier.
2
+ name: _core-adr-policy-008-policy-standards-structured
3
+ description: Extends policy-standards with a numbered rule format for Policy documents that define strong policies or rules, or need individually referenceable items. Use when a Policy must expose explicit rule blocks that other documents or skills may cite by identifier.
4
4
  ---
5
5
 
6
- # _core-adr-008: XDR standards - structured
6
+ # _core-adr-policy-008: Policy standards - structured
7
7
 
8
8
  ## Context and Problem Statement
9
9
 
10
- Some XDR documents define multiple strong policies or rules that must be stated explicitly so they can be applied consistently. In other cases, documents, skills, or agents need to refer to one specific rule without copying its content. Without a standard format, prose references like "see the third bullet in Details" are fragile and ambiguous.
10
+ Some Policy documents define multiple strong policies or rules that must be stated explicitly so they can be applied consistently. In other cases, documents, skills, or agents need to refer to one specific rule without copying its content. Without a standard format, prose references like "see the third bullet in Details" are fragile and ambiguous.
11
11
 
12
- Question: How should an XDR document expose strong or individually referenceable rules or policies so they stay explicit, stable, and easy to cite?
12
+ Question: How should a Policy document expose strong or individually referenceable rules or policies so they stay explicit, stable, and easy to cite?
13
13
 
14
14
  ## Decision Outcome
15
15
 
16
16
  **Numbered rule blocks inside Details with a canonical citation syntax**
17
17
 
18
- When an XDR document defines strong rules or policies that should be stated explicitly, or when documents and skills need to cite individual rules precisely, each rule must be placed inside `### Details` as a numbered heading block. Referencing documents and skills must cite rules using the canonical dot-notation identifier.
18
+ When a Policy document defines strong rules or policies that should be stated explicitly, or when documents and skills need to cite individual rules precisely, each rule must be placed inside `### Details` as a numbered heading block. Referencing documents and skills must cite rules using the canonical dot-notation identifier.
19
19
 
20
20
  ### Details
21
21
 
22
- Use this format when the decision defines strong rules or policies that must be stated explicitly as stable rule blocks, or when there is a clear need for external documents, skills, or agents to reference specific items inside an XDR without duplicating the full policy text. Standard XDRs that do not define strong rule sets and do not need item-level citation should follow `_core-adr-002-xdr-standards` without adding numbered rule headings.
22
+ Use this format when the decision defines strong rules or policies that must be stated explicitly as stable rule blocks, or when there is a clear need for external documents, skills, or agents to reference specific items inside a Policy without duplicating the full policy text. Standard Policies that do not define strong rule sets and do not need item-level citation should follow `_core-adr-policy-002-policy-standards` without adding numbered rule headings.
23
23
 
24
24
  #### Rule block format
25
25
 
@@ -27,12 +27,12 @@ Each numbered rule must be written as:
27
27
 
28
28
  ```markdown
29
29
  #### [NN]-[short-descriptive-title-in-kebab-case]
30
- [Body using mandatory or advisory language as defined in _core-adr-001. State the requirement and the situations in which it must or should be followed. Under 500 words.]
30
+ [Body using mandatory or advisory language as defined in _core-adr-policy-001. State the requirement and the situations in which it must or should be followed. Under 500 words.]
31
31
  ```
32
32
 
33
33
  Where `NN` is a two-digit zero-padded sequence number (e.g. `01`, `02`, `12`). Numbers must be unique within the document and must never be reused after a rule is removed.
34
34
 
35
- Rule bodies must use the mandatory or advisory language terms defined in `_core-adr-001`:
35
+ Rule bodies must use the mandatory or advisory language terms defined in `_core-adr-policy-001`:
36
36
 
37
37
  - Mandatory: "must", "always", "never", "required", "mandatory"
38
38
  - Advisory: "should", "recommended", "advised", "preferably", "possibly", "optionally"
@@ -42,19 +42,19 @@ Rule bodies must use the mandatory or advisory language terms defined in `_core-
42
42
  When another document or skill cites a specific rule, it must use the following dot-notation:
43
43
 
44
44
  ```
45
- [xdr-name].[NN-short-descriptive-title-in-kebab-case]
45
+ policy-name.NN-short-descriptive-title-in-kebab-case
46
46
  ```
47
47
 
48
48
  Examples:
49
49
 
50
- - `_core-adr-008-xdr-standards-structured.[01-use-numbered-rules-for-strong-or-referenceable-policies]`
51
- - `_local-bdr-003-data-retention-policy.[02-purge-schedule-for-pii]`
50
+ - `_core-adr-policy-008-policy-standards-structured.[01-use-numbered-rules-for-strong-or-referenceable-policies]`
51
+ - `_local-bdr-policy-003-data-retention-policy.[02-purge-schedule-for-pii]`
52
52
 
53
- The `xdr-name` must match the `name` field in the frontmatter of the source document exactly. The rule identifier after the dot must match the heading text exactly, including the two-digit prefix and kebab-case title.
53
+ The `policy-name` must match the `name` field in the frontmatter of the source document exactly. The rule identifier after the dot must match the heading text exactly, including the two-digit prefix and kebab-case title.
54
54
 
55
55
  #### 01-use-numbered-rules-for-strong-or-referenceable-policies
56
56
 
57
- Numbered rule blocks must be added to an XDR when the decision defines strong rules or policies that must be stated explicitly as stable items, or when there is a clear need for other documents, skills, or agents to cite individual rules by identifier. Adding numbered rules only for cosmetic organization is not recommended. Standard XDR documents that do not define strong rule sets and are not expected to be cited at the rule level should follow `_core-adr-002-xdr-standards` without this structured format.
57
+ Numbered rule blocks must be added to a Policy when the decision defines strong rules or policies that must be stated explicitly as stable items, or when there is a clear need for other documents, skills, or agents to cite individual rules by identifier. Adding numbered rules only for cosmetic organization is not recommended. Standard Policy documents that do not define strong rule sets and are not expected to be cited at the rule level should follow `_core-adr-policy-002-policy-standards` without this structured format.
58
58
 
59
59
  #### 02-rule-numbering-must-be-stable
60
60
 
@@ -62,20 +62,20 @@ Rule numbers must never be reused within the same document. When a rule is remov
62
62
 
63
63
  #### 03-rule-body-must-use-normative-language
64
64
 
65
- Every rule body must contain at least one mandatory or advisory language term as defined in `_core-adr-001`. Rule bodies without normative language must not be published, as they fail to communicate whether compliance is required or recommended.
65
+ Every rule body must contain at least one mandatory or advisory language term as defined in `_core-adr-policy-001`. Rule bodies without normative language must not be published, as they fail to communicate whether compliance is required or recommended.
66
66
 
67
67
  #### 04-citations-must-use-exact-identifiers
68
68
 
69
- Documents and skills that cite a rule must use the exact dot-notation form: `[xdr-name].[NN-short-descriptive-title-in-kebab-case]`. Prose paraphrases such as "see rule 3" or "the third rule in that XDR" must not be used as citations, because they are ambiguous and break when rules are reordered or reworded.
69
+ Documents and skills that cite a rule must use the exact dot-notation form: `policy-name.NN-short-descriptive-title-in-kebab-case`. Prose paraphrases such as "see rule 3" or "the third rule in that Policy" must not be used as citations, because they are ambiguous and break when rules are reordered or reworded.
70
70
 
71
71
  ## Considered Options
72
72
 
73
73
  * (REJECTED) **Free-form prose rules with section anchors** — Use markdown heading anchors as citation targets.
74
74
  * Reason: Anchors are fragile across editors, rendering tools, and refactors. They do not enforce a stable numbering contract and break silently when headings are reworded.
75
75
  * (CHOSEN) **Numbered rule blocks inside Details** — Prefix each rule heading with a two-digit sequence number and use dot-notation for citations.
76
- * Reason: Minimal addition to the existing XDR template, stable identifiers independent of heading text, and fully compatible with `_core-adr-002-xdr-standards`.
76
+ * Reason: Minimal addition to the existing Policy template, stable identifiers independent of heading text, and fully compatible with `_core-adr-policy-002-policy-standards`.
77
77
 
78
78
  ## References
79
79
 
80
- - [_core-adr-001 - XDRs core](001-xdrs-core.md)
81
- - [_core-adr-002 - XDR standards](002-xdr-standards.md)
80
+ - [_core-adr-policy-001 - XDRS core](001-xdrs-core.md)
81
+ - [_core-adr-policy-002 - Policy standards](002-policy-standards.md)
@@ -1,15 +1,15 @@
1
1
  ---
2
- name: _core-adr-009-presentation-standards
3
- description: Defines how Marp slide presentations are structured, named, placed, and linked within XDR projects. Use when creating, reviewing, or linting slide decks that support XDR documents.
2
+ name: _core-adr-policy-009-presentation-standards
3
+ description: Defines how Marp slide presentations are structured, named, placed, and linked within XDRS projects. Use when creating, reviewing, or linting slide decks that support XDRS documents.
4
4
  ---
5
5
 
6
- # _core-adr-009: Presentation standards
6
+ # _core-adr-policy-009: Presentation standards
7
7
 
8
8
  ## Context and Problem Statement
9
9
 
10
- Teams often need slide presentations to communicate decisions, research findings, plans, or article content to different audiences. Without a standard, slides drift from the authoritative documents, use inconsistent formats, and become disconnected from the decision records they support.
10
+ Teams often need slide presentations to communicate decisions, research findings, plans, or article content to different audiences. Without a standard, slides drift from the authoritative documents, use inconsistent formats, and become disconnected from the policies they support.
11
11
 
12
- How should slide presentations be structured, placed, and maintained within the XDR framework so they remain consistent, discoverable, and always traceable to the documents they support?
12
+ How should slide presentations be structured, placed, and maintained within the XDRS framework so they remain consistent, discoverable, and always traceable to the documents they support?
13
13
 
14
14
  ## Decision Outcome
15
15
 
@@ -19,7 +19,7 @@ Presentations are Markdown files in Marp format, stored in the `.assets/` folder
19
19
 
20
20
  ### Details
21
21
 
22
- - Slides are supporting media for XDR documents. They must never exist as standalone artifacts without a parent decision, research, article, or plan.
22
+ - Slides are supporting media for XDRS documents. They must never exist as standalone artifacts without a parent decision, research, article, or plan.
23
23
  - Slides must use the [Marp](https://marp.app/) Markdown format with a minimal YAML frontmatter block at the beginning of the file:
24
24
  ```
25
25
  ---
@@ -27,7 +27,7 @@ Presentations are Markdown files in Marp format, stored in the `.assets/` folder
27
27
  ---
28
28
  ```
29
29
  Additional Marp configuration keys (e.g. `theme`, `paginate`, `header`, `footer`) may be added when needed, but `marp: true` is always required as the first frontmatter key.
30
- - Slide files must be placed in the `.assets/` folder next to the element they relate to, following the `.assets/` placement rules defined in `_core-adr-001`.
30
+ - Slide files must be placed in the `.assets/` folder next to the element they relate to, following the `.assets/` placement rules defined in `_core-adr-policy-001`.
31
31
  - The parent document must always contain a link to the slide file. The slide file must always contain a link back to the parent document at the end of the presentation. This bidirectional linking is mandatory.
32
32
  - Slide files must use the same base name as the parent file, suffixed with `-slides`. When multiple slide sets exist for the same parent, append a context indicator after `-slides` (e.g. `-slides-overview`, `-slides-executive`).
33
33
  - Example: parent `003-naming-conventions.md` produces `003-naming-conventions-slides.md` or `003-naming-conventions-slides-overview.md`.
@@ -39,14 +39,14 @@ Presentations are Markdown files in Marp format, stored in the `.assets/` folder
39
39
  - Define the central message or objective of the presentation before creating the slides. If the objective is unclear or there are multiple possible paths, ask the user before proceeding.
40
40
  - Always identify the target audience (executives, engineers, specialists, control). If the audience is not clear from the underlying document, ask before creating the slides. Include audience info in the file name when multiple audiences exist (e.g. `005-rail-standards-slides-executive.md`).
41
41
  - Keep presentations under 30 slides. Create separate slide sets for different views or audiences when needed.
42
- - Slides never replace decision records or related document contents. When the underlying document changes, the associated slides must be reviewed and updated to stay consistent.
42
+ - Slides never replace policies or related document contents. When the underlying document changes, the associated slides must be reviewed and updated to stay consistent.
43
43
  - Never use emojis in slide content.
44
44
  - Always use lowercase file names.
45
45
 
46
46
  ## References
47
47
 
48
- - [_core-adr-001 - XDRs core](001-xdrs-core.md) - Framework structure and `.assets/` placement rules
49
- - [_core-adr-002 - XDR standards](002-xdr-standards.md) - XDR document writing rules
50
- - [_core-adr-004 - Article standards](004-article-standards.md) - Article standards for multi-document views
48
+ - [_core-adr-policy-001 - XDRs core](001-xdrs-core.md) - Framework structure and `.assets/` placement rules
49
+ - [_core-adr-policy-002 - Policy standards](002-policy-standards.md) - Policy document writing rules
50
+ - [_core-adr-policy-004 - Article standards](004-article-standards.md) - Article standards for multi-document views
51
51
  - [007-write-presentation skill](skills/007-write-presentation/SKILL.md) - Skill for creating slide presentations
52
52
  - [Marp](https://marp.app/) - Markdown Presentation Ecosystem
@@ -1,39 +1,50 @@
1
- # _core-article-001: XDRs Overview
1
+ # _core-article-001: XDRS Overview
2
2
 
3
3
  ## Overview
4
4
 
5
- This article introduces XDRs (Decision Records), explains their purpose and design, and guides
5
+ This article introduces XDRS, explains its purpose and design, and guides
6
6
  teams through adopting, extending, and distributing them. It is an entry point for anyone new to
7
- the framework and links out to the authoritative Decision Records for full details.
7
+ the framework and links out to the authoritative Policy documents for full details.
8
8
 
9
9
  ## Content
10
10
 
11
11
  ### What the central elements are
12
12
 
13
- The XDR framework is built around a small set of artifact types that play different roles in the
13
+ The XDRS framework is built around a small set of artifact types that play different roles in the
14
14
  same decision system.
15
15
 
16
- - **Decision Records (XDRs)** are the authoritative decisions. They answer a concrete question and
16
+ A standard Decision Record normally combines several concerns in the same document: a reason
17
+ (why, options considered), a policy (rules, core decision), a plan (consequences, implementation
18
+ approach), a how-to (step-by-step procedure), and a view on a topic. The XDRS framework separates
19
+ these concerns into different document types: Policies as the source of truth, Research for
20
+ reasoning and evidence, Plans for implementation approach, Skills for execution procedures, and
21
+ Articles for topic overviews. Supporting artifacts may explain, justify, or operationalize the
22
+ policy, but they do not replace it. The compilation process of a raw Decision Record is to
23
+ distribute it into those different documents and create links between them. You can also use the
24
+ framework standalone, generating these elements individually directly during the writing process
25
+ without starting from a raw Decision Record.
26
+
27
+ - **Policies** are the authoritative decisions. They answer a concrete question and
17
28
  record the adopted direction. They are the central policy artifact of the framework for the
18
- scope and topic they cover. Three decision record types exist: **ADR** for architectural and
29
+ scope and topic they cover. Three policy types exist: **ADR** for architectural and
19
30
  technical decisions, **BDR** for business and operational decisions, and **EDR** for engineering
20
- implementation decisions. See [_core-adr-001](../001-xdrs-core.md).
31
+ implementation decisions. See [_core-adr-policy-001](../001-xdrs-core.md).
21
32
  - **Research** captures exploration before or around a decision: constraints, findings, options,
22
33
  pros, and cons. Research supports elaboration, discussion, and updates,
23
34
  but it is not the final rule. A single Research document may inform multiple downstream ADRs,
24
- BDRs, or EDRs. If Research and an XDR disagree, the XDR wins. See
25
- [_core-adr-006](../006-research-standards.md).
35
+ BDRs, or EDRs. If Research and a Policy disagree, the Policy wins. See
36
+ [_core-adr-policy-006](../006-research-standards.md).
26
37
  - **Skills** describe how to execute work under the constraints of the decisions. They add the
27
- procedural detail that XDRs intentionally avoid. A Skill may be used by a human, an AI agent, or
38
+ procedural detail that Policies intentionally avoid. A Skill may be used by a human, an AI agent, or
28
39
  both. Skills are task-based, should end in a verifiable outcome, and are only mandatory when a
29
- policy such as an XDR makes them mandatory. See [_core-adr-003](../003-skill-standards.md).
30
- - **Articles** are synthetic views, like this one. They explain a topic across multiple XDRs,
40
+ policy such as a Policy document makes them mandatory. See [_core-adr-policy-003](../003-skill-standards.md).
41
+ - **Articles** are synthetic views, like this one. They explain a topic across multiple Policies,
31
42
  Research documents, and Skills, helping readers understand the system without making new
32
- decisions. See [_core-adr-004](../004-article-standards.md).
43
+ decisions. See [_core-adr-policy-004](../004-article-standards.md).
33
44
  - **Plans** describe a problem, a proposed solution, and the approach and activities needed to
34
45
  solve it. They have a clear start and end and a well-defined scope. Plans are ephemeral: they
35
- must be deleted after full implementation, with lasting outputs captured as Decisions, Skills,
36
- Articles, or other artifacts. See [_core-adr-007](../007-plan-standards.md).
46
+ must be deleted after full implementation, with lasting outputs captured as Policies, Skills,
47
+ Articles, or other artifacts. See [_core-adr-policy-007](../007-plan-standards.md).
37
48
  - **Indexes and folder structure** are the discovery layer. They do not make decisions by
38
49
  themselves, but they determine how people and agents find the right artifacts, how scopes
39
50
  override one another, and how a large set of decisions remains navigable.
@@ -42,7 +53,7 @@ same decision system.
42
53
 
43
54
  The easiest way to distinguish the central elements is by asking what job each one performs.
44
55
 
45
- - **XDR**: "What did we decide?"
56
+ - **Policy**: "What did we decide?"
46
57
  - **Research**: "What did we learn while evaluating options?"
47
58
  - **Skill**: "How do we carry out work under this decision?"
48
59
  - **Article**: "How do these artifacts fit together for a reader?"
@@ -52,13 +63,13 @@ The easiest way to distinguish the central elements is by asking what job each o
52
63
  This separation matters because mixing these jobs into one file makes the system harder to search,
53
64
  harder to update, and harder for agents to apply correctly.
54
65
 
55
- ### How to decide whether an XDR should be used
66
+ ### How to decide whether a Policy should be used
56
67
 
57
- Before treating an XDR as a rule for the current case, check its metadata first. All documents present in the collection are considered active — if a document exists, it is current.
68
+ Before treating a Policy as a rule for the current case, check its metadata first. All documents present in the collection are considered active — if a document exists, it is current.
58
69
 
59
70
  - **Valid first**: if present, the convergence date indicates when full adoption is expected. New implementations SHOULD adopt the decision immediately; compliance is not enforced during reviews until the date.
60
71
  - **Applied to second**: if present, the current codebase, workflow, system, or audience must fit that scope.
61
- - **Decision text last**: the XDR's own context and implementation details still determine the final boundaries and exceptions.
72
+ - **Decision text last**: the Policy's own context and implementation details still determine the final boundaries and exceptions.
62
73
  - **Then enforce**: only decisions that pass those checks should be used as active requirements. The rest may still be useful context.
63
74
 
64
75
  Documents that are no longer relevant should be removed from the collection. Historical versions are available via versioned packages or git history.
@@ -70,21 +81,21 @@ The framework is easiest to understand as a lifecycle rather than a static folde
70
81
  1. **Explore** — A team starts with a problem, constraints, and uncertainty. Research is the best
71
82
  place to compare options, record findings, and keep tradeoffs visible. That same research may
72
83
  later support more than one decision record.
73
- 2. **Decide** — Once a direction is chosen, an XDR captures the final answer in concise,
74
- authoritative form. The XDR should make clear when the decision applies, and may link back to
84
+ 2. **Decide** — Once a direction is chosen, a Policy captures the final answer in concise,
85
+ authoritative form. The Policy should make clear when the decision applies, and may link back to
75
86
  the Research that informed its considered options.
76
87
  3. **Execute** — If the decision affects daily work, a Skill explains how to apply it in practice.
77
- The Skill operationalizes the decision without turning the XDR into a procedure manual.
78
- 4. **Explain** — When the topic becomes broad or cross-cutting, an Article synthesizes the XDR,
88
+ The Skill operationalizes the decision without turning the Policy into a procedure manual.
89
+ 4. **Explain** — When the topic becomes broad or cross-cutting, an Article synthesizes the Policy,
79
90
  Research, and Skills into a navigable explanation for humans and agents.
80
91
  5. **Distribute and override** — Canonical indexes and scope ordering make the artifacts
81
92
  discoverable across teams. Broader scopes can be reused, and more specific scopes can extend or
82
93
  override them.
83
94
 
84
- This gives XDRs a timeline feel:
95
+ This gives Policies a timeline feel:
85
96
 
86
97
  - Research usually appears before or around a decision.
87
- - The XDR marks the adopted outcome.
98
+ - The Policy marks the adopted outcome.
88
99
  - Skills appear when the decision must be executed repeatedly.
89
100
  - Articles appear when the ecosystem around the decision needs explanation or onboarding support.
90
101
 
@@ -121,8 +132,8 @@ guidance, and the explanatory overview close together without collapsing them in
121
132
  ### Why this separation works
122
133
 
123
134
  - **Small focused files** keep decisions readable and agent-friendly.
124
- - **Research beside the XDR** preserves why options were accepted or rejected.
125
- - **Skills beside the XDR** reduce drift between decisions and execution.
135
+ - **Research beside the Policy** preserves why options were accepted or rejected.
136
+ - **Skills beside the Policy** reduce drift between decisions and execution.
126
137
  - **Articles above the artifacts** help readers understand the whole topic without replacing the
127
138
  source of truth.
128
139
  - **Indexes and scopes** let the framework scale across teams while preserving override behavior.
@@ -131,25 +142,25 @@ guidance, and the explanatory overview close together without collapsing them in
131
142
 
132
143
  1. Create or open a project workspace.
133
144
  2. Run `npx xdrs-core` in the workspace root. This installs:
134
- - `AGENTS.md` — instructs AI agents to always consult XDRs.
145
+ - `AGENTS.md` — instructs AI agents to always consult XDRS.
135
146
  - `.xdrs/index.md` — root index (editable, `keepExisting` mode).
136
- - `_core` XDRs, Research documents, and skills under `.xdrs/_core/`.
147
+ - `_core` Policies, Research documents, and skills under `.xdrs/_core/`.
137
148
  3. Start a conversation with your AI agent:
138
149
  > Create an ADR about our decision to use Python for AI projects.
139
150
 
140
151
  ### Guidelines
141
152
 
142
- Follow [_core-adr-001](../001-xdrs-core.md) and [_core-adr-002](../002-xdr-standards.md) strictly. Key rules:
153
+ Follow [_core-adr-policy-001](../001-xdrs-core.md) and [_core-adr-policy-002](../002-policy-standards.md) strictly. Key rules:
143
154
 
144
155
  - Use **mandatory language** (`must`, `never`, `required`) for non-negotiable rules and
145
156
  **advisory language** (`should`, `recommended`) for guidance.
146
- - Before citing an XDR as a requirement, check `Valid` first, then `Applied to`, and finally the decision text to confirm the decision is in scope for the current case.
157
+ - Before citing a Policy as a requirement, check `Valid` first, then `Applied to`, and finally the decision text to confirm the decision is in scope for the current case.
147
158
  - All documents present in the collection are considered active. Remove documents that are no longer relevant.
148
- - Keep XDRs under 1300 words as a rule of thumb (exceptions up to 2600 words for templates or more elaborate decisions). Move procedural detail to a co-located Skill.
149
- - Keep exploratory option analysis in a co-located Research document instead of bloating the XDR.
150
- - Always update the scope+type index and the root index after adding or changing an XDR.
159
+ - Keep Policies under 1300 words as a rule of thumb (exceptions up to 2600 words for templates or more elaborate decisions). Move procedural detail to a co-located Skill.
160
+ - Keep exploratory option analysis in a co-located Research document instead of bloating the Policy.
161
+ - Always update the scope+type index and the root index after adding or changing a Policy.
151
162
  - Use `_local` scope when a decision is project-specific and must not be shared.
152
- - Never reuse a number once it has been assigned, even if the XDR is deleted.
163
+ - Never reuse a number once it has been assigned, even if the Policy is deleted.
153
164
 
154
165
  ### How to extend
155
166
 
@@ -157,18 +168,18 @@ Follow [_core-adr-001](../001-xdrs-core.md) and [_core-adr-002](../002-xdr-stand
157
168
  - **New subject** — create the subject folder under the existing scope+type path. Add an
158
169
  allowed subject or use `principles` if none fits (propose a new subject via a `_core` ADR).
159
170
  - **New research** — add a `researches/[number]-[short-title].md` inside the relevant subject
160
- folder, following [_core-adr-006](../006-research-standards.md).
171
+ folder, following [_core-adr-policy-006](../006-research-standards.md).
161
172
  - **New skill** — add a `skills/[number]-[skill-name]/SKILL.md` inside the relevant subject
162
- folder, following [_core-adr-003](../003-skill-standards.md).
173
+ folder, following [_core-adr-policy-003](../003-skill-standards.md).
163
174
  - **New article** — add an `articles/[number]-[short-title].md` inside the relevant subject
164
- folder, following [_core-adr-004](../004-article-standards.md).
175
+ folder, following [_core-adr-policy-004](../004-article-standards.md).
165
176
  - **New plan** — add a `plans/[number]-[short-title].md` inside the relevant subject
166
- folder, following [_core-adr-007](../007-plan-standards.md).
177
+ folder, following [_core-adr-policy-007](../007-plan-standards.md).
167
178
 
168
- ### Using XDRs in your own project
179
+ ### Using XDRS in your own project
169
180
 
170
181
  1. **Install** — add the scope package as a dependency and run `npx xdrs-core extract` (or
171
- `pnpm exec xdrs-core extract`) to unpack XDR files into `.xdrs/` in your workspace.
182
+ `pnpm exec xdrs-core extract`) to unpack XDRS files into `.xdrs/` in your workspace.
172
183
  2. **Pins and upgrades** — update the npm dependency version to pull in the latest decisions
173
184
  for a scope. The `filedist` mechanism tracks managed files in `.filedist` and keeps
174
185
  `.xdrs/index.md` in `keepExisting` mode so local edits are preserved.
@@ -181,15 +192,15 @@ Follow [_core-adr-001](../001-xdrs-core.md) and [_core-adr-002](../002-xdr-stand
181
192
 
182
193
  ## References
183
194
 
184
- - [_core-adr-001](../001-xdrs-core.md) - XDR elements: types, scopes, subjects, folder structure
185
- - [_core-adr-002](../002-xdr-standards.md) - XDR document standards and mandatory template
186
- - [_core-adr-003](../003-skill-standards.md) - Skill standards and co-location rules
187
- - [_core-adr-004](../004-article-standards.md) - Article standards
188
- - [_core-adr-006](../006-research-standards.md) - Research standards
189
- - [_core-adr-007](../007-plan-standards.md) - Plan standards
190
- - [001-lint skill](../skills/001-lint/SKILL.md) - Linting code against XDRs
191
- - [002-write-xdr skill](../skills/002-write-xdr/SKILL.md) - Writing a new XDR
195
+ - [_core-adr-policy-001](../001-xdrs-core.md) - XDRS elements: types, scopes, subjects, folder structure
196
+ - [_core-adr-policy-002](../002-policy-standards.md) - Policy document standards and mandatory template
197
+ - [_core-adr-policy-003](../003-skill-standards.md) - Skill standards and co-location rules
198
+ - [_core-adr-policy-004](../004-article-standards.md) - Article standards
199
+ - [_core-adr-policy-006](../006-research-standards.md) - Research standards
200
+ - [_core-adr-policy-007](../007-plan-standards.md) - Plan standards
201
+ - [001-review skill](../skills/001-review/SKILL.md) - Reviewing code against Policies
202
+ - [002-write-policy skill](../skills/002-write-policy/SKILL.md) - Writing a new Policy
192
203
  - [003-write-skill skill](../skills/003-write-skill/SKILL.md) - Writing a new skill
193
204
  - [004-write-article skill](../skills/004-write-article/SKILL.md) - Writing a new article
194
205
  - [005-write-research skill](../skills/005-write-research/SKILL.md) - Writing a new research document
195
- - [_core-adr-005](../005-semantic-versioning-for-xdr-packages.md) - Semantic versioning rules for XDR packages
206
+ - [_core-adr-policy-005](../005-semantic-versioning-for-xdrs-packages.md) - Semantic versioning rules for XDRS packages
@@ -15,7 +15,7 @@ test('smoke test', async () => {
15
15
  ...copilotCmd(REPO_ROOT),
16
16
  },
17
17
  'Reply ONLY with "READY" after checking if SKILL 001 has any contents',
18
- 'Verify that the final output is ONLY "READY" and that it read file 001-lint/SKILL.md',
18
+ 'Verify that the final output is ONLY "READY" and that it read file 001-review/SKILL.md',
19
19
  null,
20
20
  true
21
21
  );
@@ -23,15 +23,15 @@ test('smoke test', async () => {
23
23
  expect(err).toBe('');
24
24
  });
25
25
 
26
- test('001-lint outputs the required review template', async () => {
26
+ test('001-review outputs the required review template', async () => {
27
27
  const err = await testPrompt(
28
28
  {
29
29
  workspaceRoot: REPO_ROOT,
30
30
  workspaceMode: 'copy',
31
31
  ...copilotCmd(REPO_ROOT),
32
32
  },
33
- 'Review xdr 001-xdrs-core',
34
- 'Verify that the skill 001-lint was used, contains "## Findings", and "## Summary", includes an "Outcome: PASS", and that it read file 001-lint/SKILL.md and 001-xdrs-core.md.',
33
+ 'Review XDRS Policy 001-xdrs-core',
34
+ 'Verify that the skill 001-review was used, contains "## Findings", and "## Summary", includes an "Outcome: PASS", and that it read file 001-review/SKILL.md and 001-xdrs-core.md.',
35
35
  null,
36
36
  true
37
37
  );
@@ -1,5 +1,5 @@
1
1
  {
2
- "Review xdr 001-xdrs-core-ac1c8339": {
2
+ "Review XDRS Policy 001-xdrs-core-ac1c8339": {
3
3
  "result": "success",
4
4
  "contextFiles": [
5
5
  ".github/skills/001-lint/SKILL.md",