xdrs-core 0.47.0 → 0.48.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 +2 -2
- package/.xdrs/_core/adrs/principles/001-xdrs-standards.md +11 -11
- package/.xdrs/_core/adrs/principles/004-article-standards.md +1 -1
- package/.xdrs/_core/adrs/principles/007-initiative-standards.md +140 -0
- package/.xdrs/_core/adrs/principles/009-presentation-standards.md +3 -3
- package/.xdrs/_core/adrs/principles/010-scope-governance.md +2 -2
- package/.xdrs/_core/adrs/principles/articles/.assets/001-xdrs-overview-slides.md +6 -6
- package/.xdrs/_core/adrs/principles/articles/.assets/001-xdrs-overview.svg +3 -3
- package/.xdrs/_core/adrs/principles/articles/001-xdrs-overview.md +10 -10
- package/.xdrs/_core/adrs/principles/skills/.assets/meta-policy-compliance.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/.assets/prerequisites-gate.md +2 -2
- package/.xdrs/_core/adrs/principles/skills/001-review/SKILL.md +13 -3
- package/.xdrs/_core/adrs/principles/skills/004-write-article/004-write-article.test.int.report +1 -1
- package/.xdrs/_core/adrs/principles/skills/{006-write-plan → 006-write-initiative}/SKILL.md +40 -40
- package/.xdrs/_core/adrs/principles/skills/007-write-presentation/SKILL.md +3 -3
- package/.xdrs/_core/adrs/principles/skills/008-write-xdrs-doc/SKILL.md +14 -4
- package/.xdrs/_core/index.md +4 -4
- package/.xdrs/index.md +1 -1
- package/README.md +8 -8
- package/lib/lint.js +25 -25
- package/lib/lint.test.js +174 -7
- package/package.json +1 -1
- package/.xdrs/_core/adrs/principles/007-plan-standards.md +0 -140
|
@@ -12,7 +12,7 @@ Foundational standards, principles, and guidelines.
|
|
|
12
12
|
- [_core-adr-policy-004](principles/004-article-standards.md) - **Article standards** — How to write synthetic views combining Policies, research, and skills
|
|
13
13
|
- [_core-adr-policy-005](principles/005-semantic-versioning-for-xdrs-packages.md) - **Semantic versioning for XDRS packages** — How to version XDRS packages to communicate upgrade impact
|
|
14
14
|
- [_core-adr-policy-006](principles/006-research-standards.md) - **Research standards** — How to structure research documents backing Policy decisions
|
|
15
|
-
- [_core-adr-policy-007](principles/007-
|
|
15
|
+
- [_core-adr-policy-007](principles/007-initiative-standards.md) - **Initiative standards** — How to structure ephemeral execution initiatives that implement decisions
|
|
16
16
|
- [_core-adr-policy-008](principles/008-policy-structured-standards.md) - **Policy structured standards** — How to expose individually referenceable numbered rules inside a Policy when external citation by identifier is required
|
|
17
17
|
- [_core-adr-policy-009](principles/009-presentation-standards.md) - **Presentation standards** — How to structure Marp slide presentations that support XDRS documents
|
|
18
18
|
- [_core-adr-policy-010](principles/010-scope-governance.md) - **Scope governance** — How to define custom scope types, scope-local standards, and how all governance mechanisms apply with their precedence chain
|
|
@@ -36,7 +36,7 @@ Step-by-step procedural guides for humans and AI agents.
|
|
|
36
36
|
- [003-write-skill](principles/skills/003-write-skill/SKILL.md) - **Write Skill** — create a new skill package
|
|
37
37
|
- [004-write-article](principles/skills/004-write-article/SKILL.md) - **Write Article** — create a new article document
|
|
38
38
|
- [005-write-research](principles/skills/005-write-research/SKILL.md) - **Write Research** — create a new research document
|
|
39
|
-
- [006-write-
|
|
39
|
+
- [006-write-initiative](principles/skills/006-write-initiative/SKILL.md) - **Write Initiative** — create a new initiative document
|
|
40
40
|
- [007-write-presentation](principles/skills/007-write-presentation/SKILL.md) - **Write Presentation** — create Marp slide presentations for XDRS documents
|
|
41
41
|
- [008-write-xdrs-doc](principles/skills/008-write-xdrs-doc/SKILL.md) - **Write XDRS Doc** — router skill; infers document type and delegates to the appropriate authoring skill
|
|
42
42
|
- [009-compile-scope](principles/skills/009-compile-scope/SKILL.md) - **Compile Scope** — compiles or updates a `compiled`-type scope from its configured external sources
|
|
@@ -21,7 +21,7 @@ Provides clear ownership by scope, predictable navigation, and reusable decision
|
|
|
21
21
|
|
|
22
22
|
### Details
|
|
23
23
|
|
|
24
|
-
A standard Decision Record normally combines several concerns in the same document: a reason (why, options considered), a policy (rules, what is the decision),
|
|
24
|
+
A standard Decision Record normally combines several concerns in the same document: a reason (why, options considered), a policy (rules, what is the decision), an initiative (consequences, when it will be implemented), a how-to (step-by-step how-to procedure), and a view on a topic. The XDRS framework separates these concerns into different document types: Policies as the source of truth for the core of the decision, Research for reasoning and evidence, Initiatives for implementation approach, Skills for execution procedures, and Articles for topic overviews. Supporting artifacts MAY explain, justify, or operationalize the policy, but they do not replace it. The compilation process of a raw Decision Record is to distribute it into those different documents and create links between them. You can also use the framework standalone, generating these elements individually directly during the writing process.
|
|
25
25
|
|
|
26
26
|
Policies can be of different kinds, depending on the nature of the decision:
|
|
27
27
|
- BDR (Business Decision Record): Captures business process, product features, procedures and strategic decisions. Examples: business rules, product policies, customer service, business workflow, control frameworks for regulators for finance, product procedures and manuals, KYC requirements, business requirements in general
|
|
@@ -55,18 +55,18 @@ ADR and EDR share the same six technical subject names (see [`_core-adr-policy-0
|
|
|
55
55
|
- `[xdrs-root]/[scope]/[type]/[subject]/researches/[number]-[short-title].md`
|
|
56
56
|
- `[xdrs-root]/[scope]/[type]/[subject]/skills/[number]-[skill-name]/SKILL.md`
|
|
57
57
|
- `[xdrs-root]/[scope]/[type]/[subject]/articles/[number]-[short-title].md`
|
|
58
|
-
- `[xdrs-root]/[scope]/[type]/[subject]/
|
|
58
|
+
- `[xdrs-root]/[scope]/[type]/[subject]/initiatives/[number]-[short-title].md`
|
|
59
59
|
- Research, skills, and articles are part of the framework, but each has its own concept-specific standards in dedicated Policies. This Policy defines the shared framework baseline; `_core-adr-policy-002` defines the Policy document writing standard.
|
|
60
60
|
- `_core-adr-policy-002` defines Policy standards (document writing)
|
|
61
61
|
- `_core-adr-policy-003` defines skill standards
|
|
62
62
|
- `_core-adr-policy-004` defines article standards
|
|
63
63
|
- `_core-adr-policy-006` defines research standards
|
|
64
|
-
- `_core-adr-policy-007` defines
|
|
64
|
+
- `_core-adr-policy-007` defines initiative standards
|
|
65
65
|
- For diagram format preferences and non-Markdown asset rules, see [`_core-adr-policy-020`](020-media-and-asset-standards.md). **Per-document-type `.assets/` paths:**
|
|
66
66
|
- Policies in the subject root use `[xdrs-root]/[scope]/[type]/[subject]/.assets/`
|
|
67
67
|
- Articles use `[xdrs-root]/[scope]/[type]/[subject]/articles/.assets/`
|
|
68
68
|
- Research uses `[xdrs-root]/[scope]/[type]/[subject]/researches/.assets/`
|
|
69
|
-
-
|
|
69
|
+
- Initiatives use `[xdrs-root]/[scope]/[type]/[subject]/initiatives/.assets/`
|
|
70
70
|
- Skills use `[xdrs-root]/[scope]/[type]/[subject]/skills/[number]-[skill-name]/.assets/`
|
|
71
71
|
- **Scopes:**
|
|
72
72
|
- Short name that defines a group or a package of XDRS
|
|
@@ -91,7 +91,7 @@ ADR and EDR share the same six technical subject names (see [`_core-adr-policy-0
|
|
|
91
91
|
- `valid-from` (required): ISO date (YYYY-MM-DD) from which this scope became active.
|
|
92
92
|
- `metadata` (optional): Arbitrary key-value map for additional scope metadata.
|
|
93
93
|
- `follows` (optional): Core scope names whose Policies apply as mandatory governance conventions to this scope, beyond `_core`. Last-listed takes precedence on conflicts (e.g., `follows: myarea-core, shared-standards`). All referenced scopes MUST exist in the workspace; if any is absent, READ/WRITE/REVIEW operations MUST fail.
|
|
94
|
-
- `extends` (optional): Scope names whose **policy documents** (decision records only — not skills, articles, research, or
|
|
94
|
+
- `extends` (optional): Scope names whose **policy documents** (decision records only — not skills, articles, research, or initiatives) are inherited by this scope as if they were authored here. Any scope type except `_local` and `_core` may be referenced. Last-listed extended scope takes precedence on conflicts; the extending scope's own policies always take highest precedence. Depth-first transitive resolution applies: if A extends [B, C] and B extends [D], the effective precedence order is D < B < C < A. `extends:` and `follows:` MUST reference disjoint scope sets. All referenced scopes MUST exist in the workspace; if any is absent, READ/WRITE/REVIEW operations MUST fail. When an extending scope's policy overrides an inherited policy on the same topic, a `## Conflicts` section MUST document the override. Scopes referenced only via `extends:` chains (not entry scopes in the root index) are exempt from the root index link requirement. `extends:` takes precedence over root index ordering for conflict resolution between the scopes involved; root index ordering is the fallback for all other scope pairs. See `_core-adr-policy-010` Section D (rules 27–35) and Section E (rule 36) for full normative rules.
|
|
95
95
|
- `license` (optional): SPDX identifier for the scope's content license.
|
|
96
96
|
- `metadata` (optional): Arbitrary key-value map for additional scope metadata.
|
|
97
97
|
- **Subjects:** The subject folder MUST be chosen per [`_core-adr-policy-016`](016-policy-subjects.md), which defines allowed subjects, full descriptions, examples, and disambiguation tiebreakers.
|
|
@@ -99,9 +99,9 @@ ADR and EDR share the same six technical subject names (see [`_core-adr-policy-0
|
|
|
99
99
|
- MUST NOT use emojis
|
|
100
100
|
- **Links:** Use relative paths for all links; MUST NOT use absolute paths starting with `/`.
|
|
101
101
|
- **Indexes**
|
|
102
|
-
- Every document in the collection (Policies, skills, articles, research, and
|
|
102
|
+
- Every document in the collection (Policies, skills, articles, research, and initiatives) MUST be reachable through the index chain: root index → scope index → type index → document. A document that exists on disk but is not linked from its canonical type index is considered an orphan and MUST be added to the index or removed.
|
|
103
103
|
- Index files MUST NOT contain policy rules or normative requirements. Those MUST be placed in dedicated Policy documents. Indexes are navigation artifacts only: links and short descriptions.
|
|
104
|
-
- Keep a canonical type index with all documents of a certain type+scope in `[xdrs-root]/[scope]/[type]/index.md`. The type index MUST link to every Policy, skill, article, research, and
|
|
104
|
+
- Keep a canonical type index with all documents of a certain type+scope in `[xdrs-root]/[scope]/[type]/index.md`. The type index MUST link to every Policy, skill, article, research, and initiative under that type+scope.
|
|
105
105
|
- Canonical index requirements:
|
|
106
106
|
- Organize XDRS documents by subject for easier navigation
|
|
107
107
|
- Add a short description of what this scope is about (responsibilities, general worries, teams involved, link to discussion process, etc)
|
|
@@ -115,7 +115,7 @@ ADR and EDR share the same six technical subject names (see [`_core-adr-policy-0
|
|
|
115
115
|
- The audience for the scope index are engineers, architects, or business analysts who want to check if the scope's contents are useful before diving into specific documents. Write a guided summary that helps them decide whether to explore further.
|
|
116
116
|
- Focus on the most relevant content of the scope: what decisions are covered, what problems they address, and how the scope relates to other scopes.
|
|
117
117
|
- At the end of the scope index, MUST add links to the canonical type indexes (`adrs/index.md`, `bdrs/index.md`, `edrs/index.md`) that exist within the scope.
|
|
118
|
-
- Whenever the contents of a scope change (new Policies, skills, articles, research, or
|
|
118
|
+
- Whenever the contents of a scope change (new Policies, skills, articles, research, or initiatives are added, updated, or removed), evaluate whether the scope index SHOULD be updated to reflect the newer contents.
|
|
119
119
|
|
|
120
120
|
**Folder structure examples** (using the default `.xdrs/` root):
|
|
121
121
|
- `.xdrs/business-x/edrs/platform/003-required-development-workflow.md`
|
|
@@ -129,8 +129,8 @@ subject/
|
|
|
129
129
|
|-- articles/
|
|
130
130
|
| |-- 001-article.md
|
|
131
131
|
| `-- .assets/
|
|
132
|
-
|--
|
|
133
|
-
| |-- 001-
|
|
132
|
+
|-- initiatives/
|
|
133
|
+
| |-- 001-initiative.md
|
|
134
134
|
| `-- .assets/
|
|
135
135
|
|-- researches/
|
|
136
136
|
| |-- 001-study.md
|
|
@@ -152,5 +152,5 @@ subject/
|
|
|
152
152
|
- [_core-adr-policy-003 - Skill standards](003-skill-standards.md)
|
|
153
153
|
- [_core-adr-policy-004 - Article standards](004-article-standards.md)
|
|
154
154
|
- [_core-adr-policy-006 - Research standards](006-research-standards.md)
|
|
155
|
-
- [_core-adr-policy-007 -
|
|
155
|
+
- [_core-adr-policy-007 - Initiative standards](007-initiative-standards.md)
|
|
156
156
|
- [_core-adr-policy-020 - Media and asset standards](020-media-and-asset-standards.md) - Diagram format preferences and non-Markdown asset rules
|
|
@@ -26,7 +26,7 @@ Articles are Markdown documents placed inside a subject folder alongside policie
|
|
|
26
26
|
- The primary objective of an article is to make information available and accessible to humans. Good copywriting style, storytelling, clear organization, and clustering of related information are essential. Avoid repetitive content; each sentence SHOULD add new value.
|
|
27
27
|
- Articles SHOULD stay under 2000 words (approximately a 10-minute read) to maximize reader engagement. When planning an article, keep it as small as possible. Break large subjects into separate chapters, each in its own article, so readers can consume and understand sections independently.
|
|
28
28
|
- When a topic is broken into multiple articles, organize them as a **series**: each article MUST declare its position at the very top (e.g., `_This is article 2/4 of the "Engineering Practices" series._`) and MUST link to the previous and next articles in the series so readers can navigate the sequence without returning to an index.
|
|
29
|
-
- Articles MUST NOT exceed 8000 words (hard limit). Move or point to detailed contents referenced in Policy decisions, researches,
|
|
29
|
+
- Articles MUST NOT exceed 8000 words (hard limit). Move or point to detailed contents referenced in Policy decisions, researches, initiatives, or skills.
|
|
30
30
|
|
|
31
31
|
**Content and structure**
|
|
32
32
|
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: _core-adr-policy-007-initiative-standards
|
|
3
|
+
description: Defines initiative document standards for describing problems, solutions, and activities. Use when creating or reviewing initiatives.
|
|
4
|
+
apply-to: All initiative documents
|
|
5
|
+
valid-from: 2025-01-01
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# _core-adr-policy-007: Initiative standards
|
|
9
|
+
|
|
10
|
+
## Context and Problem Statement
|
|
11
|
+
|
|
12
|
+
Teams need a structured way to describe a problem, propose a solution, and lay out the approach and activities needed to solve it. Without a standard format, initiative documents drift in structure and completeness, making it hard to assess scope, track progress, and verify that an initiative was fully implemented.
|
|
13
|
+
|
|
14
|
+
How should initiatives be structured and organized so they provide clear guidance for execution while remaining connected to the decisions, research, and skills they relate to?
|
|
15
|
+
|
|
16
|
+
## Decision Outcome
|
|
17
|
+
|
|
18
|
+
**Subject-level ephemeral initiative documents co-located with Policies**
|
|
19
|
+
|
|
20
|
+
Initiatives are Markdown documents placed inside a subject folder alongside policies. They describe a problem, a proposed solution, and the approach to solve it. Initiatives have a clear start and end and a well-defined scope.
|
|
21
|
+
|
|
22
|
+
### Details
|
|
23
|
+
|
|
24
|
+
- Initiatives describe a problem (why), what we will do to solve the problem, and the approach and activities needed to solve it (how).
|
|
25
|
+
- Initiatives are NOT the source of truth. When an initiative and a Policy disagree, the Policy takes precedence.
|
|
26
|
+
- Initiatives are ephemeral. They MUST be deleted after full implementation. The lasting outputs of an initiative are actual actions or Decisions, Skills, Articles, Research documents, and other artifacts that result from execution.
|
|
27
|
+
- Initiatives 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 an initiative to give more context and connect more details present in other decisions and research to people involved in the initiative.
|
|
28
|
+
- During the implementation of an initiative, new Decisions, Articles, Skills, Research documents, and even other Initiatives MAY be created. All related elements MUST be linked to each other.
|
|
29
|
+
- An initiative 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 be tracked in specialized software such as GitHub or Azure DevOps.
|
|
30
|
+
- The total time to deliver an initiative SHOULD NOT be more than 2 years. If more time is needed, create a new initiative later with what was learned.
|
|
31
|
+
- Initiatives MUST live under `initiatives/` inside the relevant subject folder: `.xdrs/[scope]/[type]/[subject]/initiatives/[number]-[short-title].md`
|
|
32
|
+
- 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`.
|
|
33
|
+
- Initiatives MUST include an `Expected end date:` field in ISO format (YYYY-MM-DD) inside the `## Proposed Solution` section.
|
|
34
|
+
- File names MUST be lowercase.
|
|
35
|
+
- MUST NOT use emojis in initiative content.
|
|
36
|
+
- For diagram format preferences and non-Markdown asset rules, see [`_core-adr-policy-020`](020-media-and-asset-standards.md).
|
|
37
|
+
|
|
38
|
+
**Folder layout**
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
.xdrs/
|
|
42
|
+
[scope]/
|
|
43
|
+
[type]/
|
|
44
|
+
[subject]/
|
|
45
|
+
initiatives/
|
|
46
|
+
[number]-[short-title].md
|
|
47
|
+
.assets/
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Examples:
|
|
51
|
+
- `.xdrs/_local/adrs/principles/initiatives/001-checkout-performance.md`
|
|
52
|
+
- `.xdrs/business-x/bdrs/product/initiatives/002-onboarding-redesign.md`
|
|
53
|
+
|
|
54
|
+
**Initiative numbering**
|
|
55
|
+
|
|
56
|
+
- Each initiative has a number unique within its `scope/type/subject/initiatives/` namespace.
|
|
57
|
+
- Determine the next number by checking the highest number already present in that namespace.
|
|
58
|
+
- MUST NOT reuse numbers of deleted initiatives. Gaps in the sequence are expected and allowed.
|
|
59
|
+
|
|
60
|
+
**Initiative template**
|
|
61
|
+
|
|
62
|
+
All initiatives MUST follow this template:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
# [scope]-[type]-initiative-[number]: [Short Title]
|
|
66
|
+
|
|
67
|
+
## Executive Summary
|
|
68
|
+
|
|
69
|
+
[Required. A summary of all sections below using bullet points, focused on the most important items. Under 500 words.]
|
|
70
|
+
|
|
71
|
+
## Context and Problem Statement
|
|
72
|
+
|
|
73
|
+
[Required. Describe clearly why we are executing this initiative. What is the impact? Who is impacted? Why is this important? Under 200 words.
|
|
74
|
+
E.g.: Our checkout abandon rate is 50%, and it's increasing over time.]
|
|
75
|
+
|
|
76
|
+
## Proposed Solution
|
|
77
|
+
|
|
78
|
+
[Required. What we expect to achieve to solve the problem described above. Under 200 words.
|
|
79
|
+
E.g.: Reduce payment time in our App by 30% and fix the 3 most impactful bugs.]
|
|
80
|
+
|
|
81
|
+
Expected end date: YYYY-MM-DD
|
|
82
|
+
|
|
83
|
+
## Acceptance Criteria
|
|
84
|
+
|
|
85
|
+
[Optional. Used to make it clear what the expected result is and to create a way to verify when the goal is achieved. May include a short checklist. Under 100 words.]
|
|
86
|
+
|
|
87
|
+
## Approach
|
|
88
|
+
|
|
89
|
+
[Optional. High level description about how to achieve the result and the strategy used, including how to engage people, projects, organize the work, how to learn unknowns, deal with risks, and distribute workload. May include a WBS with the hierarchy of the work. Under 300 words.]
|
|
90
|
+
|
|
91
|
+
## Key Deliverables
|
|
92
|
+
|
|
93
|
+
[Optional. List of the main features, goods, artifacts, data, articles, skills, decisions, training, programs, events etc that will be important to achieve the expected result. Under 300 words.]
|
|
94
|
+
|
|
95
|
+
## Key Resources
|
|
96
|
+
|
|
97
|
+
[Optional. List of equipment, people, other project results, budget, areas or dependencies that need to be engaged or allocated for this initiative to be implemented. Under 100 words.]
|
|
98
|
+
|
|
99
|
+
## Milestones
|
|
100
|
+
|
|
101
|
+
[Optional. List of goals to be followed along with an optional acceptance criteria, owner and due date. Each milestone may have a checklist used as acceptance criteria verification. Key tasks and risks can be listed as part of a milestone. Under 1000 words per milestone.]
|
|
102
|
+
|
|
103
|
+
### Milestone 1: [Title]
|
|
104
|
+
Owner: [name or team]
|
|
105
|
+
Due date: YYYY-MM-DD
|
|
106
|
+
|
|
107
|
+
[Description of the milestone goal.]
|
|
108
|
+
|
|
109
|
+
**Acceptance checklist:** [optional]
|
|
110
|
+
- [ ] [Criterion 1]
|
|
111
|
+
- [ ] [Criterion 2]
|
|
112
|
+
|
|
113
|
+
**Key tasks:**
|
|
114
|
+
- [Task description]
|
|
115
|
+
|
|
116
|
+
**Risks:** [optional]
|
|
117
|
+
- [Risk description] — Mitigation: [strategy]
|
|
118
|
+
|
|
119
|
+
## Risks Identified
|
|
120
|
+
|
|
121
|
+
[Optional. List of risks along with a short description and mitigation strategy. Under 1000 words.]
|
|
122
|
+
|
|
123
|
+
## References
|
|
124
|
+
|
|
125
|
+
- [Related Policy or artifact](relative/path.md) - Brief description of relevance
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Considered Options
|
|
129
|
+
|
|
130
|
+
* (REJECTED) **Inline planning in Policies** — Embed planning details inside policies.
|
|
131
|
+
* Reason: Initiatives are ephemeral execution documents while Policies are lasting decisions. Mixing them bloats Policies and creates confusion about what to delete after execution.
|
|
132
|
+
* (CHOSEN) **Subject-level initiatives folder co-located with Policies** — Keeps initiatives alongside the decisions they implement, with clear lifecycle expectations.
|
|
133
|
+
* Reason: Consistent with how skills, articles, and research are organized. The explicit deletion requirement after implementation keeps the document base clean.
|
|
134
|
+
|
|
135
|
+
## References
|
|
136
|
+
|
|
137
|
+
- [_core-adr-policy-001 - XDRS standards](001-xdrs-standards.md) - Framework elements: types, scopes, subjects, folder structure
|
|
138
|
+
- [_core-adr-policy-004 - Article standards](004-article-standards.md) - Companion artifact type for synthetic views
|
|
139
|
+
- [_core-adr-policy-006 - Research standards](006-research-standards.md) - Companion artifact type for exploratory evidence
|
|
140
|
+
- [006-write-initiative skill](skills/006-write-initiative/SKILL.md) - Step-by-step instructions for creating a new initiative
|
|
@@ -9,7 +9,7 @@ valid-from: 2025-01-01
|
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
12
|
-
Teams often need slide presentations to communicate decisions, research findings,
|
|
12
|
+
Teams often need slide presentations to communicate decisions, research findings, initiatives, 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.
|
|
13
13
|
|
|
14
14
|
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?
|
|
15
15
|
|
|
@@ -21,7 +21,7 @@ Presentations are Markdown files in Marp format, stored in the `.assets/` folder
|
|
|
21
21
|
|
|
22
22
|
### Details
|
|
23
23
|
|
|
24
|
-
- Slides are supporting media for XDRS documents. They MUST NOT exist as standalone artifacts without a parent decision, research, article, or
|
|
24
|
+
- Slides are supporting media for XDRS documents. They MUST NOT exist as standalone artifacts without a parent decision, research, article, or initiative.
|
|
25
25
|
- Slides MUST use the [Marp](https://marp.app/) Markdown format with a minimal YAML frontmatter block at the beginning of the file:
|
|
26
26
|
```
|
|
27
27
|
---
|
|
@@ -35,7 +35,7 @@ Presentations are Markdown files in Marp format, stored in the `.assets/` folder
|
|
|
35
35
|
- Example: parent `003-naming-conventions.md` produces `003-naming-conventions-slides.md` or `003-naming-conventions-slides-overview.md`.
|
|
36
36
|
- Slide file names MUST NOT exceed 64 characters (including the `.md` extension).
|
|
37
37
|
- Slide file names MUST be lowercase.
|
|
38
|
-
- When slides refer to content from multiple decisions,
|
|
38
|
+
- When slides refer to content from multiple decisions, initiatives, or research documents, an article explaining the combined view MUST be written first. The slides then support that article, not the individual documents directly.
|
|
39
39
|
- Slides SHOULD contain minimal text. For diagrams, prefer ASCII art for very simple cases, Mermaid for flows and relationships, and draw.io when Mermaid is insufficient (see [`_core-adr-policy-020`](020-media-and-asset-standards.md)); for other slide content, prefer short bullet points, key short statements, and tables. Use longer text only when the exact wording MUST be evaluated by the audience (policies, texts under discussion, controls).
|
|
40
40
|
- Slides SHOULD follow a clean, linear storytelling structure (context, problem, solution, actions). Follow the structure of the underlying document, extracting the most important points and stressing central questions, answers, doubts, decisions, and risks.
|
|
41
41
|
- 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.
|
|
@@ -118,7 +118,7 @@ Creating a local meta-policy is optional. It SHOULD be created when a scope has
|
|
|
118
118
|
|
|
119
119
|
#### 18-local-content
|
|
120
120
|
|
|
121
|
-
A local meta-policy SHOULD define the same kinds of instructions as a scope-type definition policy (rules 04–05 above): naming conventions for content in the scope, allowed content, forbidden content, and organisation rules. These instructions apply only to policy documents authored in this one scope; they do not govern non-policy artifacts (skills, articles,
|
|
121
|
+
A local meta-policy SHOULD define the same kinds of instructions as a scope-type definition policy (rules 04–05 above): naming conventions for content in the scope, allowed content, forbidden content, and organisation rules. These instructions apply only to policy documents authored in this one scope; they do not govern non-policy artifacts (skills, articles, initiatives, research).
|
|
122
122
|
|
|
123
123
|
#### 19-local-must-be-structured
|
|
124
124
|
|
|
@@ -192,7 +192,7 @@ A `## Conflicts` section MAY also document cross-scope-type incompatibilities fo
|
|
|
192
192
|
|
|
193
193
|
#### 27-extends-declaration
|
|
194
194
|
|
|
195
|
-
A scope MAY declare an `extends:` field in its `index.md` YAML frontmatter. The value MUST be a single scope name or a comma-separated list (YAML list format also valid). The field causes all **policy documents** (decision records only — skills, articles, research, and
|
|
195
|
+
A scope MAY declare an `extends:` field in its `index.md` YAML frontmatter. The value MUST be a single scope name or a comma-separated list (YAML list format also valid). The field causes all **policy documents** (decision records only — skills, articles, research, and initiatives are NOT inherited) from the listed scopes to be treated as if authored in the extending scope. Valid for all scope types.
|
|
196
196
|
|
|
197
197
|
#### 28-extends-disjoint
|
|
198
198
|
|
|
@@ -28,7 +28,7 @@ A standard Decision Record combines too many concerns in one file:
|
|
|
28
28
|
|---------|-----|
|
|
29
29
|
| Why we decided | Rationale / Research |
|
|
30
30
|
| What we decided | Policy (the rule) |
|
|
31
|
-
| How to implement it |
|
|
31
|
+
| How to implement it | Initiative |
|
|
32
32
|
| How to apply it daily | Skill |
|
|
33
33
|
| Overview for readers | Article |
|
|
34
34
|
|
|
@@ -44,7 +44,7 @@ XDRS splits the concerns into focused, linkable documents:
|
|
|
44
44
|
- **Research** — exploration, options, evidence
|
|
45
45
|
- **Skill** — step-by-step execution procedure
|
|
46
46
|
- **Article** — synthetic overview linking multiple artifacts
|
|
47
|
-
- **
|
|
47
|
+
- **Initiative** — ephemeral execution initiative, deleted after implementation
|
|
48
48
|
|
|
49
49
|
---
|
|
50
50
|
|
|
@@ -93,7 +93,7 @@ Synthetic views that **explain a topic** across multiple Policies, Research, and
|
|
|
93
93
|
|
|
94
94
|
---
|
|
95
95
|
|
|
96
|
-
##
|
|
96
|
+
## Initiatives
|
|
97
97
|
|
|
98
98
|
Describe a problem, proposed solution, and implementation approach.
|
|
99
99
|
|
|
@@ -111,7 +111,7 @@ Describe a problem, proposed solution, and implementation approach.
|
|
|
111
111
|
| Research | What did we learn while evaluating options? |
|
|
112
112
|
| Skill | How do we carry out work under this decision? |
|
|
113
113
|
| Article | How do these artifacts fit together for a reader? |
|
|
114
|
-
|
|
|
114
|
+
| Initiative | What are we going to do, why, and how? |
|
|
115
115
|
|
|
116
116
|
---
|
|
117
117
|
|
|
@@ -140,7 +140,7 @@ Articles appear when the **ecosystem around the decision** needs explanation.
|
|
|
140
140
|
researches/
|
|
141
141
|
skills/[N]-[name]/SKILL.md
|
|
142
142
|
articles/
|
|
143
|
-
|
|
143
|
+
initiatives/
|
|
144
144
|
.assets/ ← slides, diagrams
|
|
145
145
|
```
|
|
146
146
|
|
|
@@ -217,7 +217,7 @@ This creates `AGENTS.md` and `.xdrs/index.md` with the `_core` scope pre-loaded.
|
|
|
217
217
|
|
|
218
218
|
# Summary
|
|
219
219
|
|
|
220
|
-
- XDRS separates concerns: Policy, Research, Skill, Article,
|
|
220
|
+
- XDRS separates concerns: Policy, Research, Skill, Article, Initiative
|
|
221
221
|
- Policies are the source of truth; all other artifacts support them
|
|
222
222
|
- Scopes and indexes make decisions discoverable and overridable
|
|
223
223
|
- AI agents consult XDRS before every request via `AGENTS.md`
|
|
@@ -88,9 +88,9 @@
|
|
|
88
88
|
<text x="354" y="400" font-family="Arial,Helvetica,sans-serif" font-size="11" fill="#444">Synthetic texts combining multiple policies and skills.</text>
|
|
89
89
|
<text x="354" y="417" font-family="Arial,Helvetica,sans-serif" font-size="11" fill="#444">Never replace policies as source of truth.</text>
|
|
90
90
|
|
|
91
|
-
<!--
|
|
91
|
+
<!-- Initiatives element -->
|
|
92
92
|
<rect x="334" y="437" width="412" height="64" rx="6" fill="#f8cecc" stroke="#b85450" stroke-width="1.5"/>
|
|
93
|
-
<text x="354" y="457" font-family="Arial,Helvetica,sans-serif" font-size="13" font-weight="bold" fill="#1a1a2e">
|
|
93
|
+
<text x="354" y="457" font-family="Arial,Helvetica,sans-serif" font-size="13" font-weight="bold" fill="#1a1a2e">Initiatives — When / How to roll out</text>
|
|
94
94
|
<text x="354" y="474" font-family="Arial,Helvetica,sans-serif" font-size="11" fill="#444">Ephemeral execution docs. Deleted after implementation.</text>
|
|
95
95
|
<text x="354" y="491" font-family="Arial,Helvetica,sans-serif" font-size="11" fill="#444">Lasting outputs become Policies, Skills, or Articles.</text>
|
|
96
96
|
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
<text x="38" y="722" font-family="Courier New,monospace" font-size="11" fill="#333"> researches/ ← Research docs</text>
|
|
152
152
|
<text x="38" y="740" font-family="Courier New,monospace" font-size="11" fill="#333"> skills/ ← Skill packages</text>
|
|
153
153
|
<text x="38" y="758" font-family="Courier New,monospace" font-size="11" fill="#333"> articles/ ← Article docs</text>
|
|
154
|
-
<text x="38" y="776" font-family="Courier New,monospace" font-size="11" fill="#333">
|
|
154
|
+
<text x="38" y="776" font-family="Courier New,monospace" font-size="11" fill="#333"> initiatives/ ← Initiative docs</text>
|
|
155
155
|
<text x="38" y="794" font-family="Courier New,monospace" font-size="11" fill="#333"> .assets/ ← Binary assets</text>
|
|
156
156
|
|
|
157
157
|
<!-- ===== SECTION: GOVERNANCE MECHANISMS ===== -->
|
|
@@ -16,10 +16,10 @@ The XDRS framework is built around a small set of artifact types that play diffe
|
|
|
16
16
|
same decision system.
|
|
17
17
|
|
|
18
18
|
A standard Decision Record normally combines several concerns in the same document: a reason
|
|
19
|
-
(why, options considered), a policy (rules, core decision),
|
|
19
|
+
(why, options considered), a policy (rules, core decision), an initiative (consequences, implementation
|
|
20
20
|
approach), a how-to (step-by-step procedure), and a view on a topic. The XDRS framework separates
|
|
21
21
|
these concerns into different document types: Policies as the source of truth, Research for
|
|
22
|
-
reasoning and evidence,
|
|
22
|
+
reasoning and evidence, Initiatives for implementation approach, Skills for execution procedures, and
|
|
23
23
|
Articles for topic overviews. Supporting artifacts may explain, justify, or operationalize the
|
|
24
24
|
policy, but they do not replace it. The compilation process of a raw Decision Record is to
|
|
25
25
|
distribute it into those different documents and create links between them. You can also use the
|
|
@@ -43,10 +43,10 @@ without starting from a raw Decision Record.
|
|
|
43
43
|
- **Articles** are synthetic views, like this one. They explain a topic across multiple Policies,
|
|
44
44
|
Research documents, and Skills, helping readers understand the system without making new
|
|
45
45
|
decisions. See [_core-adr-policy-004](../004-article-standards.md).
|
|
46
|
-
- **
|
|
47
|
-
solve it. They have a clear start and end and a well-defined scope.
|
|
46
|
+
- **Initiatives** describe a problem, a proposed solution, and the approach and activities needed to
|
|
47
|
+
solve it. They have a clear start and end and a well-defined scope. Initiatives are ephemeral: they
|
|
48
48
|
must be deleted after full implementation, with lasting outputs captured as Policies, Skills,
|
|
49
|
-
Articles, or other artifacts. See [_core-adr-policy-007](../007-
|
|
49
|
+
Articles, or other artifacts. See [_core-adr-policy-007](../007-initiative-standards.md).
|
|
50
50
|
- **Indexes and folder structure** are the discovery layer. They do not make decisions by
|
|
51
51
|
themselves, but they determine how people and agents find the right artifacts, how scopes
|
|
52
52
|
override one another, and how a large set of decisions remains navigable.
|
|
@@ -59,7 +59,7 @@ The easiest way to distinguish the central elements is by asking what job each o
|
|
|
59
59
|
- **Research**: "What did we learn while evaluating options?"
|
|
60
60
|
- **Skill**: "How do we carry out work under this decision?"
|
|
61
61
|
- **Article**: "How do these artifacts fit together for a reader?"
|
|
62
|
-
- **
|
|
62
|
+
- **Initiative**: "What are we going to do, why, and how?"
|
|
63
63
|
- **Index/Scope structure**: "Where do I look, and which decision set takes precedence?"
|
|
64
64
|
|
|
65
65
|
This separation matters because mixing these jobs into one file makes the system harder to search,
|
|
@@ -118,7 +118,7 @@ Every decision record and its supporting artifacts live at a fixed path:
|
|
|
118
118
|
SKILL.md
|
|
119
119
|
articles/
|
|
120
120
|
[number]-[short-title].md
|
|
121
|
-
|
|
121
|
+
initiatives/
|
|
122
122
|
[number]-[short-title].md
|
|
123
123
|
```
|
|
124
124
|
|
|
@@ -174,8 +174,8 @@ Follow [_core-adr-policy-001](../001-xdrs-standards.md) and [_core-adr-policy-00
|
|
|
174
174
|
folder, following [_core-adr-policy-003](../003-skill-standards.md).
|
|
175
175
|
- **New article** — add an `articles/[number]-[short-title].md` inside the relevant subject
|
|
176
176
|
folder, following [_core-adr-policy-004](../004-article-standards.md).
|
|
177
|
-
- **New
|
|
178
|
-
folder, following [_core-adr-policy-007](../007-
|
|
177
|
+
- **New initiative** — add an `initiatives/[number]-[short-title].md` inside the relevant subject
|
|
178
|
+
folder, following [_core-adr-policy-007](../007-initiative-standards.md).
|
|
179
179
|
|
|
180
180
|
### Using XDRS in your own project
|
|
181
181
|
|
|
@@ -199,7 +199,7 @@ Follow [_core-adr-policy-001](../001-xdrs-standards.md) and [_core-adr-policy-00
|
|
|
199
199
|
- [_core-adr-policy-003](../003-skill-standards.md) - Skill standards and co-location rules
|
|
200
200
|
- [_core-adr-policy-004](../004-article-standards.md) - Article standards
|
|
201
201
|
- [_core-adr-policy-006](../006-research-standards.md) - Research standards
|
|
202
|
-
- [_core-adr-policy-007](../007-
|
|
202
|
+
- [_core-adr-policy-007](../007-initiative-standards.md) - Initiative standards
|
|
203
203
|
- [001-review skill](../skills/001-review/SKILL.md) - Reviewing code against Policies
|
|
204
204
|
- [002-write-policy skill](../skills/002-write-policy/SKILL.md) - Writing a new Policy
|
|
205
205
|
- [003-write-skill skill](../skills/003-write-skill/SKILL.md) - Writing a new skill
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This module is shared across XDRS writing skills. Read and execute every check during the final review of a document.
|
|
4
4
|
|
|
5
|
-
Substitute `[DOCUMENT]` with the appropriate noun for the calling skill: `policy`, `skill`, `article`, `research`, or `
|
|
5
|
+
Substitute `[DOCUMENT]` with the appropriate noun for the calling skill: `policy`, `skill`, `article`, `research`, or `initiative`.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This module is shared across all XDRS writing skills. Read these instructions in full and execute every check before proceeding with any authoring task.
|
|
4
4
|
|
|
5
|
-
Substitute `[DOCUMENT TYPE]` with the appropriate noun for the calling skill: `policy`, `skill`, `article`, `research`, `
|
|
5
|
+
Substitute `[DOCUMENT TYPE]` with the appropriate noun for the calling skill: `policy`, `skill`, `article`, `research`, `initiative`, `presentation`, or `document`.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -16,4 +16,4 @@ Read the confirmed scope's `index.md` frontmatter and perform ALL of the followi
|
|
|
16
16
|
|
|
17
17
|
Once all prerequisites pass, load ALL scope-type governance (see `_core-adr-policy-010` rule 22): for each declared type, resolve its full ancestor chain (primary, companions alphabetically, parent chain). Deduplicate keeping first occurrence. Then run conflict detection using the shared module at `.xdrs/_core/adrs/principles/skills/.assets/conflict-detection.md` across all loaded governance layers. Halt if undeclared structural conflicts are found (see `_core-adr-policy-010` rules 24 and 26).
|
|
18
18
|
|
|
19
|
-
If the scope declares `extends:` entries (and the extends check above passed), load the inherited **policy documents** (decision records only — not skills, articles, research, or
|
|
19
|
+
If the scope declares `extends:` entries (and the extends check above passed), load the inherited **policy documents** (decision records only — not skills, articles, research, or initiatives) from the full `extends:` chain using depth-first resolution (see `_core-adr-policy-010` rule 33): for each extends entry in declaration order, recursively resolve that scope's own `extends:` chain, then append the scope's own policies. Deduplicate keeping first occurrence. The extending scope's own policies always take precedence over all inherited ones. Apply the resolved policy set as additional context when authoring or reviewing [DOCUMENT TYPE] documents in this scope.
|
|
@@ -42,7 +42,17 @@ Performs a structured review of code changes or files against the Policies in th
|
|
|
42
42
|
- **Local meta-policies (policy documents only):** Apply all found local meta-policy files as mandatory conventions when reviewing policy documents in the scope. Local meta-policies take highest precedence in the chain. See `_core-adr-policy-010` rules 23, 24, and 26.
|
|
43
43
|
3. Filter relevance based on file types, domains, and architectural patterns in scope.
|
|
44
44
|
|
|
45
|
-
### Phase 3:
|
|
45
|
+
### Phase 3: Diagram Validation
|
|
46
|
+
|
|
47
|
+
1. For every file in scope, scan for fenced ` ```mermaid ` code blocks.
|
|
48
|
+
2. For each diagram found, extract the content to a temporary `.mmd` file and run:
|
|
49
|
+
```bash
|
|
50
|
+
npx -y @mermaid-js/mermaid-cli -i <tempfile>.mmd --quiet 2>&1
|
|
51
|
+
```
|
|
52
|
+
3. For each diagram that fails validation, report as ERROR: include the file path, approximate location (heading or surrounding text), and the error message from `mmdc`.
|
|
53
|
+
4. Delete all temporary files created in this step.
|
|
54
|
+
|
|
55
|
+
### Phase 4: Policy Review
|
|
46
56
|
|
|
47
57
|
1. Cross-reference each file in scope against active, applicable Policies.
|
|
48
58
|
- **Drop any finding that cannot be traced to a specific rule in an Accepted Policy.** General good-practice observations, personal opinions, or inferred issues without an explicit Policy backing must not be reported.
|
|
@@ -60,14 +70,14 @@ Performs a structured review of code changes or files against the Policies in th
|
|
|
60
70
|
- Consider context (existing style, legacy sections, etc.).
|
|
61
71
|
3. For related Policies and files, lookup for the specific line number in both the Policy and the code that are related to the finding. This will be used in the reporting phase to provide precise references and actionable suggestions.
|
|
62
72
|
|
|
63
|
-
### Phase
|
|
73
|
+
### Phase 5: Judgment
|
|
64
74
|
1. Judgment criteria (all must be true to keep a finding):
|
|
65
75
|
- Is the violation explicitly stated as a rule in an Accepted Policy using mandatory or advisory language? Templates, examples, and diagrams in Policies are illustrative only — they do not constitute rules. If the only evidence for the violation is an implicit pattern in a code sample or template, drop it.
|
|
66
76
|
- Is there concrete evidence in the code or diff?
|
|
67
77
|
- Is the finding actionable?
|
|
68
78
|
- Would fixing it meaningfully improve compliance with the Policies?
|
|
69
79
|
|
|
70
|
-
### Phase
|
|
80
|
+
### Phase 6: Reporting
|
|
71
81
|
|
|
72
82
|
**Report template**
|
|
73
83
|
```text
|
package/.xdrs/_core/adrs/principles/skills/004-write-article/004-write-article.test.int.report
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
".xdrs/_core/adrs/principles/003-skill-standards.md",
|
|
9
9
|
".xdrs/_core/adrs/principles/004-article-standards.md",
|
|
10
10
|
".xdrs/_core/adrs/principles/006-research-standards.md",
|
|
11
|
-
".xdrs/_core/adrs/principles/007-
|
|
11
|
+
".xdrs/_core/adrs/principles/007-initiative-standards.md",
|
|
12
12
|
".xdrs/_core/adrs/principles/008-xdr-standards-structured.md",
|
|
13
13
|
".xdrs/_core/adrs/principles/articles/001-xdrs-overview.md",
|
|
14
14
|
".xdrs/_core/adrs/principles/skills/004-write-article/SKILL.md",
|