Design slice: Obsidian vault
pack:obsidian-vault-v1Read the Pack member by member
The design as a whole
- 23 members; 16 example members counted in their parents.
- 26 relations among members; deepest depth 4; 0 cycles.
- 0 members held below their stated next rung; 0 waiting only for their author.
- 18 outside Specs the slice rests on; 0 hold a member; 12 outside Specs rest on it.
- 9 components touched: 6 through members' code, 8 through what the slice rests on, 0 named by member designs; 3 outside components shown for context.
- 0 member component designs; 0 realized; 0 of those match.
- 3 decisions in scope; 0 state below ready.
- 0 open questions; 0 blocking.
Members read with the ones others rest on first. The columns count the design each member carries beside its rung; they never judge whether it is enough. This page records no review and approves nothing.
How the members rest on each other
Depths are structural, never phases, dates or priority. Dashed relations order nothing. The text keeps every member and original relation.
Shown as text: this drawing exceeds the height budget of 2000 pixels after folding.
The diagram as text
- spec:consumers.obsidian-vault: An Obsidian vault lets a person iterate on designs from the one graph, depth 2, stated ready, floor ready
- spec:decisions.vault-owned-folder: The vault's generator owns one folder and synchronizes it, depth 1, stated ready, floor ready
- spec:consumers.obsidian-vault.fresh-vault: A fresh vault is written the same way twice and every link resolves, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.person-notes-survive: A regeneration removes a note that left the graph and keeps a person's notes, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.unknown-note-refused: A note a person wrote inside the generated folder refuses the regeneration, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.changed-note-refused: A generated note a person changed refuses the regeneration and keeps the edit, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.hidden-file-refused: A person's file under a temporary's name refuses the regeneration, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.vault-in-build-path-refused: A vault directory the build removes refuses the run and keeps a person's notes, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.interrupted-run-recovered: A run after a stopped synchronization finishes it, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.failed-extraction-keeps-notes: A failed extraction keeps the notes and says so on the index, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.failed-extraction-recovered: The run after a failed extraction passes the guard and restores the index, depth 3, stated ready, floor ready; example folded into spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.notes: Every Spec, Pack, code unit and keyed term is a note, and every relation is a link, depth 3, stated ready, floor ready
- spec:consumers.obsidian-vault.notes.entry-address-link: An entry address in prose opens the entry's block in its Spec's note, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.notes
- spec:consumers.obsidian-vault.notes.unresolved-mention-stays: A mention of an entry that does not exist stays as written, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.notes
- spec:consumers.obsidian-vault.notes.term-address-link: A keyed Model term gets a note, and its address in prose opens the term's block, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.notes
- spec:consumers.obsidian-vault.notes.case-collision-refused: Two Specs whose notes differ only in case refuse the run, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.notes
- spec:consumers.obsidian-vault.bases: A Pack's members and the standing queries are tables over the reader's values, depth 3, stated ready, floor ready
- spec:consumers.obsidian-vault.bases.views-match-sources: Each standing view selects what its source selects, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.bases
- spec:consumers.obsidian-vault.iteration: A design pass is followed and answered from the vault, depth 3, stated ready, floor ready
- spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes: A carrier edit under watch rewrites only the notes it changes, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.iteration
- spec:consumers.obsidian-vault.iteration.watch-source-anchor: An anchor added in a source file under watch rewrites the Spec's note, depth 4, stated ready, floor ready; example folded into spec:consumers.obsidian-vault.iteration
- spec:consumers.vault-on-ramp: The vault skill teaches agents to keep an Obsidian vault of the graph, depth 4, stated ready, floor ready
- spec:model.term-addresses: A Model term may carry a key that addresses it, depth 1, stated ready, floor ready
- Outside this scope: spec:consumers.binding-language-views: Views speak binding language, never the internal fact name, stated ready, floor ready
- Outside this scope: spec:consumers.edit-model: Views compose scoped intent instead of patching canonical source, stated ready, floor ready
- Outside this scope: spec:consumers.intent-composition: Composed intent hands off on one proposal shape, stated ready, floor ready
- Outside this scope: spec:consumers.intent-composition.proposal: A change proposal is addressed, based and checked before it lands, stated ready, floor ready
- Outside this scope: spec:consumers.pack-design: The Pack context carries the Pack's design, stated ready, floor ready
- Outside this scope: spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores, stated ready, floor ready
- Outside this scope: spec:consumers.reader: The reader bridges agent entry points to composable graph context, stated ready, floor ready
- Outside this scope: spec:consumers.reading-on-ramp: The reading skill teaches agents to query the graph, stated ready, floor ready
- Outside this scope: spec:consumers.validate-watch: Validation re-runs while an author edits carriers, stated ready, floor ready
- Outside this scope: spec:consumers.wholesale-view-rewrite: Every view run rewrites the view wholesale, stated ready, floor ready
- Outside this scope: spec:decisions.checked-mentions: A Spec id written in prose is a checked mention, stated ready, floor ready
- Outside this scope: spec:decisions.shipped-projections-frozen: The shipped projections stay frozen, stated ready, floor ready
- Outside this scope: spec:extraction.determinism: Committed source derives byte-identical output, stated ready, floor ready
- Outside this scope: spec:extraction.entry-locations: The graph records where each addressable entry is written, stated ready, floor ready
- Outside this scope: spec:model.rule-keys: A rule or flow entry may carry a key that addresses it, stated ready, floor ready
- Outside this scope: spec:model.spec-sections: Spec sections carry typed detail and direct verifier semantics, stated ready, floor ready
- Outside this scope: spec:model.stable-ids: Stable IDs are the Protocol's durable join key, stated ready, floor ready
- Outside this scope: spec:validation.prose-mentions: Every Spec id written in prose resolves, stated ready, floor ready
- spec:consumers.obsidian-vault decidedBy spec:decisions.vault-owned-folder · declared — the generator owns one folder of the vault and synchronizes it instead of rewriting a root
- spec:consumers.obsidian-vault.bases refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.bases.views-match-sources refines spec:consumers.obsidian-vault.bases · declared
- spec:consumers.obsidian-vault.changed-note-refused refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.failed-extraction-keeps-notes refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.failed-extraction-recovered refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.fresh-vault refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.hidden-file-refused refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.interrupted-run-recovered refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.iteration refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes refines spec:consumers.obsidian-vault.iteration · declared
- spec:consumers.obsidian-vault.iteration.watch-source-anchor refines spec:consumers.obsidian-vault.iteration · declared
- spec:consumers.obsidian-vault.notes dependsOn spec:model.term-addresses · declared — a term note exists for a Model term that carries a key and so an address
- spec:consumers.obsidian-vault.notes refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.notes.case-collision-refused refines spec:consumers.obsidian-vault.notes · declared
- spec:consumers.obsidian-vault.notes.entry-address-link refines spec:consumers.obsidian-vault.notes · declared
- spec:consumers.obsidian-vault.notes.term-address-link refines spec:consumers.obsidian-vault.notes · declared
- spec:consumers.obsidian-vault.notes.unresolved-mention-stays refines spec:consumers.obsidian-vault.notes · declared
- spec:consumers.obsidian-vault.person-notes-survive refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.unknown-note-refused refines spec:consumers.obsidian-vault · declared
- spec:consumers.obsidian-vault.vault-in-build-path-refused refines spec:consumers.obsidian-vault · declared
- spec:consumers.vault-on-ramp decidedBy spec:decisions.vault-owned-folder · declared — the skill keeps a person's notes outside the one folder the command owns
- spec:consumers.vault-on-ramp dependsOn spec:consumers.obsidian-vault · declared — the skill teaches the verb, where the vault may lie and the guard's refusals
- spec:consumers.vault-on-ramp dependsOn spec:consumers.obsidian-vault.iteration · declared — the skill teaches the watch and the intent notes a design pass is answered in
- spec:consumers.vault-on-ramp dependsOn spec:consumers.obsidian-vault.notes · declared — the skill converts a note name or block id back to the id or entry address it names
- spec:decisions.vault-owned-folder refines spec:consumers.obsidian-vault · declared, orders nothing — settles which files the vault's generator owns and how it regenerates them
- spec:consumers.obsidian-vault.notes dependsOn spec:consumers.binding-language-views · declared — rendered binding labels must state existence rather than liveness
- spec:consumers.obsidian-vault.iteration dependsOn spec:consumers.edit-model · declared — the vault composes intent and never patches a carrier
- spec:consumers.vault-on-ramp dependsOn spec:consumers.intent-composition · declared — intent written in the vault is applied through a checked change proposal
- spec:consumers.obsidian-vault.iteration dependsOn spec:consumers.intent-composition.proposal · declared — intent composed in the vault hands off on the one proposal contract
- spec:consumers.obsidian-vault.bases dependsOn spec:consumers.pack-design · declared — a Pack's Base shows the members, rungs and design columns the Pack design assembles
- spec:consumers.obsidian-vault refines spec:consumers.projections-model · declared — a projection for a person who iterates on designs in a notes app
- spec:consumers.obsidian-vault dependsOn spec:consumers.reader · declared — the generator reads the graph through the reader's joined values
- spec:consumers.vault-on-ramp refines spec:consumers.reading-on-ramp · declared — a vault note is a person's reading of the one graph, and the skill turns what the person writes beside it into checked edits
- spec:consumers.obsidian-vault.iteration dependsOn spec:consumers.validate-watch · declared — the vault's watch runs the same loop over carriers and anchored source files
- spec:consumers.obsidian-vault dependsOn spec:consumers.wholesale-view-rewrite · declared — the shared build's invalidation removes the five projection roots and never the vault
- spec:model.term-addresses decidedBy spec:decisions.checked-mentions · declared — a term address joins the address law that decision rules
- spec:consumers.obsidian-vault decidedBy spec:decisions.shipped-projections-frozen · declared — the vault is a new root, since the four shipped projections stay frozen
- spec:model.term-addresses decidedBy spec:decisions.shipped-projections-frozen · declared — term keys stay off the frozen projections, which read the definition unchanged
- spec:consumers.obsidian-vault constrainedBy spec:extraction.determinism · declared
- spec:model.term-addresses dependsOn spec:extraction.entry-locations · declared — adds a row per Model term to the location table
- spec:model.term-addresses dependsOn spec:model.rule-keys · declared — the term-key design follows the rule-entry address pattern
- spec:model.term-addresses refines spec:model.spec-sections · declared — extends entry addresses to the terms a Model section defines
- spec:model.term-addresses dependsOn spec:model.stable-ids · declared — a term address extends the Spec entry-address grammar
- spec:consumers.obsidian-vault.notes dependsOn spec:validation.prose-mentions · declared — a mention can become a link because validation already refuses one that does not resolve
What each member needs next
| Member | Depth | Rung | Next rung | Design carried | Code |
|---|---|---|---|---|---|
The vault's generator owns one folder and synchronizes itspec:decisions.vault-owned-folderdecision | 1 | ready floor ready | 0 rules0 entries0 declarations0 questions0 decisions0 of 0 verifying examples bound | 0 implementing2 referencing | |
A Model term may carry a key that addresses itspec:model.term-addressesrule | 1 | ready floor ready | 9 rules, 7 keyed10 entries7 declarations0 questions2 decisions5 of 5 verifying examples bound | 9 implementing0 referencing | |
An Obsidian vault lets a person iterate on designs from the one graphspec:consumers.obsidian-vaultbehavior | 2 | ready floor ready | 15 rules, 15 keyed13 entries5 declarations0 questions2 decisions9 of 9 verifying examples bound | 3 implementing0 referencing | |
9 example members folded in
| |||||
Every Spec, Pack, code unit and keyed term is a note, and every relation is a linkspec:consumers.obsidian-vault.notesbehavior | 3 | ready floor ready | 12 rules, 12 keyed17 entries8 declarations0 questions0 decisions4 of 4 verifying examples bound | 3 implementing0 referencing | |
4 example members folded in
| |||||
A Pack's members and the standing queries are tables over the reader's valuesspec:consumers.obsidian-vault.basesbehavior | 3 | ready floor ready | 6 rules, 6 keyed9 entries5 declarations0 questions0 decisions1 of 1 verifying examples bound | 2 implementing0 referencing | |
1 example members folded in
| |||||
A design pass is followed and answered from the vaultspec:consumers.obsidian-vault.iterationbehavior | 3 | ready floor ready | 6 rules, 6 keyed0 entries0 declarations0 questions0 decisions2 of 2 verifying examples bound | 3 implementing0 referencing | |
2 example members folded in
| |||||
The vault skill teaches agents to keep an Obsidian vault of the graphspec:consumers.vault-on-rampbehavior | 4 | ready floor ready | 7 rules, 7 keyed0 entries0 declarations0 questions1 decisions0 of 0 verifying examples bound | 1 implementing0 referencing | |
The architecture it touches
Arrows: uses (anchored).
The diagram as text
- component:protocol.cli: entry points, shared build and publication, anchored, layer edge, context protocol; satisfies members spec:consumers.obsidian-vault, spec:consumers.obsidian-vault.iteration; references members spec:decisions.vault-owned-folder; code for rests on spec:consumers.validate-watch, spec:consumers.wholesale-view-rewrite, spec:extraction.determinism; member designs none
- component:protocol.extract: the carrier and source pipeline, anchored, layer application, context protocol; satisfies members spec:model.term-addresses; references members none; code for rests on spec:extraction.determinism, spec:extraction.entry-locations, spec:model.rule-keys; member designs none
- component:protocol.graph: the one graph and its semantic decisions, anchored, layer domain, context protocol; satisfies members none; references members none; code for rests on spec:validation.prose-mentions; member designs none
- component:protocol.import: canonical conversion with a fidelity boundary, anchored, layer application, context protocol; satisfies members spec:model.term-addresses; references members none; code for rests on none; member designs none
- component:protocol.model: the authored contracts and stable ids, anchored, layer domain, context protocol; satisfies members spec:model.term-addresses; references members none; code for rests on spec:model.spec-sections, spec:model.stable-ids; member designs none
- component:protocol.projections: read-only output, layout and owned publication, anchored, layer edge, context protocol; satisfies members spec:consumers.obsidian-vault, spec:consumers.obsidian-vault.notes, spec:consumers.obsidian-vault.bases, spec:consumers.obsidian-vault.iteration; references members spec:decisions.vault-owned-folder; code for rests on spec:consumers.binding-language-views, spec:consumers.projections-model; member designs none
- component:protocol.reader: the typed graph contract and body evaluator, anchored, layer application, context protocol; satisfies members none; references members none; code for rests on spec:consumers.pack-design, spec:consumers.reader, spec:extraction.entry-locations; member designs none
- component:protocol.studio-elements: optional browser behavior and proposal handoff, anchored, layer edge, context protocol; satisfies members none; references members none; code for rests on spec:consumers.intent-composition.proposal; member designs none
- component:protocol.validate: one finding currency and ordered checks, anchored, layer domain, context protocol; satisfies members spec:model.term-addresses; references members none; code for rests on spec:model.rule-keys, spec:model.spec-sections, spec:validation.prose-mentions; member designs none
- component:protocol.adapters: external runtime and source adapters, outside scope, anchored, layer adapter, context protocol
- component:protocol.codegen: contracts and registrar output, outside scope, anchored, layer application, context protocol
- component:protocol.notation: the leaf step codec, outside scope, anchored, layer domain, context protocol
- component:protocol.cli uses component:protocol.adapters · anchored
- component:protocol.cli uses component:protocol.codegen · anchored
- component:protocol.cli uses component:protocol.extract · anchored
- component:protocol.cli uses component:protocol.graph · anchored
- impl:protocol.stamp-command uses impl:protocol.schema-version · anchored
- component:protocol.cli uses component:protocol.import · anchored
- component:protocol.cli uses component:protocol.model · anchored
- component:protocol.cli uses component:protocol.projections · anchored
- impl:protocol.vault-command uses component:protocol.projections · anchored
- component:protocol.cli uses component:protocol.reader · anchored
- component:protocol.cli uses component:protocol.validate · anchored
- component:protocol.codegen uses component:protocol.graph · anchored
- component:protocol.codegen uses component:protocol.reader · anchored
- component:protocol.codegen uses component:protocol.validate · anchored
- component:protocol.extract uses component:protocol.graph · anchored
- impl:protocol.derive-graph uses impl:protocol.delivery-facts · anchored
- component:protocol.extract uses component:protocol.model · anchored
- component:protocol.extract uses component:protocol.notation · anchored
- component:protocol.extract uses component:protocol.validate · anchored
- component:protocol.graph uses component:protocol.model · anchored
- component:protocol.graph uses component:protocol.notation · anchored
- component:protocol.import uses component:protocol.extract · anchored
- component:protocol.import uses component:protocol.notation · anchored
- component:protocol.import uses component:protocol.validate · anchored
- component:protocol.projections uses component:protocol.extract · anchored
- impl:protocol.gherkin-view uses impl:protocol.gherkin-kind-policy · anchored
- component:protocol.projections uses component:protocol.graph · anchored
- component:protocol.projections uses component:protocol.model · anchored
- component:protocol.projections uses component:protocol.notation · anchored
- component:protocol.projections uses component:protocol.reader · anchored
- impl:protocol.studio-recipes uses api:protocol.evaluate-body · anchored
- impl:protocol.studio-recipes uses impl:protocol.reader · anchored
- impl:protocol.vault-notes uses impl:protocol.reader · anchored
- component:protocol.projections uses component:protocol.validate · anchored
- component:protocol.reader uses component:protocol.graph · anchored
- impl:protocol.reader uses impl:protocol.delivery-facts · anchored
- component:protocol.reader uses component:protocol.model · anchored
- component:protocol.reader uses component:protocol.notation · anchored
- component:protocol.reader uses component:protocol.validate · anchored
- impl:protocol.reader uses impl:protocol.next-rung-floor · anchored
- component:protocol.studio-elements uses component:protocol.projections · anchored
- component:protocol.studio-elements uses component:protocol.reader · anchored
- component:protocol.validate uses component:protocol.graph · anchored
- impl:protocol.authored-honesty-delivery-facts uses impl:protocol.delivery-facts · anchored
- component:protocol.validate uses component:protocol.model · anchored
- component:protocol.validate uses component:protocol.notation · anchored
- impl:protocol.vault-on-ramp implements spec:consumers.vault-on-ramp; no component
- impl:protocol.address-and-cycle-recipes implements spec:model.term-addresses; no component
- impl:protocol.register-recipes implements spec:model.term-addresses; no component
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: block; flowchart fallback because block cannot carry edge claims and counts.
Components the slice touches
| Component | Layer and context | Reached through |
|---|---|---|
component:protocol.clientry points, shared build and publication | edge · protocol | Members its code satisfies: An Obsidian vault lets a person iterate on designs from the one graph, A design pass is followed and answered from the vaultMembers its code references: The vault's generator owns one folder and synchronizes itWhat the slice rests on, realized here: spec:consumers.validate-watch, spec:consumers.wholesale-view-rewrite, spec:extraction.determinismMember designs naming it: none |
component:protocol.extractthe carrier and source pipeline | application · protocol | Members its code satisfies: A Model term may carry a key that addresses itMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.determinism, spec:extraction.entry-locations, spec:model.rule-keysMember designs naming it: none |
component:protocol.graphthe one graph and its semantic decisions | domain · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:validation.prose-mentionsMember designs naming it: none |
component:protocol.importcanonical conversion with a fidelity boundary | application · protocol | Members its code satisfies: A Model term may carry a key that addresses itMembers its code references: noneWhat the slice rests on, realized here: noneMember designs naming it: none |
component:protocol.modelthe authored contracts and stable ids | domain · protocol | Members its code satisfies: A Model term may carry a key that addresses itMembers its code references: noneWhat the slice rests on, realized here: spec:model.spec-sections, spec:model.stable-idsMember designs naming it: none |
component:protocol.projectionsread-only output, layout and owned publication | edge · protocol | Members its code satisfies: An Obsidian vault lets a person iterate on designs from the one graph, Every Spec, Pack, code unit and keyed term is a note, and every relation is a link, A Pack's members and the standing queries are tables over the reader's values, A design pass is followed and answered from the vaultMembers its code references: The vault's generator owns one folder and synchronizes itWhat the slice rests on, realized here: spec:consumers.binding-language-views, spec:consumers.projections-modelMember designs naming it: none |
component:protocol.readerthe typed graph contract and body evaluator | application · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:consumers.pack-design, spec:consumers.reader, spec:extraction.entry-locationsMember designs naming it: none |
component:protocol.studio-elementsoptional browser behavior and proposal handoff | edge · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:consumers.intent-composition.proposalMember designs naming it: none |
component:protocol.validateone finding currency and ordered checks | domain · protocol | Members its code satisfies: A Model term may carry a key that addresses itMembers its code references: noneWhat the slice rests on, realized here: spec:model.rule-keys, spec:model.spec-sections, spec:validation.prose-mentionsMember designs naming it: none |
Member component designs
None.
Outside the slice, shown for context and not counted as touched
component:protocol.adapters· external runtime and source adapters · anchored · a touched component uses itcomponent:protocol.codegen· contracts and registrar output · anchored · a touched component uses it; it uses a touched componentcomponent:protocol.notation· the leaf step codec · anchored · a touched component uses it
Units bound to a member and to no component
impl:protocol.vault-on-rampimplements The vault skill teaches agents to keep an Obsidian vault of the graphimpl:protocol.address-and-cycle-recipesimplements A Model term may carry a key that addresses itimpl:protocol.register-recipesimplements A Model term may carry a key that addresses it
Decisions in scope
| Decision | Rung | In the slice | Shapes | Questions |
|---|---|---|---|---|
A Spec id written in prose is a checked mentionspec:decisions.checked-mentions | ready floor ready | outside | A Model term may carry a key that addresses it | 0 open, 0 blocking |
The shipped projections stay frozenspec:decisions.shipped-projections-frozen | ready floor ready | outside | An Obsidian vault lets a person iterate on designs from the one graph, A Model term may carry a key that addresses it | 0 open, 0 blocking |
The vault's generator owns one folder and synchronizes itspec:decisions.vault-owned-folder | ready floor ready | member | An Obsidian vault lets a person iterate on designs from the one graph, The vault skill teaches agents to keep an Obsidian vault of the graph | 0 open, 0 blocking |
Open questions in scope
None.
Where the slice meets the rest
Rests on (18)
Rested on by (12)
Verified by (5)
| Spec | Rung | Implementation binding | Joined members | Holds |
|---|---|---|---|---|
A keyed term is reified and its address resolvesspec:model.term-addresses.keyed-term-resolves | ready floor ready | none | verifies: A Model term may carry a key that addresses it | none |
A term marker whose key is off the grammar refuses its carrierspec:model.term-addresses.malformed-term-marker-refused | ready floor ready | none | verifies: A Model term may carry a key that addresses it | none |
A term key repeated in one Spec refuses its carrierspec:model.term-addresses.repeated-term-key-refused | ready floor ready | none | verifies: A Model term may carry a key that addresses it | none |
A keyed TypeScript term keeps its address through import to Markdownspec:model.term-addresses.typescript-term-imports-keyed | ready floor ready | none | verifies: A Model term may carry a key that addresses it | none |
An address that names a term key no term carries is an errorspec:model.term-addresses.unknown-term-key-refused | ready floor ready | none | verifies: A Model term may carry a key that addresses it | none |
Superseded by (0)
None.
Composing (0)
Composing needs the script.