xdrs-core 0.33.0 → 0.35.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xdrs-core",
3
- "version": "0.33.0",
3
+ "version": "0.35.0",
4
4
  "description": "A framework to structure, compile and distribute Architectural (ADR), Business (BDR), and Engineering (EDR) decision records contents so that AI agents and humans can reliably find and use them with hierarchical scopes and controlled rollout in the format of distributable versioned packages.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,71 +0,0 @@
1
- ---
2
- name: _core-adr-policy-010-core-scope-naming-convention
3
- description: Defines the -core suffix naming convention for XDRS scopes used to hold meta governance content such as writing standards, structural templates, ownership, and process guidance for a domain. Use when designing or evaluating shared scopes.
4
- apply-to: All XDRS scope authors and maintainers
5
- valid-from: 2026-06-24
6
- ---
7
-
8
- # _core-adr-policy-010: Core scope naming convention
9
-
10
- ## Context and Problem Statement
11
-
12
- When teams create shared XDRS scopes (e.g., `security-standards`, `platform-engineering`), they often mix two kinds of content:
13
-
14
- - **Consumable policies**: rules and decisions that other teams or repositories must follow.
15
- - **Meta governance**: writing standards, structural templates, skill guidance, ownership definitions, and process rules that govern how content is authored within the domain.
16
-
17
- Mixing both kinds makes shared scopes harder to consume selectively and causes confusion about which content represents actual rules versus internal governance for scope contributors.
18
-
19
- How should teams separate meta governance from consumable policies within a scope domain?
20
-
21
- ## Decision Outcome
22
-
23
- **Use a `-core` suffix sibling scope to hold all meta governance content for a domain.**
24
-
25
- A scope named `[domain]-core` (e.g., `security-core`, `platform-core`) is reserved for the meta organization of the `[domain]` scope family. It contains content that governs how policies are written and maintained within the domain — not the actual policies themselves.
26
-
27
- ### Details
28
-
29
- #### 01-core-suffix-definition
30
-
31
- A scope name ending in `-core` signals that the scope holds meta governance content for scopes sharing the same prefix. It MUST NOT contain policies intended for direct consumption by other teams or repositories.
32
-
33
- Content that belongs in a `-core` scope:
34
-
35
- - Writing standards and templates specific to the domain.
36
- - Structural conventions for that domain's policies.
37
- - Process guidance for authoring or reviewing policies within the domain.
38
- - Skill files for domain-specific review or authoring workflows.
39
- - Ownership, contact, and governance information for the domain.
40
-
41
- Content that does NOT belong in a `-core` scope:
42
-
43
- - Actual rules or constraints for other teams to follow (e.g., security requirements, compliance rules).
44
- - Any policy intended to be enforced by external teams or repositories.
45
-
46
- #### 02-core-governs-same-prefix-scopes
47
-
48
- All XDRS scopes sharing the same prefix as a `-core` scope (e.g., `security-standards`, `security-cloud`) are governed by the standards defined in the corresponding `-core` scope (e.g., `security-core`). Authors of those scopes MUST follow the `-core` scope standards when writing, reviewing, or extending policies in any same-prefix scope.
49
-
50
- #### 03-core-scope-is-optional-but-recommended
51
-
52
- Creating a `-core` scope is optional. It is strongly recommended whenever a domain scope is intended to be shared with multiple teams or repositories. Separating meta governance into a `-core` scope prevents unnecessary internal content from being distributed to consumers and keeps the consumable scope focused on actual rules.
53
-
54
- #### 04-core-vs-local-scope
55
-
56
- The `-core` suffix is distinct from the `_local` scope:
57
-
58
- - `_local` holds project-specific overrides that are never shared and apply only to the current repository. It is implicitly present in every workspace and may contain a mix of local overrides unrelated to any particular domain.
59
- - A `-core` scope is a formal, named scope scoped to a domain. It can be shared selectively with contributors and is required to be followed by all authors writing content in any same-prefix scope.
60
-
61
- Use `_local` when meta governance is relevant only to the current repository. Use a `-core` scope when the governance applies to a named domain shared across teams or repositories.
62
-
63
- #### 05-core-scope-distribution
64
-
65
- A `-core` scope MAY be distributed to consumers alongside the companion consumable scope, or kept internal to the team that maintains the domain. When distributed, consumers who extend or contribute to the domain scope locally MUST follow its standards. When not distributed, internal contributors must still comply.
66
-
67
- ## Considered Options
68
-
69
- 1. **`_local` scope for meta content** — simple to set up, but mixes local project overrides with domain-level governance. Becomes confusing in large teams, especially when `_local` already contains project-specific policies.
70
- 2. **Meta content embedded inside the consumable scope** — makes the shared scope noisier and harder for consumers to parse; no clear separation between governance and rules.
71
- 3. **`-core` sibling scope (chosen)** — cleanly separates meta governance from consumable content, makes the governance explicit and discoverable, and enables selective distribution.