@mnstry/atelier 0.2.0-alpha.11 → 0.2.0-alpha.12
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/CHANGELOG.md +344 -0
- package/README.md +10 -6
- package/contracts/atelier-obsidian-generation-manifest.v2.schema.json +372 -0
- package/contracts/compat-baseline.json +1 -1
- package/docs/assurance-controls.md +3 -2
- package/docs/install.md +3 -3
- package/docs/local-services.md +62 -11
- package/docs/obsidian-contract.md +669 -35
- package/docs/obsidian-plugin.md +585 -0
- package/docs/obsidian.md +233 -50
- package/docs/release-engineering.md +7 -1
- package/docs/upgrade.md +23 -3
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/case-only-collision.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/flat-note-path.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/hidden-folder.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/identity-in-the-body.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/link-breaking-name.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/missing-identity-region.v2.json +156 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/missing-layout-version.v2.json +159 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/note-named-like-a-folder.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/unknown-region-kind.v2.json +160 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/v1-contract-version.v2.json +161 -0
- package/fixtures/obsidian/contracts/generation-manifest-v2/valid/three-notes.v2.json +160 -0
- package/fixtures/obsidian/edits/workspace.json +1 -1
- package/fixtures/obsidian/materialization/expected-full.json +21 -21
- package/fixtures/obsidian/materialization/expected-full.layout-1.json +99 -0
- package/fixtures/obsidian/materialization/expected-scoped.json +7 -7
- package/fixtures/obsidian/materialization/expected-scoped.layout-1.json +39 -0
- package/package.json +7 -3
- package/plugins/obsidian/main.js +444 -0
- package/plugins/obsidian/manifest.json +9 -0
- package/plugins/obsidian/styles.css +22 -0
- package/src/commands/obsidian.mjs +89 -10
- package/src/contracts/corpus.mjs +6 -0
- package/src/egress/forbidden-egress.mjs +2 -0
- package/src/project/private-state.mjs +10 -1
- package/src/projection/obsidian/contracts.mjs +224 -18
- package/src/projection/obsidian/edits/apply.mjs +12 -7
- package/src/projection/obsidian/edits/regions.mjs +137 -42
- package/src/projection/obsidian/materialize/index.mjs +6 -3
- package/src/projection/obsidian/materialize/path-registry.mjs +443 -57
- package/src/projection/obsidian/materialize/prepare-view.mjs +382 -131
- package/src/projection/obsidian/materialize/redaction.mjs +327 -0
- package/src/projection/obsidian/materialize/settings.mjs +113 -34
- package/src/projection/obsidian/plugin-bridge/bundle.mjs +50 -0
- package/src/projection/obsidian/plugin-bridge/channel.mjs +174 -0
- package/src/projection/obsidian/plugin-bridge/index.mjs +10 -0
- package/src/projection/obsidian/proposals/observation.mjs +10 -5
- package/src/projection/obsidian/publication/bridge-script.mjs +11 -5
- package/src/projection/obsidian/publication/index.mjs +2 -1
- package/src/projection/obsidian/publication/publisher.mjs +173 -26
- package/src/projection/obsidian/publication/transport.mjs +63 -8
- package/src/projection/obsidian/publication/vault-list.mjs +199 -0
- package/src/projection/obsidian/recovery/restart.mjs +3 -1
- package/src/projection/obsidian/recovery/store.mjs +11 -4
- package/src/projection/obsidian/selection-ui/focus.mjs +14 -7
- package/src/projection/obsidian/selection-ui/selection-state.mjs +2 -2
- package/src/projection/obsidian/selection-ui/selection.mjs +8 -3
- package/src/runtime/obsidian/app-capability.mjs +104 -12
- package/src/runtime/obsidian/app-production-seams.mjs +126 -39
- package/src/runtime/obsidian/app-registration.mjs +166 -0
- package/src/runtime/obsidian/engine.mjs +127 -11
- package/src/runtime/obsidian/extension-points.mjs +1 -1
- package/src/runtime/obsidian/index.mjs +5 -1
- package/src/runtime/obsidian/launch-plan.mjs +88 -0
- package/src/runtime/obsidian/lifecycle.mjs +105 -14
- package/src/runtime/obsidian/opening.mjs +227 -55
- package/src/runtime/obsidian/pending-edits.mjs +10 -0
- package/src/runtime/obsidian/plugin-channel.mjs +281 -0
- package/src/runtime/obsidian/plugin-choice.mjs +170 -0
- package/src/runtime/obsidian/plugin-drift.mjs +76 -0
- package/src/runtime/obsidian/plugin-presence.mjs +48 -0
- package/src/runtime/obsidian/service-main.mjs +18 -5
- package/src/runtime/obsidian/service-record.mjs +36 -0
- package/src/runtime/obsidian/service-server.mjs +50 -12
- package/src/runtime/obsidian/service.mjs +100 -6
- package/src/runtime/obsidian/state-store.mjs +13 -1
- package/src/server/local-sidecar.mjs +24 -5
- package/src/server/server.mjs +18 -5
- package/src/upgrade/upgrade.mjs +1 -1
- package/templates/external-project-workspace/pack-lifecycle.json +1 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "atelier-obsidian-generation-manifest/v2",
|
|
3
|
+
"layoutVersion": 2,
|
|
4
|
+
"generationId": "gen-0001",
|
|
5
|
+
"scopeId": "scope-topic",
|
|
6
|
+
"snapshotId": "snap-0001",
|
|
7
|
+
"notes": [
|
|
8
|
+
{
|
|
9
|
+
"repoId": "north",
|
|
10
|
+
"nodeId": "a",
|
|
11
|
+
"title": "Shared concept",
|
|
12
|
+
"path": "Shared concept.md",
|
|
13
|
+
"noteDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
14
|
+
"regions": {
|
|
15
|
+
"frontmatter": {
|
|
16
|
+
"start": 0,
|
|
17
|
+
"end": 120
|
|
18
|
+
},
|
|
19
|
+
"identity": {
|
|
20
|
+
"start": 40,
|
|
21
|
+
"end": 116
|
|
22
|
+
},
|
|
23
|
+
"body": {
|
|
24
|
+
"start": 120,
|
|
25
|
+
"end": 280
|
|
26
|
+
},
|
|
27
|
+
"generated": [
|
|
28
|
+
{
|
|
29
|
+
"kind": "relations",
|
|
30
|
+
"range": {
|
|
31
|
+
"start": 280,
|
|
32
|
+
"end": 340
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"repoId": "north",
|
|
40
|
+
"nodeId": "d",
|
|
41
|
+
"title": "Shared concept",
|
|
42
|
+
"path": "north/topics/Shared concept (shared-d).md",
|
|
43
|
+
"noteDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
|
|
44
|
+
"regions": {
|
|
45
|
+
"frontmatter": {
|
|
46
|
+
"start": 0,
|
|
47
|
+
"end": 40
|
|
48
|
+
},
|
|
49
|
+
"body": {
|
|
50
|
+
"start": 40,
|
|
51
|
+
"end": 200
|
|
52
|
+
},
|
|
53
|
+
"generated": [
|
|
54
|
+
{
|
|
55
|
+
"kind": "relations",
|
|
56
|
+
"range": {
|
|
57
|
+
"start": 200,
|
|
58
|
+
"end": 260
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "identity",
|
|
63
|
+
"range": {
|
|
64
|
+
"start": 260,
|
|
65
|
+
"end": 340
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"identity": {
|
|
70
|
+
"start": 260,
|
|
71
|
+
"end": 340
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"repoId": "north",
|
|
77
|
+
"nodeId": "e",
|
|
78
|
+
"title": "Diagram",
|
|
79
|
+
"path": "north/figures/diagram.svg.md",
|
|
80
|
+
"noteDigest": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
|
|
81
|
+
"regions": {
|
|
82
|
+
"frontmatter": {
|
|
83
|
+
"start": 0,
|
|
84
|
+
"end": 80
|
|
85
|
+
},
|
|
86
|
+
"identity": {
|
|
87
|
+
"start": 0,
|
|
88
|
+
"end": 80
|
|
89
|
+
},
|
|
90
|
+
"body": {
|
|
91
|
+
"start": 240,
|
|
92
|
+
"end": 240
|
|
93
|
+
},
|
|
94
|
+
"generated": [
|
|
95
|
+
{
|
|
96
|
+
"kind": "representation",
|
|
97
|
+
"range": {
|
|
98
|
+
"start": 80,
|
|
99
|
+
"end": 240
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"links": [
|
|
107
|
+
{
|
|
108
|
+
"edgeId": "e4",
|
|
109
|
+
"sourceNodeId": "d",
|
|
110
|
+
"targetNodeId": "a",
|
|
111
|
+
"type": "links_to",
|
|
112
|
+
"origin": "markdown",
|
|
113
|
+
"targetState": "in-scope",
|
|
114
|
+
"inversions": [
|
|
115
|
+
{
|
|
116
|
+
"source": {
|
|
117
|
+
"start": 12,
|
|
118
|
+
"end": 30
|
|
119
|
+
},
|
|
120
|
+
"note": {
|
|
121
|
+
"start": 52,
|
|
122
|
+
"end": 96
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"edgeId": "e5",
|
|
129
|
+
"sourceNodeId": "a",
|
|
130
|
+
"targetNodeId": "d",
|
|
131
|
+
"type": "supersedes",
|
|
132
|
+
"origin": "declared",
|
|
133
|
+
"targetState": "in-scope"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"edgeId": "e1",
|
|
137
|
+
"sourceNodeId": "a",
|
|
138
|
+
"targetNodeId": "b",
|
|
139
|
+
"type": "related",
|
|
140
|
+
"origin": "declared",
|
|
141
|
+
"targetState": "outside-selection"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"attachments": [
|
|
145
|
+
{
|
|
146
|
+
"path": "north/figures/diagram.svg",
|
|
147
|
+
"digest": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
|
|
148
|
+
"byteLength": 900
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"completeness": {
|
|
152
|
+
"status": "complete",
|
|
153
|
+
"expectedNotes": 3,
|
|
154
|
+
"writtenNotes": 3
|
|
155
|
+
},
|
|
156
|
+
"freshness": {
|
|
157
|
+
"status": "current",
|
|
158
|
+
"checkedAt": "2026-01-05T10:00:05Z"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "atelier-obsidian-generation-manifest/v2",
|
|
3
|
+
"layoutVersion": 2,
|
|
4
|
+
"generationId": "gen-0001",
|
|
5
|
+
"scopeId": "scope-topic",
|
|
6
|
+
"snapshotId": "snap-0001",
|
|
7
|
+
"notes": [
|
|
8
|
+
{
|
|
9
|
+
"repoId": "north",
|
|
10
|
+
"nodeId": "a",
|
|
11
|
+
"title": "Shared concept",
|
|
12
|
+
"path": "north/.topics/Shared concept.md",
|
|
13
|
+
"noteDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
14
|
+
"regions": {
|
|
15
|
+
"frontmatter": {
|
|
16
|
+
"start": 0,
|
|
17
|
+
"end": 120
|
|
18
|
+
},
|
|
19
|
+
"identity": {
|
|
20
|
+
"start": 40,
|
|
21
|
+
"end": 116
|
|
22
|
+
},
|
|
23
|
+
"body": {
|
|
24
|
+
"start": 120,
|
|
25
|
+
"end": 280
|
|
26
|
+
},
|
|
27
|
+
"generated": [
|
|
28
|
+
{
|
|
29
|
+
"kind": "relations",
|
|
30
|
+
"range": {
|
|
31
|
+
"start": 280,
|
|
32
|
+
"end": 340
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"repoId": "north",
|
|
40
|
+
"nodeId": "d",
|
|
41
|
+
"title": "Shared concept",
|
|
42
|
+
"path": "north/topics/Shared concept (shared-d).md",
|
|
43
|
+
"noteDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
|
|
44
|
+
"regions": {
|
|
45
|
+
"frontmatter": {
|
|
46
|
+
"start": 0,
|
|
47
|
+
"end": 40
|
|
48
|
+
},
|
|
49
|
+
"body": {
|
|
50
|
+
"start": 40,
|
|
51
|
+
"end": 200
|
|
52
|
+
},
|
|
53
|
+
"generated": [
|
|
54
|
+
{
|
|
55
|
+
"kind": "relations",
|
|
56
|
+
"range": {
|
|
57
|
+
"start": 200,
|
|
58
|
+
"end": 260
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "identity",
|
|
63
|
+
"range": {
|
|
64
|
+
"start": 260,
|
|
65
|
+
"end": 340
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"identity": {
|
|
70
|
+
"start": 260,
|
|
71
|
+
"end": 340
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"repoId": "north",
|
|
77
|
+
"nodeId": "e",
|
|
78
|
+
"title": "Diagram",
|
|
79
|
+
"path": "north/figures/diagram.svg.md",
|
|
80
|
+
"noteDigest": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
|
|
81
|
+
"regions": {
|
|
82
|
+
"frontmatter": {
|
|
83
|
+
"start": 0,
|
|
84
|
+
"end": 80
|
|
85
|
+
},
|
|
86
|
+
"identity": {
|
|
87
|
+
"start": 0,
|
|
88
|
+
"end": 80
|
|
89
|
+
},
|
|
90
|
+
"body": {
|
|
91
|
+
"start": 240,
|
|
92
|
+
"end": 240
|
|
93
|
+
},
|
|
94
|
+
"generated": [
|
|
95
|
+
{
|
|
96
|
+
"kind": "representation",
|
|
97
|
+
"range": {
|
|
98
|
+
"start": 80,
|
|
99
|
+
"end": 240
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"links": [
|
|
107
|
+
{
|
|
108
|
+
"edgeId": "e4",
|
|
109
|
+
"sourceNodeId": "d",
|
|
110
|
+
"targetNodeId": "a",
|
|
111
|
+
"type": "links_to",
|
|
112
|
+
"origin": "markdown",
|
|
113
|
+
"targetState": "in-scope",
|
|
114
|
+
"inversions": [
|
|
115
|
+
{
|
|
116
|
+
"source": {
|
|
117
|
+
"start": 12,
|
|
118
|
+
"end": 30
|
|
119
|
+
},
|
|
120
|
+
"note": {
|
|
121
|
+
"start": 52,
|
|
122
|
+
"end": 96
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"edgeId": "e5",
|
|
129
|
+
"sourceNodeId": "a",
|
|
130
|
+
"targetNodeId": "d",
|
|
131
|
+
"type": "supersedes",
|
|
132
|
+
"origin": "declared",
|
|
133
|
+
"targetState": "in-scope"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"edgeId": "e1",
|
|
137
|
+
"sourceNodeId": "a",
|
|
138
|
+
"targetNodeId": "b",
|
|
139
|
+
"type": "related",
|
|
140
|
+
"origin": "declared",
|
|
141
|
+
"targetState": "outside-selection"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"attachments": [
|
|
145
|
+
{
|
|
146
|
+
"path": "north/figures/diagram.svg",
|
|
147
|
+
"digest": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
|
|
148
|
+
"byteLength": 900
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"completeness": {
|
|
152
|
+
"status": "complete",
|
|
153
|
+
"expectedNotes": 3,
|
|
154
|
+
"writtenNotes": 3
|
|
155
|
+
},
|
|
156
|
+
"freshness": {
|
|
157
|
+
"status": "current",
|
|
158
|
+
"checkedAt": "2026-01-05T10:00:05Z"
|
|
159
|
+
}
|
|
160
|
+
}
|
package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/identity-in-the-body.v2.json
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "atelier-obsidian-generation-manifest/v2",
|
|
3
|
+
"layoutVersion": 2,
|
|
4
|
+
"generationId": "gen-0001",
|
|
5
|
+
"scopeId": "scope-topic",
|
|
6
|
+
"snapshotId": "snap-0001",
|
|
7
|
+
"notes": [
|
|
8
|
+
{
|
|
9
|
+
"repoId": "north",
|
|
10
|
+
"nodeId": "a",
|
|
11
|
+
"title": "Shared concept",
|
|
12
|
+
"path": "north/topics/Shared concept.md",
|
|
13
|
+
"noteDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
14
|
+
"regions": {
|
|
15
|
+
"frontmatter": {
|
|
16
|
+
"start": 0,
|
|
17
|
+
"end": 120
|
|
18
|
+
},
|
|
19
|
+
"identity": {
|
|
20
|
+
"start": 150,
|
|
21
|
+
"end": 170
|
|
22
|
+
},
|
|
23
|
+
"body": {
|
|
24
|
+
"start": 120,
|
|
25
|
+
"end": 280
|
|
26
|
+
},
|
|
27
|
+
"generated": [
|
|
28
|
+
{
|
|
29
|
+
"kind": "relations",
|
|
30
|
+
"range": {
|
|
31
|
+
"start": 280,
|
|
32
|
+
"end": 340
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"repoId": "north",
|
|
40
|
+
"nodeId": "d",
|
|
41
|
+
"title": "Shared concept",
|
|
42
|
+
"path": "north/topics/Shared concept (shared-d).md",
|
|
43
|
+
"noteDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
|
|
44
|
+
"regions": {
|
|
45
|
+
"frontmatter": {
|
|
46
|
+
"start": 0,
|
|
47
|
+
"end": 40
|
|
48
|
+
},
|
|
49
|
+
"body": {
|
|
50
|
+
"start": 40,
|
|
51
|
+
"end": 200
|
|
52
|
+
},
|
|
53
|
+
"generated": [
|
|
54
|
+
{
|
|
55
|
+
"kind": "relations",
|
|
56
|
+
"range": {
|
|
57
|
+
"start": 200,
|
|
58
|
+
"end": 260
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "identity",
|
|
63
|
+
"range": {
|
|
64
|
+
"start": 260,
|
|
65
|
+
"end": 340
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"identity": {
|
|
70
|
+
"start": 260,
|
|
71
|
+
"end": 340
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"repoId": "north",
|
|
77
|
+
"nodeId": "e",
|
|
78
|
+
"title": "Diagram",
|
|
79
|
+
"path": "north/figures/diagram.svg.md",
|
|
80
|
+
"noteDigest": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
|
|
81
|
+
"regions": {
|
|
82
|
+
"frontmatter": {
|
|
83
|
+
"start": 0,
|
|
84
|
+
"end": 80
|
|
85
|
+
},
|
|
86
|
+
"identity": {
|
|
87
|
+
"start": 0,
|
|
88
|
+
"end": 80
|
|
89
|
+
},
|
|
90
|
+
"body": {
|
|
91
|
+
"start": 240,
|
|
92
|
+
"end": 240
|
|
93
|
+
},
|
|
94
|
+
"generated": [
|
|
95
|
+
{
|
|
96
|
+
"kind": "representation",
|
|
97
|
+
"range": {
|
|
98
|
+
"start": 80,
|
|
99
|
+
"end": 240
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"links": [
|
|
107
|
+
{
|
|
108
|
+
"edgeId": "e4",
|
|
109
|
+
"sourceNodeId": "d",
|
|
110
|
+
"targetNodeId": "a",
|
|
111
|
+
"type": "links_to",
|
|
112
|
+
"origin": "markdown",
|
|
113
|
+
"targetState": "in-scope",
|
|
114
|
+
"inversions": [
|
|
115
|
+
{
|
|
116
|
+
"source": {
|
|
117
|
+
"start": 12,
|
|
118
|
+
"end": 30
|
|
119
|
+
},
|
|
120
|
+
"note": {
|
|
121
|
+
"start": 52,
|
|
122
|
+
"end": 96
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"edgeId": "e5",
|
|
129
|
+
"sourceNodeId": "a",
|
|
130
|
+
"targetNodeId": "d",
|
|
131
|
+
"type": "supersedes",
|
|
132
|
+
"origin": "declared",
|
|
133
|
+
"targetState": "in-scope"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"edgeId": "e1",
|
|
137
|
+
"sourceNodeId": "a",
|
|
138
|
+
"targetNodeId": "b",
|
|
139
|
+
"type": "related",
|
|
140
|
+
"origin": "declared",
|
|
141
|
+
"targetState": "outside-selection"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"attachments": [
|
|
145
|
+
{
|
|
146
|
+
"path": "north/figures/diagram.svg",
|
|
147
|
+
"digest": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
|
|
148
|
+
"byteLength": 900
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"completeness": {
|
|
152
|
+
"status": "complete",
|
|
153
|
+
"expectedNotes": 3,
|
|
154
|
+
"writtenNotes": 3
|
|
155
|
+
},
|
|
156
|
+
"freshness": {
|
|
157
|
+
"status": "current",
|
|
158
|
+
"checkedAt": "2026-01-05T10:00:05Z"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "atelier-obsidian-generation-manifest/v2",
|
|
3
|
+
"layoutVersion": 2,
|
|
4
|
+
"generationId": "gen-0001",
|
|
5
|
+
"scopeId": "scope-topic",
|
|
6
|
+
"snapshotId": "snap-0001",
|
|
7
|
+
"notes": [
|
|
8
|
+
{
|
|
9
|
+
"repoId": "north",
|
|
10
|
+
"nodeId": "a",
|
|
11
|
+
"title": "Shared concept",
|
|
12
|
+
"path": "north/topics/Shared [concept].md",
|
|
13
|
+
"noteDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
14
|
+
"regions": {
|
|
15
|
+
"frontmatter": {
|
|
16
|
+
"start": 0,
|
|
17
|
+
"end": 120
|
|
18
|
+
},
|
|
19
|
+
"identity": {
|
|
20
|
+
"start": 40,
|
|
21
|
+
"end": 116
|
|
22
|
+
},
|
|
23
|
+
"body": {
|
|
24
|
+
"start": 120,
|
|
25
|
+
"end": 280
|
|
26
|
+
},
|
|
27
|
+
"generated": [
|
|
28
|
+
{
|
|
29
|
+
"kind": "relations",
|
|
30
|
+
"range": {
|
|
31
|
+
"start": 280,
|
|
32
|
+
"end": 340
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"repoId": "north",
|
|
40
|
+
"nodeId": "d",
|
|
41
|
+
"title": "Shared concept",
|
|
42
|
+
"path": "north/topics/Shared concept (shared-d).md",
|
|
43
|
+
"noteDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
|
|
44
|
+
"regions": {
|
|
45
|
+
"frontmatter": {
|
|
46
|
+
"start": 0,
|
|
47
|
+
"end": 40
|
|
48
|
+
},
|
|
49
|
+
"body": {
|
|
50
|
+
"start": 40,
|
|
51
|
+
"end": 200
|
|
52
|
+
},
|
|
53
|
+
"generated": [
|
|
54
|
+
{
|
|
55
|
+
"kind": "relations",
|
|
56
|
+
"range": {
|
|
57
|
+
"start": 200,
|
|
58
|
+
"end": 260
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "identity",
|
|
63
|
+
"range": {
|
|
64
|
+
"start": 260,
|
|
65
|
+
"end": 340
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"identity": {
|
|
70
|
+
"start": 260,
|
|
71
|
+
"end": 340
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"repoId": "north",
|
|
77
|
+
"nodeId": "e",
|
|
78
|
+
"title": "Diagram",
|
|
79
|
+
"path": "north/figures/diagram.svg.md",
|
|
80
|
+
"noteDigest": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
|
|
81
|
+
"regions": {
|
|
82
|
+
"frontmatter": {
|
|
83
|
+
"start": 0,
|
|
84
|
+
"end": 80
|
|
85
|
+
},
|
|
86
|
+
"identity": {
|
|
87
|
+
"start": 0,
|
|
88
|
+
"end": 80
|
|
89
|
+
},
|
|
90
|
+
"body": {
|
|
91
|
+
"start": 240,
|
|
92
|
+
"end": 240
|
|
93
|
+
},
|
|
94
|
+
"generated": [
|
|
95
|
+
{
|
|
96
|
+
"kind": "representation",
|
|
97
|
+
"range": {
|
|
98
|
+
"start": 80,
|
|
99
|
+
"end": 240
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"links": [
|
|
107
|
+
{
|
|
108
|
+
"edgeId": "e4",
|
|
109
|
+
"sourceNodeId": "d",
|
|
110
|
+
"targetNodeId": "a",
|
|
111
|
+
"type": "links_to",
|
|
112
|
+
"origin": "markdown",
|
|
113
|
+
"targetState": "in-scope",
|
|
114
|
+
"inversions": [
|
|
115
|
+
{
|
|
116
|
+
"source": {
|
|
117
|
+
"start": 12,
|
|
118
|
+
"end": 30
|
|
119
|
+
},
|
|
120
|
+
"note": {
|
|
121
|
+
"start": 52,
|
|
122
|
+
"end": 96
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"edgeId": "e5",
|
|
129
|
+
"sourceNodeId": "a",
|
|
130
|
+
"targetNodeId": "d",
|
|
131
|
+
"type": "supersedes",
|
|
132
|
+
"origin": "declared",
|
|
133
|
+
"targetState": "in-scope"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"edgeId": "e1",
|
|
137
|
+
"sourceNodeId": "a",
|
|
138
|
+
"targetNodeId": "b",
|
|
139
|
+
"type": "related",
|
|
140
|
+
"origin": "declared",
|
|
141
|
+
"targetState": "outside-selection"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"attachments": [
|
|
145
|
+
{
|
|
146
|
+
"path": "north/figures/diagram.svg",
|
|
147
|
+
"digest": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
|
|
148
|
+
"byteLength": 900
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"completeness": {
|
|
152
|
+
"status": "complete",
|
|
153
|
+
"expectedNotes": 3,
|
|
154
|
+
"writtenNotes": 3
|
|
155
|
+
},
|
|
156
|
+
"freshness": {
|
|
157
|
+
"status": "current",
|
|
158
|
+
"checkedAt": "2026-01-05T10:00:05Z"
|
|
159
|
+
}
|
|
160
|
+
}
|