oh-my-second-brain 0.2.0 → 0.3.0
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 +41 -0
- package/{adapters/claude-code/.claude-plugin → .claude-plugin}/plugin.json +7 -8
- package/{adapters/codex/.codex-plugin → .codex-plugin}/plugin.json +4 -4
- package/ACKNOWLEDGMENTS.md +154 -0
- package/CHANGELOG-assets.md +19 -0
- package/CHANGELOG-cli.md +15 -0
- package/CHANGELOG-kernel.md +25 -0
- package/CHANGELOG-mcp.md +26 -0
- package/CHANGELOG-vendors.md +22 -0
- package/CHANGELOG.md +24 -7
- package/README.ko.md +2 -2
- package/README.md +16 -16
- package/{adapters/claude-code → assets/claude}/CLAUDE.md +4 -4
- package/{adapters → assets}/codex/AGENTS.md +3 -3
- package/{adapters → assets}/codex/rules/oms.md +5 -5
- package/{adapters → assets}/hermes/README.md +1 -1
- package/{adapters → assets}/hermes/SOUL.md +3 -3
- package/{adapters/hermes/manifest.json → assets/hermes-manifest.json} +3 -4
- package/assets/skills/distill/SKILL.md +20 -0
- package/assets/skills/doctor/SKILL.md +23 -0
- package/assets/skills/link/SKILL.md +24 -0
- package/assets/skills/search/SKILL.md +25 -0
- package/assets/skills/status/SKILL.md +22 -0
- package/assets/skills/write/SKILL.md +30 -0
- package/core/ontology/schemas/README.md +20 -14
- package/dist/assets/shared-skills.d.ts +4 -0
- package/dist/assets/shared-skills.js +8 -0
- package/dist/assets/shared-skills.js.map +1 -0
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.js +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/audit.js +3 -3
- package/dist/cli/audit.js.map +1 -1
- package/dist/cli/claude-install-plan.js +2 -2
- package/dist/cli/claude-install-plan.js.map +1 -1
- package/dist/cli/doctor-lint.js +8 -8
- package/dist/cli/doctor-lint.js.map +1 -1
- package/dist/cli/global-writeback.js +1 -1
- package/dist/cli/global-writeback.js.map +1 -1
- package/dist/cli/host-commands.d.ts +1 -1
- package/dist/cli/host-commands.js +22 -4
- package/dist/cli/host-commands.js.map +1 -1
- package/dist/cli/link-command.d.ts +1 -1
- package/dist/cli/link-command.js +2 -2
- package/dist/cli/link-command.js.map +1 -1
- package/dist/cli/linkify.js +16 -71
- package/dist/cli/linkify.js.map +1 -1
- package/dist/cli/oms.js +20 -9
- package/dist/cli/oms.js.map +1 -1
- package/dist/cli/semantic-args.d.ts +1 -1
- package/dist/cli/semantic-http.js +3 -3
- package/dist/cli/semantic-http.js.map +1 -1
- package/dist/cli/semantic-usage.js +1 -1
- package/dist/cli/semantic-usage.js.map +1 -1
- package/dist/cli/semantic.js +1 -6
- package/dist/cli/semantic.js.map +1 -1
- package/dist/cli/setup-command.d.ts +1 -0
- package/dist/cli/setup-command.js +42 -147
- package/dist/cli/setup-command.js.map +1 -1
- package/dist/cli/update-notice.d.ts +1 -1
- package/dist/cli/update-notice.js +2 -2
- package/dist/cli/update-notice.js.map +1 -1
- package/dist/cli/usage.d.ts +1 -1
- package/dist/cli/usage.js +2 -2
- package/dist/cli/usage.js.map +1 -1
- package/dist/{capture → kernel/capture}/safe.d.ts +11 -1
- package/dist/{capture → kernel/capture}/safe.js +3 -3
- package/dist/kernel/capture/safe.js.map +1 -0
- package/dist/kernel/conventions/frontmatter.js.map +1 -0
- package/dist/kernel/conventions/lint.js.map +1 -0
- package/dist/kernel/conventions/report.js.map +1 -0
- package/dist/{conventions → kernel/conventions}/validate.d.ts +1 -1
- package/dist/kernel/conventions/validate.js.map +1 -0
- package/dist/kernel/conventions/vault-walk.js.map +1 -0
- package/dist/{conventions → kernel/conventions}/write-contract.d.ts +1 -1
- package/dist/kernel/conventions/write-contract.js.map +1 -0
- package/dist/kernel/conventions/write-protocol.js.map +1 -0
- package/dist/kernel/doctor/service.d.ts +71 -0
- package/dist/kernel/doctor/service.js +70 -0
- package/dist/kernel/doctor/service.js.map +1 -0
- package/dist/{engine → kernel/engine}/assemble.d.ts +24 -0
- package/dist/{engine → kernel/engine}/assemble.js +142 -4
- package/dist/kernel/engine/assemble.js.map +1 -0
- package/dist/{engine → kernel/engine}/conventions/vault-lint.d.ts +1 -1
- package/dist/{engine → kernel/engine}/conventions/vault-lint.js +1 -1
- package/dist/kernel/engine/conventions/vault-lint.js.map +1 -0
- package/dist/kernel/engine/embed/chunker.js.map +1 -0
- package/dist/kernel/engine/embed/deferred.js.map +1 -0
- package/dist/{engine → kernel/engine}/embed/hash-stub.test-helper.d.ts +1 -1
- package/dist/{engine → kernel/engine}/embed/hash-stub.test-helper.js +1 -1
- package/dist/kernel/engine/embed/hash-stub.test-helper.js.map +1 -0
- package/dist/kernel/engine/embed/identity.js.map +1 -0
- package/dist/kernel/engine/embed/provider.js.map +1 -0
- package/dist/{engine → kernel/engine}/embed/store.d.ts +8 -0
- package/dist/{engine → kernel/engine}/embed/store.js +212 -8
- package/dist/kernel/engine/embed/store.js.map +1 -0
- package/dist/{engine → kernel/engine}/embed/sync.d.ts +3 -1
- package/dist/{engine → kernel/engine}/embed/sync.js +5 -3
- package/dist/kernel/engine/embed/sync.js.map +1 -0
- package/dist/kernel/engine/graph/builder.js.map +1 -0
- package/dist/kernel/engine/graph/explore.js.map +1 -0
- package/dist/kernel/engine/graph/node.js.map +1 -0
- package/dist/kernel/engine/graph/resolver.js.map +1 -0
- package/dist/kernel/engine/graph/traverse.js.map +1 -0
- package/dist/kernel/engine/linkify/apply.js.map +1 -0
- package/dist/kernel/engine/linkify/josa.js.map +1 -0
- package/dist/kernel/engine/linkify/mask.js.map +1 -0
- package/dist/kernel/engine/linkify/suggest.js.map +1 -0
- package/dist/kernel/engine/linkify/types.js.map +1 -0
- package/dist/{engine → kernel/engine}/mcp/facade.d.ts +7 -1
- package/dist/{engine → kernel/engine}/mcp/facade.js +32 -11
- package/dist/kernel/engine/mcp/facade.js.map +1 -0
- package/dist/kernel/engine/mcp/op-mappers.js.map +1 -0
- package/dist/kernel/engine/mcp/query-mapper.js.map +1 -0
- package/dist/{engine → kernel/engine}/mcp/types.d.ts +5 -0
- package/dist/kernel/engine/mcp/types.js.map +1 -0
- package/dist/{engine → kernel/engine}/retrieval/dispatcher.d.ts +1 -1
- package/dist/{engine → kernel/engine}/retrieval/dispatcher.js +8 -6
- package/dist/kernel/engine/retrieval/dispatcher.js.map +1 -0
- package/dist/{engine → kernel/engine}/retrieval/index.d.ts +2 -0
- package/dist/{engine → kernel/engine}/retrieval/index.js +5 -2
- package/dist/kernel/engine/retrieval/index.js.map +1 -0
- package/dist/kernel/engine/retrieval/reranker.js.map +1 -0
- package/dist/kernel/engine/retrieval/rrf.js.map +1 -0
- package/dist/kernel/engine/tracer.js.map +1 -0
- package/dist/{engine → kernel/engine}/types.d.ts +4 -4
- package/dist/kernel/engine/types.js.map +1 -0
- package/dist/{graph → kernel/graph}/cache.d.ts +1 -1
- package/dist/{graph → kernel/graph}/cache.js +1 -1
- package/dist/kernel/graph/cache.js.map +1 -0
- package/dist/kernel/graph/explore.js.map +1 -0
- package/dist/{harness → kernel/harness}/surface-registry.d.ts +0 -1
- package/dist/kernel/harness/surface-registry.js +170 -0
- package/dist/kernel/harness/surface-registry.js.map +1 -0
- package/dist/{harness → kernel/harness}/validation.js +67 -4
- package/dist/kernel/harness/validation.js.map +1 -0
- package/dist/{index.d.ts → kernel/index.d.ts} +5 -6
- package/dist/kernel/index.js +12 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/{install → kernel/install}/adapter-source.d.ts +10 -1
- package/dist/kernel/install/adapter-source.js +76 -0
- package/dist/kernel/install/adapter-source.js.map +1 -0
- package/dist/kernel/install/common.js.map +1 -0
- package/dist/{install → kernel/install}/hosts.d.ts +3 -3
- package/dist/{install → kernel/install}/hosts.js +3 -22
- package/dist/kernel/install/hosts.js.map +1 -0
- package/dist/{core/ontology → kernel/install}/types.js.map +1 -1
- package/dist/{link → kernel/link}/convention-note.js +2 -2
- package/dist/kernel/link/convention-note.js.map +1 -0
- package/dist/kernel/link/global-config.js.map +1 -0
- package/dist/kernel/link/link.js.map +1 -0
- package/dist/kernel/link/workflow.d.ts +55 -0
- package/dist/kernel/link/workflow.js +107 -0
- package/dist/kernel/link/workflow.js.map +1 -0
- package/dist/{ontology → kernel/ontology}/active.d.ts +1 -1
- package/dist/{ontology → kernel/ontology}/active.js +2 -2
- package/dist/kernel/ontology/active.js.map +1 -0
- package/dist/kernel/ontology/loader.js.map +1 -0
- package/dist/kernel/ontology/resolver.js.map +1 -0
- package/dist/{install → kernel/ontology}/types.js.map +1 -1
- package/dist/kernel/plugin/index.d.ts +1 -0
- package/dist/kernel/plugin/index.js +2 -0
- package/dist/kernel/plugin/index.js.map +1 -0
- package/dist/{core → kernel}/runtime/assets.d.ts +2 -4
- package/dist/{core → kernel}/runtime/assets.js +1 -3
- package/dist/kernel/runtime/assets.js.map +1 -0
- package/dist/kernel/search/morning-test-fixtures.js.map +1 -0
- package/dist/{retrieve → kernel/search}/morning.d.ts +0 -1
- package/dist/kernel/search/morning.js.map +1 -0
- package/dist/kernel/search/semantic-contract.js.map +1 -0
- package/dist/kernel/searchbackend/engine-search-backend.d.ts +28 -0
- package/dist/kernel/searchbackend/engine-search-backend.js +67 -0
- package/dist/kernel/searchbackend/engine-search-backend.js.map +1 -0
- package/dist/kernel/searchbackend/index.d.ts +2 -0
- package/dist/kernel/searchbackend/index.js +2 -0
- package/dist/kernel/searchbackend/index.js.map +1 -0
- package/dist/kernel/searchbackend/search-backend.d.ts +47 -0
- package/dist/kernel/searchbackend/search-backend.js +49 -0
- package/dist/kernel/searchbackend/search-backend.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-engine.d.ts +3 -2
- package/dist/{mcp → kernel/semantic}/semantic-engine.js +5 -5
- package/dist/kernel/semantic/semantic-engine.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-args.d.ts +2 -2
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-args.js +0 -8
- package/dist/kernel/semantic/semantic-retrieve-args.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-schema.d.ts +0 -24
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-schema.js +0 -8
- package/dist/kernel/semantic/semantic-retrieve-schema.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-retrieve.js +5 -9
- package/dist/kernel/semantic/semantic-retrieve.js.map +1 -0
- package/dist/kernel/semantic/semantic-schemas.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-tool-schemas.js +0 -28
- package/dist/kernel/semantic/semantic-tool-schemas.js.map +1 -0
- package/dist/{setup → kernel/setup}/axis.d.ts +1 -1
- package/dist/{setup → kernel/setup}/axis.js +1 -1
- package/dist/kernel/setup/axis.js.map +1 -0
- package/dist/{cli/setup-documents.d.ts → kernel/setup/documents.d.ts} +1 -1
- package/dist/{cli/setup-documents.js → kernel/setup/documents.js} +15 -49
- package/dist/kernel/setup/documents.js.map +1 -0
- package/dist/kernel/setup/service.d.ts +44 -0
- package/dist/kernel/setup/service.js +97 -0
- package/dist/kernel/setup/service.js.map +1 -0
- package/dist/kernel/update/update.js.map +1 -0
- package/dist/mcp/engine-morning-backend.d.ts +4 -4
- package/dist/mcp/engine-morning-backend.js +4 -18
- package/dist/mcp/engine-morning-backend.js.map +1 -1
- package/dist/mcp/link-tools.d.ts +9 -56
- package/dist/mcp/link-tools.js +5 -129
- package/dist/mcp/link-tools.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -2
- package/dist/mcp/server.js +326 -327
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/update-notice.d.ts +1 -1
- package/dist/mcp/update-notice.js +1 -1
- package/dist/mcp/update-notice.js.map +1 -1
- package/dist/{install → vendors/claude}/claude-hooks.d.ts +1 -1
- package/dist/{install → vendors/claude}/claude-hooks.js +1 -1
- package/dist/vendors/claude/claude-hooks.js.map +1 -0
- package/dist/{install → vendors/claude}/claude-marketplace.d.ts +3 -3
- package/dist/{install → vendors/claude}/claude-marketplace.js +6 -9
- package/dist/vendors/claude/claude-marketplace.js.map +1 -0
- package/dist/{install → vendors/claude}/claude.d.ts +2 -2
- package/dist/{install → vendors/claude}/claude.js +2 -2
- package/dist/vendors/claude/claude.js.map +1 -0
- package/dist/{hook → vendors/claude/hook}/post-tool-use.js +5 -5
- package/dist/vendors/claude/hook/post-tool-use.js.map +1 -0
- package/dist/vendors/claude/hook/pre-tool-use.js.map +1 -0
- package/dist/vendors/claude/hook/stdin.js.map +1 -0
- package/dist/vendors/codex/codex.d.ts +10 -0
- package/dist/{install → vendors/codex}/codex.js +19 -37
- package/dist/vendors/codex/codex.js.map +1 -0
- package/dist/{install → vendors/hermes}/hermes.d.ts +2 -2
- package/dist/{install → vendors/hermes}/hermes.js +15 -7
- package/dist/vendors/hermes/hermes.js.map +1 -0
- package/docs/adapters.md +15 -0
- package/docs/install.md +10 -11
- package/package.json +21 -9
- package/adapters/README.md +0 -99
- package/adapters/claude-code/skills/compile/SKILL.md +0 -27
- package/adapters/claude-code/skills/define/SKILL.md +0 -51
- package/adapters/claude-code/skills/distill/SKILL.md +0 -28
- package/adapters/claude-code/skills/doctor/SKILL.md +0 -58
- package/adapters/claude-code/skills/link/SKILL.md +0 -87
- package/adapters/claude-code/skills/retrieve/SKILL.md +0 -99
- package/adapters/claude-code/skills/setup/SKILL.md +0 -78
- package/adapters/claude-code/skills/uninstall/SKILL.md +0 -34
- package/adapters/claude-code/skills/update/SKILL.md +0 -45
- package/adapters/claude-code/skills/vault-decision-record/SKILL.md +0 -52
- package/adapters/claude-code/skills/vault-lint/SKILL.md +0 -47
- package/adapters/claude-code/skills/vault-scaffold/SKILL.md +0 -47
- package/adapters/claude-code/skills/wiki/SKILL.md +0 -82
- package/adapters/claude-code/skills/write/SKILL.md +0 -16
- package/adapters/codex/skills/oms-compile/SKILL.md +0 -16
- package/adapters/codex/skills/oms-distill/SKILL.md +0 -14
- package/adapters/codex/skills/oms-doctor/SKILL.md +0 -14
- package/adapters/codex/skills/oms-install/SKILL.md +0 -19
- package/adapters/codex/skills/oms-link/SKILL.md +0 -35
- package/adapters/codex/skills/oms-retrieve/SKILL.md +0 -32
- package/adapters/codex/skills/oms-setup/SKILL.md +0 -34
- package/adapters/codex/skills/oms-uninstall/SKILL.md +0 -20
- package/adapters/codex/skills/oms-update/SKILL.md +0 -22
- package/adapters/codex/skills/oms-vault-lint/SKILL.md +0 -19
- package/adapters/codex/skills/oms-wiki/SKILL.md +0 -39
- package/adapters/codex/skills/oms-write/SKILL.md +0 -10
- package/adapters/hermes/skills/compile/SKILL.md +0 -13
- package/adapters/hermes/skills/distill/SKILL.md +0 -10
- package/adapters/hermes/skills/doctor/SKILL.md +0 -14
- package/adapters/hermes/skills/install/SKILL.md +0 -19
- package/adapters/hermes/skills/link/SKILL.md +0 -18
- package/adapters/hermes/skills/retrieve/SKILL.md +0 -32
- package/adapters/hermes/skills/setup/SKILL.md +0 -37
- package/adapters/hermes/skills/uninstall/SKILL.md +0 -20
- package/adapters/hermes/skills/update/SKILL.md +0 -22
- package/adapters/hermes/skills/wiki/SKILL.md +0 -14
- package/adapters/hermes/skills/write/SKILL.md +0 -10
- package/core/agents/librarian.md +0 -44
- package/core/agents/retriever.md +0 -62
- package/core/skills/compile/CHANGELOG.md +0 -24
- package/core/skills/compile/SKILL.md +0 -57
- package/core/skills/define/SKILL.md +0 -59
- package/core/skills/distill/CHANGELOG.md +0 -39
- package/core/skills/distill/SKILL.md +0 -62
- package/core/skills/doctor/SKILL.md +0 -49
- package/core/skills/link/SKILL.md +0 -130
- package/core/skills/retrieve/SKILL.md +0 -78
- package/core/skills/setup/CHANGELOG.md +0 -49
- package/core/skills/setup/SKILL.md +0 -246
- package/core/skills/uninstall/SKILL.md +0 -34
- package/core/skills/vault-decision-record/CHANGELOG.md +0 -24
- package/core/skills/vault-decision-record/SKILL.md +0 -93
- package/core/skills/vault-lint/CHANGELOG.md +0 -35
- package/core/skills/vault-lint/SKILL.md +0 -58
- package/core/skills/vault-scaffold/CHANGELOG.md +0 -21
- package/core/skills/vault-scaffold/SKILL.md +0 -72
- package/core/skills/wiki/CHANGELOG.md +0 -23
- package/core/skills/wiki/SKILL.md +0 -159
- package/core/skills/write/SKILL.md +0 -15
- package/dist/capture/safe.js.map +0 -1
- package/dist/cli/setup-documents.js.map +0 -1
- package/dist/conventions/frontmatter.js.map +0 -1
- package/dist/conventions/lint.js.map +0 -1
- package/dist/conventions/report.js.map +0 -1
- package/dist/conventions/validate.js.map +0 -1
- package/dist/conventions/vault-walk.js.map +0 -1
- package/dist/conventions/write-contract.js.map +0 -1
- package/dist/conventions/write-protocol.js.map +0 -1
- package/dist/core/ontology/loader.js.map +0 -1
- package/dist/core/ontology/resolver.js.map +0 -1
- package/dist/core/runtime/assets.js.map +0 -1
- package/dist/engine/assemble.js.map +0 -1
- package/dist/engine/conventions/vault-lint.js.map +0 -1
- package/dist/engine/embed/chunker.js.map +0 -1
- package/dist/engine/embed/deferred.js.map +0 -1
- package/dist/engine/embed/hash-stub.test-helper.js.map +0 -1
- package/dist/engine/embed/identity.js.map +0 -1
- package/dist/engine/embed/provider.js.map +0 -1
- package/dist/engine/embed/store.js.map +0 -1
- package/dist/engine/embed/sync.js.map +0 -1
- package/dist/engine/graph/builder.js.map +0 -1
- package/dist/engine/graph/explore.js.map +0 -1
- package/dist/engine/graph/node.js.map +0 -1
- package/dist/engine/graph/resolver.js.map +0 -1
- package/dist/engine/graph/traverse.js.map +0 -1
- package/dist/engine/linkify/apply.js.map +0 -1
- package/dist/engine/linkify/josa.js.map +0 -1
- package/dist/engine/linkify/mask.js.map +0 -1
- package/dist/engine/linkify/suggest.js.map +0 -1
- package/dist/engine/linkify/types.js.map +0 -1
- package/dist/engine/mcp/facade.js.map +0 -1
- package/dist/engine/mcp/op-mappers.js.map +0 -1
- package/dist/engine/mcp/query-mapper.js.map +0 -1
- package/dist/engine/mcp/types.js.map +0 -1
- package/dist/engine/retrieval/dispatcher.js.map +0 -1
- package/dist/engine/retrieval/index.js.map +0 -1
- package/dist/engine/retrieval/reranker.js.map +0 -1
- package/dist/engine/retrieval/rrf.js.map +0 -1
- package/dist/engine/tracer.js.map +0 -1
- package/dist/engine/types.js.map +0 -1
- package/dist/graph/cache.js.map +0 -1
- package/dist/graph/explore.js.map +0 -1
- package/dist/harness/surface-registry.js +0 -397
- package/dist/harness/surface-registry.js.map +0 -1
- package/dist/harness/validation.js.map +0 -1
- package/dist/hook/post-tool-use.js.map +0 -1
- package/dist/hook/pre-tool-use.js.map +0 -1
- package/dist/hook/stdin.js.map +0 -1
- package/dist/index.js +0 -13
- package/dist/index.js.map +0 -1
- package/dist/install/adapter-source.js +0 -45
- package/dist/install/adapter-source.js.map +0 -1
- package/dist/install/claude-hooks.js.map +0 -1
- package/dist/install/claude-marketplace.js.map +0 -1
- package/dist/install/claude.js.map +0 -1
- package/dist/install/codex.d.ts +0 -24
- package/dist/install/codex.js.map +0 -1
- package/dist/install/common.js.map +0 -1
- package/dist/install/hermes.js.map +0 -1
- package/dist/install/hosts.js.map +0 -1
- package/dist/link/convention-note.js.map +0 -1
- package/dist/link/global-config.js.map +0 -1
- package/dist/link/link.js.map +0 -1
- package/dist/mcp/semantic-engine.js.map +0 -1
- package/dist/mcp/semantic-retrieve-args.js.map +0 -1
- package/dist/mcp/semantic-retrieve-schema.js.map +0 -1
- package/dist/mcp/semantic-retrieve.js.map +0 -1
- package/dist/mcp/semantic-schemas.js.map +0 -1
- package/dist/mcp/semantic-tool-schemas.js.map +0 -1
- package/dist/ontology/active.js.map +0 -1
- package/dist/retrieve/morning-test-fixtures.js.map +0 -1
- package/dist/retrieve/morning.js.map +0 -1
- package/dist/retrieve/semantic-contract.js.map +0 -1
- package/dist/setup/axis.js.map +0 -1
- package/dist/update/update.js.map +0 -1
- package/docs/release.md +0 -188
- /package/{adapters/codex/.mcp.json → .mcp.codex.json} +0 -0
- /package/{adapters/claude-code/.mcp.json → .mcp.json} +0 -0
- /package/{adapters/claude-code → assets/claude}/hooks/oms-guard.mjs +0 -0
- /package/{adapters/claude-code → assets/claude}/hooks/oms-post-guard.mjs +0 -0
- /package/dist/{conventions → kernel/conventions}/frontmatter.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/frontmatter.js +0 -0
- /package/dist/{conventions → kernel/conventions}/lint.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/lint.js +0 -0
- /package/dist/{conventions → kernel/conventions}/report.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/report.js +0 -0
- /package/dist/{conventions → kernel/conventions}/validate.js +0 -0
- /package/dist/{conventions → kernel/conventions}/vault-walk.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/vault-walk.js +0 -0
- /package/dist/{conventions → kernel/conventions}/write-contract.js +0 -0
- /package/dist/{conventions → kernel/conventions}/write-protocol.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/write-protocol.js +0 -0
- /package/dist/{engine → kernel/engine}/embed/chunker.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/embed/chunker.js +0 -0
- /package/dist/{engine → kernel/engine}/embed/deferred.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/embed/deferred.js +0 -0
- /package/dist/{engine → kernel/engine}/embed/identity.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/embed/identity.js +0 -0
- /package/dist/{engine → kernel/engine}/embed/provider.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/embed/provider.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/builder.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/builder.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/explore.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/explore.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/node.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/node.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/resolver.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/resolver.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/traverse.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/traverse.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/apply.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/apply.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/josa.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/josa.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/mask.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/mask.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/suggest.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/suggest.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/types.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/types.js +0 -0
- /package/dist/{engine → kernel/engine}/mcp/op-mappers.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/mcp/op-mappers.js +0 -0
- /package/dist/{engine → kernel/engine}/mcp/query-mapper.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/mcp/query-mapper.js +0 -0
- /package/dist/{engine → kernel/engine}/mcp/types.js +0 -0
- /package/dist/{engine → kernel/engine}/retrieval/reranker.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/retrieval/reranker.js +0 -0
- /package/dist/{engine → kernel/engine}/retrieval/rrf.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/retrieval/rrf.js +0 -0
- /package/dist/{engine → kernel/engine}/tracer.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/tracer.js +0 -0
- /package/dist/{engine → kernel/engine}/types.js +0 -0
- /package/dist/{graph → kernel/graph}/explore.d.ts +0 -0
- /package/dist/{graph → kernel/graph}/explore.js +0 -0
- /package/dist/{harness → kernel/harness}/validation.d.ts +0 -0
- /package/dist/{install → kernel/install}/common.d.ts +0 -0
- /package/dist/{install → kernel/install}/common.js +0 -0
- /package/dist/{install → kernel/install}/types.d.ts +0 -0
- /package/dist/{core/ontology → kernel/install}/types.js +0 -0
- /package/dist/{link → kernel/link}/convention-note.d.ts +0 -0
- /package/dist/{link → kernel/link}/global-config.d.ts +0 -0
- /package/dist/{link → kernel/link}/global-config.js +0 -0
- /package/dist/{link → kernel/link}/link.d.ts +0 -0
- /package/dist/{link → kernel/link}/link.js +0 -0
- /package/dist/{core → kernel}/ontology/loader.d.ts +0 -0
- /package/dist/{core → kernel}/ontology/loader.js +0 -0
- /package/dist/{core → kernel}/ontology/resolver.d.ts +0 -0
- /package/dist/{core → kernel}/ontology/resolver.js +0 -0
- /package/dist/{core → kernel}/ontology/types.d.ts +0 -0
- /package/dist/{install → kernel/ontology}/types.js +0 -0
- /package/dist/{retrieve → kernel/search}/morning-test-fixtures.d.ts +0 -0
- /package/dist/{retrieve → kernel/search}/morning-test-fixtures.js +0 -0
- /package/dist/{retrieve → kernel/search}/morning.js +0 -0
- /package/dist/{retrieve → kernel/search}/semantic-contract.d.ts +0 -0
- /package/dist/{retrieve → kernel/search}/semantic-contract.js +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-retrieve.d.ts +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-schemas.d.ts +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-schemas.js +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-tool-schemas.d.ts +0 -0
- /package/dist/{update → kernel/update}/update.d.ts +0 -0
- /package/dist/{update → kernel/update}/update.js +0 -0
- /package/dist/{hook → vendors/claude/hook}/post-tool-use.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/pre-tool-use.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/pre-tool-use.js +0 -0
- /package/dist/{hook → vendors/claude/hook}/stdin.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/stdin.js +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "oms",
|
|
4
|
+
"description": "Oh My Second Brain: a host-agnostic, user-owned convention layer for Obsidian and plain-markdown knowledge vaults.",
|
|
5
|
+
"owner": {
|
|
6
|
+
"name": "gobeumsu",
|
|
7
|
+
"email": "gobeumsu@gmail.com"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "oms",
|
|
12
|
+
"description": "Oh My Second Brain convention layer for Obsidian vaults — capture, retrieve, and validate knowledge under a declared semantic convention.",
|
|
13
|
+
"version": "0.3.0",
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "gobeumsu",
|
|
16
|
+
"email": "gobeumsu@gmail.com"
|
|
17
|
+
},
|
|
18
|
+
"source": "./",
|
|
19
|
+
"category": "productivity",
|
|
20
|
+
"homepage": "https://github.com/GoBeromsu/oh-my-second-brain#readme",
|
|
21
|
+
"repository": "https://github.com/GoBeromsu/oh-my-second-brain",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"keywords": [
|
|
24
|
+
"obsidian",
|
|
25
|
+
"knowledge-base",
|
|
26
|
+
"mcp",
|
|
27
|
+
"frontmatter",
|
|
28
|
+
"markdown",
|
|
29
|
+
"claude-code"
|
|
30
|
+
],
|
|
31
|
+
"tags": [
|
|
32
|
+
"obsidian",
|
|
33
|
+
"knowledge-management",
|
|
34
|
+
"convention",
|
|
35
|
+
"frontmatter",
|
|
36
|
+
"vault"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"version": "0.3.0"
|
|
41
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Oh My Second Brain convention layer for Obsidian vaults — capture, retrieve, and validate knowledge under a declared semantic convention.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "gobeumsu"
|
|
@@ -15,12 +15,11 @@
|
|
|
15
15
|
"vault"
|
|
16
16
|
],
|
|
17
17
|
"skills": [
|
|
18
|
-
"./skills/
|
|
19
|
-
"./skills/doctor/",
|
|
20
|
-
"./skills/
|
|
21
|
-
"./skills/
|
|
22
|
-
"./skills/
|
|
23
|
-
"./skills/
|
|
24
|
-
"./skills/update/"
|
|
18
|
+
"./assets/skills/distill/",
|
|
19
|
+
"./assets/skills/doctor/",
|
|
20
|
+
"./assets/skills/link/",
|
|
21
|
+
"./assets/skills/search/",
|
|
22
|
+
"./assets/skills/status/",
|
|
23
|
+
"./assets/skills/write/"
|
|
25
24
|
]
|
|
26
25
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Oh My Second Brain convention layer for Obsidian vaults
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Oh My Second Brain convention layer for Obsidian vaults — Codex native rules, skills, and MCP adapter.",
|
|
5
5
|
"_note": "oms install writes Codex MCP config, installs ~/.codex/rules/oms.md, and installs ~/.codex/skills/oms-*.",
|
|
6
|
-
"skills": "./skills/",
|
|
7
|
-
"mcpServers": "./.mcp.json"
|
|
6
|
+
"skills": "./assets/skills/",
|
|
7
|
+
"mcpServers": "./.mcp.codex.json"
|
|
8
8
|
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# ACKNOWLEDGMENTS
|
|
2
|
+
|
|
3
|
+
oh-my-secondbrain은 아래 공개 작업들의 아이디어와 구현에 빚지고 있다.
|
|
4
|
+
만들고 아낌없이 공개해주신 모든 분들께 진심으로 감사드린다.
|
|
5
|
+
|
|
6
|
+
> 우리가 무엇을 흡수했는지(설계 로직·근거)는 `docs/research/*` 에 기록한다.
|
|
7
|
+
> 관리 규칙: [`docs/rules/external-attribution.md`](https://github.com/GoBeromsu/oh-my-second-brain/blob/main/docs/rules/external-attribution.md)
|
|
8
|
+
|
|
9
|
+
## LLM-Wiki 패턴 & 구현체
|
|
10
|
+
|
|
11
|
+
- https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
|
|
12
|
+
- https://github.com/Astro-Han/karpathy-llm-wiki
|
|
13
|
+
- https://github.com/nashsu/llm_wiki — GPL-3.0: **아이디어만 참조, 코드 미사용**
|
|
14
|
+
- https://github.com/nashsu/llm_wiki_skill — 무라이선스: 개념 참조만
|
|
15
|
+
- https://github.com/nvk/llm-wiki
|
|
16
|
+
- https://github.com/lucasastorian/llmwiki
|
|
17
|
+
- https://github.com/atomicstrata/llm-wiki-compiler
|
|
18
|
+
- https://github.com/shannhk/llm-wikid
|
|
19
|
+
- https://github.com/AgriciDaniel/claude-obsidian
|
|
20
|
+
- https://github.com/NicholasSpisak/second-brain
|
|
21
|
+
- 박제창(Dreamwalker) — https://medium.com/@aristojeff
|
|
22
|
+
- @aboutcorelab — https://www.threads.com/@aboutcorelab
|
|
23
|
+
- 패스트캠퍼스 — https://fastcampus.co.kr/biz_camp_llmwiki
|
|
24
|
+
- MindStudio — https://www.mindstudio.ai/blog/ai-second-brain-obsidian-vault-folder-architecture
|
|
25
|
+
|
|
26
|
+
## 검색 / 임베딩 엔진
|
|
27
|
+
|
|
28
|
+
- https://github.com/tobi/qmd
|
|
29
|
+
- gbrain — 원 repo URL 미확인 `TODO(verify)`
|
|
30
|
+
- https://github.com/pgvector/pgvector
|
|
31
|
+
- https://github.com/electric-sql/pglite
|
|
32
|
+
|
|
33
|
+
## 그래프 접근
|
|
34
|
+
|
|
35
|
+
- https://github.com/safishamsi/graphify (후원: https://github.com/sponsors/safishamsi)
|
|
36
|
+
|
|
37
|
+
## Agent Skills 생태계
|
|
38
|
+
|
|
39
|
+
- https://github.com/anthropics/skills
|
|
40
|
+
- https://github.com/VoltAgent/awesome-agent-skills
|
|
41
|
+
- https://github.com/code-yeongyu/lazycodex — MIT, **vendored**: `programming` 스킬 직접 설치, LICENSE+저작권 고지 보존 (`~/.claude/skills/programming/`)
|
|
42
|
+
- https://github.com/Yeachan-Heo/oh-my-claudecode
|
|
43
|
+
- https://github.com/Yeachan-Heo/oh-my-codex
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## M1 Retrieval Engine — Absorbed Patterns
|
|
48
|
+
|
|
49
|
+
아래 패턴들은 M1 엔진(`src/kernel/engine/`) 구현 과정에서 아이디어/알고리즘만 흡수한 목록이다.
|
|
50
|
+
**verbatim 코드 사용 없음** — 모든 구현은 독립적으로 작성되었다.
|
|
51
|
+
|
|
52
|
+
| Pattern | Source | License | Note |
|
|
53
|
+
|---------|--------|---------|------|
|
|
54
|
+
| Adamic-Adar co-link scoring: AA(u,v) = Σ_{w∈N(u)∩N(v)} 1/log(deg(w)). Implemented by iterating each node w, enumerating pairs of its neighbours, and accumulating 1/log(deg(w)) into a canonical pair key. | [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki) | GPL-3.0 | **IDEA-ONLY — zero verbatim code** |
|
|
55
|
+
| Composite edge weight = weighted sum of per-tier contributions (wikilink×3.0, frontmatter×4.0, adamic-adar×1.5, type-affinity×1.0). Frontmatter relation extraction from `sources[]`/`relations[]` YAML keys. | [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki) | GPL-3.0 | **IDEA-ONLY — zero verbatim code** |
|
|
56
|
+
| Reciprocal Rank Fusion weight schedule: score(d) = Σ 1/(k+rank_i(d)), k=60 default calibration | [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki) + MS GraphRAG technical report | GPL-3.0 (idea-only) / public algorithm | Zero verbatim code |
|
|
57
|
+
| HyDE (Hypothetical Document Embeddings) — generate a hypothetical answer passage then embed it for retrieval | [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki) | GPL-3.0 | **IDEA-ONLY — zero verbatim code** |
|
|
58
|
+
| P-08-style two-layer retry: inner immediate retry + outer 50 ms back-off, abort on CancelToken | P-08 resilience pattern (architecture concept) | idea-only | No external code |
|
|
59
|
+
| Lightweight cancel token: mutable boolean wrapped in a getter+cancel() object, threaded through every async call | gajae-code patterns | MIT | idea-only, implementation is original |
|
|
60
|
+
| Lazy-load + 5-minute idle unload guard (`src/kernel/engine/embed/provider.ts`): model/contexts not initialised until first `embed()` call; a `setTimeout` resets per call; no calls for 5 min → dispose pool; next `embed()` reloads lazily. The only permitted timer (plan.md:83, R2). | [qmd (tobi)](https://github.com/tobi/qmd) | MIT | **IDEA-ONLY — zero verbatim code** |
|
|
61
|
+
| Hardware-adaptive parallel embed pool (`src/kernel/engine/embed/provider.ts`): `poolSize = min(4, cpuCount-1)`, round-robin context selection across the pool, `Promise.all` parallel context init, 2-stage batch distribution. | [qmd (tobi)](https://github.com/tobi/qmd) | MIT | **IDEA-ONLY — zero verbatim code** |
|
|
62
|
+
| SHA-256 chunk-level incremental diff (`src/kernel/engine/embed/sync.ts`): compute SHA-256 of each chunk text; compare with stored SHA from `EngineStore.getShas()`; skip `embed()` call when SHA matches — only changed chunks are re-embedded. | [qmd (tobi)](https://github.com/tobi/qmd) | MIT | **IDEA-ONLY — zero verbatim code** |
|
|
63
|
+
|
|
64
|
+
> **⚠ License flag — gbrain**: The gbrain project was referenced for logic/architecture patterns only. The original repo URL and license are unconfirmed (`TODO(verify)`). No code was copied. Attribution will be updated once the license is confirmed.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## M2 Compile Engine — Absorbed Patterns
|
|
69
|
+
|
|
70
|
+
M2 컴파일 기능의 이전 구현 과정에서 아이디어/알고리즘만 흡수한 목록이다.
|
|
71
|
+
**verbatim 코드 사용 없음** — 모든 구현은 독립적으로 작성되었다.
|
|
72
|
+
|
|
73
|
+
| Pattern | Source | License | Note |
|
|
74
|
+
|---------|--------|---------|------|
|
|
75
|
+
| SHA-incremental per-compile-unit: fingerprint materials → diff SHA → skip or recompile → persist SHA (`.llmwiki/sha-cache.json`) | bstack `terminology` skill | Self-authored | Full idea absorption |
|
|
76
|
+
| 2-step Chain-of-Thought: Step 1 analysis (entity/concept/argument/contradiction/structure) → Step 2 synthesis (source summary + concept page + `[[wikilink]]`); Step 1 output is Step 2 context, always sequential | [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki) | GPL-3.0 | **IDEA-ONLY — zero verbatim code** |
|
|
77
|
+
| 2-phase separation: Phase A extract-all-without-writing (pure read) / Phase B generate (writes to `processed/`, never `wiki/`); A·B never overlap in one execution context | atomicstrata | License TBD | **CONCEPT-ONLY — no code** |
|
|
78
|
+
| Cascade return: every compile write returns `{ affected_backlinks: string[] }` so the M3 caller schedules staleness updates | lucasastorian/llmwiki | Terminology only | **CONCEPT-ONLY — no code** |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## M4 Distill — Absorbed Patterns
|
|
83
|
+
|
|
84
|
+
M4 Distill 스킬(`assets/skills/distill/`)은 standalone 흡수-분석기다.
|
|
85
|
+
**verbatim 코드 사용 없음** — 패턴 시그니처는 self-authored mining 문서에서 도출했다.
|
|
86
|
+
|
|
87
|
+
| Pattern | Source | License | Note |
|
|
88
|
+
|---------|--------|---------|------|
|
|
89
|
+
| Provider-injection seam (`AnalyzerProvider` mirrors `EmbeddingProvider`) — deterministic stub for tests, real LLM injected in production | oh-my-secondbrain M1 (self) | Internal | 코드베이스 1급 설계 패턴 |
|
|
90
|
+
| Red-team pattern signatures: parallel pool, SHA-256 fingerprint, sqlite-vec store, token chunker, retry, RRF fusion, typed sub-query | [qmd (tobi)](https://github.com/tobi/qmd) | MIT | mining doc 도출, verbatim 없음 |
|
|
91
|
+
| Red-team pattern signatures: 4-pass entity dedup, Leiden/Louvain community detection, grow-only build_merge, 3-tier edge confidence, pipeline-as-modules, 2-pass extraction | [graphify (Safi Shamsi)](https://github.com/safishamsi/graphify) | MIT | mining doc 도출, verbatim 없음 |
|
|
92
|
+
| Clean-room mechanism (pure data spec, caller spawns subagent) + mutation-detector SHA snapshot protocol | plan.md M4 / deep-interview R13·R16 | Internal | Self-authored |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## M3 Wiki Engine — Absorbed Patterns
|
|
97
|
+
|
|
98
|
+
M3 위키 컬렉션은 이전 구현에서 아이디어/알고리즘만 흡수한 목록이다.
|
|
99
|
+
**verbatim 코드 사용 없음** — 모든 구현은 독립적으로 작성되었다.
|
|
100
|
+
|
|
101
|
+
| Pattern | Source | License | Note |
|
|
102
|
+
|---------|--------|---------|------|
|
|
103
|
+
| Navigation conventions: `wiki/index.md` global catalog regenerated after every compile run; `wiki/log.md` append-only compile log (`## [YYYY-MM-DD] compile \| ConceptName`) | [Karpathy wiki gist](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) | No license declared | **IDEA-ONLY — no verbatim code** |
|
|
104
|
+
| Collection owner pattern: five responsibilities (namespace/identity, link-graph closure, staleness-ledger delegation, navigation delegation, processed→wiki promotion) | [Astro-Han/karpathy-llm-wiki](https://github.com/Astro-Han/karpathy-llm-wiki) | MIT | **IDEA-ONLY — no verbatim code** |
|
|
105
|
+
| 3-phase hard separation: Research→Compile(sequential)→Wiki(read-only query surface); compile never writes wiki/ directly, a wiki query never triggers compile, promotion is the sole path into wiki/ | [nvk/llm-wiki](https://github.com/nvk/llm-wiki) | Apache-2.0 | **IDEA-ONLY — no verbatim code** |
|
|
106
|
+
| Cascade consumption: consume `affected_backlinks` from the M2 compile result to schedule staleness flips (CLEAN→DIRTY) | [lucasastorian/llmwiki](https://github.com/lucasastorian/llmwiki) | Terminology only | **CONCEPT-ONLY — no code** |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## M5 Governance, Conventions, Setup & Adapters — Absorbed Patterns
|
|
111
|
+
|
|
112
|
+
M5 거버넌스/컨벤션/셋업/어댑터 레이어 구현 과정에서 아이디어/방법론만 흡수한 목록이다.
|
|
113
|
+
**verbatim 코드 사용 없음** — 모든 구현은 독립적으로 작성되었다.
|
|
114
|
+
|
|
115
|
+
**Conventions / vault-lint** (`src/kernel/engine/conventions/`)
|
|
116
|
+
|
|
117
|
+
| Pattern | Source | License | Note |
|
|
118
|
+
|---------|--------|---------|------|
|
|
119
|
+
| `validateFrontmatter()` + `parseNote()` delegated for required/type checks; wrapper adds checks 1/4/5 around them | `src/kernel/conventions/{validate,frontmatter}.ts` (self) | Self-authored | Direct import, read-only |
|
|
120
|
+
| Directory-walk pattern (SKIP_DIRS + recursive readdir generator) reimplemented independently to avoid coupling to link-issue logic | `src/kernel/conventions/lint.ts` (self) | Self-authored | Pattern absorbed, not imported |
|
|
121
|
+
|
|
122
|
+
**Setup interview**
|
|
123
|
+
|
|
124
|
+
| Pattern | Source | License | Note |
|
|
125
|
+
|---------|--------|---------|------|
|
|
126
|
+
| Socratic clarity loop; ambiguity scoring `1 − mean(goal, constraint, criteria, context)`; Round-0 topology gate; Contrarian / Simplifier / Ontologist challenge modes | omc deep-interview methodology | Self-reimplemented | **METHOD-ONLY — no source code copied**; loop, scoring, gate, modes independently authored in TypeScript |
|
|
127
|
+
|
|
128
|
+
**Governance skills**
|
|
129
|
+
|
|
130
|
+
| Pattern | Source | License | Note |
|
|
131
|
+
|---------|--------|---------|------|
|
|
132
|
+
| decisions/ zone pattern — a dedicated top-level folder for structural decision artefacts | Ataraxia vault "95. Decisions" | Private vault, no external license | CONCEPT-ONLY — no verbatim content |
|
|
133
|
+
| Six-field ADR structure (context/decision/consequences/status/supersedes/superseded_by) | Michael Nygard ADR template (cognitect.com/blog/2011) | No license stated | IDEA-ONLY — format reimplemented |
|
|
134
|
+
| Taxonomy seeder (read engine DEFAULT → write per-vault override) + vault-confinement guard mirroring `src/kernel/capture/safe.ts` | bstack second-brain design (self) | Self-authored | Full idea absorption |
|
|
135
|
+
| Append-only/immutability → SUPERSEDE-ONLY ADR update rule; architecture.md stub follows the sub-dir README (R21) convention | M3 wiki ledger (self) | Self-authored | Internal reuse, same codebase |
|
|
136
|
+
|
|
137
|
+
**Governance scaffold & ontology schemas** (`.oms/governance/`, `core/ontology/schemas/`)
|
|
138
|
+
|
|
139
|
+
| Pattern | Source | License | Note |
|
|
140
|
+
|---------|--------|---------|------|
|
|
141
|
+
| Two-layer `.oms/governance/` (decisions/ + rules/ + architecture.md) mirroring document-ontology discipline | craft-skills `documents` skill | Internal skill, no external restriction | STRUCTURE-ONLY — all YAML independently authored (ADR-003 / ADR-006) |
|
|
142
|
+
| Thick-router (private) + generic-leaf (public) topology; monorepo + `private/` gitignore isolation | deep-interview R19 / R20 (self) | N/A — internal | No external code; user-ratified design decisions |
|
|
143
|
+
| Layer-1 CONTRACT / Layer-2 GOVERNANCE separation invariants | ADR-006 (self) | N/A — internal | User-ratified 2026-06-13 |
|
|
144
|
+
|
|
145
|
+
**Shared skills** (`assets/skills/`)
|
|
146
|
+
|
|
147
|
+
| Work | Source | License | Note |
|
|
148
|
+
|------|--------|---------|------|
|
|
149
|
+
| Shared skill source consumed by Claude, Codex, and Hermes | `assets/skills/*/SKILL.md` (self) | Self-authored | No external sources absorbed |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
공개적으로 작업하고 공유해주신 위 모든 분들께 다시 한번 진심으로 감사드린다.
|
|
154
|
+
새로운 흡수가 있을 때마다 이 목록을 갱신한다.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Assets Changelog
|
|
2
|
+
|
|
3
|
+
Skills, agents, and ontology data changes belong here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.3.0] - 2026-08-24
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Packaged host guidance names the invocations each host actually installs. Codex namespaces every skill under an `oms-` prefix, so its guidance now says `$oms-write` rather than `$write`, which would fail on a real install. A reference to `core/agents/retriever.md` was also removed: that path never shipped in the npm artifact, so it was broken for every installed user while resolving fine in the repository.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- `assets/skills/` is the single authored source for all six skills — `write`, `search`, `link`, `distill`, `status`, `doctor` — replacing four drifted copies. Frontmatter is restricted to `name`, `description`, `aliases`, `mcp_tool` and `mcp_args`; the five skills that declare a tool are validated against that tool's advertised schema, so a skill cannot ship arguments its tool would reject.
|
|
16
|
+
|
|
17
|
+
### Removed
|
|
18
|
+
|
|
19
|
+
- `skills-manifest.yaml`. It declared itself generated while no generator existed, had no consumer anywhere in the source, scripts or CI, and never shipped in the package.
|
package/CHANGELOG-cli.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# CLI Changelog
|
|
2
|
+
|
|
3
|
+
Changes to the `oms` command surface belong here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.3.0] - 2026-08-24
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- An unrecognised command now exits 1 instead of printing usage and exiting 0. Silent success on a typo made a removed command indistinguishable from a working one.
|
|
12
|
+
|
|
13
|
+
### Removed
|
|
14
|
+
|
|
15
|
+
- The top-level qmd-compatible aliases `oms query`, `oms vsearch`, `oms get`, `oms multi-get` and `oms status` are gone, with ADR-009's D2. The canonical nested commands — `oms semantic query|status|get|multi-get|vsearch` — are unaffected and remain the supported surface.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Kernel Changelog
|
|
2
|
+
|
|
3
|
+
Domain logic changes belong here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.3.0] - 2026-08-24
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Collection scoping now constrains the candidate set before result limiting. A filtered query previously ran against already-truncated results, so it could return nothing while matching in-collection documents sat below the limit.
|
|
12
|
+
- Collection names are matched literally. They were interpolated into a SQL `LIKE` pattern unescaped, so `_` and `%` acted as wildcards and a request for `my_notes` also matched `myXnotes`.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- A `SearchBackend` seam names the retrieval capability OMS actually ships, so a second backend has something to implement against instead of reaching into the engine's own types. A request is either a plain `query` or typed `searches` sub-queries — never both — plus `limit`, `minScore`, and an `intent` field that disambiguates without itself searching. That exclusive choice is enforced at runtime as well as in the type, because a request parsed from JSON at the MCP boundary arrives unchecked.
|
|
17
|
+
- A conformance suite defines what "a search backend" means. A new backend implements the interface and must pass `src/kernel/searchbackend/conformance.test.ts`; anything that can't is not a backend.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- The in-repo engine is the **default** search backend. qmd is pluggable, neither default nor required, and no dependency was added or removed to make the seam exist — a third-party binary is never mandatory for a core capability.
|
|
22
|
+
- A plain `query` expands to lexical search only. Expanding it to lexical + vector was tried and rejected: on a vault with no embeddings that converts a perfectly good lexical answer into a loud failure. Asking for `vec` explicitly still fails loudly with `available: false` naming `OMS_EMBEDDING_PROVIDER` and `OMS_EMBEDDING_MODEL`, which is ADR-007 behaving exactly as locked.
|
|
23
|
+
- **Breaking:** every domain module now lives under `src/kernel/`, and `src/index.ts` moved with it. The package `main` and `types` are now `dist/kernel/index.js` and `dist/kernel/index.d.ts`. Importing the package by name is unaffected; anything reaching into a deep `dist/` path must update, since the package publishes no `exports` map to shield those paths.
|
|
24
|
+
- **Breaking:** `retrieve/` is now `kernel/search/`, matching the `search` skill and the `oms_search` tool that already carried that name.
|
|
25
|
+
- ADR-009 is superseded only in part. D2, the qmd-compatible surface as a product interface, is retired. D1, link-based `resolveEffectiveVault`, remains in force and is load-bearing for the verified-target write kernel — marking the whole ADR dead would have silently retired a live contract.
|
package/CHANGELOG-mcp.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# MCP Changelog
|
|
2
|
+
|
|
3
|
+
MCP server tools and resources belong here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.3.0] - 2026-08-24
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- `oms_search` is genuinely read-only and is now annotated as such. It previously advertised `readOnlyHint: false`, and truthfully so: searching a vault with no index silently created `.oms/` and initialised an SQLite store, and the `embeddingSyncBeforeSearch` family of parameters let any caller turn a search into a write by passing a flag. Neither is possible now. This matters beyond tidiness, because MCP hosts may auto-approve tools that declare themselves read-only.
|
|
12
|
+
|
|
13
|
+
Searching an unindexed vault still returns results. Rather than refusing until you run a command, the server builds the lexical index in memory for the life of the session and answers from that, so a first search on a fresh vault behaves as it always did while leaving the vault byte-identical. Once a persistent index exists it is used as-is and a search never rewrites it; refreshing it is `oms semantic sync`'s job.
|
|
14
|
+
|
|
15
|
+
Preparing lexical or embedding data on disk is now exclusively `oms_doctor { op: "sync-embeddings" }`, which is annotated as writing and routes through the verified-target kernel. Asking for vector retrieval on a vault with no vectors still fails loudly rather than quietly degrading to lexical.
|
|
16
|
+
- `oms_search` advertises `limit` (default 10), `minScore` (default 0) and `rerank` (default false). The first two are applied at the normalizer, so an options-free query is bounded rather than unlimited. `rerank` is opt-in per ADR-011: `true` reranks only when startup was given a real reranker and otherwise fails loudly with configuration guidance, rather than silently returning unreranked results as if the request had been honoured.
|
|
17
|
+
|
|
18
|
+
- The public MCP surface is now five tools — `oms_write`, `oms_search`, `oms_link`, `oms_status`, `oms_doctor` — down from twenty-three. The eighteen detail tools are reachable through an `op` parameter on the tool that owns them; nothing was deleted, so no capability is lost, but any client calling a detail tool by its old name must switch to the owning tool plus `op`.
|
|
19
|
+
- `oms_search` routes through the `SearchBackend` seam. A plain `query` now expands to lexical retrieval and returns results on a vault with no embedding provider, where it previously failed. Asking explicitly for vector retrieval — through a typed `vec` or `hyde` sub-search, the `vec`/`hyde` shorthands, or `mode: "vsearch"` — still fails loudly naming `OMS_EMBEDDING_PROVIDER` and `OMS_EMBEDDING_MODEL`. Lexical is a default for callers who did not choose a strategy, never a substitute for one that was asked for.
|
|
20
|
+
- Supplying an explicit `mode` together with explicit `searches` is refused as contradictory rather than resolved by discarding one of them.
|
|
21
|
+
- `oms_write` refuses a request that addresses the note both ways at once. `notePath` and `folder`/`filename` are alternatives; supplying both used to write one form while reporting the other's implications.
|
|
22
|
+
- Every mutating `oms_doctor` repair returns a typed receipt whose postcondition the server verified by reading persisted state back. Repairs are admitted through the verified-target kernel before anything touches disk, so a `cwd`-inferred target is rejected while diagnosis still works.
|
|
23
|
+
|
|
24
|
+
### Removed
|
|
25
|
+
|
|
26
|
+
- The qmd-compatible aliases `query`, `get`, `multi_get` and `status`, and the `qmd://` resource, are gone. ADR-009's D2 is superseded by ADR-010; D1 remains in force.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Vendors Changelog
|
|
2
|
+
|
|
3
|
+
Per-host adapter and installer changes belong here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.3.0] - 2026-08-24
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Plugin roots moved to the repository root. `.claude-plugin/plugin.json` and `.codex-plugin/plugin.json` now reference `./assets/skills/` as an in-root path, which is what makes a single authored skill source possible; each host keeps its own manifest shape and its own MCP config. Hermes is deliberately asymmetric: it has no repo plugin manifest because `~/.hermes/skills/` is its native surface, and its installer reads the same shared source.
|
|
12
|
+
|
|
13
|
+
### Removed
|
|
14
|
+
|
|
15
|
+
- The `adapters/` tree is gone. Its skills were four copies that had drifted to thirteen, fourteen, twelve and eleven entries; hooks, rules and guidance moved under `assets/`.
|
|
16
|
+
|
|
17
|
+
## [0.1.6] - 2026-06-02
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- The project is published to npm as `oh-my-second-brain`, while `oms` stays the CLI, MCP, skill, and repo slug.
|
|
21
|
+
- The installer defaults to the published npm package instead of `npx` against GitHub release URLs.
|
|
22
|
+
- Host MCP registration now points at the installed `oms mcp --vault ...` command.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
This aggregate changelog contains changes that span multiple layers.
|
|
4
|
+
|
|
5
|
+
- [Kernel changelog](./CHANGELOG-kernel.md) — domain logic
|
|
6
|
+
- [CLI changelog](./CHANGELOG-cli.md) — the `oms` command surface
|
|
7
|
+
- [MCP changelog](./CHANGELOG-mcp.md) — MCP server tools and resources
|
|
8
|
+
- [Vendors changelog](./CHANGELOG-vendors.md) — per-host adapters and installers
|
|
9
|
+
- [Assets changelog](./CHANGELOG-assets.md) — skills, agents, and ontology data
|
|
10
|
+
|
|
3
11
|
## [Unreleased]
|
|
4
12
|
|
|
13
|
+
## [0.3.0] - 2026-08-24
|
|
14
|
+
|
|
15
|
+
### Breaking
|
|
16
|
+
|
|
17
|
+
- **The MCP surface is five tools.** `oms_write`, `oms_search`, `oms_link`, `oms_status` and `oms_doctor` replace the previous twenty-three. The eighteen detail tools were not deleted: each is reachable through an `op` parameter on the tool that owns it, so no capability was lost. A client that calls a detail tool by its old name must switch to the owning tool plus `op`. See [CHANGELOG-mcp.md](./CHANGELOG-mcp.md) for the operation map.
|
|
18
|
+
- **The qmd-compatible aliases are gone.** The `query`, `get`, `multi_get` and `status` commands and the `qmd://` resource were retired; ADR-009's D2 is superseded by ADR-010, while D1 remains in force. The canonical nested commands `oms semantic query|status|get|multi-get|vsearch` are unaffected.
|
|
19
|
+
- **`oms_search` no longer accepts sync parameters.** `embeddingSyncBeforeSearch` and its siblings let a caller turn a search into a write, which is incompatible with the read-only guarantee the tool now makes. Preparing index data on disk is `oms_doctor { op: "sync-embeddings" }`, which is annotated as writing.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **`src/` is five role layers.** `kernel`, `cli`, `mcp`, `vendors` and `assets` replace twenty-one top-level entries, and `adapters/` is dissolved. The domain library is the kernel; the CLI and MCP server are thin entrypoints over it. Three import-direction, module-size and surface-parity gates enforce the boundaries, and all of them fail closed rather than passing on an empty scan.
|
|
24
|
+
- **Skills exist once.** `assets/skills/` holds exactly six — `write`, `search`, `link`, `distill`, `status`, `doctor` — replacing near-duplicate copies that had drifted across four vendor trees. This works because the plugin root is the repository root, so every host manifest points at the same directory; there is no copy step and no generated manifest.
|
|
25
|
+
- **`oms_search` is genuinely read-only** and is annotated as such. It previously created `.oms/` and an SQLite store on a plain search. Searching an unindexed vault still returns results, now from an index built in memory for the session, so the vault is left byte-identical. This matters because MCP hosts may auto-approve tools that declare themselves read-only.
|
|
26
|
+
- The published package now ships `ACKNOWLEDGMENTS.md`, because the licence section links to it and shipping the note without its target left a dangling reference in the artifact.
|
|
27
|
+
- `docs/release.md` no longer ships. It documents how to release this package, which an installed consumer cannot do; the READMEs link to the repository copy instead.
|
|
28
|
+
|
|
5
29
|
## [0.2.0] - 2026-08-19
|
|
6
30
|
|
|
7
31
|
### Added
|
|
@@ -74,13 +98,6 @@
|
|
|
74
98
|
### Fixed
|
|
75
99
|
- Frontmatter diagnostics are tolerant: malformed frontmatter no longer blocks retrieve or build paths.
|
|
76
100
|
|
|
77
|
-
## [0.1.6] - 2026-06-02
|
|
78
|
-
|
|
79
|
-
### Changed
|
|
80
|
-
- The project is published to npm as `oh-my-second-brain`, while `oms` stays the CLI, MCP, skill, and repo slug.
|
|
81
|
-
- The installer defaults to the published npm package instead of `npx` against GitHub release URLs.
|
|
82
|
-
- Host MCP registration now points at the installed `oms mcp --vault ...` command.
|
|
83
|
-
|
|
84
101
|
## [0.1.5] - 2026-06-02
|
|
85
102
|
|
|
86
103
|
### Changed
|
package/README.ko.md
CHANGED
|
@@ -65,7 +65,7 @@ oms install --runtime all --vault /path/to/vault --yes # 적용
|
|
|
65
65
|
| **codex** | `.codex-plugin/plugin.json` | `AGENTS.md` | `$` | 네이티브 스킬 + MCP |
|
|
66
66
|
| **hermes** | `manifest.json` | `SOUL.md` | (MCP/tools) | 네이티브 스킬 + MCP |
|
|
67
67
|
|
|
68
|
-
`oms install`은 호스트 네이티브 규칙/스킬과 관리형 `oms` MCP 등록을 작성하며, `oms uninstall`로 되돌릴 수 있다.
|
|
68
|
+
`oms install`은 호스트 네이티브 규칙/스킬과 관리형 `oms` MCP 등록을 작성하며, `oms uninstall`로 되돌릴 수 있다.
|
|
69
69
|
|
|
70
70
|
## CLI
|
|
71
71
|
|
|
@@ -120,7 +120,7 @@ npm test
|
|
|
120
120
|
npm run release:check # lint + build + test + audit + pack + artifact-smoke + plugin 검증
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
릴리스 절차: [docs/release.md](
|
|
123
|
+
릴리스 절차: [docs/release.md](https://github.com/GoBeromsu/oh-my-second-brain/blob/main/docs/release.md).
|
|
124
124
|
|
|
125
125
|
## 라이선스
|
|
126
126
|
|
package/README.md
CHANGED
|
@@ -14,15 +14,15 @@ It is **convention-first and user-owned**: your vault stays plain markdown, the
|
|
|
14
14
|
## How it works
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
|
|
18
|
-
ontology
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
MCP
|
|
17
|
+
kernel (written once) root host surfaces
|
|
18
|
+
ontology + convention logic .claude-plugin/ Claude plugin manifest
|
|
19
|
+
graph + semantic runtime + .codex-plugin/ Codex plugin manifest
|
|
20
|
+
gated note operations .mcp.json Claude MCP registration
|
|
21
|
+
CLI and MCP entry points .mcp.codex.json Codex MCP registration
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
- **
|
|
25
|
-
-
|
|
24
|
+
- **kernel** is host-agnostic: ontology, validation, graph/semantic logic, and note operations.
|
|
25
|
+
- host-specific assets live at the package root: Claude hooks are in `assets/claude/hooks/`, Codex rules are in `assets/codex/rules/`, and Hermes metadata is `assets/hermes-manifest.json`.
|
|
26
26
|
- the cross-host mechanism is one **MCP server** (`oms mcp`) that every host talks to.
|
|
27
27
|
|
|
28
28
|
## Requirements
|
|
@@ -63,17 +63,17 @@ Full guide: [docs/install.md](./docs/install.md).
|
|
|
63
63
|
|------|----------|-----------------|-------|--------|
|
|
64
64
|
| **claude-code** | `.claude-plugin/plugin.json` | `CLAUDE.md` | `/` | installable |
|
|
65
65
|
| **codex** | `.codex-plugin/plugin.json` | `AGENTS.md` | `$` | native skills + MCP |
|
|
66
|
-
| **hermes** | `manifest.json` | `SOUL.md` | (MCP/tools) | native skills + MCP |
|
|
66
|
+
| **hermes** | `assets/hermes-manifest.json` | `SOUL.md` | (MCP/tools) | native skills + MCP |
|
|
67
67
|
|
|
68
|
-
`oms install` writes the host-native rules/skills and a managed `oms` MCP registration, and is reversible with `oms uninstall`. Per-host details: [
|
|
68
|
+
`oms install` writes the host-native rules/skills and a managed `oms` MCP registration, and is reversible with `oms uninstall`. Per-host details: [docs/install.md](./docs/install.md).
|
|
69
69
|
|
|
70
70
|
## CLI
|
|
71
71
|
|
|
72
72
|
```
|
|
73
73
|
oms setup Adopt an existing vault into the convention (writes .oms/taxonomy.yaml; never edits notes)
|
|
74
|
-
oms install Install host
|
|
75
|
-
oms uninstall Remove host
|
|
76
|
-
oms update Check/apply a package update, then reconcile
|
|
74
|
+
oms install Install host assets + MCP registration
|
|
75
|
+
oms uninstall Remove host assets + MCP registration
|
|
76
|
+
oms update Check/apply a package update, then reconcile host assets
|
|
77
77
|
oms doctor Validate note frontmatter against the ontology (aggregated by field & concept)
|
|
78
78
|
oms lint Check vault link health: broken [[wikilinks]] + orphan notes
|
|
79
79
|
oms semantic Native markdown semantic index / search / get
|
|
@@ -85,11 +85,11 @@ oms hook Vault guard hooks (Claude Code pre/post tool-use)
|
|
|
85
85
|
|
|
86
86
|
## MCP tools
|
|
87
87
|
|
|
88
|
-
`oms mcp` exposes
|
|
88
|
+
`oms mcp` exposes exactly five public tools:
|
|
89
89
|
|
|
90
|
-
`
|
|
90
|
+
`oms_write` · `oms_search` · `oms_link` · `oms_status` · `oms_doctor`
|
|
91
91
|
|
|
92
|
-
`
|
|
92
|
+
`oms_write` is gated by path-safety, vault-confinement, and the kernel-owned concept contract.
|
|
93
93
|
|
|
94
94
|
## Vault layout (`.oms/`)
|
|
95
95
|
|
|
@@ -121,7 +121,7 @@ npm test
|
|
|
121
121
|
npm run release:check # lint + build + test + audit + pack + artifact-smoke + plugin validate
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
Release process: [docs/release.md](
|
|
124
|
+
Release process: [docs/release.md](https://github.com/GoBeromsu/oh-my-second-brain/blob/main/docs/release.md).
|
|
125
125
|
|
|
126
126
|
## License
|
|
127
127
|
|
|
@@ -13,13 +13,13 @@ All knowledge capture and retrieval must follow the declared semantic convention
|
|
|
13
13
|
- Read `.oms/concepts/*.yaml` to understand field requirements and lenses.
|
|
14
14
|
|
|
15
15
|
**When writing vault notes:**
|
|
16
|
-
- Use the `/
|
|
17
|
-
- The kernel fills and checks frontmatter from `.oms`. `ask` or `rejected` means fix and call `
|
|
16
|
+
- Use the `/write` skill. Call MCP `oms_write`. Do not use host Write/Edit for vault `.md` files.
|
|
17
|
+
- The kernel fills and checks frontmatter from `.oms`. `ask` or `rejected` means fix and call `oms_write` again.
|
|
18
18
|
|
|
19
19
|
**When retrieving knowledge:**
|
|
20
|
-
- Use the `/
|
|
20
|
+
- Use the `/search` skill.
|
|
21
21
|
- Apply the concept's declared lens for the retrieval purpose (synthesis, audit, etc.).
|
|
22
22
|
- Return only the fields the lens specifies — do not dump full frontmatter.
|
|
23
23
|
|
|
24
24
|
**Doctor is advisory. Write is not.**
|
|
25
|
-
`oms doctor` always exits 0. MCP `
|
|
25
|
+
`oms doctor` always exits 0. MCP `oms_write` rejects contract violations.
|
|
@@ -10,7 +10,7 @@ This vault is governed by Oh My Second Brain conventions stored in `.oms/`.
|
|
|
10
10
|
- Run `oms doctor` to validate notes against the convention (exits 0, non-blocking).
|
|
11
11
|
- Read `.oms/taxonomy.yaml` and `.oms/concepts/*.yaml` for folder and field declarations.
|
|
12
12
|
|
|
13
|
-
**Write:** Use `$oms-write`. Call MCP `
|
|
14
|
-
**Retrieve:** Use `$oms-
|
|
13
|
+
**Write:** Use `$oms-write`. Call MCP `oms_write`. Do not use host Write/Edit for vault `.md` files.
|
|
14
|
+
**Retrieve:** Use the `$oms-search` skill with declared lenses.
|
|
15
15
|
|
|
16
|
-
> **v0 native install:** `oms install --runtime codex` installs Codex rules, `$oms
|
|
16
|
+
> **v0 native install:** `oms install --runtime codex` installs Codex rules, the `$oms-write`, `$oms-search`, `$oms-link`, `$oms-distill`, `$oms-status`, and `$oms-doctor` skills, and a managed Codex MCP config. Use Oh My Second Brain MCP tools for vault operations and CLI commands for lifecycle.
|
|
@@ -10,12 +10,12 @@ Oh My Second Brain is a convention harness, not a content generator. The user ow
|
|
|
10
10
|
|
|
11
11
|
| User intent | Preferred Oh My Second Brain surface |
|
|
12
12
|
|---|---|
|
|
13
|
-
| adopt a vault |
|
|
14
|
-
| install host integration |
|
|
15
|
-
| uninstall host integration |
|
|
13
|
+
| adopt a vault | `oms setup --vault <path>` |
|
|
14
|
+
| install host integration | `oms install --runtime codex --vault <path> --yes` |
|
|
15
|
+
| uninstall host integration | `oms uninstall --runtime codex --yes` |
|
|
16
16
|
| validate notes | `$oms-doctor` or `oms doctor --vault <path>` |
|
|
17
|
-
| write a vault note | use `$oms-write` / MCP `
|
|
18
|
-
| retrieve knowledge | use MCP `
|
|
17
|
+
| write a vault note | use `$oms-write` / MCP `oms_write` (`create`, `append`, or `update`) |
|
|
18
|
+
| retrieve knowledge | use `$oms-search` / MCP `oms_search`, loading full notes only when needed |
|
|
19
19
|
|
|
20
20
|
## Safety
|
|
21
21
|
|
|
@@ -5,6 +5,6 @@ Installed by `oms install --runtime hermes` into:
|
|
|
5
5
|
- `~/.hermes/skills/knowledge-management/oms/`
|
|
6
6
|
- `~/.hermes/config.yaml` as `mcp_servers.oms`
|
|
7
7
|
|
|
8
|
-
The skill bundle
|
|
8
|
+
The skill bundle contains Oh My Second Brain's `write`, `search`, `link`, `distill`, `status`, and `doctor` skills and uses the Oh My Second Brain MCP server for runtime operations.
|
|
9
9
|
|
|
10
10
|
Unlike Claude Code (`claude plugin install`), Hermes exposes no native marketplace or plugin-update command, so this adapter stays OMS-managed: `oms update` reconciles it by re-running the same install path. `mcp_servers.oms` is edited surgically, leaving the rest of `~/.hermes/config.yaml` — including comments and key ordering — untouched.
|
|
@@ -11,8 +11,8 @@ This vault is governed by Oh My Second Brain conventions stored in `.oms/`.
|
|
|
11
11
|
- Read `.oms/taxonomy.yaml` for folder-to-concept bindings.
|
|
12
12
|
- Read `.oms/concepts/*.yaml` for field declarations and lenses.
|
|
13
13
|
|
|
14
|
-
**Write:** Use the `write` skill. Call MCP `
|
|
14
|
+
**Write:** Use the `write` skill. Call MCP `oms_write`. Do not use host Write/Edit for vault `.md` files.
|
|
15
15
|
|
|
16
|
-
**Retrieve:**
|
|
16
|
+
**Retrieve:** Use the `search` skill or follow the retriever persona — identify purpose, match lens, project lens fields only.
|
|
17
17
|
|
|
18
|
-
> **v0 native install:** `oms install --runtime hermes` installs
|
|
18
|
+
> **v0 native install:** `oms install --runtime hermes` installs the `write`, `search`, `link`, `distill`, `status`, and `doctor` skills and registers Oh My Second Brain MCP in `~/.hermes/config.yaml`. Use Oh My Second Brain MCP tools for vault operations and CLI commands for lifecycle.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Oh My Second Brain convention layer for Obsidian vaults
|
|
5
|
-
"_note": "oms install writes ~/.hermes/config.yaml mcp_servers.oms and installs skills under ~/.hermes/skills/knowledge-management/oms/."
|
|
6
|
-
"skills": "./skills/"
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Oh My Second Brain convention layer for Obsidian vaults — Hermes skill bundle and MCP adapter.",
|
|
5
|
+
"_note": "oms install writes ~/.hermes/config.yaml mcp_servers.oms and installs skills under ~/.hermes/skills/knowledge-management/oms/."
|
|
7
6
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distill
|
|
3
|
+
description: Analyze a target as read-only input and return a structured absorption report.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# distill
|
|
7
|
+
|
|
8
|
+
Analyze a repository, document, skill, or concept as inert read-only input. This is a recipe skill; it has no backing MCP engine and does not write to the vault.
|
|
9
|
+
|
|
10
|
+
## Use when
|
|
11
|
+
|
|
12
|
+
Use this skill to extract reusable patterns, identify risks, and preserve attribution before adopting material from a target.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
/distill <target-path-or-text>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Do not execute the target. Produce a report with exactly three sections: Patterns, Risks, and Attribution. The report is the output; write it only when explicitly requested outside this skill.
|