xdrs-core 0.24.1 → 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 +19 -19
- package/.xdrs/_core/adrs/principles/001-xdrs-core.md +37 -37
- package/.xdrs/_core/adrs/principles/002-policy-standards.md +153 -0
- package/.xdrs/_core/adrs/principles/003-skill-standards.md +23 -22
- package/.xdrs/_core/adrs/principles/004-article-standards.md +23 -23
- package/.xdrs/_core/adrs/principles/{005-semantic-versioning-for-xdr-packages.md → 005-semantic-versioning-for-xdrs-packages.md} +11 -11
- package/.xdrs/_core/adrs/principles/006-research-standards.md +24 -24
- package/.xdrs/_core/adrs/principles/007-plan-standards.md +14 -14
- package/.xdrs/_core/adrs/principles/008-xdr-standards-structured.md +19 -19
- package/.xdrs/_core/adrs/principles/009-presentation-standards.md +11 -11
- package/.xdrs/_core/adrs/principles/articles/001-xdrs-overview.md +61 -50
- package/.xdrs/_core/adrs/principles/skills/{001-lint/001-lint.test.int.js → 001-review/001-review.test.int.js} +4 -4
- package/.xdrs/_core/adrs/principles/skills/{001-lint/001-lint.test.int.report → 001-review/001-review.test.int.report} +1 -1
- package/.xdrs/_core/adrs/principles/skills/001-review/SKILL.md +94 -0
- package/.xdrs/_core/adrs/principles/skills/002-write-policy/002-write-policy.test.int.js +24 -0
- 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
- package/.xdrs/_core/adrs/principles/skills/{002-write-xdr → 002-write-policy}/SKILL.md +40 -40
- package/.xdrs/_core/adrs/principles/skills/003-write-skill/SKILL.md +18 -18
- package/.xdrs/_core/adrs/principles/skills/004-write-article/SKILL.md +32 -32
- package/.xdrs/_core/adrs/principles/skills/005-write-research/SKILL.md +25 -25
- package/.xdrs/_core/adrs/principles/skills/006-write-plan/SKILL.md +17 -17
- package/.xdrs/_core/adrs/principles/skills/007-write-presentation/SKILL.md +14 -14
- package/.xdrs/_core/index.md +21 -26
- package/.xdrs/index.md +4 -4
- package/AGENTS.md +12 -12
- package/README.md +53 -40
- package/lib/lint.js +53 -48
- package/lib/lint.test.js +96 -96
- package/package.json +3 -3
- package/.xdrs/_core/adrs/principles/002-xdr-standards.md +0 -158
- package/.xdrs/_core/adrs/principles/skills/001-lint/SKILL.md +0 -94
- package/.xdrs/_core/adrs/principles/skills/002-write-xdr/002-write-xdr.test.int.js +0 -24
- package/.xdrs/_core/bdrs/index.md +0 -9
- package/.xdrs/_core/bdrs/principles/001-xdr-decisions-and-skills-usage.md +0 -52
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: _core-adr-005-semantic-versioning-for-
|
|
3
|
-
description: Defines how semantic versioning applies to
|
|
2
|
+
name: _core-adr-policy-005-semantic-versioning-for-xdrs-packages
|
|
3
|
+
description: Defines how semantic versioning applies to XDRS packages. Use when publishing or versioning a package containing Policies, research, skills, or articles.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# _core-adr-005: Semantic versioning for
|
|
6
|
+
# _core-adr-policy-005: Semantic versioning for XDRS packages
|
|
7
7
|
|
|
8
8
|
## Context and Problem Statement
|
|
9
9
|
|
|
10
|
-
Teams consume
|
|
10
|
+
Teams consume XDRS packages as reusable guidance, constraints, Research documents, skills, and articles. If package versions do not reflect the real impact of a release, upgrades become risky and teams lose trust in reuse.
|
|
11
11
|
|
|
12
|
-
Question: How should semantic versioning be used when publishing or versioning a package containing
|
|
12
|
+
Question: How should semantic versioning be used when publishing or versioning a package containing Policies, Research documents, skills, and articles?
|
|
13
13
|
|
|
14
14
|
## Decision Outcome
|
|
15
15
|
|
|
16
16
|
**semantic versioning aligned with decision impact**
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
XDRS packages must use semantic versioning so the package version communicates the expected upgrade impact on consuming teams and projects.
|
|
19
19
|
|
|
20
20
|
### Details
|
|
21
21
|
|
|
@@ -26,13 +26,13 @@ XDR packages must use semantic versioning so the package version communicates th
|
|
|
26
26
|
|
|
27
27
|
**MAJOR**
|
|
28
28
|
- Use a major bump for breaking changes.
|
|
29
|
-
- Use a major bump when an existing
|
|
29
|
+
- Use a major bump when an existing Policy changes meaning in a way that can require consuming teams to revisit architecture, governance, operations, or implementation decisions.
|
|
30
30
|
- Use a major bump when impactful concepts are introduced or changed in a way that materially alters how the package should be adopted or interpreted.
|
|
31
|
-
- Typical cases: removed or renamed
|
|
31
|
+
- Typical cases: removed or renamed Policies that affect references, changed mandatory rules, changed conflict/override behavior, or changed guidance that invalidates previously compliant usage.
|
|
32
32
|
|
|
33
33
|
**MINOR**
|
|
34
34
|
- Use a minor bump for backward-compatible additions and new capabilities.
|
|
35
|
-
- Use a minor bump for new
|
|
35
|
+
- Use a minor bump for new Policies that do not break existing guidance.
|
|
36
36
|
- Use a minor bump for new or updated Research documents, articles, and skill changes that extend the package without requiring consumers to undo previous adoption work.
|
|
37
37
|
- Typical cases: new features, new optional guidance, new Research documents, new articles, expanded skills, or additive non-breaking decision coverage.
|
|
38
38
|
|
|
@@ -41,11 +41,11 @@ XDR packages must use semantic versioning so the package version communicates th
|
|
|
41
41
|
- Use a patch bump for corrections that preserve the existing meaning and upgrade expectations of the package.
|
|
42
42
|
- Typical cases: typo fixes, broken links, wording clarifications, examples, simple additions, formatting fixes, and small consistency improvements.
|
|
43
43
|
|
|
44
|
-
- Teams publishing
|
|
44
|
+
- Teams publishing XDRS packages SHOULD treat the version number as an upgrade contract.
|
|
45
45
|
- Consumers SHOULD be able to assume that patch upgrades are low risk, minor upgrades are additive, and major upgrades may require review or migration work.
|
|
46
46
|
- Release notes SHOULD explain the reason for the chosen bump, especially for major releases.
|
|
47
47
|
|
|
48
48
|
## References
|
|
49
49
|
|
|
50
50
|
- https://semver.org/
|
|
51
|
-
- [_core-adr-006 - Research standards](006-research-standards.md)
|
|
51
|
+
- [_core-adr-policy-006 - Research standards](006-research-standards.md)
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
@@ -81,7 +81,7 @@ Examples:
|
|
|
81
81
|
All research documents MUST follow this template:
|
|
82
82
|
|
|
83
83
|
```markdown
|
|
84
|
-
# [scope]-research-[number]: [Short Title]
|
|
84
|
+
# [scope]-[type]-research-[number]: [Short Title]
|
|
85
85
|
|
|
86
86
|
## Abstract
|
|
87
87
|
|
|
@@ -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
|
|
120
|
-
- [Another related
|
|
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
|
|
128
|
-
* Reason: Makes
|
|
129
|
-
* (CHOSEN) **IMRAD-based subject-level research beside
|
|
130
|
-
* Reason: Preserves lifecycle context, keeps the
|
|
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 -
|
|
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
|
|
16
|
+
**Subject-level ephemeral plan documents co-located with Policies**
|
|
17
17
|
|
|
18
|
-
Plans are Markdown documents placed inside a subject folder alongside
|
|
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
|
|
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.
|
|
@@ -61,7 +61,7 @@ Examples:
|
|
|
61
61
|
All plans MUST follow this template:
|
|
62
62
|
|
|
63
63
|
```markdown
|
|
64
|
-
# [scope]-plan-[number]: [Short Title]
|
|
64
|
+
# [scope]-[type]-plan-[number]: [Short Title]
|
|
65
65
|
|
|
66
66
|
## Executive Summary
|
|
67
67
|
|
|
@@ -121,19 +121,19 @@ Due date: YYYY-MM-DD
|
|
|
121
121
|
|
|
122
122
|
## References
|
|
123
123
|
|
|
124
|
-
- [Related
|
|
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
|
|
130
|
-
* Reason: Plans are ephemeral execution documents while
|
|
131
|
-
* (CHOSEN) **Subject-level plans folder co-located with
|
|
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 -
|
|
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-
|
|
3
|
-
description: Extends
|
|
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:
|
|
6
|
+
# _core-adr-policy-008: Policy standards - structured
|
|
7
7
|
|
|
8
8
|
## Context and Problem Statement
|
|
9
9
|
|
|
10
|
-
Some
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
45
|
+
policy-name.NN-short-descriptive-title-in-kebab-case
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
Examples:
|
|
49
49
|
|
|
50
|
-
- `_core-adr-008-
|
|
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 `
|
|
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
|
|
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: `
|
|
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
|
|
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 -
|
|
81
|
-
- [_core-adr-002 -
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 -
|
|
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
|