outcomeThe vault skill teaches agents to keep an Obsidian vault of the graph
spec:consumers.vault-on-rampPacks: pack:obsidian-vault-v1, pack:self-hosting-v1
Design: no design entries · no pinned declarations · 1 decision
Findings: no errors, no warnings
specs/consumers/vault-on-ramp.sdp.md
No open questions and no blocking questions; implementation binding present, verifier binding present, and expected-outcome oracle none.
A person keeps the vault open beside an agent's design pass and writes notes of their own in it. The agent has to place and refresh the vault without touching those notes, recover a refused run without losing them, and turn them into carrier edits. None of that belongs in the on-ramp for graph questions, so the vault has its own skill and the reading skill points to it.
Intent
- Give an agent a shipped on-ramp that places, synchronizes and recovers the Obsidian vault without losing a person's notes, and turns the intent a person writes there into checked carrier edits.
Behavior
rule.ownSkillline 31 ·specs/consumers/vault-on-ramp.sdp.md:31- The vault is taught in its own shipped skill, beside the reading, authoring, session and Studio skills, and the reading skill points to it.
no example exercises it
rule.placementline 32 ·specs/consumers/vault-on-ramp.sdp.md:32- The skill teaches choosing the vault directory:
--outresolves against the working directory, a vault inside the root lies under a directory discovery skips or an excluded prefix and apart from every path the build writes or removes, and a person opens that directory itself as the vault.no example exercises it
rule.ownershipline 33 ·specs/consumers/vault-on-ramp.sdp.md:33- The skill teaches that the command writes only the vault's
sdp/folder, and that a person's notes, intent notes underintent/by convention, and Obsidian's settings lie outside it.no example exercises it
rule.synchronizeline 34 ·specs/consumers/vault-on-ramp.sdp.md:34- The skill teaches synchronizing and watching:
sdp vaultenters the shared build and removes the five page roots,sdp generate --vault DIRpublishes those roots and the vault together, the watch follows carriers and TypeScript sources, and an index that opens with a failed-regeneration warning shows an older graph.no example exercises it
rule.recoverline 35 ·specs/consumers/vault-on-ramp.sdp.md:35- The skill teaches recovering a refused run without losing a person's work: name what each refusal means, move the person's words out of
sdp/before deleting a refused path, and keep or delete a changed Base on purpose.no example exercises it
rule.intentNotesline 36 ·specs/consumers/vault-on-ramp.sdp.md:36- The skill teaches turning an intent note into carrier edits: convert its links to ids and entry addresses, write a change proposal against the graph the person read, run the proposal check, send a moved or uncheckable change to a person, and apply the rest through the authoring skill.
no example exercises it
rule.citesLawline 37 ·specs/consumers/vault-on-ramp.sdp.md:37- The skill cites the vault's Specs for law and the verb's
--helpfor its flags, and restates neither.no example exercises it
0 unkeyed rules.
Verification
Verifier bindings
- test:protocol.vault-on-ramp · skill-asset checks verify the vault on-ramp against the verb, its guard and its notes · anchored · test anchor binding present ·
test/skills.test.ts:2002External run evidence from
test/skills.test.tsTest anchors:
test:protocol.adopter-on-ramp,test:protocol.authoring-on-ramp,test:protocol.delivery-session-on-ramp,test:protocol.graph-first-planning,test:protocol.reading-on-ramp,test:protocol.studio-on-ramp,test:protocol.vault-on-ramp. Specs verified by those bindings: spec:consumers.adopter-on-ramp, spec:consumers.authoring-on-ramp, spec:consumers.delivery-session-on-ramp, spec:consumers.graph-first-planning, spec:consumers.reading-on-ramp, spec:consumers.studio-on-ramp, spec:consumers.vault-on-ramp.Run 1: external run evidence from vitest 4.1.10
Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z
Name Suite Result Duration discovers the design slice's summary and detail parameter not recorded passed 7.03 ms teaches the named-file exception to both carrier-watch descriptions not recorded passed 1.09 ms teaches the optional priority field in the Pack manifest envelope not recorded passed 0.8 ms teaches design rounds and curates bindings by responsibility not recorded passed 3.5 ms presents the Protocol engine roles and reviewed boundary as worked examples for adopters not recorded passed 1.21 ms routes the next work and reviews through roadmap and proposal recipes not recorded passed 3.96 ms keeps planning truth in graph homes and session routing advisory Protocol skill assets passed 1.33 ms rejects missing planning guidance: An open question goes Protocol skill assets passed 2.15 ms rejects missing planning guidance: A deferral is Protocol skill assets passed 1.08 ms rejects missing planning guidance: An unsettled fact Protocol skill assets passed 0.92 ms rejects missing planning guidance: A ruling that awaits Protocol skill assets passed 0.97 ms rejects missing planning guidance: A statement a test checks Protocol skill assets passed 1.51 ms rejects missing planning guidance: Derive a count Protocol skill assets passed 1.19 ms rejects missing planning guidance: Group a body of work Protocol skill assets passed 1.21 ms rejects missing planning guidance: Hold advisory priority Protocol skill assets passed 2.68 ms owns skills under .agents and exposes them to Claude through one relative symlink Protocol skill assets passed 0.51 ms ships every skill folder in the package and indexes it in the help Protocol skill assets passed 1.18 ms uses the repository's two-field single-file convention Protocol skill assets passed 2.59 ms keeps every skill graph-first and the authoring law linked to carrying Specs Protocol skill assets passed 12.22 ms names the complete closed graph schema in the shape section Protocol skill assets passed 0.97 ms routes delivery sessions through the five advisory graph shapes Protocol skill assets passed 0.99 ms documents only valid CLI verbs and keeps root-specific exclusions intact Protocol skill assets passed 3.16 ms uses the local runtime or package runner instead of a colliding global binary Protocol skill assets passed 1.56 ms contains no contradictory shortcuts for readiness or verifier realization Protocol skill assets passed 2.44 ms states no recipe-catalog size in an on-ramp Protocol skill assets passed 14.6 ms maps a task to every catalog recipe in one sheet the graph-reading on-ramp passed 2.92 ms links the Specs that own the graph contract, the claims and the sink the graph-reading on-ramp passed 0.58 ms teaches every Markdown section owner and links the carrying grammar adopter teaching passed 2.33 ms teaches open-question home adopter rule meanings passed 1.24 ms teaches blocking floor adopter rule meanings passed 1.19 ms teaches blocking deferral adopter rule meanings passed 1.36 ms teaches deferral trigger adopter rule meanings passed 1.24 ms teaches deferral precondition adopter rule meanings passed 1.36 ms teaches independent defined floor adopter rule meanings passed 1.62 ms teaches complete example children adopter rule meanings passed 8.74 ms teaches example vocabulary agreement adopter rule meanings passed 1.29 ms teaches physical entry line adopter rule meanings passed 1.34 ms teaches one leading prose owner adopter rule meanings passed 1.09 ms teaches Note is refused adopter rule meanings passed 1.02 ms teaches ready reads parent adopter rule meanings passed 1.1 ms teaches ready waits for defined parent adopter rule meanings passed 1.14 ms teaches unsettled constraint home adopter rule meanings passed 1.13 ms teaches unsettled blocking check adopter rule meanings passed 1.11 ms teaches bounded relation adopter rule meanings passed 1.15 ms teaches bounded defined allowed adopter rule meanings passed 1.08 ms teaches bounded ready waits adopter rule meanings passed 1.12 ms teaches pending decision below ready adopter rule meanings passed 1 ms teaches shaping relation adopter rule meanings passed 1.54 ms teaches owner states ready adopter rule meanings passed 1.41 ms teaches checked statement home adopter rule meanings passed 2.23 ms teaches checking example relation adopter rule meanings passed 1.2 ms teaches example test binding adopter rule meanings passed 1.1 ms teaches derived verifier fact adopter rule meanings passed 1.14 ms teaches verifier existence versus passing adopter rule meanings passed 4.17 ms teaches CI owns outcomes adopter rule meanings passed 3.95 ms teaches no authored checked status adopter rule meanings passed 4.14 ms teaches fresh derived counts registers scope adopter rule meanings passed 1.07 ms teaches census source adopter rule meanings passed 7.43 ms teaches open-question register source adopter rule meanings passed 1.21 ms teaches dependency register source adopter rule meanings passed 1.17 ms teaches mention register source adopter rule meanings passed 1.48 ms teaches delta scope source adopter rule meanings passed 1.12 ms teaches no quoted counts adopter rule meanings passed 1.14 ms teaches operator-selected policy adopter rule meanings passed 1.21 ms teaches per-file policy parameters adopter rule meanings passed 2.29 ms teaches separate policy findings adopter rule meanings passed 1.14 ms teaches policy failures adopter rule meanings passed 1.03 ms teaches watch policy rereads adopter rule meanings passed 1.02 ms teaches Constraints leading-prose exception adopter rule meanings passed 1.06 ms teaches one primary owner adopter rule meanings passed 1.08 ms rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readiness adopter rule meanings passed 1.26 ms rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readiness adopter rule meanings passed 1.22 ms rejects the opposite teaching for example vocabulary agreement: complete and match the parent's example vocabulary, when it has one adopter rule meanings passed 1.15 ms rejects the opposite teaching for ready reads parent: ready floor does read the parent's readiness adopter rule meanings passed 1.15 ms rejects the opposite teaching for physical entry line: a wrapped or indented continuation is refused adopter rule meanings passed 1.17 ms rejects the opposite teaching for one leading prose owner: Leading prose may stand under that owner or under Example space, not both adopter rule meanings passed 1.15 ms rejects the opposite teaching for Note is refused: The parser reads - Note: x as a key and refuses it adopter rule meanings passed 1.15 ms rejects the opposite teaching for open-question home: An open question goes under Intent's ### Open questions. adopter rule meanings passed 1.21 ms accepts a harmless open-question instruction frame adopter rule meanings passed 1.7 ms defined examples ignore parent readiness but read its vocabulary: matches=true adopter rule meanings passed 3.78 ms defined examples ignore parent readiness but read its vocabulary: matches=false adopter rule meanings passed 0.45 ms teaches the Intent grammar row adopter rule meanings passed 0.66 ms teaches the Intent grammar row adopter rule meanings passed 0.57 ms teaches the Behavior grammar row adopter rule meanings passed 0.54 ms teaches the Rule grammar row adopter rule meanings passed 1.82 ms teaches the Workflow grammar row adopter rule meanings passed 0.56 ms teaches the Workflow grammar row adopter rule meanings passed 0.51 ms teaches the Contract grammar row adopter rule meanings passed 0.58 ms teaches the Example space grammar row adopter rule meanings passed 0.49 ms teaches the Example space grammar row adopter rule meanings passed 0.54 ms teaches the Constraints grammar row adopter rule meanings passed 0.56 ms teaches the Constraints grammar row adopter rule meanings passed 0.47 ms teaches the Constraints grammar row adopter rule meanings passed 0.47 ms teaches the Model grammar row adopter rule meanings passed 0.53 ms teaches the Model grammar row adopter rule meanings passed 0.64 ms teaches the Design grammar row adopter rule meanings passed 0.54 ms teaches the Design grammar row adopter rule meanings passed 0.53 ms teaches the Decision grammar row adopter rule meanings passed 0.55 ms teaches the Decision grammar row adopter rule meanings passed 0.51 ms teaches the UI grammar row adopter rule meanings passed 0.43 ms teaches the Verification — <mode> grammar row adopter rule meanings passed 0.46 ms teaches the Verification — <mode> grammar row adopter rule meanings passed 0.42 ms teaches the Verification — <mode> grammar row adopter rule meanings passed 0.44 ms keeps graph-reader verifier teaching about existence and CI outcomes adopter rule meanings passed 0.79 ms keeps session teaching advisory and separate from permission adopter rule meanings passed 0.48 ms the README teaches commit pin adopter install and upgrade guidance passed 0.3 ms the README teaches npm script approval adopter install and upgrade guidance passed 0.25 ms the README teaches npm git approval adopter install and upgrade guidance passed 0.21 ms the README teaches pnpm repository approval adopter install and upgrade guidance passed 0.21 ms the README teaches pnpm 10 exact approval adopter install and upgrade guidance passed 0.21 ms the README teaches installed CLI check adopter install and upgrade guidance passed 0.21 ms the README teaches vitest subpath requirement adopter install and upgrade guidance passed 0.22 ms the README teaches recipe subject as params adopter install and upgrade guidance passed 0.2 ms refuses wrapped continuation taught grammar agrees with parser behavior passed 1.34 ms refuses indented continuation taught grammar agrees with parser behavior passed 0.18 ms allows leading prose under either owner and refuses it under both taught grammar agrees with parser behavior passed 1.03 ms refuses Note as a plain Rule entry taught grammar agrees with parser behavior passed 0.28 ms refuses Note as a plain Workflow entry taught grammar agrees with parser behavior passed 0.13 ms refuses Note as a plain Contract entry taught grammar agrees with parser behavior passed 0.09 ms refuses Note as a plain Verification — manual entry taught grammar agrees with parser behavior passed 0.51 ms refuses unique Model terms duplicates taught grammar agrees with parser behavior passed 0.52 ms refuses unique Design keys duplicates taught grammar agrees with parser behavior passed 0.13 ms refuses unique UI keys via Design form duplicates taught grammar agrees with parser behavior passed 0.09 ms refuses single Intent actor duplicates taught grammar agrees with parser behavior passed 0.55 ms refuses single Intent problem duplicates taught grammar agrees with parser behavior passed 0.15 ms refuses single Intent outcome duplicates taught grammar agrees with parser behavior passed 0.1 ms refuses single Intent value duplicates taught grammar agrees with parser behavior passed 0.1 ms refuses single Constraints statement duplicates taught grammar agrees with parser behavior passed 0.28 ms refuses single Constraints flavor duplicates taught grammar agrees with parser behavior passed 0.21 ms refuses single Constraints target duplicates taught grammar agrees with parser behavior passed 0.13 ms refuses single Constraints measurableBy duplicates taught grammar agrees with parser behavior passed 0.1 ms refuses single Decision context duplicates taught grammar agrees with parser behavior passed 0.23 ms refuses single Decision decision duplicates taught grammar agrees with parser behavior passed 0.12 ms allows Behavior alone and refuses a second primary owner taught grammar agrees with parser behavior passed 0.52 ms allows Rule alone and refuses a second primary owner taught grammar agrees with parser behavior passed 0.22 ms allows Workflow alone and refuses a second primary owner taught grammar agrees with parser behavior passed 0.14 ms allows Contract alone and refuses a second primary owner taught grammar agrees with parser behavior passed 0.2 ms allows leading prose in Design and refuses it in Constraints taught grammar agrees with parser behavior passed 0.2 ms allows the taught repeatable Intent entries taught grammar agrees with parser behavior passed 0.18 ms allows the taught repeatable Decision entries taught grammar agrees with parser behavior passed 0.14 ms extracts the key the skill's marker carries and resolves the address the skill gives it the taught question marker passed 13.76 ms leaves the address unresolved when the key stands outside the brackets the taught question marker passed 8.53 ms creates the anchored suite before generating, and the build places the registrar beside it the reviewed skill teaching passed 23.52 ms keys a step in the vocabulary, as the step-key law and the contract generator agree the reviewed skill teaching passed 8.43 ms owns publishing in one reader section that agrees with each verb's flags the reviewed skill teaching passed 2.25 ms names the vault's owned folder, the person's notes and the roots a vault run removes the reviewed skill teaching passed 0.64 ms teaches entry addresses, term addresses and anchored source citations as the engine derives them the reviewed skill teaching passed 15.32 ms states what an empty or ready answer establishes and no more the reviewed skill teaching passed 1.27 ms teaches a refused bundle as the end of pagination, as recipe 36 refuses the reviewed skill teaching passed 9.72 ms keeps corpus rules in one section whose composed rules file runs as taught the reviewed skill teaching passed 9.15 ms points every skill at the installed upgrade guide and triggers authoring on upgrades and rules the reviewed skill teaching passed 1.5 ms orders the reader as a task route and leaves recipe contracts to the catalog the reviewed skill teaching passed 0.78 ms states the graph's flat topology and which node types carry lines, as the graph does the reviewed skill teaching passed 14.53 ms is its own shipped skill, which the reading skill points to the Studio on-ramp passed 1.1 ms starts from what the agent holds the Studio on-ramp passed 0.52 ms teaches the publishing run as the studio and generate verbs take it the Studio on-ramp passed 2.39 ms teaches stamping and the preview workflow as the workflow declares them the Studio on-ramp passed 6.91 ms has the preview's run evidence checked against the stamp, never assumed to match it the Studio on-ramp passed 3.17 ms maps each task to a page the Studio writes, and states what a page does not the Studio on-ramp passed 45.15 ms receives the composing panel's hand-off through the proposal check the Studio on-ramp passed 19.46 ms cites resolving Studio Specs for law and leaves flags to each verb's help the Studio on-ramp passed 700.44 ms is its own shipped skill, which the reading skill points to the vault on-ramp passed 1.29 ms places the vault where the command accepts it the vault on-ramp passed 3.7 ms keeps the person's notes outside the folder the command owns the vault on-ramp passed 0.51 ms teaches synchronizing and watching as the verbs and the failed index state them the vault on-ramp passed 0.51 ms names every refusal the guard prints and how to recover from it the vault on-ramp passed 0.81 ms converts a note's links back to the addresses the vault wrote, then checks the proposal the vault on-ramp passed 14.49 ms takes the proposal's base from the graph the person read, never from the latest synchronization the vault on-ramp passed 4.12 ms cites resolving vault Specs for law and leaves flags to the verb's help the vault on-ramp passed 124.17 ms
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
The diagram as text
- spec:consumers.vault-on-ramp: The vault skill teaches agents to keep an Obsidian vault of the graph · declared Spec
- spec:consumers.reading-on-ramp: The reading skill teaches agents to query the graph · declared Spec
- impl:protocol.vault-on-ramp: asserts realization of the shipped vault skill document · anchored code ·
test/skills.test.ts:1995 - test:protocol.vault-on-ramp: skill-asset checks verify the vault on-ramp against the verb, its guard and its notes · anchored test binding · binding present ·
test/skills.test.ts:2002 - 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
- impl:protocol.vault-on-ramp satisfies spec:consumers.vault-on-ramp · anchored
- test:protocol.vault-on-ramp verifies spec:consumers.vault-on-ramp · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.
Decisions
- The vault's generator owns one folder and synchronizes it
The vault's generator owns one folder of the vault,
sdp/, and keeps there a file list naming every file it wrote with a hash of its content. A.DS_Storefile undersdp/is ignored. A listed.basefile a person changed is kept, even when it leaves the generated set, with its recorded content unchanged in the list; the run warns with its path and the wordsdelete it to regenerateand goes on. For every other file, a run refuses, writing and removing nothing, while that folder holds a file the list does not name or one whose content the list does not record. Otherwise it synchronizes the folder: it writes the files whose content changed, leaves the others untouched, and removes the files it wrote that the graph no longer holds. The vault is not one of the projection roots the shared build rewrites: no build removes it, a vault directory where the build writes or removes is refused, and only the vault's synchronization writes it, whethersdp vaultor the verb that writes every projection root runs it.
Runtime
impl:protocol.vault-on-ramp· asserts realization of the shipped vault skill document ·test/skills.test.ts:1995Uses
None.
Runtime observation: not tracked.
Evidence
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Impact
The diagram as text
- spec:consumers.intent-composition: Composed intent hands off on one proposal shape
- spec:consumers.obsidian-vault: An Obsidian vault lets a person iterate on designs from the one graph
- spec:consumers.obsidian-vault.iteration: A design pass is followed and answered from the vault
- spec:consumers.obsidian-vault.notes: Every Spec, Pack, code unit and keyed term is a note, and every relation is a link
- spec:consumers.reading-on-ramp: The reading skill teaches agents to query the graph
- spec:consumers.vault-on-ramp: The vault skill teaches agents to keep an Obsidian vault of the graph
- spec:decisions.vault-owned-folder: The vault's generator owns one folder and synchronizes it
- 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.intent-composition · declared — intent written in the vault is applied through a checked change proposal
- 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: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
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
Rests on
- refines · spec:consumers.reading-on-ramp · stated ready, floor ready
- dependsOn · spec:consumers.intent-composition · stated ready, floor ready
- dependsOn · spec:consumers.obsidian-vault · stated ready, floor ready
- dependsOn · spec:consumers.obsidian-vault.iteration · stated ready, floor ready
- dependsOn · spec:consumers.obsidian-vault.notes · stated ready, floor ready
- decidedBy · spec:decisions.vault-owned-folder · stated ready, floor ready
Rested on by
No Spec rests on this Spec.
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| decidedBy · outgoing | The vault's generator owns one folder and synchronizes itspec:decisions.vault-owned-folder · resolves | declared | the skill keeps a person's notes outside the one folder the command owns | None |
| dependsOn · outgoing | Composed intent hands off on one proposal shapespec:consumers.intent-composition · resolves | declared | intent written in the vault is applied through a checked change proposal | None |
| dependsOn · outgoing | An Obsidian vault lets a person iterate on designs from the one graphspec:consumers.obsidian-vault · resolves | declared | the skill teaches the verb, where the vault may lie and the guard's refusals | None |
| dependsOn · outgoing | A design pass is followed and answered from the vaultspec:consumers.obsidian-vault.iteration · resolves | declared | the skill teaches the watch and the intent notes a design pass is answered in | None |
| dependsOn · outgoing | Every Spec, Pack, code unit and keyed term is a note, and every relation is a linkspec:consumers.obsidian-vault.notes · resolves | declared | the skill converts a note name or block id back to the id or entry address it names | None |
| refines · outgoing | The reading skill teaches agents to query the graphspec:consumers.reading-on-ramp · resolves | 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 | None |
Bindings
Implementation binding: present
impl:protocol.vault-on-ramp· asserts realization of the shipped vault skill document ·test/skills.test.ts:1995
Design reference: none
Verifier binding: present
- test:protocol.vault-on-ramp · skill-asset checks verify the vault on-ramp against the verb, its guard and its notes · anchored ·
test/skills.test.ts:2002· test anchor
Expected-outcome oracle: none
Runtime observation: not tracked.
Run results: not recorded in the graph.
Findings
None.
Composing (0)
Composing needs the script.