oh-my-second-brain 0.20.5 → 0.20.6
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG-assets.md +6 -0
- package/CHANGELOG-cli.md +4 -0
- package/CHANGELOG-kernel.md +2 -0
- package/CHANGELOG-mcp.md +4 -0
- package/CHANGELOG-vendors.md +2 -0
- package/CHANGELOG.md +2 -0
- package/README.ko.md +8 -8
- package/README.md +7 -7
- package/assets/claude/CLAUDE.md +19 -11
- package/assets/codex/AGENTS.md +15 -8
- package/assets/codex/rules/oms.md +6 -4
- package/assets/hermes/README.md +4 -2
- package/assets/hermes/SOUL.md +15 -8
- package/assets/hermes-manifest.json +1 -1
- package/assets/skills/distill/SKILL.md +1 -1
- package/assets/skills/doctor/SKILL.md +1 -1
- package/assets/skills/setup/SKILL.md +2 -2
- package/assets/skills/write/SKILL.md +5 -5
- package/dist/cli/contract-command.js +5 -3
- package/dist/cli/contract-command.js.map +1 -1
- package/dist/cli/doctor-command.js +2 -1
- package/dist/cli/doctor-command.js.map +1 -1
- package/dist/kernel/contract/status.d.ts +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/docs/adapters.md +4 -4
- package/docs/architecture.md +2 -2
- package/docs/cli-map.md +2 -2
- package/docs/conventions.md +5 -5
- package/docs/install.md +2 -2
- package/docs/migration-0.19.md +1 -1
- package/docs/verified-target.md +2 -2
- package/package.json +1 -1
- package/skills/distill/SKILL.md +1 -1
- package/skills/doctor/SKILL.md +1 -1
- package/skills/setup/SKILL.md +2 -2
- package/skills/write/SKILL.md +5 -5
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{
|
|
11
11
|
"name": "oms",
|
|
12
12
|
"description": "Oh My Second Brain convention layer for Obsidian vaults — capture, retrieve, and validate knowledge under a declared semantic convention.",
|
|
13
|
-
"version": "0.20.
|
|
13
|
+
"version": "0.20.6",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "gobeumsu",
|
|
16
16
|
"email": "gobeumsu@gmail.com"
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
]
|
|
38
38
|
}
|
|
39
39
|
],
|
|
40
|
-
"version": "0.20.
|
|
40
|
+
"version": "0.20.6"
|
|
41
41
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.6",
|
|
4
4
|
"description": "Oh My Second Brain convention layer for Obsidian vaults — Codex native rules, skills, and MCP adapter.",
|
|
5
5
|
"_note": "oms setup host install writes Codex MCP config and provenance, installs ~/.codex/rules/oms.md, and installs the six shared skills under ~/.codex/skills/oms-*.",
|
|
6
6
|
"skills": "./assets/skills/",
|
package/CHANGELOG-assets.md
CHANGED
|
@@ -4,6 +4,12 @@ Skills, agents, templates, and host guidance changes belong here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.20.6] - 2026-10-01
|
|
8
|
+
|
|
9
|
+
- **Skills and host guidance now say that contract findings warn instead of deny.** The `write`, `distill`, and `setup` skills, the Claude, Codex, and Hermes host guidance, and the README and docs had kept saying that a note breaking the contract is denied. Since the contract became warn-first, such a note is saved with each finding as a `{field, kind}` warning and one guidance command; only a safety refusal (a path outside the vault, a control or unsafe path, unsupported input, a tampered contract) denies, and in a sealed vault a note written through MCP or `oms write` whose frontmatter does not parse may be kept as a draft. Agents reading the old wording stopped and asked after a write that had already succeeded. The README also no longer says MCP cannot seal: `interview` `op: seal` seals a proposal the owner confirmed. Run `oms setup host sync` to refresh installed host guidance.
|
|
10
|
+
|
|
11
|
+
- **Docs and skills say what `--fix` and `ifMatch` do.** The README, the docs, and the `doctor` skill now say that `oms doctor contract --fix` also rebuilds an unreadable index. The architecture page no longer counts a stale `ifMatch` among the safety refusals; it is a revision precondition that writes nothing. The `write` skill says that among contract states only a tampered contract denies, the 0.19 migration guide notes that a contract finding has warned since 0.20, and the harness architecture page cites the current `status.ts` lines.
|
|
12
|
+
|
|
7
13
|
## [0.20.5] - 2026-09-30
|
|
8
14
|
|
|
9
15
|
## [0.20.4] - 2026-09-30
|
package/CHANGELOG-cli.md
CHANGED
|
@@ -4,6 +4,10 @@ Changes to the `oms` command surface belong here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.20.6] - 2026-10-01
|
|
8
|
+
|
|
9
|
+
- **`oms doctor contract --fix` usage says what it repairs.** The `doctor` and contract usage text said `--fix` only re-indexes a moved or unindexed vault; it also rebuilds an unreadable index, and the usage now says so. The contract usage also names `oms interview` as the command that reseals a broken seal, matching the diagnosis's `recovery` field.
|
|
10
|
+
|
|
7
11
|
## [0.20.5] - 2026-09-30
|
|
8
12
|
|
|
9
13
|
## [0.20.4] - 2026-09-30
|
package/CHANGELOG-kernel.md
CHANGED
package/CHANGELOG-mcp.md
CHANGED
|
@@ -4,6 +4,10 @@ MCP server tools and resources belong here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.20.6] - 2026-10-01
|
|
8
|
+
|
|
9
|
+
- **The server instructions no longer call a stale `ifMatch` a safety refusal.** They listed it beside the vault boundary and a tampered contract as something that denies `write`. A missing or stale `ifMatch` is a revision precondition: it returns `WRITE_IF_MATCH_REQUIRED` or the retryable `WRITE_TARGET_CHANGED` and writes nothing, and the safety list now also names unsupported input.
|
|
10
|
+
|
|
7
11
|
## [0.20.5] - 2026-09-30
|
|
8
12
|
|
|
9
13
|
## [0.20.4] - 2026-09-30
|
package/CHANGELOG-vendors.md
CHANGED
|
@@ -4,6 +4,8 @@ Per-host adapter and installer changes belong here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.20.6] - 2026-10-01
|
|
8
|
+
|
|
7
9
|
## [0.20.5] - 2026-09-30
|
|
8
10
|
|
|
9
11
|
- **The Claude marketplace is named after the repository.** `.claude-plugin/marketplace.json` is now `oh-my-second-brain`, so the plugin id is `oms@oh-my-second-brain` for Claude Code and Gajae-Code instead of the doubled `oms@oms`; the plugin and its skills stay `oms` and `/oms:*`. To pick up the new name, run `claude plugin uninstall oms@oms` and `claude plugin marketplace remove oms`, then install again. The README now credits Gajae Code through the acknowledgements, and the Gajae-Code install command lives in the host asset guide.
|
package/CHANGELOG.md
CHANGED
package/README.ko.md
CHANGED
|
@@ -127,17 +127,17 @@ oms search "프로젝트 결정" --vault /path/to/vault
|
|
|
127
127
|
| **에이전트** | 맥락을 읽고 노트를 작성하며 호스트에 맞는 워크플로를 쓴다. 보존할 가치는 사용자와 에이전트가 판단한다. |
|
|
128
128
|
|
|
129
129
|
> [!IMPORTANT]
|
|
130
|
-
> **쓰기 검사를 신뢰하기 전에 계약부터 설정한다.** 이 기기에 봉인이 없는 볼트는 계약 판정을 하지 않는다. 일반적인 경로·입력 보호는 그대로 적용된다. 계약을
|
|
130
|
+
> **쓰기 검사를 신뢰하기 전에 계약부터 설정한다.** 이 기기에 봉인이 없는 볼트는 계약 판정을 하지 않는다. 그 쓰기에는 `oms interview`를 안내하는 `contract-open` 경고가 붙고, 일반적인 경로·입력 보호는 그대로 적용된다. 계약을 어긴 쓰기는 경고와 함께 저장되고, 안전 거부, 없거나 오래된 `ifMatch`, 검증되지 않은 대상은 파일을 바꾸지 않는다. 경고 없이 허용된 쓰기는 구조 준수를 뜻하며, 사실의 정확성이나 품질 승인이 아니다.
|
|
131
131
|
|
|
132
132
|
<details>
|
|
133
133
|
<summary><strong>볼트 계약 자세히 보기</strong></summary>
|
|
134
134
|
|
|
135
135
|
- **의미는 사용자 소유다.** 폴더와 속성 pool을 함께 인터뷰한다. 속성 이름·폴더·페르소나를 하드코딩하지 않고 Inbox fallback도 없다.
|
|
136
136
|
- **볼트 안의 제어 파일은 하나다.** `.oms/settings.json`에 `version`, `vaultId`, `templateFolder`, `embedding`, `agentRepair`를 둔다. 다른 `.oms/` 항목은 무시하고 `oms doctor contract`가 예상하지 않은 제어 파일로 보고한다. `.obsidian/types.json`은 읽기 전용 관측값이며 봉인을 덮어쓰지 않는다.
|
|
137
|
-
- **템플릿은 원본으로 남는다.** 템플릿은 `templateFolder`에 있으며 봉인하거나 판정하지 않는다. 새 노트는 살아 있는 템플릿으로 뼈대를 채운다. 쓰기가 이름을 준 템플릿, 없으면 basename이나 `folder:` 키가 대상 폴더와 맞는 유일한 템플릿이다. 템플릿 파일을 다시 쓰거나 복사하지 않으며, Templater·JavaScript·전용 token 언어를 해석하거나 실행하지 않는다. 쓰기는 작성 중인 노트의 기계적인 부분만 채운다. `{{title}}`·`{{date}}`·`{{time}}` 변수, 새 노트의 date·datetime 기본값, 선택한 템플릿의 frontmatter 기본값과 빠진 heading이다. 노트에 이미 있는 값이 우선한다. 필수 값을
|
|
137
|
+
- **템플릿은 원본으로 남는다.** 템플릿은 `templateFolder`에 있으며 봉인하거나 판정하지 않는다. 새 노트는 살아 있는 템플릿으로 뼈대를 채운다. 쓰기가 이름을 준 템플릿, 없으면 basename이나 `folder:` 키가 대상 폴더와 맞는 유일한 템플릿이다. 템플릿 파일을 다시 쓰거나 복사하지 않으며, Templater·JavaScript·전용 token 언어를 해석하거나 실행하지 않는다. 쓰기는 작성 중인 노트의 기계적인 부분만 채운다. `{{title}}`·`{{date}}`·`{{time}}` 변수, 새 노트의 date·datetime 기본값, 선택한 템플릿의 frontmatter 기본값과 빠진 heading이다. 노트에 이미 있는 값이 우선한다. 필수 값을 지어내지 않으며, 계약이 값을 하나로 정한 경우에만 무손실 수정으로 채우고 영수증의 `fixes`에 남긴다.
|
|
138
138
|
- **이전 봉인도 읽힌다.** 새 봉인은 폴더와 속성만 저장한다. 이전 릴리스가 만든 봉인도 그대로 읽히며, `oms setup status`는 그 템플릿 제약을 `legacyTemplates` 개수로 보고할 뿐 강제하지 않는다.
|
|
139
|
-
- **판정자는 하나다.**
|
|
140
|
-
-
|
|
139
|
+
- **판정자는 하나다.** 저장된 쓰기는 계약 위반을 `{field, kind}` 경고로, 거부된 쓰기는 그 이유를 같은 형태로 반환하며, 각각 안내 명령 하나가 붙는다. 규칙 값, 저장소 경로, 계약 본문은 반환하지 않는다.
|
|
140
|
+
- **변조된 봉인은 쓰기를 거부한다.** `.oms/settings.json`의 vault id가 이 기기의 봉인과 어긋나면 `contract-tampered`로 거부하고, `oms doctor contract`가 원인을 알려준다. 봉인 증거가 없거나 깨졌으면 `contract-unreadable` 경고와 함께 저장하며, 소유자가 `oms interview`로 다시 봉인할 때까지 이어진다. `oms doctor contract`가 볼트 이동이나 색인 항목의 누락·손상을 찾으면, 다시 봉인하지 않고 색인만 고치는 `oms doctor contract --fix`를 안내한다. 봉인이 아예 없는 기기에서는 판정하지 않는 것과 구별한다.
|
|
141
141
|
|
|
142
142
|
[아키텍처](./docs/architecture.md), [컨벤션](./docs/conventions.md), [ADR-007](https://github.com/GoBeromsu/oh-my-second-brain/blob/main/docs/decisions/ADR-007-vault-contract-ontology.md)을 참고한다.
|
|
143
143
|
|
|
@@ -152,7 +152,7 @@ oms search "프로젝트 결정" --vault /path/to/vault
|
|
|
152
152
|
|
|
153
153
|
setup과 인터뷰는 폴더와 속성만 묻는다. `oms setup extract --template <name>`은 `templateFolder`의 템플릿이 채울 뼈대(원본 경로, `folder:` 선택자, 속성 이름, heading)를 미리 보여 준다. 템플릿을 고치면 재봉인 없이 다음 쓰기부터 반영된다.
|
|
154
154
|
|
|
155
|
-
`oms doctor contract`는 봉인, 오래된 lock, 고아 generation, 예상하지 않은 제어 파일, hook 전송 실패를 진단한다. `--fix`는 이동했거나 색인되지 않은 볼트를 다시
|
|
155
|
+
`oms doctor contract`는 봉인, 오래된 lock, 고아 generation, 예상하지 않은 제어 파일, hook 전송 실패를 진단한다. `--fix`는 이동했거나 색인되지 않은 볼트를 다시 색인하거나, 읽을 수 없는 색인을 다시 만들 뿐이다. 다른 봉인 문제는 `oms interview`로 다시 봉인한다.
|
|
156
156
|
|
|
157
157
|
모델 수명주기는 별도다: `oms setup model install|select|waive|status`.
|
|
158
158
|
|
|
@@ -168,12 +168,12 @@ setup과 인터뷰는 폴더와 속성만 묻는다. `oms setup extract --templa
|
|
|
168
168
|
| :--- | :--- |
|
|
169
169
|
| `write` | 노트 전체를 봉인된 계약으로 판정하고 허용된 쓰기를 저장한다. |
|
|
170
170
|
| `search` | 볼트를 바꾸지 않고 노트, 구조화된 맥락, wikilink 제안을 찾는다. |
|
|
171
|
-
| `interview` | 볼트
|
|
171
|
+
| `interview` | 볼트 인터뷰를 이어 간다. 열린 질문을 보여 주고 답을 기록하며, 소유자가 확인한 제안만 봉인한다. |
|
|
172
172
|
| `doctor` | 읽기 전용 `status`, 계약 진단, 노트 감사, 링크 검사, 명시적인 색인 유지보수를 수행한다. |
|
|
173
173
|
|
|
174
174
|
6개 스킬은 `distill`, `doctor`, `interview`, `search`, `setup`, `write`다.
|
|
175
175
|
|
|
176
|
-
`distill`과 `setup`은 대응 MCP 도구가 없는 워크플로다.
|
|
176
|
+
`distill`과 `setup`은 대응 MCP 도구가 없는 워크플로다. MCP는 소유자가 확인한 제안만 `interview` `op: seal`로 봉인하고, 세부 기능은 네 도구 아래의 `op` 값으로 제공한다. 도구 annotation은 도구별로 정한다. `write`와 `doctor` 복구는 변경을 일으키고 `interview`는 보수적으로 두므로 읽기 전용으로 표시한 도구는 `search`뿐이다.
|
|
177
177
|
|
|
178
178
|
| 호스트 | 통합 방식 | 쓰기 검사 |
|
|
179
179
|
| :--- | :--- | :--- |
|
|
@@ -182,7 +182,7 @@ setup과 인터뷰는 폴더와 속성만 묻는다. `oms setup extract --templa
|
|
|
182
182
|
| **Hermes** | 프로필별 스킬, 가이드, MCP | MCP `write`만 검사. 기본 쓰기 hook은 없다. |
|
|
183
183
|
|
|
184
184
|
> [!NOTE]
|
|
185
|
-
> Claude hook은
|
|
185
|
+
> Claude hook은 안전 거부(제어 경로나 안전하지 않은 경로, `~/.oms/` 접근, 지원하지 않는 입력, 변조된 계약)만 막는다. 계약 위반은 경고와 함께 쓰기를 허용하고, hook 자체를 실행할 수 없으면 쓰기를 허용하고 경고를 기록한다. Codex와 Hermes의 기본 파일 쓰기는 OMS 판정자를 거치지 않는다. 파일시스템 전체를 통제하는 sandbox가 아니다.
|
|
186
186
|
|
|
187
187
|
<details>
|
|
188
188
|
<summary><strong>호스트 유지보수와 볼트 선택</strong></summary>
|
package/README.md
CHANGED
|
@@ -127,17 +127,17 @@ These are example requests, not captured run results. Available workflows and wr
|
|
|
127
127
|
| **Your agent** | Reads context, composes notes, and uses the appropriate host workflow. You and the agent decide what is worth keeping. |
|
|
128
128
|
|
|
129
129
|
> [!IMPORTANT]
|
|
130
|
-
> **Set up the contract before relying on write checks.** A vault with no seal on this machine is not contract-judged
|
|
130
|
+
> **Set up the contract before relying on write checks.** A vault with no seal on this machine is not contract-judged: its writes carry a `contract-open` warning naming `oms interview`, and general path and input safeguards still apply. A write that breaks the contract is saved with warnings; a safety refusal, a missing or stale `ifMatch`, or an unverified target leaves the file unchanged. An allowed write with no warnings means structural compliance, not factual accuracy or quality approval.
|
|
131
131
|
|
|
132
132
|
<details>
|
|
133
133
|
<summary><strong>The vault contract, in detail</strong></summary>
|
|
134
134
|
|
|
135
135
|
- **Meaning is user-owned.** The interview covers folders and the property pool together. OMS hardcodes no property names, folders, or personas and has no Inbox fallback.
|
|
136
136
|
- **One control file inside the vault.** `.oms/settings.json` holds `version`, `vaultId`, `templateFolder`, `embedding`, and `agentRepair`. Other `.oms/` entries are ignored and reported as unexpected control files by `oms doctor contract`. `.obsidian/types.json` is a read-only observation, not an override of the seal.
|
|
137
|
-
- **Templates stay yours.** Templates live in your `templateFolder` and are never sealed or judged. A new note is scaffolded from the live template: the one the write names, or else the one template whose basename or `folder:` key matches the target folder. OMS never rewrites or copies a template file, and does not parse or execute Templater, JavaScript, or a private token language. A write only fills what is mechanical in the note being written: `{{title}}`, `{{date}}` and `{{time}}` variables, date and datetime defaults on a new note, and the chosen template's frontmatter defaults and missing headings. The note's own values win. It never
|
|
137
|
+
- **Templates stay yours.** Templates live in your `templateFolder` and are never sealed or judged. A new note is scaffolded from the live template: the one the write names, or else the one template whose basename or `folder:` key matches the target folder. OMS never rewrites or copies a template file, and does not parse or execute Templater, JavaScript, or a private token language. A write only fills what is mechanical in the note being written: `{{title}}`, `{{date}}` and `{{time}}` variables, date and datetime defaults on a new note, and the chosen template's frontmatter defaults and missing headings. The note's own values win. It never invents a required value; only a value the contract fixes is filled, as a lossless fix listed in the receipt's `fixes`.
|
|
138
138
|
- **Old seals stay readable.** A new seal stores folders and properties only. A seal made by an older release still loads; `oms setup status` counts its template constraints as `legacyTemplates`, and they are reported, never enforced.
|
|
139
|
-
- **One judge, bounded feedback.**
|
|
140
|
-
- **
|
|
139
|
+
- **One judge, bounded feedback.** A saved write returns its contract findings as `{field, kind}` warnings, and a refused write returns its reason the same way. Each of these comes with one guidance command, never rule values, store paths, or the contract body.
|
|
140
|
+
- **A tampered seal blocks writes.** When the vault id in `.oms/settings.json` no longer matches this machine's seal, writes are refused as `contract-tampered`; `oms doctor contract` explains it. Missing or broken seal evidence is `contract-unreadable`: the write is saved with that warning until the owner reseals with `oms interview`. When `oms doctor contract` finds a moved vault or a missing or unreadable index entry, it names `oms doctor contract --fix`, which reindexes without resealing. A machine with no seal is a different case: its vault is not contract-judged.
|
|
141
141
|
|
|
142
142
|
See [architecture](./docs/architecture.md), [conventions](./docs/conventions.md), and [ADR-007](https://github.com/GoBeromsu/oh-my-second-brain/blob/main/docs/decisions/ADR-007-vault-contract-ontology.md).
|
|
143
143
|
|
|
@@ -152,7 +152,7 @@ The `setup` skill asks the owner each question via `oms setup --questions` and s
|
|
|
152
152
|
|
|
153
153
|
Setup and the interview ask about folders and properties only. `oms setup extract --template <name>` previews what a template in `templateFolder` would scaffold: its source, `folder:` selector, property names, and headings. Editing a template takes effect on the next write without a reseal.
|
|
154
154
|
|
|
155
|
-
`oms doctor contract` diagnoses seal problems, stale locks, orphaned generations, unexpected control files, and hook transport failures. Its `--fix` only re-indexes a moved or unindexed vault. Other broken seals are
|
|
155
|
+
`oms doctor contract` diagnoses seal problems, stale locks, orphaned generations, unexpected control files, and hook transport failures. Its `--fix` only re-indexes a moved or unindexed vault, or rebuilds an unreadable index. Other broken seals are resealed with `oms interview`.
|
|
156
156
|
|
|
157
157
|
Model lifecycle is separate: `oms setup model install|select|waive|status`.
|
|
158
158
|
|
|
@@ -173,7 +173,7 @@ Model lifecycle is separate: `oms setup model install|select|waive|status`.
|
|
|
173
173
|
|
|
174
174
|
The six skills are `distill`, `doctor`, `interview`, `search`, `setup`, and `write`.
|
|
175
175
|
|
|
176
|
-
`distill` and `setup` are tool-less workflows;
|
|
176
|
+
`distill` and `setup` are tool-less workflows; MCP seals only through `interview` `op: seal` on a proposal the owner confirmed. Detail capabilities use `op` values under the four tools. Tool annotations are per tool: only `search` is marked read-only, because `write` and the `doctor` repairs mutate and `interview` is kept conservative.
|
|
177
177
|
|
|
178
178
|
| Host | Integration | Write checks |
|
|
179
179
|
| :--- | :--- | :--- |
|
|
@@ -182,7 +182,7 @@ The six skills are `distill`, `doctor`, `interview`, `search`, `setup`, and `wri
|
|
|
182
182
|
| **Hermes** | Profile-scoped skills, guidance, and MCP | MCP `write`; no native write hook. |
|
|
183
183
|
|
|
184
184
|
> [!NOTE]
|
|
185
|
-
> Claude's hook
|
|
185
|
+
> Claude's hook denies a write only on a safety refusal: a control or unsafe path (including access under `~/.oms/`), unsupported input, or a tampered contract. A contract finding allows the write with a warning; a hook that cannot run allows the write and logs a warning. Native file writes in Codex and Hermes do not pass through the OMS judge. This is not a filesystem-wide sandbox.
|
|
186
186
|
|
|
187
187
|
<details>
|
|
188
188
|
<summary><strong>Host maintenance and vault targeting</strong></summary>
|
package/assets/claude/CLAUDE.md
CHANGED
|
@@ -10,23 +10,31 @@ outside the vault, and it is not yours to read.
|
|
|
10
10
|
## Writing
|
|
11
11
|
|
|
12
12
|
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}` (the `/write`
|
|
13
|
-
skill). A
|
|
14
|
-
|
|
13
|
+
skill). A note that breaks the contract is saved, with each finding as a
|
|
14
|
+
`{field, kind}` warning; only a safety refusal denies a write. A saved note
|
|
15
|
+
with warnings, or a denial, comes with one guidance command. Never ask about or
|
|
16
|
+
guess the contract's location or values.
|
|
15
17
|
|
|
16
18
|
- `template` is optional. Pass it only when the user names the template a note
|
|
17
19
|
follows.
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
- A note is saved whole, even with warnings. A safety refusal (a path outside
|
|
21
|
+
the vault, a control or unsafe path, unsupported input, a tampered contract),
|
|
22
|
+
a missing or stale `ifMatch`, or an unverified target leaves the file
|
|
23
|
+
unchanged. In a sealed vault, frontmatter that does not parse may be kept as
|
|
24
|
+
a draft (through MCP or `oms write`) instead of saved; otherwise it is saved
|
|
25
|
+
with a `yaml-syntax` warning. Read each `{field, kind}`, fix the content from
|
|
26
|
+
what the user gave you, and write again. When you cannot fix it, ask the
|
|
27
|
+
user. Never invent a value.
|
|
21
28
|
- Native Write, Edit, MultiEdit, and NotebookEdit inside the vault reach the
|
|
22
|
-
same judge through the Claude write hook. The hook denies a
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
same judge through the Claude write hook. The hook denies only a safety
|
|
30
|
+
refusal; it allows a write with contract findings and returns them as a
|
|
31
|
+
warning. When the hook itself cannot run, it allows the write and prints a
|
|
32
|
+
warning.
|
|
25
33
|
- `~/.oms` is off-limits. The hook denies reads, searches, and writes there as
|
|
26
34
|
`control-path`. Inside the vault, `.oms/settings.json` is the only OMS file.
|
|
27
|
-
- OMS is not the author or repair engine. An allowed write
|
|
28
|
-
the sealed structure, not that it is worth keeping. That
|
|
29
|
-
and the user's.
|
|
35
|
+
- OMS is not the author or repair engine. An allowed write with no warnings
|
|
36
|
+
means the note fits the sealed structure, not that it is worth keeping. That
|
|
37
|
+
judgement is yours and the user's.
|
|
30
38
|
|
|
31
39
|
## Retrieval and health
|
|
32
40
|
|
package/assets/codex/AGENTS.md
CHANGED
|
@@ -15,19 +15,26 @@ the only OMS file.
|
|
|
15
15
|
## Writing
|
|
16
16
|
|
|
17
17
|
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}` (`$oms-write`). A
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
note that breaks the contract is saved, with each finding as a `{field, kind}`
|
|
19
|
+
warning; only a safety refusal denies a write. A saved note with warnings, or a
|
|
20
|
+
denial, comes with one guidance command. Never ask about or guess the
|
|
21
|
+
contract's location or values.
|
|
20
22
|
|
|
21
23
|
- `template` is optional. Pass it only when the user names the template a note
|
|
22
24
|
follows.
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
- A note is saved whole, even with warnings. A safety refusal (a path outside
|
|
26
|
+
the vault, a control or unsafe path, unsupported input, a tampered contract),
|
|
27
|
+
a missing or stale `ifMatch`, or an unverified target leaves the file
|
|
28
|
+
unchanged. In a sealed vault, frontmatter that does not parse may be kept as
|
|
29
|
+
a draft instead of saved; otherwise it is saved with a `yaml-syntax`
|
|
30
|
+
warning. Read each `{field, kind}`, fix the content from
|
|
31
|
+
what the user gave you, and write again. When you cannot fix it, ask the
|
|
32
|
+
user. Never invent a value.
|
|
26
33
|
- Codex declares no write hook. A note written with host file tools is not
|
|
27
34
|
judged, so use MCP `write` for vault notes.
|
|
28
|
-
- OMS is not the author or repair engine. An allowed write
|
|
29
|
-
the sealed structure, not that it is worth keeping. That
|
|
30
|
-
and the user's.
|
|
35
|
+
- OMS is not the author or repair engine. An allowed write with no warnings
|
|
36
|
+
means the note fits the sealed structure, not that it is worth keeping. That
|
|
37
|
+
judgement is yours and the user's.
|
|
31
38
|
|
|
32
39
|
## Read-only work and health
|
|
33
40
|
|
|
@@ -17,11 +17,13 @@ sealed contract is not yours to read.
|
|
|
17
17
|
|
|
18
18
|
## Boundaries
|
|
19
19
|
|
|
20
|
-
- Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}`. A
|
|
21
|
-
|
|
20
|
+
- Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}`. A note that
|
|
21
|
+
breaks the contract is saved, with each finding as a `{field, kind}` warning;
|
|
22
|
+
only a safety refusal denies a write. Never ask about or guess the
|
|
22
23
|
contract's location or values.
|
|
23
|
-
- A denied write
|
|
24
|
-
|
|
24
|
+
- A denied write, a missing or stale `ifMatch`, or an unverified target leaves
|
|
25
|
+
the file unchanged. For a warning or a denial, fix the content from what the
|
|
26
|
+
user gave you and write again, or ask the user. Never invent a missing value.
|
|
25
27
|
- Codex has no write hook. Notes written with host file tools are not judged.
|
|
26
28
|
- `~/.oms` is off-limits. Inside the vault, `.oms/settings.json` is the only
|
|
27
29
|
OMS file.
|
package/assets/hermes/README.md
CHANGED
|
@@ -20,8 +20,10 @@ skills are listed under `knowledge-management`. Filter with
|
|
|
20
20
|
`knowledge-management/oms` matches nothing.
|
|
21
21
|
|
|
22
22
|
Agents write notes with MCP `write {path, content, template?, ifMatch?, check?}`. OMS judges each
|
|
23
|
-
note against the contract the user sealed with `oms setup`. A
|
|
24
|
-
|
|
23
|
+
note against the contract the user sealed with `oms setup`. A note that
|
|
24
|
+
breaks the contract is saved, and each finding comes back as a `{field, kind}`
|
|
25
|
+
warning in the receipt; only a safety refusal denies a write. A saved note with
|
|
26
|
+
warnings, or a denial, carries one guidance command. There is no completion operation
|
|
25
27
|
and no reviewer protocol, so deciding whether a note is worth keeping and
|
|
26
28
|
repairing it belong to the user and the agent. See the [Hermes role guidance](./SOUL.md).
|
|
27
29
|
|
package/assets/hermes/SOUL.md
CHANGED
|
@@ -11,19 +11,26 @@ the only OMS file.
|
|
|
11
11
|
## Writing
|
|
12
12
|
|
|
13
13
|
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}` (the `write`
|
|
14
|
-
skill). A
|
|
15
|
-
|
|
14
|
+
skill). A note that breaks the contract is saved, with each finding as a
|
|
15
|
+
`{field, kind}` warning; only a safety refusal denies a write. A saved note
|
|
16
|
+
with warnings, or a denial, comes with one guidance command. Never ask about or
|
|
17
|
+
guess the contract's location or values.
|
|
16
18
|
|
|
17
19
|
- `template` is optional. Pass it only when the user names the template a note
|
|
18
20
|
follows.
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
- A note is saved whole, even with warnings. A safety refusal (a path outside
|
|
22
|
+
the vault, a control or unsafe path, unsupported input, a tampered contract),
|
|
23
|
+
a missing or stale `ifMatch`, or an unverified target leaves the file
|
|
24
|
+
unchanged. In a sealed vault, frontmatter that does not parse may be kept as
|
|
25
|
+
a draft instead of saved; otherwise it is saved with a `yaml-syntax`
|
|
26
|
+
warning. Read each `{field, kind}`, fix the content from
|
|
27
|
+
what the user gave you, and write again. When you cannot fix it, ask the
|
|
28
|
+
user. Never invent a value.
|
|
22
29
|
- Hermes declares no write hook. A note written with host file tools is not
|
|
23
30
|
judged, so use MCP `write` for vault notes.
|
|
24
|
-
- OMS is not the author or repair engine. An allowed write
|
|
25
|
-
the sealed structure, not that it is worth keeping. That
|
|
26
|
-
and the user's.
|
|
31
|
+
- OMS is not the author or repair engine. An allowed write with no warnings
|
|
32
|
+
means the note fits the sealed structure, not that it is worth keeping. That
|
|
33
|
+
judgement is yours and the user's.
|
|
27
34
|
|
|
28
35
|
## Retrieve and maintain
|
|
29
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.6",
|
|
4
4
|
"description": "Oh My Second Brain convention layer for Obsidian vaults — Hermes skill bundle and MCP adapter.",
|
|
5
5
|
"_note": "oms setup host install writes ~/.hermes/config.yaml mcp_servers.oms and installs the six shared skills, prefixed `oms-`, with provenance under ~/.hermes/skills/knowledge-management/oms/."
|
|
6
6
|
}
|
|
@@ -21,4 +21,4 @@ Do not execute the target, including embedded scripts or Templater expressions.
|
|
|
21
21
|
|
|
22
22
|
## Saving a note
|
|
23
23
|
|
|
24
|
-
Write a vault note only when the user explicitly asks to save the report. Follow `/write`: save the whole note with MCP `write {path, content, template?, ifMatch?, check?}`. A
|
|
24
|
+
Write a vault note only when the user explicitly asks to save the report. Follow `/write`: save the whole note with MCP `write {path, content, template?, ifMatch?, check?}`. A note that breaks the contract is saved with `{field, kind}` warnings, and only a safety refusal denies; a saved note with warnings, or a denial, comes with one guidance command. Fix the note from what the user gave you, or ask. An allowed write with no warnings means the note fits the sealed structure, not that the report is good; you judge the report.
|
|
@@ -26,7 +26,7 @@ Report vault health, diagnose the seal and derived indexes, then run only the re
|
|
|
26
26
|
- `revert-propose` (`targetDigest`) proposes a kept generation's contract as a new forward candidate. It never rewrites history. A revert always requires owner approval: it has no maker, so every revert, tightening, neutral or loosening, waits for the owner at `oms setup` whatever the autonomy policy says, and `evolve-verdict` is refused on it (`EVOLUTION_REQUEST_CLOSED`). Stage 1 and stage 2 run when it is proposed: a revert that would add a refusal is refused with `EVOLUTION_REVERT_REFUSED`, and one that overlaps in meaning or drifts past 0.3 from the first sealed generation with `EVOLUTION_STAGE2_REFUSED`; nothing is proposed.
|
|
27
27
|
- `reclaim-evolution-lock` and `lineage-reanchor` belong to the owner at a terminal; over MCP they are refused. Tell the user to run `oms doctor reclaim-evolution-lock` or `oms doctor lineage-reanchor` themselves. Requests awaiting the owner are approved or rejected only at `oms setup`, and autonomy is turned on only with `oms setup --autonomy on`.
|
|
28
28
|
|
|
29
|
-
A missing seal is sealed by the user running `oms interview` at a terminal, the command the `contract-open` write warning names. A broken seal (a tampered or unreadable contract store) is diagnosed with `oms doctor contract`, then resealed by the user running `oms interview` at a terminal; the `contract-unreadable` write warning names that reseal, and the `contract-tampered` warning names the diagnosis; recovery is never done through the `setup` skill. The only automatic seal repair is `oms doctor contract --fix`, which re-indexes a moved or unindexed vault and nothing else. `oms doctor contract` also names the unexpected `.oms` entries for the person at the CLI.
|
|
29
|
+
A missing seal is sealed by the user running `oms interview` at a terminal, the command the `contract-open` write warning names. A broken seal (a tampered or unreadable contract store) is diagnosed with `oms doctor contract`, then resealed by the user running `oms interview` at a terminal; the `contract-unreadable` write warning names that reseal, and the `contract-tampered` warning names the diagnosis; recovery is never done through the `setup` skill. The only automatic seal repair is `oms doctor contract --fix`, which re-indexes a moved or unindexed vault, or rebuilds an unreadable index, and nothing else. `oms doctor contract` also names the unexpected `.oms` entries for the person at the CLI.
|
|
30
30
|
|
|
31
31
|
Index repairs run only when explicitly requested and do not edit notes. There is no default-value backfill: OMS never rewrites a note.
|
|
32
32
|
|
|
@@ -35,8 +35,8 @@ Always pass the vault with `--vault <path>`. A vault inferred from the current d
|
|
|
35
35
|
- The values the owner gives (allowed values, patterns, ranges) are part of the hidden contract. Do not repeat them into notes, messages to others, or memory.
|
|
36
36
|
- `--answers` seals a first contract, or a reseal that only adds or tightens. Removing a folder or property, dropping a requirement, or widening a rule is loosening, and it belongs to the owner's own terminal.
|
|
37
37
|
- The reseal may add new folders and properties, and tighten folder and property rules. Editing a template needs no reseal: it takes effect on the next write.
|
|
38
|
-
- Adding is allowed but is not neutral: registering a new folder or property widens that closed axis, so notes the sealed contract
|
|
39
|
-
-
|
|
38
|
+
- Adding is allowed but is not neutral: registering a new folder or property widens that closed axis, so notes the sealed contract flagged there are saved without that warning afterwards. Ask the owner about every addition; never add one they did not answer for.
|
|
39
|
+
- An `unregistered-folder` or `unknown-property` warning on a write is not yours to clear. Do not create the folder, add the type to `.obsidian/types.json`, or answer the registration question yourself so that the warning goes away. Ask the owner, and register the folder or property only when they answer. Nothing but that answer enforces this.
|
|
40
40
|
- Never run `oms setup` without `--questions` or `--answers`. The interactive interview is the owner's, in their own terminal.
|
|
41
41
|
- Never run setup under a pseudo-terminal wrapper such as `script`, `expect`, or `unbuffer`, and never set up a terminal for it. The interactive gate only checks for a TTY, so a wrapper would take the owner's full authority, including loosening.
|
|
42
42
|
- Never move or rename the vault with Bash, and never delete, edit, or re-ID `.oms/settings.json`. Either makes the vault look never sealed, so `--answers` would take a fresh first seal in place of the owner's contract.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: write
|
|
3
|
-
description: Write a vault note through the contract judge;
|
|
3
|
+
description: Write a vault note through the contract judge; contract findings come back as warnings, and only a safety refusal denies.
|
|
4
4
|
mcp_tool: write
|
|
5
5
|
mcp_args:
|
|
6
6
|
path: "$1"
|
|
@@ -15,7 +15,7 @@ The user owns meaning. The agent writes the note. OMS judges the bytes against t
|
|
|
15
15
|
/write <note-path> [template]
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}`. A
|
|
18
|
+
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}`. A note that breaks the contract is saved, with each finding as a `{field, kind}` warning; only a safety refusal denies a write. A saved note with warnings, or a denial, comes with one guidance command. Never ask about or guess the contract's location or values.
|
|
19
19
|
|
|
20
20
|
Document reads stay on `search { op: "get-document" }`.
|
|
21
21
|
|
|
@@ -27,15 +27,15 @@ write { path, content, template?, ifMatch?, check? }
|
|
|
27
27
|
|
|
28
28
|
`path` is vault-relative. `content` is the whole note. `template` names a template in the vault's template folder to scaffold a new note from; omit it to use the one template matching the target folder, if any. A named template that does not exist scaffolds nothing and is reported as `template-missing`. `ifMatch` is the `sha256:` revision of the note you are replacing. `check: true` judges without writing. There are no other fields.
|
|
29
29
|
|
|
30
|
-
OMS fills only what is mechanical before it judges: template variables such as `{{title}}` and `{{date}}`, date and datetime defaults on a new note, and the chosen template's missing headings. It never
|
|
30
|
+
OMS fills only what is mechanical before it judges: template variables such as `{{title}}` and `{{date}}`, date and datetime defaults on a new note, and the chosen template's missing headings. It never invents a value; a flagged value is changed only by a lossless fix, listed in `fixes`.
|
|
31
31
|
|
|
32
|
-
The judge answers allow or deny. Allow writes the note atomically and returns the receipt `{ ok: true, path, revision, contractRevision, index: { keyword, vector }, conformed, missingDefaults, warnings, fixes, next? }`; the note is searchable by keyword in the next call when the vault has an index.
|
|
32
|
+
The judge answers allow or deny, and only a safety refusal denies. Allow writes the note atomically and returns the receipt `{ ok: true, path, revision, contractRevision, index: { keyword, vector }, conformed, missingDefaults, warnings, fixes, next? }`; the note is searchable by keyword in the next call when the vault has an index. A note that breaks the contract is still allowed: each finding is a `warnings` entry, and `next` names the one command to run next; with `contract-open` it is `oms interview`, which the user runs once to seal the vault's folders and properties, so tell the user to run it. To clear a warning, fix the note and write it again with the receipt's revision as `ifMatch`. Deny is for a safety refusal only (a path outside the vault, a control or unsafe path, unsupported input, a tampered contract): it writes nothing and returns `{ ok: false, status: "denied", refusals, violations: [{ field, kind }], reason }`, and `reason` ends with the guidance command. In a sealed vault, when the frontmatter does not parse, the note may be kept as a draft outside the vault instead of saved, and the answer is `{ ok: false, status: "drafted", draftRef, warnings }` (when no draft can be kept, the note is saved with its warnings instead); fix the frontmatter and write again. A finding names a field and a kind only; it never quotes a rule. Do not guess missing values and do not weaken the contract so the note passes; when you cannot fix a finding from what the user gave you, ask.
|
|
33
33
|
|
|
34
34
|
To replace an existing note, pass its current revision as `ifMatch`: a previous receipt or `write { path, content, check: true }` reports it. Without `ifMatch` the overwrite is refused with `WRITE_IF_MATCH_REQUIRED` and nothing is written; `WRITE_TARGET_CHANGED` means the note moved on, so read it again before retrying; `WRITE_TARGET_ABSENT` means there is no note to replace, so retry without `ifMatch` to create it. `check` also returns the frame for the target (folder meaning, the property and template fields to satisfy, and which may stay absent) and touches nothing on disk.
|
|
35
35
|
|
|
36
36
|
Placement is explicit: an explicit path, otherwise the folder meaning the user approved, otherwise ask. There is no Inbox fallback.
|
|
37
37
|
|
|
38
|
-
A vault with no sealed contract accepts any note inside it, with a `contract-open` warning whose `next` is `oms interview`. A contract that cannot be read also accepts the note, with a `contract-unreadable` warning that names `oms interview`.
|
|
38
|
+
A vault with no sealed contract accepts any note inside it, with a `contract-open` warning whose `next` is `oms interview`. A contract that cannot be read also accepts the note, with a `contract-unreadable` warning that names `oms interview`. Among contract states, only a tampered contract denies writes, until the user runs `oms doctor contract` at a terminal; the `setup` skill does not recover a broken seal. Paths outside the vault and the vault's control paths are always denied.
|
|
39
39
|
|
|
40
40
|
## Host file tools
|
|
41
41
|
|
|
@@ -35,12 +35,14 @@ export function contractUsage() {
|
|
|
35
35
|
oms setup status [--vault <path>]
|
|
36
36
|
Show the contract posture. Hidden values are never printed.
|
|
37
37
|
oms doctor contract [--fix] [--vault <path>]
|
|
38
|
-
Diagnose the seal. --fix only re-indexes a moved or unindexed vault
|
|
38
|
+
Diagnose the seal. --fix only re-indexes a moved or unindexed vault,
|
|
39
|
+
or rebuilds an unreadable index.
|
|
39
40
|
|
|
40
41
|
setup in a terminal has full authority, including loosening a sealed contract.
|
|
41
42
|
--questions and --answers let an agent ask the owner each question (the setup skill):
|
|
42
|
-
they seal a first contract or a stricter one, never a looser one. Loosening
|
|
43
|
-
|
|
43
|
+
they seal a first contract or a stricter one, never a looser one. Loosening is left to
|
|
44
|
+
\`oms setup\` run by the owner in a terminal, and a broken seal is resealed there with
|
|
45
|
+
\`oms interview\`.`;
|
|
44
46
|
}
|
|
45
47
|
const VERBS = ["setup", "extract", "status", "doctor", "gaps"];
|
|
46
48
|
function parse(argv) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-command.js","sourceRoot":"","sources":["../../src/cli/contract-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract-command.js","sourceRoot":"","sources":["../../src/cli/contract-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,8 @@ export function doctorUsage() {
|
|
|
12
12
|
Read-only search-index view. --view, --index or --collection selects it;
|
|
13
13
|
it never creates a missing store.
|
|
14
14
|
contract [--fix] [--vault <path>]
|
|
15
|
-
Diagnose the sealed contract. --fix only re-indexes a moved or unindexed vault
|
|
15
|
+
Diagnose the sealed contract. --fix only re-indexes a moved or unindexed vault,
|
|
16
|
+
or rebuilds an unreadable index.
|
|
16
17
|
gaps [--vault <path>]
|
|
17
18
|
Report open gaps between written notes and the sealed contract, and
|
|
18
19
|
contradictions inside the contract. Wanted values are never printed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-command.js","sourceRoot":"","sources":["../../src/cli/doctor-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,WAAW;IACzB,OAAO
|
|
1
|
+
{"version":3,"file":"doctor-command.js","sourceRoot":"","sources":["../../src/cli/doctor-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { type SealRow } from "./vault-id.js";
|
|
|
6
6
|
import type { Guidance } from "./types.js";
|
|
7
7
|
/**
|
|
8
8
|
* Contract posture for `oms setup status` and `doctor`. Read-only except `doctorFix`,
|
|
9
|
-
* which only re-indexes. Output never carries a vault id, a store path or a rule value.
|
|
9
|
+
* which only re-indexes or rebuilds an unreadable index. Output never carries a vault id, a store path or a rule value.
|
|
10
10
|
*/
|
|
11
11
|
export interface DoctorFinding {
|
|
12
12
|
readonly message: string;
|
package/dist/mcp/server.js
CHANGED
|
@@ -18,7 +18,7 @@ import { errorText, isRecord, jsonText, SemanticIndexUnavailableError, stringArg
|
|
|
18
18
|
import { handleStatus } from "./tools/status.js";
|
|
19
19
|
import { writeNote } from "./tools/write.js";
|
|
20
20
|
const SERVER_VERSION = readBundledPackageVersion();
|
|
21
|
-
const BASE_SERVER_INSTRUCTIONS = "Oh My Second Brain exposes write, search, interview, and doctor tools. search is read-only (op link suggests wikilinks); doctor op status reports vault health, op link-check reports broken links, and op gaps reports contract gaps; interview continues the vault interview across calls: op questions is read-only; op answer records answers, op confirm records the owner's yes to the proposed digest, and op seal seals only that confirmed proposal, all three on a verified vault target; a stale seal lock is left for the owner to reclaim in a terminal. write and doctor repair operations are gated by a verified vault target (a vault inferred from the current directory is refused); write {path, content, template?, ifMatch?, check?} is confined to the vault; only a safety refusal (vault boundary, path safety,
|
|
21
|
+
const BASE_SERVER_INSTRUCTIONS = "Oh My Second Brain exposes write, search, interview, and doctor tools. search is read-only (op link suggests wikilinks); doctor op status reports vault health, op link-check reports broken links, and op gaps reports contract gaps; interview continues the vault interview across calls: op questions is read-only; op answer records answers, op confirm records the owner's yes to the proposed digest, and op seal seals only that confirmed proposal, all three on a verified vault target; a stale seal lock is left for the owner to reclaim in a terminal. write and doctor repair operations are gated by a verified vault target (a vault inferred from the current directory is refused); write {path, content, template?, ifMatch?, check?} is confined to the vault; only a safety refusal (vault boundary, path safety, unsupported input, a tampered contract) denies it, and a note that breaks the contract is saved with warnings in its receipt; overwriting an existing note needs ifMatch with its current revision, a missing or stale ifMatch writes nothing, and check judges without writing.";
|
|
22
22
|
const string = { type: "string" };
|
|
23
23
|
const number = { type: "number" };
|
|
24
24
|
const boolean = { type: "boolean" };
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/docs/adapters.md
CHANGED
|
@@ -15,9 +15,9 @@ Claude's manifest keeps an explicit skill array. Codex's manifest keeps one shar
|
|
|
15
15
|
|
|
16
16
|
The MCP server is started with `oms serve mcp`; `oms serve http` starts the HTTP surface. Neither server creates a vault engine store merely by starting. Claude uses `.mcp.json`, Codex uses `.mcp.codex.json`, and Hermes receives its registration in `~/.hermes/config.yaml`.
|
|
17
17
|
|
|
18
|
-
All hosts expose the same four MCP tools: `write`, `search`, `interview`, and `doctor`. Skills are host workflows, not tool names. `distill` and `setup` are tool-less. The `write` tool takes `{path, content, template?, ifMatch?, check?}`: the agent supplies the whole note, and OMS judges it against the sealed contract and saves it
|
|
18
|
+
All hosts expose the same four MCP tools: `write`, `search`, `interview`, and `doctor`. Skills are host workflows, not tool names. `distill` and `setup` are tool-less. The `write` tool takes `{path, content, template?, ifMatch?, check?}`: the agent supplies the whole note, and OMS judges it against the sealed contract and saves it unless a safety refusal denies it, returning any contract findings as warnings. See [the CLI map](./cli-map.md).
|
|
19
19
|
|
|
20
|
-
Agents write and repair notes.
|
|
20
|
+
Agents write and repair notes. Only a safety refusal denies a write; a denial, a missing or stale `ifMatch`, or an unverified target leaves the file unchanged. A saved write returns its contract findings as `{field, kind}` warnings with one guidance command, and a denial carries one too. OMS has no completion operation or reviewer handshake. Search stays read-only and does not depend on the contract. Sealing needs the owner's confirmation: the interactive `oms setup` or `oms interview`, `oms setup --answers` through the `setup` skill, or MCP `interview` `op: seal` on a confirmed proposal.
|
|
21
21
|
|
|
22
22
|
MCP input schemas expose operation names and arguments through top-level `properties`; their `oneOf` branches still enforce operation-specific combinations and approval requirements. Hosts need not guess arguments from tool descriptions.
|
|
23
23
|
|
|
@@ -29,11 +29,11 @@ OMS does not parse or execute Templater, JavaScript, or a private token language
|
|
|
29
29
|
|
|
30
30
|
## No reviewer handshake
|
|
31
31
|
|
|
32
|
-
There is no completion operation and no reviewer protocol. An allowed `write` means the note fits the sealed structure; judging whether a note is worth keeping, and repairing it, belong to the user and the agent. OMS adds no model provider, launches no role, and runs no reviewer daemon.
|
|
32
|
+
There is no completion operation and no reviewer protocol. An allowed `write` with no warnings means the note fits the sealed structure; judging whether a note is worth keeping, and repairing it, belong to the user and the agent. OMS adds no model provider, launches no role, and runs no reviewer daemon.
|
|
33
33
|
|
|
34
34
|
Nothing is installed under `~/.codex/agents/` or declared as a plugin agent any more. `oms setup host remove` still deletes a role and provenance record an earlier version installed, and only when the OMS-written provenance record proves it owns them; a foreign agent file is left in place and reported.
|
|
35
35
|
|
|
36
|
-
Claude's guard hook runs `oms hook pre`: it denies a write inside the configured vault
|
|
36
|
+
Claude's guard hook runs `oms hook pre`: it denies a write inside the configured vault only on a safety refusal, and allows any other finding, or a judge that cannot run, with a warning. It also denies reads, searches, and writes under `~/.oms/` and other OMS control paths. Codex and Hermes declare no write hook; their notes are judged only when written through MCP `write`.
|
|
37
37
|
|
|
38
38
|
## Host lifecycle
|
|
39
39
|
|
package/docs/architecture.md
CHANGED
|
@@ -36,13 +36,13 @@ The agent writes the whole note. One judge decides every write against the seal,
|
|
|
36
36
|
- The guard also denies reads and writes under `~/.oms/`, and Grep or Glob patterns that name it.
|
|
37
37
|
- Codex and Hermes have no write hook; their notes are judged only when written through MCP `write`.
|
|
38
38
|
|
|
39
|
-
Only safety refuses a write: control paths, unsafe paths, paths outside the vault, unsupported input, a tampered contract
|
|
39
|
+
Only safety refuses a write: control paths, unsafe paths, paths outside the vault, unsupported input, and a tampered contract. Overwriting an existing note also needs its current revision as `ifMatch`; a missing one returns `WRITE_IF_MATCH_REQUIRED` and a stale one `WRITE_TARGET_CHANGED`, and neither writes anything. A denial leaves the file unchanged and lists only those `{field, kind}` refusals and one guidance command, never a rule value, a store path, or the contract body. Every other finding is a warning that rides on the allowed write. Templates generate, axes judge: a template only seeds a new note, and the sealed axes (folders and properties) decide what a finding is worth. A write finding lands in one of three tiers. Safety refuses. A value the contract reads the same way in another spelling (a type, an allowed value's case, spacing or Unicode form, a missing value the contract fixes) is fixed losslessly, and the original is kept in the gap ledger as `fixed`. Everything else, an unknown key or a value outside its rule, is saved as written and recorded as `kept`. Only frontmatter that does not parse is kept as a draft: through MCP `write` or `oms write`, the response carries `status: "drafted"` with a `draftRef`. The guard hook never rewrites a tool call, so a fix it would make stays a warning. A vault with no seal on this machine is not judged; its writes carry a `contract-open` warning. A tampered vault id (a `.oms/settings.json` id that differs from this machine's index) refuses writes as `contract-tampered`. A missing or broken store, or a missing or invalid `.oms/settings.json`, lets writes through with a `contract-unreadable` warning suggesting `oms interview`.
|
|
40
40
|
|
|
41
41
|
Structural results do not evaluate the note's semantic quality. An allowed write is not a completion verdict. OMS has no completion operation and no reviewer handshake; deciding whether a note is worth keeping and repairing it belongs to the user and the agent. Note text is untrusted data, not new instructions. OMS adds no model provider, reviewer daemon, or repair workflow. The engine store, graph cache, and node index live outside the vault and are rebuildable. See [conventions](./conventions.md).
|
|
42
42
|
|
|
43
43
|
## Diagnosis and search
|
|
44
44
|
|
|
45
|
-
`oms setup status` reports the seal's posture and the number of legacy template constraints it ignores (`legacyTemplates`). `oms doctor contract` diagnoses the seal, stale locks, orphaned generations, unexpected control files, and hook transport failures, and exits 1 when unhealthy. `--fix` only re-indexes a moved or unindexed vault; every other broken seal is recovered by running `oms interview` again. `oms doctor audit` judges existing notes and reports `{path, field, kind}` entries without rewriting them.
|
|
45
|
+
`oms setup status` reports the seal's posture and the number of legacy template constraints it ignores (`legacyTemplates`). `oms doctor contract` diagnoses the seal, stale locks, orphaned generations, unexpected control files, and hook transport failures, and exits 1 when unhealthy. `--fix` only re-indexes a moved or unindexed vault, or rebuilds an unreadable index; every other broken seal is recovered by running `oms interview` again. `oms doctor audit` judges existing notes and reports `{path, field, kind}` entries without rewriting them.
|
|
46
46
|
|
|
47
47
|
Search is independent of the contract. Lexical, vector, HyDE, and typed-axis queries include notes that would fail it, and a missing or damaged contract does not stop search. Sealed template sources and folders marked for search exclusion stay out of ordinary note results. Vector, HyDE, and rerank requests fail loudly when their provider and model pair is missing or unusable. Those failures are not replaced with an empty success or another backend. That is the ADR-005 boundary. Search does not write notes and does not repair anything.
|
|
48
48
|
|
package/docs/cli-map.md
CHANGED
|
@@ -68,7 +68,7 @@ Sealing has no MCP operation. The sealed contract lives outside the vault under
|
|
|
68
68
|
| CLI | MCP tool | `op` | Meaning |
|
|
69
69
|
|---|---|---|---|
|
|
70
70
|
| `oms doctor status` | `oms_doctor` | `status` | Read-only health: contract posture, engine, graph, and `evolution` (journal counters including gap-refused, re-anchored and seq-restart, the requests awaiting the owner, the autonomous budget left today and this week, and whether the lineage has a gap now; `null` for an unsealed vault). Creates no store. With `--view`, `--index`, or `--collection` it prints the search-index view instead (see `index-status` under Search). |
|
|
71
|
-
| `oms doctor contract [--fix]` | `oms_doctor` | `validate` | Diagnose the seal, stale locks, orphaned generations, unexpected control files, and hook transport failures. `--fix` only re-indexes a moved or unindexed vault; the MCP op fixes nothing. |
|
|
71
|
+
| `oms doctor contract [--fix]` | `oms_doctor` | `validate` | Diagnose the seal, stale locks, orphaned generations, unexpected control files, and hook transport failures. `--fix` only re-indexes a moved or unindexed vault, or rebuilds an unreadable index; the MCP op fixes nothing. |
|
|
72
72
|
| `oms doctor gaps` | `oms_doctor` | `gaps` | Report the open gaps a write recorded against the sealed contract (`{id, notePath, axis, kind, field, drafted, stale}`, counted by axis and kind) and the contradictions inside the contract. Never prints a wanted value and creates no store, state directory, or ledger. The CLI exits 1 on a contradiction or an unreadable ledger. |
|
|
73
73
|
| `oms doctor audit` | `oms_doctor` | `audit` | Report `{path, field, kind}` entries for existing notes. Never rewrites a note. |
|
|
74
74
|
| `oms doctor link-check [<note>]` | `oms_doctor` | `link-check` | Report broken wikilinks. |
|
|
@@ -89,7 +89,7 @@ Every mutating doctor op requires verified-target admission and returns a receip
|
|
|
89
89
|
| CLI | Purpose |
|
|
90
90
|
|---|---|
|
|
91
91
|
| `oms serve mcp|http` | Start MCP or HTTP without creating a vault engine store at startup. |
|
|
92
|
-
| `oms hook pre` | Judge a Claude write against the vault contract before it is saved. The Claude guard denies
|
|
92
|
+
| `oms hook pre` | Judge a Claude write against the vault contract before it is saved. The Claude guard denies only a safety refusal; a write with contract findings is allowed with a warning, and a write the judge cannot run on is allowed and the failure logged. Codex and Hermes have no write hook. |
|
|
93
93
|
|
|
94
94
|
OMS has no host launcher and no `--runtime gjc` command path.
|
|
95
95
|
|
package/docs/conventions.md
CHANGED
|
@@ -21,10 +21,10 @@ Any other entry under `.oms/` is ignored by OMS and reported by `oms doctor cont
|
|
|
21
21
|
|
|
22
22
|
The contract has two axes, sealed together in one interview:
|
|
23
23
|
|
|
24
|
-
- **Folders.** Each registered folder carries a meaning and whether search should exclude it. When folders are sealed, a note written outside every registered folder is
|
|
25
|
-
- **Property pool.** Each property carries a meaning, an Obsidian type, whether it is required, and optional rules: an allowed set, a fixed value, a pattern, or a range. When the pool is sealed, a frontmatter key outside it is
|
|
24
|
+
- **Folders.** Each registered folder carries a meaning and whether search should exclude it. When folders are sealed, a note written outside every registered folder is saved with an `unregistered-folder` warning.
|
|
25
|
+
- **Property pool.** Each property carries a meaning, an Obsidian type, whether it is required, and optional rules: an allowed set, a fixed value, a pattern, or a range. When the pool is sealed, a frontmatter key outside it is saved with an `unknown-property` warning.
|
|
26
26
|
|
|
27
|
-
An axis the user did not seal stays open: nothing is judged for it. A vault with no seal on this machine is not judged at all. Extra body text and descendant headings stay free. OMS does not
|
|
27
|
+
An axis the user did not seal stays open: nothing is judged for it. A vault with no seal on this machine is not judged at all. Extra body text and descendant headings stay free. OMS does not invent required values (only a value the contract fixes is filled, as a lossless fix) or expand a naming expression, and it does not parse or execute Templater, JavaScript, or a private token language. A value that still holds a template variable is saved with an `unsubstituted-variable` warning.
|
|
28
28
|
|
|
29
29
|
Templates are not sealed and never judged. They live in the `templateFolder` recorded in `.oms/settings.json` and scaffold a new note at write time: a template's frontmatter defaults are added where the note has no value, and its missing headings are appended. The note's own values always win. OMS selects the template in this order: the template a write names; otherwise the one template whose basename or `folder:` key matches the target folder; when two or more match, the choice is left to the owner and nothing is scaffolded; when none match, nothing is scaffolded. A named template that is not in the template folder scaffolds nothing and is reported as `template-missing`. The scaffolded note is then judged against folders and properties only, so an edited template takes effect on the next write without a reseal.
|
|
30
30
|
|
|
@@ -34,11 +34,11 @@ Templates are not sealed and never judged. They live in the `templateFolder` rec
|
|
|
34
34
|
|
|
35
35
|
A new seal stores folders and properties only (manifest version 3). Generations sealed before manifest version 3 stored templates too; they still load, and `oms setup status` and `oms doctor contract` report their template constraints as `legacy-template-constraints-ignored` with a count, never enforcing them. The next reseal writes a version 3 head, and the interview warns that the older templates are not carried forward. Setup and the interview never ask about templates. `oms setup extract --template <name>` previews what a template would scaffold: its source, `folder:` selector, property names, and headings.
|
|
36
36
|
|
|
37
|
-
A tampered vault id (a `.oms/settings.json` id that differs from this machine's index) refuses writes as `contract-tampered`. A missing or broken store, or a missing or invalid `.oms/settings.json`, lets writes through with a `contract-unreadable` warning suggesting `oms interview`. OMS never substitutes an empty contract for an unreadable one: it judges nothing against it and warns. `oms doctor contract` diagnoses the seal, stale locks, orphaned generations, unexpected control files, and hook transport failures; `--fix` only re-indexes a moved or unindexed vault.
|
|
37
|
+
A tampered vault id (a `.oms/settings.json` id that differs from this machine's index) refuses writes as `contract-tampered`. A missing or broken store, or a missing or invalid `.oms/settings.json`, lets writes through with a `contract-unreadable` warning suggesting `oms interview`. OMS never substitutes an empty contract for an unreadable one: it judges nothing against it and warns. `oms doctor contract` diagnoses the seal, stale locks, orphaned generations, unexpected control files, and hook transport failures; `--fix` only re-indexes a moved or unindexed vault, or rebuilds an unreadable index.
|
|
38
38
|
|
|
39
39
|
## Notes, search, and what may be committed
|
|
40
40
|
|
|
41
|
-
The agent writes the whole note. Only a safety refusal denies a write; other findings are warnings on the allowed write. Templates generate, axes judge: a template seeds a new note, and the sealed folders and properties judge it in three tiers. Safety refuses. A lossless fix (`"12"` for a number, a scalar for a list, an allowed value in another case, spacing or Unicode form, a missing value the contract fixes) is applied through `write` and listed in `fixes`, with the original kept in the gap ledger. Anything else, an unknown key or a value outside its rule, is saved as written, listed in `warnings` and recorded as kept.
|
|
41
|
+
The agent writes the whole note. Only a safety refusal denies a write; other findings are warnings on the allowed write. Templates generate, axes judge: a template seeds a new note, and the sealed folders and properties judge it in three tiers. Safety refuses. A lossless fix (`"12"` for a number, a scalar for a list, an allowed value in another case, spacing or Unicode form, a missing value the contract fixes) is applied through `write` and listed in `fixes`, with the original kept in the gap ledger. Anything else, an unknown key or a value outside its rule, is saved as written, listed in `warnings` and recorded as kept. In a sealed vault, only frontmatter that does not parse may be kept as a draft outside the vault. A denied write leaves the file unchanged and returns only `{field, kind}` refusals and one guidance command, never a rule value, a store path, or the contract body. An allowed write with no warnings means the note fits the sealed structure, not that it is worth keeping; that judgement stays with the user and the agent. OMS has no completion call and no reviewer conversation. Create, append, update, backfill, and complete are not note operations. Link leaves are suggest and check. Link apply is not an operation.
|
|
42
42
|
|
|
43
43
|
`oms doctor audit` judges existing notes against the seal and reports `{path, field, kind}` entries. It never rewrites a note.
|
|
44
44
|
|
package/docs/install.md
CHANGED
|
@@ -87,7 +87,7 @@ oms doctor sync-embeddings|cleanup|build-graph
|
|
|
87
87
|
oms serve mcp|http
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
The agent writes notes, through MCP `write {path, content, template?, ifMatch?, check?}`, `oms write <path>` with the note on stdin, or, in Claude Code, through native tools judged by the guard hook. A write that
|
|
90
|
+
The agent writes notes, through MCP `write {path, content, template?, ifMatch?, check?}`, `oms write <path>` with the note on stdin, or, in Claude Code, through native tools judged by the guard hook. A write that breaks the sealed contract is saved with warnings; a safety refusal, a missing or stale `ifMatch`, or an unverified target leaves the file unchanged. `oms doctor audit` judges existing notes and reports `{path, field, kind}` entries without rewriting them. There is no completion command or reviewer handshake; the agent and user decide whether a note is worth keeping. The command table is [the CLI map](./cli-map.md), and the 0.18 spellings are mapped in [the migration guide](./migration-0.19.md).
|
|
91
91
|
|
|
92
92
|
A plain `oms search <text>` is lexical-only. Every non-lexical channel is explicit: `--vec`, `--hyde`, G004 `--expand`, and `--rerank`. G004 expansion is available only when selected; no replacement, parity, or outperformance claim is made. Search still returns notes that would fail the contract, and a missing or damaged contract does not stop it.
|
|
93
93
|
|
|
@@ -99,7 +99,7 @@ A plain `oms search <text>` is lexical-only. Every non-lexical channel is explic
|
|
|
99
99
|
|
|
100
100
|
## Host, package, and model lifecycle
|
|
101
101
|
|
|
102
|
-
Use `oms setup host install|remove|sync|status` for host integrations. `oms setup package check|update` manages the npm package only; package update never performs host sync implicitly. Use `oms setup model install|select|waive|status` for model lifecycle. The hook entrypoint is `oms hook pre`; there is no post-tool-use hook. Claude's write hook denies a write
|
|
102
|
+
Use `oms setup host install|remove|sync|status` for host integrations. `oms setup package check|update` manages the npm package only; package update never performs host sync implicitly. Use `oms setup model install|select|waive|status` for model lifecycle. The hook entrypoint is `oms hook pre`; there is no post-tool-use hook. Claude's write hook denies a write only on a safety refusal; a contract finding, or a hook that cannot run, allows the write with a warning. Codex and Hermes declare no write hook.
|
|
103
103
|
|
|
104
104
|
## Skills and MCP tools
|
|
105
105
|
|
package/docs/migration-0.19.md
CHANGED
|
@@ -35,7 +35,7 @@ The judge, the sealed contract, and the verified-target rules are unchanged. Onl
|
|
|
35
35
|
|
|
36
36
|
## CLI write and interview
|
|
37
37
|
|
|
38
|
-
`oms write <path>` reads the note from stdin and goes through the same write pipeline and judge as the MCP `write` tool. A `cwd`-inferred target is refused, and a
|
|
38
|
+
`oms write <path>` reads the note from stdin and goes through the same write pipeline and judge as the MCP `write` tool. A `cwd`-inferred target is refused, and a safety refusal leaves the file unchanged. Since 0.20 a contract finding no longer refuses the write; the note is saved and the finding comes back as a warning.
|
|
39
39
|
|
|
40
40
|
**Breaking: overwriting an existing note needs `ifMatch`.** In 0.18 MCP `write {path, content}` silently replaced an existing note. In 0.19 it is refused with `WRITE_IF_MATCH_REQUIRED` and nothing is written. Pass the note's current `sha256:` revision as `ifMatch` (`--if-match` on the CLI); a previous receipt or `check: true` (`--check`) reports it. A stale revision returns the retryable `WRITE_TARGET_CHANGED`. Creating a new note needs no `ifMatch`; sending one for a note that does not exist returns the retryable `WRITE_TARGET_ABSENT`. A note removed between the judge and the write returns the retryable `WRITE_TARGET_VANISHED` and nothing is written.
|
|
41
41
|
|
package/docs/verified-target.md
CHANGED
|
@@ -20,13 +20,13 @@ The precedence is the same for CLI and MCP runtime behavior. Host installation d
|
|
|
20
20
|
|
|
21
21
|
Before a note, settings, or derived-state mutation, OMS resolves the target and verifies the requested path is confined to it. Admission happens before that write, so rejection modifies nothing.
|
|
22
22
|
|
|
23
|
-
MCP `write {path, content, template?, ifMatch?, check?}` resolves and admits the target, judges the whole note against the sealed contract, and saves it atomically
|
|
23
|
+
MCP `write {path, content, template?, ifMatch?, check?}` resolves and admits the target, judges the whole note against the sealed contract, and saves it atomically, with `{field, kind}` warnings for contract findings. A safety refusal leaves the file unchanged and returns `{field, kind}` refusals and a `reason` ending in one guidance command. There is no `complete` operation or separate reviewer handshake.
|
|
24
24
|
|
|
25
25
|
An allowed write is a structural result, not a claim that a note is semantically complete. In Claude Code, native writes inside the configured vault are judged by the guard hook; when the judge cannot run, the hook allows the call with a warning and records the transport failure for `oms doctor contract`. Codex and Hermes have no write hook.
|
|
26
26
|
|
|
27
27
|
## Sealing
|
|
28
28
|
|
|
29
|
-
`oms setup` requires a verified target and an interactive terminal. It seals the contract under `~/.oms/vaults/<vault-id>/` and writes only `.oms/settings.json` inside the vault; it never modifies notes. A vault with no seal on this machine is not judged. A tampered vault id (a `.oms/settings.json` id that differs from this machine's index) refuses writes as `contract-tampered`. A missing or broken store, or a missing or invalid `.oms/settings.json`, lets writes through with a `contract-unreadable` warning suggesting `oms interview`. An unreadable seal is never replaced with an empty contract. `oms doctor contract` diagnoses the seal, and its `--fix` only re-indexes a moved or unindexed vault.
|
|
29
|
+
`oms setup` requires a verified target and an interactive terminal. It seals the contract under `~/.oms/vaults/<vault-id>/` and writes only `.oms/settings.json` inside the vault; it never modifies notes. A vault with no seal on this machine is not judged. A tampered vault id (a `.oms/settings.json` id that differs from this machine's index) refuses writes as `contract-tampered`. A missing or broken store, or a missing or invalid `.oms/settings.json`, lets writes through with a `contract-unreadable` warning suggesting `oms interview`. An unreadable seal is never replaced with an empty contract. `oms doctor contract` diagnoses the seal, and its `--fix` only re-indexes a moved or unindexed vault, or rebuilds an unreadable index.
|
|
30
30
|
|
|
31
31
|
## Read-only and repair operations
|
|
32
32
|
|
package/package.json
CHANGED
package/skills/distill/SKILL.md
CHANGED
|
@@ -21,4 +21,4 @@ Do not execute the target, including embedded scripts or Templater expressions.
|
|
|
21
21
|
|
|
22
22
|
## Saving a note
|
|
23
23
|
|
|
24
|
-
Write a vault note only when the user explicitly asks to save the report. Follow `/write`: save the whole note with MCP `write {path, content, template?, ifMatch?, check?}`. A
|
|
24
|
+
Write a vault note only when the user explicitly asks to save the report. Follow `/write`: save the whole note with MCP `write {path, content, template?, ifMatch?, check?}`. A note that breaks the contract is saved with `{field, kind}` warnings, and only a safety refusal denies; a saved note with warnings, or a denial, comes with one guidance command. Fix the note from what the user gave you, or ask. An allowed write with no warnings means the note fits the sealed structure, not that the report is good; you judge the report.
|
package/skills/doctor/SKILL.md
CHANGED
|
@@ -26,7 +26,7 @@ Report vault health, diagnose the seal and derived indexes, then run only the re
|
|
|
26
26
|
- `revert-propose` (`targetDigest`) proposes a kept generation's contract as a new forward candidate. It never rewrites history. A revert always requires owner approval: it has no maker, so every revert, tightening, neutral or loosening, waits for the owner at `oms setup` whatever the autonomy policy says, and `evolve-verdict` is refused on it (`EVOLUTION_REQUEST_CLOSED`). Stage 1 and stage 2 run when it is proposed: a revert that would add a refusal is refused with `EVOLUTION_REVERT_REFUSED`, and one that overlaps in meaning or drifts past 0.3 from the first sealed generation with `EVOLUTION_STAGE2_REFUSED`; nothing is proposed.
|
|
27
27
|
- `reclaim-evolution-lock` and `lineage-reanchor` belong to the owner at a terminal; over MCP they are refused. Tell the user to run `oms doctor reclaim-evolution-lock` or `oms doctor lineage-reanchor` themselves. Requests awaiting the owner are approved or rejected only at `oms setup`, and autonomy is turned on only with `oms setup --autonomy on`.
|
|
28
28
|
|
|
29
|
-
A missing seal is sealed by the user running `oms interview` at a terminal, the command the `contract-open` write warning names. A broken seal (a tampered or unreadable contract store) is diagnosed with `oms doctor contract`, then resealed by the user running `oms interview` at a terminal; the `contract-unreadable` write warning names that reseal, and the `contract-tampered` warning names the diagnosis; recovery is never done through the `setup` skill. The only automatic seal repair is `oms doctor contract --fix`, which re-indexes a moved or unindexed vault and nothing else. `oms doctor contract` also names the unexpected `.oms` entries for the person at the CLI.
|
|
29
|
+
A missing seal is sealed by the user running `oms interview` at a terminal, the command the `contract-open` write warning names. A broken seal (a tampered or unreadable contract store) is diagnosed with `oms doctor contract`, then resealed by the user running `oms interview` at a terminal; the `contract-unreadable` write warning names that reseal, and the `contract-tampered` warning names the diagnosis; recovery is never done through the `setup` skill. The only automatic seal repair is `oms doctor contract --fix`, which re-indexes a moved or unindexed vault, or rebuilds an unreadable index, and nothing else. `oms doctor contract` also names the unexpected `.oms` entries for the person at the CLI.
|
|
30
30
|
|
|
31
31
|
Index repairs run only when explicitly requested and do not edit notes. There is no default-value backfill: OMS never rewrites a note.
|
|
32
32
|
|
package/skills/setup/SKILL.md
CHANGED
|
@@ -35,8 +35,8 @@ Always pass the vault with `--vault <path>`. A vault inferred from the current d
|
|
|
35
35
|
- The values the owner gives (allowed values, patterns, ranges) are part of the hidden contract. Do not repeat them into notes, messages to others, or memory.
|
|
36
36
|
- `--answers` seals a first contract, or a reseal that only adds or tightens. Removing a folder or property, dropping a requirement, or widening a rule is loosening, and it belongs to the owner's own terminal.
|
|
37
37
|
- The reseal may add new folders and properties, and tighten folder and property rules. Editing a template needs no reseal: it takes effect on the next write.
|
|
38
|
-
- Adding is allowed but is not neutral: registering a new folder or property widens that closed axis, so notes the sealed contract
|
|
39
|
-
-
|
|
38
|
+
- Adding is allowed but is not neutral: registering a new folder or property widens that closed axis, so notes the sealed contract flagged there are saved without that warning afterwards. Ask the owner about every addition; never add one they did not answer for.
|
|
39
|
+
- An `unregistered-folder` or `unknown-property` warning on a write is not yours to clear. Do not create the folder, add the type to `.obsidian/types.json`, or answer the registration question yourself so that the warning goes away. Ask the owner, and register the folder or property only when they answer. Nothing but that answer enforces this.
|
|
40
40
|
- Never run `oms setup` without `--questions` or `--answers`. The interactive interview is the owner's, in their own terminal.
|
|
41
41
|
- Never run setup under a pseudo-terminal wrapper such as `script`, `expect`, or `unbuffer`, and never set up a terminal for it. The interactive gate only checks for a TTY, so a wrapper would take the owner's full authority, including loosening.
|
|
42
42
|
- Never move or rename the vault with Bash, and never delete, edit, or re-ID `.oms/settings.json`. Either makes the vault look never sealed, so `--answers` would take a fresh first seal in place of the owner's contract.
|
package/skills/write/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: write
|
|
3
|
-
description: Write a vault note through the contract judge;
|
|
3
|
+
description: Write a vault note through the contract judge; contract findings come back as warnings, and only a safety refusal denies.
|
|
4
4
|
mcp_tool: write
|
|
5
5
|
mcp_args:
|
|
6
6
|
path: "$1"
|
|
@@ -15,7 +15,7 @@ The user owns meaning. The agent writes the note. OMS judges the bytes against t
|
|
|
15
15
|
/write <note-path> [template]
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}`. A
|
|
18
|
+
Write vault notes with MCP `write {path, content, template?, ifMatch?, check?}`. A note that breaks the contract is saved, with each finding as a `{field, kind}` warning; only a safety refusal denies a write. A saved note with warnings, or a denial, comes with one guidance command. Never ask about or guess the contract's location or values.
|
|
19
19
|
|
|
20
20
|
Document reads stay on `search { op: "get-document" }`.
|
|
21
21
|
|
|
@@ -27,15 +27,15 @@ write { path, content, template?, ifMatch?, check? }
|
|
|
27
27
|
|
|
28
28
|
`path` is vault-relative. `content` is the whole note. `template` names a template in the vault's template folder to scaffold a new note from; omit it to use the one template matching the target folder, if any. A named template that does not exist scaffolds nothing and is reported as `template-missing`. `ifMatch` is the `sha256:` revision of the note you are replacing. `check: true` judges without writing. There are no other fields.
|
|
29
29
|
|
|
30
|
-
OMS fills only what is mechanical before it judges: template variables such as `{{title}}` and `{{date}}`, date and datetime defaults on a new note, and the chosen template's missing headings. It never
|
|
30
|
+
OMS fills only what is mechanical before it judges: template variables such as `{{title}}` and `{{date}}`, date and datetime defaults on a new note, and the chosen template's missing headings. It never invents a value; a flagged value is changed only by a lossless fix, listed in `fixes`.
|
|
31
31
|
|
|
32
|
-
The judge answers allow or deny. Allow writes the note atomically and returns the receipt `{ ok: true, path, revision, contractRevision, index: { keyword, vector }, conformed, missingDefaults, warnings, fixes, next? }`; the note is searchable by keyword in the next call when the vault has an index.
|
|
32
|
+
The judge answers allow or deny, and only a safety refusal denies. Allow writes the note atomically and returns the receipt `{ ok: true, path, revision, contractRevision, index: { keyword, vector }, conformed, missingDefaults, warnings, fixes, next? }`; the note is searchable by keyword in the next call when the vault has an index. A note that breaks the contract is still allowed: each finding is a `warnings` entry, and `next` names the one command to run next; with `contract-open` it is `oms interview`, which the user runs once to seal the vault's folders and properties, so tell the user to run it. To clear a warning, fix the note and write it again with the receipt's revision as `ifMatch`. Deny is for a safety refusal only (a path outside the vault, a control or unsafe path, unsupported input, a tampered contract): it writes nothing and returns `{ ok: false, status: "denied", refusals, violations: [{ field, kind }], reason }`, and `reason` ends with the guidance command. In a sealed vault, when the frontmatter does not parse, the note may be kept as a draft outside the vault instead of saved, and the answer is `{ ok: false, status: "drafted", draftRef, warnings }` (when no draft can be kept, the note is saved with its warnings instead); fix the frontmatter and write again. A finding names a field and a kind only; it never quotes a rule. Do not guess missing values and do not weaken the contract so the note passes; when you cannot fix a finding from what the user gave you, ask.
|
|
33
33
|
|
|
34
34
|
To replace an existing note, pass its current revision as `ifMatch`: a previous receipt or `write { path, content, check: true }` reports it. Without `ifMatch` the overwrite is refused with `WRITE_IF_MATCH_REQUIRED` and nothing is written; `WRITE_TARGET_CHANGED` means the note moved on, so read it again before retrying; `WRITE_TARGET_ABSENT` means there is no note to replace, so retry without `ifMatch` to create it. `check` also returns the frame for the target (folder meaning, the property and template fields to satisfy, and which may stay absent) and touches nothing on disk.
|
|
35
35
|
|
|
36
36
|
Placement is explicit: an explicit path, otherwise the folder meaning the user approved, otherwise ask. There is no Inbox fallback.
|
|
37
37
|
|
|
38
|
-
A vault with no sealed contract accepts any note inside it, with a `contract-open` warning whose `next` is `oms interview`. A contract that cannot be read also accepts the note, with a `contract-unreadable` warning that names `oms interview`.
|
|
38
|
+
A vault with no sealed contract accepts any note inside it, with a `contract-open` warning whose `next` is `oms interview`. A contract that cannot be read also accepts the note, with a `contract-unreadable` warning that names `oms interview`. Among contract states, only a tampered contract denies writes, until the user runs `oms doctor contract` at a terminal; the `setup` skill does not recover a broken seal. Paths outside the vault and the vault's control paths are always denied.
|
|
39
39
|
|
|
40
40
|
## Host file tools
|
|
41
41
|
|