The snapshot and manifest schemas, both example dataspaces, and the shared text renderer now pass the fixture validator and the negative contract tests. JSON, NDJSON, and Markdown frontmatter publish a snapshot only when rights, identity, and references allow it. CONTENT-WP-0001 and CONTENT-WP-0003 are marked finished against those artifacts. CONTENT-WP-0000-T04 stays open. SCOPE.md and the 19:05 scope-against-intent note record the stop. Assistant: grok Assistant-Session: 01a130f1-abfb-7d71-9cd6-a8b75ec7f95a
370 lines
11 KiB
JSON
370 lines
11 KiB
JSON
{
|
|
"schemaVersion": "0.1",
|
|
"dataspace": {
|
|
"id": "software-architecture",
|
|
"title": "Software Architecture",
|
|
"description": "A small illustrative collection of patterns and ideas in software design. The sentences were written for this demo and are not quotations from another corpus."
|
|
},
|
|
"kinds": [
|
|
{
|
|
"id": "concept",
|
|
"label": "Concept",
|
|
"plural": "Concepts"
|
|
},
|
|
{
|
|
"id": "pattern",
|
|
"label": "Pattern",
|
|
"plural": "Patterns"
|
|
},
|
|
{
|
|
"id": "person",
|
|
"label": "Person",
|
|
"plural": "Persons"
|
|
},
|
|
{
|
|
"id": "artifact",
|
|
"label": "Artifact",
|
|
"plural": "Artifacts"
|
|
}
|
|
],
|
|
"sources": [
|
|
{
|
|
"id": "src:software-architecture:authored-demo",
|
|
"uri": "https://example.invalid/content-explorer/software-architecture/fixture",
|
|
"title": "Original illustrative demo fixture written for content-explorer",
|
|
"license": "CC0-1.0",
|
|
"attribution": "Content Explorer demo authors; fictional source URI is a fixture placeholder"
|
|
}
|
|
],
|
|
"entities": [
|
|
{
|
|
"id": "urn:ce:software-architecture:concept:coupling",
|
|
"kindId": "concept",
|
|
"title": "Coupling",
|
|
"tldr": "The degree to which software elements depend on one another.",
|
|
"summary": "Coupling is how much one software element must know about another in order to work.",
|
|
"tags": [
|
|
"dependency"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:coupling:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:concept:cohesion",
|
|
"kindId": "concept",
|
|
"title": "Cohesion",
|
|
"tldr": "The degree to which a module groups related responsibilities.",
|
|
"summary": "Cohesion is how closely the responsibilities inside one module belong together.",
|
|
"tags": [
|
|
"modularity"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:cohesion:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:concept:interface",
|
|
"kindId": "concept",
|
|
"title": "Interface contract",
|
|
"tldr": "An agreed description of interaction between components.",
|
|
"summary": "An interface contract names the interactions two parts are allowed to rely on.",
|
|
"tags": [
|
|
"boundary"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:interface:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:pattern:adapter",
|
|
"kindId": "pattern",
|
|
"title": "Adapter pattern",
|
|
"tldr": "An adapter translates between interfaces.",
|
|
"summary": "An adapter lets a caller use one interface while the callee offers another.",
|
|
"tags": [
|
|
"translation"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:adapter:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:pattern:ports-adapters",
|
|
"kindId": "pattern",
|
|
"title": "Ports and adapters",
|
|
"tldr": "A pattern for isolating core logic from outside systems.",
|
|
"summary": "Ports and adapters keep domain logic from importing the details of a database, a UI, or a network.",
|
|
"tags": [
|
|
"isolation"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:ports-adapters:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:pattern:event-driven",
|
|
"kindId": "pattern",
|
|
"title": "Event-driven architecture",
|
|
"tldr": "Software components communicate through events.",
|
|
"summary": "In an event-driven arrangement, parts announce facts and other parts react, instead of calling each other directly.",
|
|
"tags": [
|
|
"communication"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:event-driven:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:person:alexander",
|
|
"kindId": "person",
|
|
"title": "Christopher Alexander",
|
|
"tldr": "Architect whose pattern-language ideas influenced software design.",
|
|
"summary": "Christopher Alexander described pattern languages for buildings. Software designers later borrowed that way of naming recurring forms.",
|
|
"tags": [
|
|
"patterns"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:alexander:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:artifact:adr",
|
|
"kindId": "artifact",
|
|
"title": "Architecture Decision Record",
|
|
"tldr": "A lightweight record of architectural decisions and rationale.",
|
|
"summary": "An architecture decision record states a decision, its context, and the consequences the writers accepted.",
|
|
"tags": [
|
|
"record"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:adr:tldr"
|
|
]
|
|
},
|
|
{
|
|
"id": "urn:ce:software-architecture:artifact:c4",
|
|
"kindId": "artifact",
|
|
"title": "C4 model diagram",
|
|
"tldr": "A set of views for communicating software architecture.",
|
|
"summary": "The C4 model offers a small set of diagrams, from system context down to code, so different readers can stop at the level they need.",
|
|
"tags": [
|
|
"diagram"
|
|
],
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"asOf": "2026-10-12",
|
|
"claimRefs": [
|
|
"claim:c4:tldr"
|
|
]
|
|
}
|
|
],
|
|
"relations": [
|
|
{
|
|
"id": "r1",
|
|
"predicate": "adapts",
|
|
"from": "urn:ce:software-architecture:pattern:adapter",
|
|
"to": "urn:ce:software-architecture:concept:interface",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
},
|
|
{
|
|
"id": "r2",
|
|
"predicate": "uses",
|
|
"from": "urn:ce:software-architecture:pattern:ports-adapters",
|
|
"to": "urn:ce:software-architecture:concept:interface",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
},
|
|
{
|
|
"id": "r3",
|
|
"predicate": "addressed-by",
|
|
"from": "urn:ce:software-architecture:concept:coupling",
|
|
"to": "urn:ce:software-architecture:pattern:ports-adapters",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
},
|
|
{
|
|
"id": "r4",
|
|
"predicate": "related-to",
|
|
"from": "urn:ce:software-architecture:concept:cohesion",
|
|
"to": "urn:ce:software-architecture:concept:coupling",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
},
|
|
{
|
|
"id": "r5",
|
|
"predicate": "documents",
|
|
"from": "urn:ce:software-architecture:artifact:adr",
|
|
"to": "urn:ce:software-architecture:pattern:ports-adapters",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
},
|
|
{
|
|
"id": "r6",
|
|
"predicate": "visualizes",
|
|
"from": "urn:ce:software-architecture:artifact:c4",
|
|
"to": "urn:ce:software-architecture:concept:interface",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
},
|
|
{
|
|
"id": "r7",
|
|
"predicate": "affects",
|
|
"from": "urn:ce:software-architecture:pattern:event-driven",
|
|
"to": "urn:ce:software-architecture:concept:coupling",
|
|
"sourceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
]
|
|
}
|
|
],
|
|
"claims": [
|
|
{
|
|
"id": "claim:coupling:tldr",
|
|
"subjectId": "urn:ce:software-architecture:concept:coupling",
|
|
"key": "tldr",
|
|
"value": "The degree to which software elements depend on one another.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:cohesion:tldr",
|
|
"subjectId": "urn:ce:software-architecture:concept:cohesion",
|
|
"key": "tldr",
|
|
"value": "The degree to which a module groups related responsibilities.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:interface:tldr",
|
|
"subjectId": "urn:ce:software-architecture:concept:interface",
|
|
"key": "tldr",
|
|
"value": "An agreed description of interaction between components.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:adapter:tldr",
|
|
"subjectId": "urn:ce:software-architecture:pattern:adapter",
|
|
"key": "tldr",
|
|
"value": "An adapter translates between interfaces.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:ports-adapters:tldr",
|
|
"subjectId": "urn:ce:software-architecture:pattern:ports-adapters",
|
|
"key": "tldr",
|
|
"value": "A pattern for isolating core logic from outside systems.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:event-driven:tldr",
|
|
"subjectId": "urn:ce:software-architecture:pattern:event-driven",
|
|
"key": "tldr",
|
|
"value": "Software components communicate through events.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:alexander:tldr",
|
|
"subjectId": "urn:ce:software-architecture:person:alexander",
|
|
"key": "tldr",
|
|
"value": "Architect whose pattern-language ideas influenced software design.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:adr:tldr",
|
|
"subjectId": "urn:ce:software-architecture:artifact:adr",
|
|
"key": "tldr",
|
|
"value": "A lightweight record of architectural decisions and rationale.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:c4:tldr",
|
|
"subjectId": "urn:ce:software-architecture:artifact:c4",
|
|
"key": "tldr",
|
|
"value": "A set of views for communicating software architecture.",
|
|
"status": "asserted",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
},
|
|
{
|
|
"id": "claim:unknown:numeric-scale",
|
|
"subjectId": "urn:ce:software-architecture:concept:coupling",
|
|
"key": "numeric-scale",
|
|
"status": "unknown",
|
|
"evidenceRefs": [
|
|
"src:software-architecture:authored-demo"
|
|
],
|
|
"observedAt": "2026-10-12"
|
|
}
|
|
]
|
|
}
|