Skip to content

Commit 6d126d5

Browse files
authored
feat(export): add stable corpus source identity (#453)
1 parent 36c679d commit 6d126d5

54 files changed

Lines changed: 911 additions & 163 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.decided/config.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
repository_key: RAC
2+
corpus:
3+
source: asdecided/core
24

35
# External ticketing provider (ADR-087, ADR-093). Roadmap intent lives in the
46
# corpus; execution is tracked in GitHub issues, linked from a live artifact's

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ details, release history over commit history.
1010
export contracts. `decided export --schema <viewer|documents|graph>` emits
1111
the packaged schema bytes offline, and CI now checks fixture and live-corpus
1212
exports for contract and field-set drift.
13+
- Added optional `corpus.source` configuration as the stable corpus provenance
14+
identity shared by viewer, documents, and graph exports. Existing
15+
repositories fall back to their lower-case `repository_key`; uninitialised
16+
corpora retain the released directory-basename source value.
1317

1418
## v0.28.0 — 2026-08-09
1519

decisions/decisions/adr-036-lore-product-identity.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ type: decision
55
---
66
# ADR-036: Lore Product Identity
77

8+
> The current product, engine, and distribution naming in this historical
9+
> decision is superseded by ADR-132. Stable `RAC-*` artifact IDs and published
10+
> machine keys remain compatibility identifiers; current public surfaces use
11+
> AsDecided, `decided`, and `decided-mcp`.
12+
813
## Status
914

1015
Accepted

decisions/decisions/adr-039-lore-server-identity.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ type: decision
55
---
66
# ADR-039: Lore Server Identity
77

8-
> The public Registry identity in this historical decision is superseded by
9-
> ADR-124. Its `lore` handshake identity remains frozen only for the legacy MCP
10-
> compatibility path specified by ADR-121.
8+
> Current server and configuration identity is superseded by ADR-132, and the
9+
> public Registry identity is superseded by ADR-124. The `lore` handshake name
10+
> remains frozen only for the legacy MCP compatibility path in ADR-121.
1111
1212
## Status
1313

decisions/decisions/adr-117-org-grounding-plane-topology.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ Copy the firm-wide ADRs into every child corpus.
154154

155155
## Related Requirements
156156

157-
- rac-org-endpoint-wiring
157+
- org-endpoint-wiring
158158

159159
## Related Roadmaps
160160

decisions/decisions/adr-132-asdecided-server-identity.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ integration and leaves agents with two competing names for the same service.
3737
- The `decided` CLI and `decided-mcp` server remain the public command surface.
3838
Compatibility state in old records does not create a supported `rac` command.
3939

40+
These clauses supersede ADR-036's current product, engine, and distribution
41+
naming and ADR-039's current server identity. ADR-121 alone preserves the
42+
legacy `lore` handshake bytes. Durable `RAC-*` artifact IDs, published machine
43+
keys such as `rac_version`, and pre-cutover internal paths remain compatibility
44+
identifiers; they are not names for new public surfaces.
45+
4046
## Consequences
4147

4248
Fresh installs and generated agent configuration now have one unambiguous
@@ -45,6 +51,40 @@ this decision; operators can migrate their keys explicitly, and the current
4551
docs show only the native names. The identity change is configuration-only and
4652
does not alter MCP wire semantics or the read-only serving boundary.
4753

54+
## Code Constraints
55+
56+
```yaml
57+
version: 1
58+
eligibility: eligible
59+
reason: "The generated server keys and current viewer guidance have stable source anchors."
60+
rules:
61+
- id: scaffold-keeps-asdecided-local-key
62+
kind: require_pattern
63+
path_glob: "rust/rac-engine/src/scaffold.rs"
64+
pattern: 'mcpServers.*asdecided.*decided-mcp'
65+
message: "Generated local MCP configuration must retain the AsDecided key and native binary."
66+
- id: scaffold-keeps-asdecided-org-key
67+
kind: require_pattern
68+
path_glob: "rust/rac-engine/src/scaffold.rs"
69+
pattern: 'const ORG_SERVER_KEY: &str = "asdecided-org";'
70+
message: "Generated organisation MCP configuration must retain the AsDecided key."
71+
- id: scaffold-does-not-restore-retired-server-keys
72+
kind: forbid_pattern
73+
path_glob: "rust/rac-engine/src/scaffold.rs"
74+
pattern: '(?i)\blore(?:-org)?\b'
75+
message: "Generated MCP configuration must not restore retired Lore server keys."
76+
- id: viewer-guidance-uses-decided-command
77+
kind: forbid_pattern
78+
path_glob: "rac-localview/VIEWER_CONTRACT.md"
79+
pattern: '(?i)Lore export viewer|`rac export|RAC CLI'
80+
message: "Current viewer guidance must use AsDecided and the decided command."
81+
```
82+
83+
## Supersedes
84+
85+
- adr-036
86+
- adr-039
87+
4888
## Related Decisions
4989
5090
- ADR-117
@@ -54,4 +94,4 @@ does not alter MCP wire semantics or the read-only serving boundary.
5494
5595
## Related Requirements
5696
57-
- rac-org-endpoint-wiring
97+
- org-endpoint-wiring

decisions/decisions/adr-133-single-direct-parent-federation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,4 @@ a separately ratified extension.
8484

8585
## Related Requirements
8686

87-
- rac-parent-corpus-inheritance
87+
- parent-corpus-inheritance

decisions/decisions/adr-134-offline-pinned-parent-materialisation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ operational manifest keeps the mechanism visible without making it an artifact.
103103

104104
## Related Requirements
105105

106-
- rac-parent-corpus-inheritance
106+
- parent-corpus-inheritance

decisions/decisions/adr-135-corpus-source-global-identity.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,6 @@ new pinned state of the same corpus.
8787

8888
## Related Requirements
8989

90-
- rac-export-source-identity
91-
- rac-federated-resolution-provenance
92-
- rac-parent-corpus-inheritance
90+
- corpus-source-identity
91+
- federated-resolution-provenance
92+
- parent-corpus-inheritance

decisions/decisions/adr-136-qualified-cross-corpus-resolution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,5 @@ unambiguously source-aware.
9494

9595
## Related Requirements
9696

97-
- rac-federated-resolution-provenance
98-
- rac-parent-corpus-inheritance
97+
- federated-resolution-provenance
98+
- parent-corpus-inheritance

0 commit comments

Comments
 (0)