opensocrates 1.1.4 → 1.2.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/CHANGELOG.md +84 -0
- package/README.ko.md +84 -34
- package/README.md +105 -37
- package/SECURITY.md +7 -0
- package/VERSION +1 -1
- package/installer/opensocrates.mjs +938 -276
- package/package.json +8 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,88 @@ All notable changes to OpenSocrates are documented here. This project follows
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.2.0] - 2026-08-13
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Experimental Google Antigravity integration as a content-only global plugin
|
|
13
|
+
with one explicit `opensocrates` skill, 48 internal authored procedures,
|
|
14
|
+
isolated lifecycle ownership, and an `agy 1.0.6` package-validation receipt.
|
|
15
|
+
It deliberately ships no hooks, runtime, background process, or automatic
|
|
16
|
+
selector.
|
|
17
|
+
- Experimental Cursor Agent Plugin integration with one `/opensocrates` skill,
|
|
18
|
+
48 internal authored procedures, isolated lifecycle ownership, and
|
|
19
|
+
release-gate package validation. It adds no OpenSocrates selector or hook,
|
|
20
|
+
and no live Cursor invocation receipt is claimed.
|
|
21
|
+
- Grok Build is a first-class `grok` installer host with one native,
|
|
22
|
+
auto-selectable `/opensocrates` skill, 48 internal authored procedures,
|
|
23
|
+
deterministic content-only packaging, capability reporting, isolated
|
|
24
|
+
lifecycle ownership, release-gate coverage, and English/Korean support
|
|
25
|
+
documentation. Live Grok Build 1.0.3 evidence bounds automatic activation,
|
|
26
|
+
explicit invocation, hook behavior, and remaining TUI/subagent limitations.
|
|
27
|
+
- First-class OpenCode 1.18.18+ integration using the stable `chat.message`
|
|
28
|
+
hook for live-validated same-turn local activation and a native
|
|
29
|
+
`opensocrates` Agent Skill fallback.
|
|
30
|
+
- Provider-neutral, dependency-free OpenCode bridge with bounded input,
|
|
31
|
+
duplicate prevention, and exception fail-open behavior. A live
|
|
32
|
+
DeepSeek V4 Flash smoke test is recorded without embedding provider settings.
|
|
33
|
+
- OpenCode install, status, verify, update, remove, rollback, automatic-update,
|
|
34
|
+
and `--host all` lifecycle support with exact-path ownership and complete
|
|
35
|
+
installed inventory verification.
|
|
36
|
+
- Deterministic OpenCode package generation, release-gate validation,
|
|
37
|
+
capability reporting, privacy-safe compatibility evidence, and English and
|
|
38
|
+
Korean support documentation.
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Pre-release and offline `--host all` transactions now treat supplied
|
|
43
|
+
host-qualified asset pairs as the exact host set. Candidate packages are no
|
|
44
|
+
longer mixed with public-release downloads merely because another supported
|
|
45
|
+
host CLI is available on the machine.
|
|
46
|
+
|
|
47
|
+
### Security and privacy
|
|
48
|
+
|
|
49
|
+
- The OpenCode installer never rewrites `opencode.json`; it refuses unowned,
|
|
50
|
+
partial, symbolic-link, and unsafe exact paths while preserving unrelated
|
|
51
|
+
plugins, skills, and configuration.
|
|
52
|
+
- The OpenCode bridge makes no network, subprocess, recursive OpenCode, extra
|
|
53
|
+
model, telemetry, or credential access and preserves the complete-procedure
|
|
54
|
+
grounding requirement.
|
|
55
|
+
|
|
56
|
+
## [1.1.5] - 2026-08-12
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
- Packaged `diagnose` now verifies the complete installed file inventory
|
|
61
|
+
against `checksums.sha256` and validates the release manifest's runtime
|
|
62
|
+
version, host, and content revision. Explicit `mismatch`, `unavailable`, and
|
|
63
|
+
`unverified` states replace presence-based claims
|
|
64
|
+
([#64](https://github.com/ParkerHwang/OpenSocrates/issues/64)).
|
|
65
|
+
- Release tests execute the packaged runtime against both intact packages and
|
|
66
|
+
a staged tampered Claude package so integrity reporting is exercised outside
|
|
67
|
+
the source process ([#64](https://github.com/ParkerHwang/OpenSocrates/issues/64)).
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- Claude grounding artifacts now prefer an owner-only, self-ignored
|
|
72
|
+
`.opensocrates` area inside the active workspace, while retaining the OS
|
|
73
|
+
temporary directory as a fail-open fallback. Lookup, receipts, expiry, and
|
|
74
|
+
cleanup handle both roots during upgrades and fallback runs
|
|
75
|
+
([#62](https://github.com/ParkerHwang/OpenSocrates/issues/62)).
|
|
76
|
+
- Codex package and installation documentation now requires one interactive
|
|
77
|
+
hook approval before automatic selection is expected and distinguishes
|
|
78
|
+
release-validated packaging from unvalidated live hook delivery
|
|
79
|
+
([#63](https://github.com/ParkerHwang/OpenSocrates/issues/63)).
|
|
80
|
+
|
|
81
|
+
### Fixed
|
|
82
|
+
|
|
83
|
+
- Default-permission `claude -p` sessions can read selected grounding content
|
|
84
|
+
without `--add-dir`, avoiding the denied-read repair loop caused by placing
|
|
85
|
+
artifacts only in the system temporary directory
|
|
86
|
+
([#62](https://github.com/ParkerHwang/OpenSocrates/issues/62)).
|
|
87
|
+
- `diagnose` no longer reports manifest and checksum verification merely
|
|
88
|
+
because package files exist ([#64](https://github.com/ParkerHwang/OpenSocrates/issues/64)).
|
|
89
|
+
|
|
8
90
|
## [1.1.4] - 2026-08-12
|
|
9
91
|
|
|
10
92
|
### Added
|
|
@@ -305,3 +387,5 @@ All notable changes to OpenSocrates are documented here. This project follows
|
|
|
305
387
|
[1.1.2]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.1...v1.1.2
|
|
306
388
|
[1.1.3]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.2...v1.1.3
|
|
307
389
|
[1.1.4]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.3...v1.1.4
|
|
390
|
+
[1.1.5]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.4...v1.1.5
|
|
391
|
+
[1.2.0]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.5...v1.2.0
|
package/README.ko.md
CHANGED
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
[](https://github.com/ParkerHwang/OpenSocrates/releases)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
|
-
OpenSocrates는 Claude
|
|
14
|
+
OpenSocrates는 Claude, Codex, Grok Build, OpenCode를 위한 로컬 연동 및 저작 추론 프레임워크입니다.
|
|
15
15
|
의도적인 추론이 필요한 요청을 감지하고, 현재 호스트의 새로운 셀렉터에서 적합한
|
|
16
16
|
추론 시스템을 고른 뒤, 이론과 예제 전체를 활성 작업에 추가합니다. 단순한 사실
|
|
17
17
|
확인과 기계적인 작업은 그대로 통과할 수 있습니다.
|
|
18
18
|
|
|
19
|
-
버전 `1.
|
|
20
|
-
|
|
19
|
+
버전 `1.2.0`에는 48개의 추론 시스템과 OpenCode의 안정판 같은 턴 자동 활성화,
|
|
20
|
+
네이티브 스킬 폴백, Claude/Codex/OpenCode 통합 라이프사이클,
|
|
21
21
|
선택형 자동 업데이트가 들어 있습니다. 현재 릴리스 플랫폼은 Apple Silicon
|
|
22
22
|
macOS(`darwin-arm64`)입니다. 기존 호스트 로그인을 사용하므로 API 키나
|
|
23
23
|
OpenSocrates 백엔드가 필요하지 않습니다.
|
|
@@ -26,17 +26,22 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
26
26
|
런처는 `darwin-arm64`만 허용하며, Intel Mac·Linux·Windows용 런처와 런타임은
|
|
27
27
|
이번 릴리스에 포함되거나 지원되지 않습니다.
|
|
28
28
|
|
|
29
|
-
> **최신 릴리스:
|
|
30
|
-
>
|
|
31
|
-
>
|
|
32
|
-
> `npx --yes opensocrates@1.
|
|
33
|
-
> 업데이트할 수 있습니다.
|
|
29
|
+
> **최신 릴리스: OpenSocrates 1.2.0.** 실험적 Antigravity·Cursor 스킬
|
|
30
|
+
> 패키지, 라이브 검증을 마친 Grok Build 네이티브 지원, OpenCode
|
|
31
|
+
> 1.18.18+의 안정판 `chat.message` 브리지와 네이티브 Agent Skill 폴백을
|
|
32
|
+
> 추가했습니다. `npx --yes opensocrates@1.2.0 update --host all`로 관리
|
|
33
|
+
> 호스트를 함께 업데이트할 수 있습니다.
|
|
34
34
|
|
|
35
35
|
## 호스트 지원 범위
|
|
36
36
|
|
|
37
37
|
| 호스트 화면 | 자동 선택 | 사용자 진입점 | 검증 상태 |
|
|
38
38
|
| --- | --- | --- | --- |
|
|
39
|
-
|
|
|
39
|
+
| Google Antigravity CLI | 명시적 스킬만 지원 | `opensocrates` 스킬 | [실험적 콘텐츠 전용 플러그인](docs/antigravity-support.md) |
|
|
40
|
+
| Cursor IDE 및 CLI | 별도 셀렉터 없이 스킬 탐색 | `/opensocrates` | [실험적 콘텐츠 전용 Agent Plugin, 라이브 영수증 없음](docs/cursor-support.md) |
|
|
41
|
+
| Grok Build `grok -p` | 네이티브 스킬로 같은 턴에 지원 | `/opensocrates` | [Grok Build 1.0.3 자동·명시적 네이티브 스킬 검증 완료](docs/grok-support.md) |
|
|
42
|
+
| Grok Build TUI | 헤드리스와 같은 네이티브 플러그인, 활성화 영수증은 대기 중 | `/opensocrates` | [TUI 훅 실행 검증 완료, 네이티브 스킬 마커 테스트는 미완료, 배포 패키지에 훅 없음](docs/grok-support.md) |
|
|
43
|
+
| OpenCode TUI 및 `opencode run` | 안정판 같은 턴 로컬 브리지 | 네이티브 `opensocrates` 스킬 | [OpenCode 1.18.18 TUI, `opencode run` 및 DeepSeek V4 Flash 라이브 스모크 완료](docs/opencode-support.ko.md) |
|
|
44
|
+
| Codex CLI 및 Desktop | 앱에서 훅을 한 번 승인한 뒤 지원 | OpenSocrates 플러그인 | `darwin-arm64` 패키지·런처 릴리스 검증 완료, 실제 Codex 훅 전달 영수증 없음 |
|
|
40
45
|
| Claude Code CLI | `UserPromptSubmit` 훅으로 지원 | `/opensocrates` | `darwin-arm64` 로컬 검증 완료 |
|
|
41
46
|
| Claude Code 데스크톱 앱 | Claude Code 플러그인이 실행되는 곳에서 지원 | `/opensocrates` | [인증된 훅 생명주기 로컬 검증 완료](docs/claude-desktop-live-probe.md) |
|
|
42
47
|
| Claude Cowork | 실측 로컬 플러그인 업로드에서 지원 | `/opensocrates` | [네이티브 훅 생명주기 로컬 검증 완료, 릴리스 직접 업로드 지원, 마켓플레이스 동기화 없음](docs/claude-cowork-live-probe.md) |
|
|
@@ -47,7 +52,8 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
47
52
|
- **구현 완료** — 코드에 존재하고 패키지에 포함됩니다.
|
|
48
53
|
- **로컬 검증 완료** — 관리자 장비에서 전 구간을 실행했지만 매 빌드마다
|
|
49
54
|
검증하지는 않습니다.
|
|
50
|
-
- **릴리스 검증 완료** — 릴리스 게이트가 매 빌드마다 실행합니다.
|
|
55
|
+
- **릴리스 검증 완료** — 릴리스 게이트가 매 빌드마다 실행합니다. 현재 Codex는
|
|
56
|
+
패키지와 런처를 검증하며 실제 훅 전달까지 검증했다는 뜻은 아닙니다.
|
|
51
57
|
- **실험적 / 실측 수신 기록 없음** — 구현은 되어 있지만 호스트가 실제로 훅을
|
|
52
58
|
전달했다는 기록이 없습니다. `os capabilities show`는 이 항목들을 사용 가능이
|
|
53
59
|
아니라 `unknown`으로 보고합니다.
|
|
@@ -71,6 +77,8 @@ receipt, Stop, 정리 생명주기도 로컬 검증을 마쳤습니다. 버전 1
|
|
|
71
77
|
|
|
72
78
|
- Claude: Claude Code `2.1.205` 이상과 `claude` 명령
|
|
73
79
|
- Codex: OAuth 로그인이 완료된 `codex` 명령
|
|
80
|
+
- Grok Build: `grok 1.0.3` 이상과 기존 Grok 인증(API 키 추가 불필요)
|
|
81
|
+
- OpenCode: OpenCode `1.18.18` 이상, 설정된 공급자/모델 제한 없음
|
|
74
82
|
|
|
75
83
|
Node.js 20 이상이 필요합니다. npm에 게시된 `opensocrates` 패키지는 외부
|
|
76
84
|
의존성이 없는 작은 설치 프로그램입니다. GitHub Releases에서 호스트 패키지를
|
|
@@ -80,20 +88,20 @@ Node.js 20 이상이 필요합니다. npm에 게시된 `opensocrates` 패키지
|
|
|
80
88
|
### 준비된 모든 호스트에 설치
|
|
81
89
|
|
|
82
90
|
```bash
|
|
83
|
-
npx --yes opensocrates@1.
|
|
91
|
+
npx --yes opensocrates@1.2.0 install --host all
|
|
84
92
|
```
|
|
85
93
|
|
|
86
94
|
모든 호스트 경로는 지원되는 인증 완료 CLI를 찾고, 어느 호스트도 바꾸기 전에
|
|
87
|
-
전체 사전점검을 끝냅니다.
|
|
95
|
+
전체 사전점검을 끝냅니다. 선택된 패키지를 모두 검증·스테이징한 다음 한 릴리스를
|
|
88
96
|
트랜잭션으로 활성화합니다. 한 호스트의 활성화가 실패하면 이번 트랜잭션에서 이미
|
|
89
97
|
바뀐 호스트도 이전 관리형 등록으로 되돌립니다.
|
|
90
98
|
|
|
91
99
|
전체 라이프사이클에서 같은 호스트 값을 사용할 수 있습니다.
|
|
92
100
|
|
|
93
101
|
```bash
|
|
94
|
-
npx --yes opensocrates@1.
|
|
95
|
-
npx --yes opensocrates@1.
|
|
96
|
-
npx --yes opensocrates@1.
|
|
102
|
+
npx --yes opensocrates@1.2.0 status --host all
|
|
103
|
+
npx --yes opensocrates@1.2.0 update --host all
|
|
104
|
+
npx --yes opensocrates@1.2.0 remove --host all
|
|
97
105
|
```
|
|
98
106
|
|
|
99
107
|
소유자 전용 `~/.opensocrates/desired-state.json`에는 선택 채널, 설치된 호스트,
|
|
@@ -105,15 +113,31 @@ npx --yes opensocrates@1.1.4 remove --host all
|
|
|
105
113
|
기존 사용자와의 호환성을 위해 기본 호스트는 계속 Codex입니다.
|
|
106
114
|
|
|
107
115
|
```bash
|
|
108
|
-
npx --yes opensocrates@1.
|
|
109
|
-
# 같은 명령: npx --yes opensocrates@1.
|
|
110
|
-
npx --yes opensocrates@1.
|
|
116
|
+
npx --yes opensocrates@1.2.0 install
|
|
117
|
+
# 같은 명령: npx --yes opensocrates@1.2.0 install --host codex
|
|
118
|
+
npx --yes opensocrates@1.2.0 install --host claude
|
|
119
|
+
npx --yes opensocrates@1.2.0 install --host antigravity
|
|
120
|
+
npx --yes opensocrates@1.2.0 install --host cursor
|
|
121
|
+
npx --yes opensocrates@1.2.0 install --host grok
|
|
122
|
+
npx --yes opensocrates@1.2.0 install --host opencode
|
|
111
123
|
```
|
|
112
124
|
|
|
125
|
+
Grok Build는 `~/.grok/plugins/opensocrates`에 네이티브 콘텐츠 전용 플러그인을
|
|
126
|
+
설치합니다. 자동 선택과 명시적 호출이 가능한 `/opensocrates` 스킬 하나와 내부
|
|
127
|
+
절차 48개만 포함하며, 훅·명령·에이전트·MCP 서버·런처·런타임·중첩 셀렉터 호출은
|
|
128
|
+
포함하지 않습니다. 설치 프로그램은 Grok의 기계 판독 상태를 확인하지만 이 정확한
|
|
129
|
+
디렉터리만 소유하며 Claude 설치를 변경하거나 삭제하지 않습니다. 자세한 내용은
|
|
130
|
+
[Grok Build 지원 경계](docs/grok-support.md)를 참고하세요.
|
|
131
|
+
|
|
113
132
|
기존 `--host codex` 및 `--host claude` 라이프사이클은 그대로 지원합니다. 호스트별
|
|
114
133
|
업데이트는 의도적으로 버전 차이를 만들 수 있고, 이후 `update --host all` 또는
|
|
115
134
|
성공한 자동 조정이 desired state에 기록된 모든 호스트를 다시 한 버전으로 맞춥니다.
|
|
116
135
|
|
|
136
|
+
OpenCode 설치는 `~/.config/opencode` 아래의 `plugins/opensocrates.js`, 소유권
|
|
137
|
+
사이드카, `skills/opensocrates/`만 소유합니다. `opencode.json`이나 관계없는
|
|
138
|
+
플러그인·스킬은 수정하지 않습니다. 자세한 경계는
|
|
139
|
+
[OpenCode 지원 문서](docs/opencode-support.ko.md)를 참고하세요.
|
|
140
|
+
|
|
117
141
|
Claude 상태는 활성 설치와 설치됐지만 비활성화된 플러그인을 구분합니다. 원하는
|
|
118
142
|
설치가 비활성 상태라면 drift로 보고합니다. `install` 또는 `update`를 실행하면 검증된
|
|
119
143
|
패키지를 의도적으로 다시 활성화하며, 활성화가 실패하면 롤백이 이전의 활성·비활성
|
|
@@ -124,9 +148,9 @@ Claude 상태는 활성 설치와 설치됐지만 비활성화된 플러그인
|
|
|
124
148
|
### 선택형 자동 업데이트
|
|
125
149
|
|
|
126
150
|
```bash
|
|
127
|
-
npx --yes opensocrates@1.
|
|
128
|
-
npx --yes opensocrates@1.
|
|
129
|
-
npx --yes opensocrates@1.
|
|
151
|
+
npx --yes opensocrates@1.2.0 auto-update enable --host all
|
|
152
|
+
npx --yes opensocrates@1.2.0 auto-update status
|
|
153
|
+
npx --yes opensocrates@1.2.0 auto-update disable
|
|
130
154
|
```
|
|
131
155
|
|
|
132
156
|
자동 업데이트는 명시적으로 켜기 전까지 비활성화되어 있습니다. macOS LaunchAgent는
|
|
@@ -148,7 +172,7 @@ LaunchAgent를 언로드하고 삭제하며, `remove --host all`도 관리 호
|
|
|
148
172
|
### Claude 웹 및 Desktop Chat 스킬
|
|
149
173
|
|
|
150
174
|
이 화면들은 플러그인 스킬은 지원하지만 훅은 실행하지 않습니다. 릴리스에서
|
|
151
|
-
`opensocrates-1.
|
|
175
|
+
`opensocrates-1.2.0-claude-chat-skills.zip`을 내려받아 Claude의 **사용자 지정 →
|
|
152
176
|
스킬 → 스킬 업로드** 화면에서 업로드하세요. ZIP은 업로더 요구사항에 맞춰
|
|
153
177
|
최상위 `opensocrates/` 폴더 바로 아래에 `SKILL.md`를 둡니다. 패키지는
|
|
154
178
|
`/opensocrates` 스킬 하나만 노출하고, 48개
|
|
@@ -162,24 +186,25 @@ LaunchAgent를 언로드하고 삭제하며, `remove --host all`도 관리 호
|
|
|
162
186
|
npm 레지스트리를 거치지 않을 때도 같은 호스트 옵션을 사용합니다.
|
|
163
187
|
|
|
164
188
|
```bash
|
|
165
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
166
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
167
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
189
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host all
|
|
190
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host claude
|
|
191
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host codex
|
|
192
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host opencode
|
|
168
193
|
```
|
|
169
194
|
|
|
170
195
|
### 릴리스 파일 직접 검증
|
|
171
196
|
|
|
172
|
-
[v1.
|
|
197
|
+
[v1.2.0 릴리스](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.2.0)에서
|
|
173
198
|
`opensocrates.mjs`, 호스트 패키지, `.sha256` 파일을 내려받습니다. Claude의 예:
|
|
174
199
|
|
|
175
200
|
```bash
|
|
176
|
-
shasum -a 256 -c opensocrates-1.
|
|
201
|
+
shasum -a 256 -c opensocrates-1.2.0-claude-plugin.zip.sha256
|
|
177
202
|
node opensocrates.mjs install --host claude \
|
|
178
|
-
--asset opensocrates-1.
|
|
179
|
-
--checksum opensocrates-1.
|
|
203
|
+
--asset opensocrates-1.2.0-claude-plugin.zip \
|
|
204
|
+
--checksum opensocrates-1.2.0-claude-plugin.zip.sha256
|
|
180
205
|
```
|
|
181
206
|
|
|
182
|
-
|
|
207
|
+
다른 호스트 패키지는 `claude`를 `antigravity`, `codex`, `cursor`, `opencode`로 바꾸면 됩니다.
|
|
183
208
|
|
|
184
209
|
### 1.0 이전 Claude 플러그인에서 이전하기
|
|
185
210
|
|
|
@@ -191,7 +216,7 @@ Codex 패키지는 `claude`를 `codex`로 바꾸면 됩니다.
|
|
|
191
216
|
```bash
|
|
192
217
|
claude plugin uninstall opensocrates@OpenSocrates --scope user
|
|
193
218
|
claude plugin marketplace remove OpenSocrates --scope user
|
|
194
|
-
npx --yes opensocrates@1.
|
|
219
|
+
npx --yes opensocrates@1.2.0 install --host claude
|
|
195
220
|
```
|
|
196
221
|
|
|
197
222
|
관리형 v1.1.0 Claude 설치를 업데이트하면 패키지 트리 전체가 교체됩니다. 따라서
|
|
@@ -200,18 +225,35 @@ npx --yes opensocrates@1.1.4 install --host claude
|
|
|
200
225
|
|
|
201
226
|
## 사용법
|
|
202
227
|
|
|
203
|
-
Claude
|
|
228
|
+
Claude, Codex, OpenCode를 평소처럼 사용하세요. 요청에 판단, 해석, 진단, 설명, 계획,
|
|
204
229
|
근거 조정 또는 다른 구조적 추론이 필요하면 OpenSocrates가 개입할 수 있습니다.
|
|
205
|
-
|
|
230
|
+
Claude/Codex 네이티브 런타임 화면에서는 다음과 같이 동작합니다.
|
|
206
231
|
|
|
207
232
|
1. 현재 호스트에서 새로운 비영구 셀렉터를 시작합니다.
|
|
208
233
|
2. 저작된 48개 시스템 카탈로그에서 적합한 시스템을 선택합니다.
|
|
209
|
-
3. 선택된 전체 콘텐츠를 소유자 전용
|
|
234
|
+
3. 선택된 전체 콘텐츠를 소유자 전용 Markdown 파일에 씁니다.
|
|
210
235
|
4. 각 방법 ID와 콘텐츠 리비전, 크기 한도 안에 들면 정확한 `Do not use when` 및
|
|
211
236
|
`Stop conditions`를 작은 숨김 컨텍스트에 추가합니다.
|
|
212
237
|
5. 활성 작업이 방법을 적용하기 전에 전체 파일을 읽고, 접지된 답변의 마지막에
|
|
213
238
|
`OpenSocrates grounding: triangulation@1`과 같은 정확한 감사 줄을 남기게 합니다.
|
|
214
239
|
|
|
240
|
+
OpenCode에서는 의존성 없는 안정판 훅이 로컬에서 방법을 고르고 완전한 저작 절차
|
|
241
|
+
하나를 같은 메시지 턴에 직접 삽입합니다. artifact나 추가 모델 호출은 만들지
|
|
242
|
+
않습니다. [OpenCode 지원 경계](docs/opencode-support.ko.md)를 참고하세요.
|
|
243
|
+
|
|
244
|
+
Codex에 설치한 뒤에는 대화형 Codex 세션을 한 번 열어 OpenSocrates 훅을 승인해야
|
|
245
|
+
자동 선택을 신뢰할 수 있습니다. 이 승인이 끝나기 전에는 `codex exec` 같은 비대화형
|
|
246
|
+
화면이 신뢰되지 않은 훅을 조용히 건너뛸 수 있습니다.
|
|
247
|
+
|
|
248
|
+
Claude 훅 화면은 추가 디렉터리 권한 없이 선택 콘텐츠를 읽을 수 있도록 현재
|
|
249
|
+
워크스페이스 안의 소유자 전용 `.opensocrates` artifact 영역을 우선 사용합니다.
|
|
250
|
+
내부 `.gitignore`가 이 영역을 `git status`에서 숨기고 turn·세션 정리 시 파일을
|
|
251
|
+
삭제합니다. 워크스페이스를 사용할 수 없으면 소유자 전용 OS 임시 디렉터리로
|
|
252
|
+
대체합니다. 다만 `.gitignore`나 숨김 디렉터리를 무시하지 않는 별도 백업·동기화
|
|
253
|
+
도구는 artifact가 존재하는 동안 저작된 OpenSocrates 콘텐츠를 볼 수 있습니다.
|
|
254
|
+
artifact에는 원시 프롬프트, 대화 기록, 워크스페이스 콘텐츠, 자격 증명, 셀렉터
|
|
255
|
+
추론이 들어가지 않습니다.
|
|
256
|
+
|
|
215
257
|
Claude 훅 화면에서는 Read 전용 `PostToolUse` 훅이 현재 turn의 정확한 파일을 첫
|
|
216
258
|
줄부터 종료 표식까지 읽은 경우에만 인증된 영수증을 만듭니다. `Stop` 시 영수증이나
|
|
217
259
|
감사 줄이 없으면 한 번만 보정을 요청하고, `stop_hook_active`로 반복 보정을
|
|
@@ -294,6 +336,13 @@ Claude 셀렉터 시도는 `executable_missing`, `request_rejected`, `spawn_fail
|
|
|
294
336
|
표시합니다. 다음 유효한 셀렉터 결과가 현재 스키마의 손상된 집계를 새로운 제한된
|
|
295
337
|
카운트 문서로 교체하며, 알 수 없는 미래 스키마는 해당 새 런타임을 위해 보존합니다.
|
|
296
338
|
|
|
339
|
+
패키지의 `diagnose` 명령은 설치 파일 목록을 `checksums.sha256`과 대조하고 릴리스
|
|
340
|
+
manifest가 실행 중인 버전·호스트·콘텐츠 리비전을 가리키는지도 확인합니다. 단순한
|
|
341
|
+
파일 존재 여부로 성공을 추정하지 않고 `verified`, `mismatch`, `unavailable`,
|
|
342
|
+
`unverified`를 표시합니다. 이 해시는 로컬 변경이나 손상을 찾지만 manifest와
|
|
343
|
+
checksum 파일 자체는 서명되지 않았으므로 패키지 전체를 바꿀 수 있는 공격자에 대한
|
|
344
|
+
진본성 증명은 아닙니다.
|
|
345
|
+
|
|
297
346
|
자동 업데이트를 켜면 앞서 설명한 desired state와 간결한 영수증만 소유자 전용
|
|
298
347
|
권한으로 저장합니다. 실행 중인 Claude나 Codex 세션을 검사하거나 종료하지 않습니다.
|
|
299
348
|
이미 실행 중인 작업은 로드한 플러그인을 계속 쓰고, 새 작업이 조정된 버전을 자연스럽게
|
|
@@ -346,6 +395,7 @@ make release-check
|
|
|
346
395
|
| `content/` | 정책, 다국어 메시지, 추론 방법, 이론과 예제 |
|
|
347
396
|
| `plugin-src/claude/` | Claude 플러그인 템플릿 |
|
|
348
397
|
| `plugin-src/codex/` | Codex 플러그인 템플릿 |
|
|
398
|
+
| `plugin-src/grok/` | Grok Build 네이티브 콘텐츠 전용 플러그인 템플릿 |
|
|
349
399
|
| `schemas/source/` | 정규 스키마 정의 |
|
|
350
400
|
| `schemas/v1/` | 생성된 버전 고정 공개 스키마 |
|
|
351
401
|
| `installer/` | 외부 의존성이 없는 Node.js GitHub/npx 설치 프로그램 |
|
package/README.md
CHANGED
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
14
|
OpenSocrates is a local integration and authored reasoning framework for
|
|
15
|
-
Claude and
|
|
15
|
+
Claude, Codex, Grok Build, and OpenCode. It detects requests that benefit from deliberate reasoning,
|
|
16
16
|
uses a fresh host-native selector to choose relevant systems, and adds their
|
|
17
17
|
complete theory and examples to the active task. Straightforward factual and
|
|
18
18
|
mechanical work can pass through unchanged.
|
|
19
19
|
|
|
20
|
-
Version `1.
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
Version `1.2.0` adds first-class OpenCode support to the 48 reasoning systems,
|
|
21
|
+
including stable same-turn activation, a native skill fallback, coordinated
|
|
22
|
+
multi-host lifecycle management, and opt-in automatic updates on
|
|
23
23
|
Apple-silicon macOS (`darwin-arm64`). It uses your existing host login and does
|
|
24
24
|
not require an API key or an OpenSocrates backend.
|
|
25
25
|
|
|
@@ -27,17 +27,22 @@ The native plugin archives intentionally ship only `bin/launch.sh`. That
|
|
|
27
27
|
launcher accepts `darwin-arm64` only; macOS Intel, Linux, and Windows launchers
|
|
28
28
|
and runtimes are not shipped or supported in this release.
|
|
29
29
|
|
|
30
|
-
> **Latest release:
|
|
31
|
-
>
|
|
32
|
-
>
|
|
33
|
-
> Upgrade
|
|
34
|
-
> `npx --yes opensocrates@1.
|
|
30
|
+
> **Latest release: OpenSocrates 1.2.0.** It adds experimental Antigravity and
|
|
31
|
+
> Cursor skill packages, live-validated native Grok Build support, and OpenCode
|
|
32
|
+
> 1.18.18+ with a stable `chat.message` bridge and native Agent Skill fallback.
|
|
33
|
+
> Upgrade managed hosts together with
|
|
34
|
+
> `npx --yes opensocrates@1.2.0 update --host all`.
|
|
35
35
|
|
|
36
36
|
## Host support
|
|
37
37
|
|
|
38
38
|
| Host surface | Automatic selection | User-facing entry | Validation status |
|
|
39
39
|
| --- | --- | --- | --- |
|
|
40
|
-
|
|
|
40
|
+
| Google Antigravity CLI | No; explicit skill only | `opensocrates` skill | [Experimental content-only plugin; `agy 1.0.6` validation passed](docs/antigravity-support.md) |
|
|
41
|
+
| Cursor IDE and CLI | Cursor may discover the skill; no separate OpenSocrates selector call | `/opensocrates` | [Experimental content-only Agent Plugin; official package contract checked, no live Cursor receipt](docs/cursor-support.md) |
|
|
42
|
+
| Grok Build `grok -p` | Yes; native same-turn skill selection | `/opensocrates` | [Automatic and explicit native skill validated on Grok Build 1.0.3](docs/grok-support.md) |
|
|
43
|
+
| Grok Build TUI | Native plugin is shared with headless; activation receipt pending | `/opensocrates` | [TUI hook execution verified, native skill marker test pending; shipped package has no hooks](docs/grok-support.md) |
|
|
44
|
+
| OpenCode TUI and `opencode run` | Yes; stable same-turn local bridge | Native `opensocrates` skill | [OpenCode 1.18.18 TUI, `opencode run`, and DeepSeek V4 Flash live smoke validated](docs/opencode-support.md) |
|
|
45
|
+
| Codex CLI and Desktop | Yes, after one-time in-app hook approval | OpenSocrates plugin | Package and launcher release-validated on `darwin-arm64`; no live Codex hook-delivery receipt |
|
|
41
46
|
| Claude Code CLI | Yes, through `UserPromptSubmit` | `/opensocrates` | Locally validated on `darwin-arm64` |
|
|
42
47
|
| Claude Code desktop app | Yes, where Claude Code plugins run | `/opensocrates` | [Authenticated hook lifecycle locally validated](docs/claude-desktop-live-probe.md) |
|
|
43
48
|
| Claude Cowork | Yes, in the tested local plugin upload | `/opensocrates` | [Native hook lifecycle locally validated; direct release upload, no marketplace sync](docs/claude-cowork-live-probe.md) |
|
|
@@ -49,7 +54,8 @@ interchangeable:
|
|
|
49
54
|
- **Implemented** — the integration exists in code and ships in the package.
|
|
50
55
|
- **Locally validated** — exercised end to end on a maintainer machine, but
|
|
51
56
|
not on every build.
|
|
52
|
-
- **Release-validated** — exercised by the release gate on every build.
|
|
57
|
+
- **Release-validated** — exercised by the release gate on every build. For
|
|
58
|
+
Codex this currently covers the package and launcher, not live hook delivery.
|
|
53
59
|
- **Experimental / no live probe receipt** — implemented, but no captured
|
|
54
60
|
receipt shows the host actually delivering the hook. `os capabilities show`
|
|
55
61
|
reports these capabilities as `unknown`, not as available.
|
|
@@ -73,8 +79,12 @@ rather than repository sync.
|
|
|
73
79
|
|
|
74
80
|
Before installing, sign in to the host and make sure its command is available:
|
|
75
81
|
|
|
82
|
+
- Antigravity: `agy 1.0.0` or later; support is explicit-skill only;
|
|
83
|
+
- Cursor: Cursor `2.5.0` or later; support is explicit-skill first;
|
|
76
84
|
- Claude: Claude Code `2.1.205` or later and the `claude` command;
|
|
77
85
|
- Codex: an OAuth-authenticated `codex` command.
|
|
86
|
+
- Grok Build: `grok 1.0.3` or later; existing Grok authentication, with no additional API key.
|
|
87
|
+
- OpenCode: OpenCode `1.18.18` or later; any configured provider/model is accepted.
|
|
78
88
|
|
|
79
89
|
Node.js 20 or later is required. The published `opensocrates` npm package is a
|
|
80
90
|
small, dependency-free installer. It downloads the matching package from
|
|
@@ -84,21 +94,21 @@ before registering an owner-marked managed marketplace.
|
|
|
84
94
|
### Install every ready host
|
|
85
95
|
|
|
86
96
|
```bash
|
|
87
|
-
npx --yes opensocrates@1.
|
|
97
|
+
npx --yes opensocrates@1.2.0 install --host all
|
|
88
98
|
```
|
|
89
99
|
|
|
90
100
|
The all-host path detects supported, authenticated host CLIs, completes every
|
|
91
|
-
preflight before changing
|
|
92
|
-
then activates one release transactionally. If one activation fails, every
|
|
101
|
+
preflight before changing any host, verifies and stages every selected package,
|
|
102
|
+
and then activates one release transactionally. If one activation fails, every
|
|
93
103
|
host already changed in that transaction is restored to its previous managed
|
|
94
104
|
registration.
|
|
95
105
|
|
|
96
106
|
Use the same host value for the complete lifecycle:
|
|
97
107
|
|
|
98
108
|
```bash
|
|
99
|
-
npx --yes opensocrates@1.
|
|
100
|
-
npx --yes opensocrates@1.
|
|
101
|
-
npx --yes opensocrates@1.
|
|
109
|
+
npx --yes opensocrates@1.2.0 status --host all
|
|
110
|
+
npx --yes opensocrates@1.2.0 update --host all
|
|
111
|
+
npx --yes opensocrates@1.2.0 remove --host all
|
|
102
112
|
```
|
|
103
113
|
|
|
104
114
|
A private `~/.opensocrates/desired-state.json` manifest records the selected
|
|
@@ -111,16 +121,40 @@ automatic update, and per-host drift.
|
|
|
111
121
|
Codex remains the default host for backward compatibility:
|
|
112
122
|
|
|
113
123
|
```bash
|
|
114
|
-
npx --yes opensocrates@1.
|
|
115
|
-
# Equivalent: npx --yes opensocrates@1.
|
|
116
|
-
npx --yes opensocrates@1.
|
|
124
|
+
npx --yes opensocrates@1.2.0 install
|
|
125
|
+
# Equivalent: npx --yes opensocrates@1.2.0 install --host codex
|
|
126
|
+
npx --yes opensocrates@1.2.0 install --host antigravity
|
|
127
|
+
npx --yes opensocrates@1.2.0 install --host claude
|
|
128
|
+
npx --yes opensocrates@1.2.0 install --host cursor
|
|
129
|
+
npx --yes opensocrates@1.2.0 install --host grok
|
|
130
|
+
npx --yes opensocrates@1.2.0 install --host opencode
|
|
117
131
|
```
|
|
118
132
|
|
|
133
|
+
Antigravity installs a content-only plugin at
|
|
134
|
+
`~/.gemini/config/plugins/opensocrates`. It contains one explicit skill and no
|
|
135
|
+
hook, launcher, native runtime, background service, telemetry, or extra model
|
|
136
|
+
selector call. See the [Antigravity support boundary](docs/antigravity-support.md).
|
|
137
|
+
Cursor installs a content-only Agent Plugin at
|
|
138
|
+
`~/.cursor/plugins/local/opensocrates`. It includes one skill and no hook,
|
|
139
|
+
launcher, native runtime, background service, telemetry, or separate selector
|
|
140
|
+
model call. See the [Cursor support boundary](docs/cursor-support.md).
|
|
141
|
+
Grok Build installs a native content-only plugin at
|
|
142
|
+
`~/.grok/plugins/opensocrates`. It exposes one auto-selectable and explicitly
|
|
143
|
+
invocable `/opensocrates` skill with 48 internal procedures. The package has no
|
|
144
|
+
hooks, command, agent, MCP server, launcher, runtime, or nested selector call.
|
|
145
|
+
The installer reads Grok's machine-readable inspection state but owns only that
|
|
146
|
+
exact directory and never modifies or removes a Claude installation. See the
|
|
147
|
+
[Grok Build support boundary](docs/grok-support.md).
|
|
119
148
|
Existing `--host codex` and `--host claude` lifecycle commands remain
|
|
120
149
|
supported. A host-specific update can intentionally create drift; a later
|
|
121
150
|
`update --host all` or successful automatic reconciliation brings every host
|
|
122
151
|
recorded in desired state back to one version.
|
|
123
152
|
|
|
153
|
+
OpenCode installation owns only `plugins/opensocrates.js`, its sidecar, and
|
|
154
|
+
`skills/opensocrates/` beneath `~/.config/opencode`; it never rewrites
|
|
155
|
+
`opencode.json` or unrelated plugins and skills. See the
|
|
156
|
+
[OpenCode support and evidence boundary](docs/opencode-support.md).
|
|
157
|
+
|
|
124
158
|
For Claude, status distinguishes an enabled installation from an
|
|
125
159
|
installed-but-disabled plugin. A disabled desired installation is reported as
|
|
126
160
|
drift. Running `install` or `update` intentionally installs the verified
|
|
@@ -133,9 +167,9 @@ commands. The privacy-safe 2.1.226 fixture is under
|
|
|
133
167
|
### Opt-in automatic updates
|
|
134
168
|
|
|
135
169
|
```bash
|
|
136
|
-
npx --yes opensocrates@1.
|
|
137
|
-
npx --yes opensocrates@1.
|
|
138
|
-
npx --yes opensocrates@1.
|
|
170
|
+
npx --yes opensocrates@1.2.0 auto-update enable --host all
|
|
171
|
+
npx --yes opensocrates@1.2.0 auto-update status
|
|
172
|
+
npx --yes opensocrates@1.2.0 auto-update disable
|
|
139
173
|
```
|
|
140
174
|
|
|
141
175
|
Automatic updates are disabled until explicitly enabled. The macOS LaunchAgent
|
|
@@ -158,7 +192,7 @@ workspace paths. `auto-update disable` unloads and removes the LaunchAgent;
|
|
|
158
192
|
### Claude web and Desktop Chat skills
|
|
159
193
|
|
|
160
194
|
These surfaces support plugin skills but not hooks. Download
|
|
161
|
-
`opensocrates-1.
|
|
195
|
+
`opensocrates-1.2.0-claude-chat-skills.zip` from the release and upload it from
|
|
162
196
|
Claude's **Customize → Skills → Upload skill** UI. The ZIP contains one
|
|
163
197
|
top-level `opensocrates/` folder with `SKILL.md` directly inside, as required by
|
|
164
198
|
the skill uploader. The package exposes exactly one
|
|
@@ -172,25 +206,29 @@ because Chat does not execute plugin hooks. See Anthropic's
|
|
|
172
206
|
The same host option works without the npm registry:
|
|
173
207
|
|
|
174
208
|
```bash
|
|
175
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
176
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
177
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
209
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host all
|
|
210
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host antigravity
|
|
211
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host claude
|
|
212
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host codex
|
|
213
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host cursor
|
|
214
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host grok
|
|
215
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.2.0 install --host opencode
|
|
178
216
|
```
|
|
179
217
|
|
|
180
218
|
### Manual release verification
|
|
181
219
|
|
|
182
220
|
Download `opensocrates.mjs`, the host package, and its `.sha256` file from the
|
|
183
|
-
[v1.
|
|
221
|
+
[v1.2.0 release](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.2.0).
|
|
184
222
|
For Claude, for example:
|
|
185
223
|
|
|
186
224
|
```bash
|
|
187
|
-
shasum -a 256 -c opensocrates-1.
|
|
225
|
+
shasum -a 256 -c opensocrates-1.2.0-claude-plugin.zip.sha256
|
|
188
226
|
node opensocrates.mjs install --host claude \
|
|
189
|
-
--asset opensocrates-1.
|
|
190
|
-
--checksum opensocrates-1.
|
|
227
|
+
--asset opensocrates-1.2.0-claude-plugin.zip \
|
|
228
|
+
--checksum opensocrates-1.2.0-claude-plugin.zip.sha256
|
|
191
229
|
```
|
|
192
230
|
|
|
193
|
-
Replace `claude` with `codex` for the
|
|
231
|
+
Replace `claude` with `antigravity`, `codex`, `cursor`, `grok`, or `opencode` for the matching package.
|
|
194
232
|
|
|
195
233
|
### Migrating a pre-1.0 Claude plugin
|
|
196
234
|
|
|
@@ -202,7 +240,7 @@ what is installed, remove it explicitly:
|
|
|
202
240
|
```bash
|
|
203
241
|
claude plugin uninstall opensocrates@OpenSocrates --scope user
|
|
204
242
|
claude plugin marketplace remove OpenSocrates --scope user
|
|
205
|
-
npx --yes opensocrates@1.
|
|
243
|
+
npx --yes opensocrates@1.2.0 install --host claude
|
|
206
244
|
```
|
|
207
245
|
|
|
208
246
|
Updating a managed v1.1.0 Claude installation replaces the complete package
|
|
@@ -211,21 +249,40 @@ commands are therefore removed rather than left visible as stale entries.
|
|
|
211
249
|
|
|
212
250
|
## Use
|
|
213
251
|
|
|
214
|
-
Use Claude or
|
|
252
|
+
Use Claude, Codex, or OpenCode normally. Before a submitted prompt, OpenSocrates may
|
|
215
253
|
intervene when the request needs judgment, interpretation, diagnosis,
|
|
216
254
|
explanation, planning, evidence reconciliation, or another structured
|
|
217
|
-
reasoning process.
|
|
255
|
+
reasoning process. On Claude/Codex native-runtime surfaces it:
|
|
218
256
|
|
|
219
257
|
1. starts a fresh, non-persistent selector in the current host;
|
|
220
258
|
2. chooses from the authored 48-system catalog;
|
|
221
|
-
3. writes the complete selected content to an owner-only
|
|
222
|
-
file;
|
|
259
|
+
3. writes the complete selected content to an owner-only Markdown file;
|
|
223
260
|
4. adds a bounded hidden context message with each method ID, content revision,
|
|
224
261
|
and, when they fit, its exact `Do not use when` and `Stop conditions`; and
|
|
225
262
|
5. requires the active task to read the complete file before applying the
|
|
226
263
|
method and to end a grounded response with an exact audit line such as
|
|
227
264
|
`OpenSocrates grounding: triangulation@1`.
|
|
228
265
|
|
|
266
|
+
On OpenCode, the dependency-free stable hook instead selects locally and
|
|
267
|
+
injects one complete authored procedure directly into the same message turn;
|
|
268
|
+
it creates no artifact and makes no extra model call. See the
|
|
269
|
+
[OpenCode support boundary](docs/opencode-support.md).
|
|
270
|
+
|
|
271
|
+
After installing for Codex, open one interactive Codex session and approve the
|
|
272
|
+
OpenSocrates hooks before relying on automatic selection. Until that one-time
|
|
273
|
+
approval, non-interactive surfaces such as `codex exec` may silently continue
|
|
274
|
+
without running the untrusted hooks.
|
|
275
|
+
|
|
276
|
+
Claude hook surfaces prefer an owner-only `.opensocrates` artifact area inside
|
|
277
|
+
the current workspace so Claude can read the selected content without an extra
|
|
278
|
+
directory permission. Its self-contained `.gitignore` keeps the area out of
|
|
279
|
+
`git status`; files are removed on turn/session cleanup. If the workspace is
|
|
280
|
+
unusable, OpenSocrates falls back to the owner-only OS temporary directory.
|
|
281
|
+
Because the preferred area is inside the workspace, a separate backup or sync
|
|
282
|
+
tool that ignores neither `.gitignore` nor hidden directories could observe the
|
|
283
|
+
authored OpenSocrates artifact while it exists. Artifacts never contain the raw
|
|
284
|
+
prompt, transcript, workspace content, credentials, or selector reasoning.
|
|
285
|
+
|
|
229
286
|
On Claude hook surfaces, a Read-only `PostToolUse` hook records an authenticated
|
|
230
287
|
receipt only when the exact current-turn file is read from its first line
|
|
231
288
|
through a terminal marker. At `Stop`, a missing receipt or audit line requests
|
|
@@ -313,6 +370,14 @@ of asserting zero attempts. The next valid selector outcome replaces a
|
|
|
313
370
|
malformed current-schema aggregate with a fresh bounded count document; an
|
|
314
371
|
unknown future schema is preserved for the newer runtime that owns it.
|
|
315
372
|
|
|
373
|
+
The packaged `diagnose` command also verifies the installed file inventory
|
|
374
|
+
against `checksums.sha256` and checks that the release manifest identifies the
|
|
375
|
+
running version, host, and content revision. It reports `verified`, `mismatch`,
|
|
376
|
+
`unavailable`, or `unverified` rather than inferring success from file presence.
|
|
377
|
+
These hashes detect local change or damage; the manifest and checksum file are
|
|
378
|
+
not signed and therefore are not an authenticity proof against an attacker who
|
|
379
|
+
can replace the whole package.
|
|
380
|
+
|
|
316
381
|
When enabled, the updater stores only desired lifecycle state and the concise
|
|
317
382
|
receipt described above, under owner-only permissions. It does not inspect or
|
|
318
383
|
terminate running Claude or Codex sessions; a running task keeps its loaded
|
|
@@ -367,6 +432,9 @@ make release-check
|
|
|
367
432
|
| `content/` | Policies, localized messages, methods, theory, and examples |
|
|
368
433
|
| `plugin-src/claude/` | Claude plugin templates |
|
|
369
434
|
| `plugin-src/codex/` | Codex plugin templates |
|
|
435
|
+
| `plugin-src/antigravity/` | Experimental Antigravity content-only plugin templates |
|
|
436
|
+
| `plugin-src/cursor/` | Experimental Cursor Agent Plugin templates |
|
|
437
|
+
| `plugin-src/grok/` | Native Grok Build content-only plugin templates |
|
|
370
438
|
| `schemas/source/` | Canonical schema definitions |
|
|
371
439
|
| `schemas/v1/` | Generated, versioned public schemas |
|
|
372
440
|
| `installer/` | Dependency-free Node.js GitHub/npx installer |
|
package/SECURITY.md
CHANGED
|
@@ -48,6 +48,13 @@ OpenSocrates 1.x:
|
|
|
48
48
|
receipts;
|
|
49
49
|
- fails open when the selector cannot safely complete.
|
|
50
50
|
|
|
51
|
+
The installed `diagnose` command verifies the exact package inventory against
|
|
52
|
+
`checksums.sha256` and validates release-manifest identity for the running
|
|
53
|
+
version, host, and content revision. A mismatch is reported explicitly. These
|
|
54
|
+
files are not signed, so this is local integrity and damage detection, not an
|
|
55
|
+
authenticity guarantee against an attacker able to replace the complete
|
|
56
|
+
package and its checksum metadata.
|
|
57
|
+
|
|
51
58
|
The Claude selector runs a bounded, non-persistent `claude --safe-mode -p`
|
|
52
59
|
process. Safe mode disables user, project, and plugin customizations, and
|
|
53
60
|
OpenSocrates additionally passes `--tools ""`, `--disallowedTools "mcp__*"`, and
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.2.0
|