opensocrates 1.1.3 → 1.1.4
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 +34 -0
- package/README.ko.md +43 -31
- package/README.md +45 -32
- package/SECURITY.md +11 -0
- package/VERSION +1 -1
- package/installer/opensocrates.mjs +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,39 @@ All notable changes to OpenSocrates are documented here. This project follows
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.1.4] - 2026-08-12
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- A privacy-safe Claude selector aggregate records only bounded counts under a
|
|
13
|
+
closed outcome vocabulary. `diagnose` exposes those counts without prompts,
|
|
14
|
+
transcripts, session identifiers, paths, model output, credentials, or
|
|
15
|
+
selector reasoning ([#4](https://github.com/ParkerHwang/OpenSocrates/issues/4)).
|
|
16
|
+
- A sanitized Cowork receipt validates local plugin upload and the native
|
|
17
|
+
`UserPromptSubmit` → `PostToolUse(Read)` → `Stop` lifecycle, including the
|
|
18
|
+
authenticated grounding receipt and final cleanup
|
|
19
|
+
([#4](https://github.com/ParkerHwang/OpenSocrates/issues/4)).
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Native runtime builds are split by host profile. The Claude package excludes
|
|
24
|
+
the Codex SDK and CLI while the Codex package preserves its existing runtime
|
|
25
|
+
surface ([#4](https://github.com/ParkerHwang/OpenSocrates/issues/4)).
|
|
26
|
+
- Release tooling derives artifact paths from the detected native target,
|
|
27
|
+
defaults plugin generation to `dist/runtime/<host>`, and interprets Cowork's
|
|
28
|
+
50 MB and 200 MB limits conservatively as decimal bytes
|
|
29
|
+
([#4](https://github.com/ParkerHwang/OpenSocrates/issues/4)).
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- The Claude runtime now uses PyInstaller's no-archive mode, and release checks
|
|
34
|
+
reject nested ZIP entries before a Cowork package can be published
|
|
35
|
+
([#4](https://github.com/ParkerHwang/OpenSocrates/issues/4)).
|
|
36
|
+
- Unreadable selector aggregates report `unavailable` instead of zero attempts.
|
|
37
|
+
Malformed current-schema documents self-heal on the next valid outcome while
|
|
38
|
+
unknown future schemas are preserved
|
|
39
|
+
([#4](https://github.com/ParkerHwang/OpenSocrates/issues/4)).
|
|
40
|
+
|
|
8
41
|
## [1.1.3] - 2026-08-11
|
|
9
42
|
|
|
10
43
|
### Added
|
|
@@ -271,3 +304,4 @@ All notable changes to OpenSocrates are documented here. This project follows
|
|
|
271
304
|
[1.1.1]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.0...v1.1.1
|
|
272
305
|
[1.1.2]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.1...v1.1.2
|
|
273
306
|
[1.1.3]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.2...v1.1.3
|
|
307
|
+
[1.1.4]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.3...v1.1.4
|
package/README.ko.md
CHANGED
|
@@ -16,7 +16,7 @@ OpenSocrates는 Claude와 Codex를 위한 로컬 연동 및 저작 추론 프레
|
|
|
16
16
|
추론 시스템을 고른 뒤, 이론과 예제 전체를 활성 작업에 추가합니다. 단순한 사실
|
|
17
17
|
확인과 기계적인 작업은 그대로 통과할 수 있습니다.
|
|
18
18
|
|
|
19
|
-
버전 `1.1.
|
|
19
|
+
버전 `1.1.4`에는 48개의 추론 시스템, Claude의 단일 사용자 진입점, 선택된 절차를
|
|
20
20
|
실제로 읽었는지 확인하는 Claude 접지 게이트, Claude/Codex 통합 라이프사이클,
|
|
21
21
|
선택형 자동 업데이트가 들어 있습니다. 현재 릴리스 플랫폼은 Apple Silicon
|
|
22
22
|
macOS(`darwin-arm64`)입니다. 기존 호스트 로그인을 사용하므로 API 키나
|
|
@@ -26,10 +26,11 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
26
26
|
런처는 `darwin-arm64`만 허용하며, Intel Mac·Linux·Windows용 런처와 런타임은
|
|
27
27
|
이번 릴리스에 포함되거나 지원되지 않습니다.
|
|
28
28
|
|
|
29
|
-
> **최신 릴리스: [OpenSocrates 1.1.
|
|
30
|
-
>
|
|
31
|
-
>
|
|
32
|
-
> 관리 중인 두 호스트를 함께
|
|
29
|
+
> **최신 릴리스: [OpenSocrates 1.1.4](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.1.4).**
|
|
30
|
+
> Cowork에 업로드할 수 있는 Claude 네이티브 패키지, 호스트별 런타임 분리, 사용할 수
|
|
31
|
+
> 없는 집계와 0회를 구분하는 내용 없는 셀렉터 진단을 추가했습니다.
|
|
32
|
+
> `npx --yes opensocrates@1.1.4 update --host all`로 관리 중인 두 호스트를 함께
|
|
33
|
+
> 업데이트할 수 있습니다.
|
|
33
34
|
|
|
34
35
|
## 호스트 지원 범위
|
|
35
36
|
|
|
@@ -38,7 +39,7 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
38
39
|
| Codex CLI 및 Desktop | 지원 | OpenSocrates 플러그인 | `darwin-arm64` 릴리스 검증 완료 |
|
|
39
40
|
| Claude Code CLI | `UserPromptSubmit` 훅으로 지원 | `/opensocrates` | `darwin-arm64` 로컬 검증 완료 |
|
|
40
41
|
| Claude Code 데스크톱 앱 | Claude Code 플러그인이 실행되는 곳에서 지원 | `/opensocrates` | [인증된 훅 생명주기 로컬 검증 완료](docs/claude-desktop-live-probe.md) |
|
|
41
|
-
| Claude Cowork | 실측
|
|
42
|
+
| Claude Cowork | 실측 로컬 플러그인 업로드에서 지원 | `/opensocrates` | [네이티브 훅 생명주기 로컬 검증 완료, 릴리스 직접 업로드 지원, 마켓플레이스 동기화 없음](docs/claude-cowork-live-probe.md) |
|
|
42
43
|
| Claude 웹 및 Desktop Chat | 훅 미지원 | `/opensocrates` | [실제 업로드 및 호출 검증 완료](docs/claude-chat-upload-probe.md) |
|
|
43
44
|
|
|
44
45
|
상태 열은 서로 다른 네 단계를 뜻하며 같은 의미로 읽으면 안 됩니다.
|
|
@@ -56,12 +57,13 @@ Claude Chat 화면은 플러그인 훅을 실행하지 않습니다. 생성된
|
|
|
56
57
|
Code와 Cowork 화면에서만 작동합니다. 훅이나 셀렉터를 사용할 수 없으면
|
|
57
58
|
OpenSocrates는 작업을 막지 않고 통과합니다.
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
공개된 v1.1.2 Claude 플러그인 아카이브는 Cowork의 문서화된 압축 크기 제한과
|
|
61
|
+
실측 압축 해제 크기 제한을 모두 초과했습니다. 출시 전 v1.1.3 후보는 압축
|
|
62
|
+
13.8MB, 비압축 34.1MB이며 Codex 런타임과 중첩 ZIP을 포함하지 않고 Cowork 로컬
|
|
63
|
+
업로드를 통과했습니다. UserPromptSubmit, PostToolUse(Read), 인증된 grounding
|
|
64
|
+
receipt, Stop, 정리 생명주기도 로컬 검증을 마쳤습니다. 버전 1.1.4는 검토를 마친
|
|
65
|
+
이 패키지 경계를 처음 배포합니다. 저장소에는 아직 Cowork 마켓플레이스
|
|
66
|
+
매니페스트가 없으므로 저장소 동기화 대신 로컬 플러그인 업로드 경로를 사용합니다.
|
|
65
67
|
|
|
66
68
|
## 설치
|
|
67
69
|
|
|
@@ -78,7 +80,7 @@ Node.js 20 이상이 필요합니다. npm에 게시된 `opensocrates` 패키지
|
|
|
78
80
|
### 준비된 모든 호스트에 설치
|
|
79
81
|
|
|
80
82
|
```bash
|
|
81
|
-
npx --yes opensocrates@1.1.
|
|
83
|
+
npx --yes opensocrates@1.1.4 install --host all
|
|
82
84
|
```
|
|
83
85
|
|
|
84
86
|
모든 호스트 경로는 지원되는 인증 완료 CLI를 찾고, 어느 호스트도 바꾸기 전에
|
|
@@ -89,9 +91,9 @@ npx --yes opensocrates@1.1.3 install --host all
|
|
|
89
91
|
전체 라이프사이클에서 같은 호스트 값을 사용할 수 있습니다.
|
|
90
92
|
|
|
91
93
|
```bash
|
|
92
|
-
npx --yes opensocrates@1.1.
|
|
93
|
-
npx --yes opensocrates@1.1.
|
|
94
|
-
npx --yes opensocrates@1.1.
|
|
94
|
+
npx --yes opensocrates@1.1.4 status --host all
|
|
95
|
+
npx --yes opensocrates@1.1.4 update --host all
|
|
96
|
+
npx --yes opensocrates@1.1.4 remove --host all
|
|
95
97
|
```
|
|
96
98
|
|
|
97
99
|
소유자 전용 `~/.opensocrates/desired-state.json`에는 선택 채널, 설치된 호스트,
|
|
@@ -103,9 +105,9 @@ npx --yes opensocrates@1.1.3 remove --host all
|
|
|
103
105
|
기존 사용자와의 호환성을 위해 기본 호스트는 계속 Codex입니다.
|
|
104
106
|
|
|
105
107
|
```bash
|
|
106
|
-
npx --yes opensocrates@1.1.
|
|
107
|
-
# 같은 명령: npx --yes opensocrates@1.1.
|
|
108
|
-
npx --yes opensocrates@1.1.
|
|
108
|
+
npx --yes opensocrates@1.1.4 install
|
|
109
|
+
# 같은 명령: npx --yes opensocrates@1.1.4 install --host codex
|
|
110
|
+
npx --yes opensocrates@1.1.4 install --host claude
|
|
109
111
|
```
|
|
110
112
|
|
|
111
113
|
기존 `--host codex` 및 `--host claude` 라이프사이클은 그대로 지원합니다. 호스트별
|
|
@@ -122,9 +124,9 @@ Claude 상태는 활성 설치와 설치됐지만 비활성화된 플러그인
|
|
|
122
124
|
### 선택형 자동 업데이트
|
|
123
125
|
|
|
124
126
|
```bash
|
|
125
|
-
npx --yes opensocrates@1.1.
|
|
126
|
-
npx --yes opensocrates@1.1.
|
|
127
|
-
npx --yes opensocrates@1.1.
|
|
127
|
+
npx --yes opensocrates@1.1.4 auto-update enable --host all
|
|
128
|
+
npx --yes opensocrates@1.1.4 auto-update status
|
|
129
|
+
npx --yes opensocrates@1.1.4 auto-update disable
|
|
128
130
|
```
|
|
129
131
|
|
|
130
132
|
자동 업데이트는 명시적으로 켜기 전까지 비활성화되어 있습니다. macOS LaunchAgent는
|
|
@@ -146,7 +148,7 @@ LaunchAgent를 언로드하고 삭제하며, `remove --host all`도 관리 호
|
|
|
146
148
|
### Claude 웹 및 Desktop Chat 스킬
|
|
147
149
|
|
|
148
150
|
이 화면들은 플러그인 스킬은 지원하지만 훅은 실행하지 않습니다. 릴리스에서
|
|
149
|
-
`opensocrates-1.1.
|
|
151
|
+
`opensocrates-1.1.4-claude-chat-skills.zip`을 내려받아 Claude의 **사용자 지정 →
|
|
150
152
|
스킬 → 스킬 업로드** 화면에서 업로드하세요. ZIP은 업로더 요구사항에 맞춰
|
|
151
153
|
최상위 `opensocrates/` 폴더 바로 아래에 `SKILL.md`를 둡니다. 패키지는
|
|
152
154
|
`/opensocrates` 스킬 하나만 노출하고, 48개
|
|
@@ -160,21 +162,21 @@ LaunchAgent를 언로드하고 삭제하며, `remove --host all`도 관리 호
|
|
|
160
162
|
npm 레지스트리를 거치지 않을 때도 같은 호스트 옵션을 사용합니다.
|
|
161
163
|
|
|
162
164
|
```bash
|
|
163
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.1.
|
|
164
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.1.
|
|
165
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.1.
|
|
165
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.1.4 install --host all
|
|
166
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.1.4 install --host claude
|
|
167
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.1.4 install --host codex
|
|
166
168
|
```
|
|
167
169
|
|
|
168
170
|
### 릴리스 파일 직접 검증
|
|
169
171
|
|
|
170
|
-
[v1.1.
|
|
172
|
+
[v1.1.4 릴리스](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.1.4)에서
|
|
171
173
|
`opensocrates.mjs`, 호스트 패키지, `.sha256` 파일을 내려받습니다. Claude의 예:
|
|
172
174
|
|
|
173
175
|
```bash
|
|
174
|
-
shasum -a 256 -c opensocrates-1.1.
|
|
176
|
+
shasum -a 256 -c opensocrates-1.1.4-claude-plugin.zip.sha256
|
|
175
177
|
node opensocrates.mjs install --host claude \
|
|
176
|
-
--asset opensocrates-1.1.
|
|
177
|
-
--checksum opensocrates-1.1.
|
|
178
|
+
--asset opensocrates-1.1.4-claude-plugin.zip \
|
|
179
|
+
--checksum opensocrates-1.1.4-claude-plugin.zip.sha256
|
|
178
180
|
```
|
|
179
181
|
|
|
180
182
|
Codex 패키지는 `claude`를 `codex`로 바꾸면 됩니다.
|
|
@@ -189,7 +191,7 @@ Codex 패키지는 `claude`를 `codex`로 바꾸면 됩니다.
|
|
|
189
191
|
```bash
|
|
190
192
|
claude plugin uninstall opensocrates@OpenSocrates --scope user
|
|
191
193
|
claude plugin marketplace remove OpenSocrates --scope user
|
|
192
|
-
npx --yes opensocrates@1.1.
|
|
194
|
+
npx --yes opensocrates@1.1.4 install --host claude
|
|
193
195
|
```
|
|
194
196
|
|
|
195
197
|
관리형 v1.1.0 Claude 설치를 업데이트하면 패키지 트리 전체가 교체됩니다. 따라서
|
|
@@ -282,6 +284,16 @@ OpenSocrates 기록, 로그, 메트릭, 진단 또는 instruction 파일에 쓰
|
|
|
282
284
|
남은 파일을 삭제하고, 다음 `SessionStart`는 24시간이 지난 비정상 종료 잔여 파일을
|
|
283
285
|
삭제합니다.
|
|
284
286
|
|
|
287
|
+
Claude 셀렉터 시도는 `executable_missing`, `request_rejected`, `spawn_failed`,
|
|
288
|
+
`timeout`, `nonzero_exit`, `invalid_output`, `selector_closed`,
|
|
289
|
+
`no_intervention`, `selected`라는 고정 라벨만 사용해 소유자 전용 로컬 집계에
|
|
290
|
+
누적됩니다. `diagnose`는 이 누적 횟수를 표시합니다. 집계에는 시각, 프롬프트,
|
|
291
|
+
대화 기록, 세션·turn ID, 경로, 모델 출력, 자격 증명 또는 추론이 없으며 외부로
|
|
292
|
+
업로드되지 않습니다.
|
|
293
|
+
집계를 읽을 수 없으면 `diagnose`는 시도 0회라고 단정하지 않고 `unavailable`로
|
|
294
|
+
표시합니다. 다음 유효한 셀렉터 결과가 현재 스키마의 손상된 집계를 새로운 제한된
|
|
295
|
+
카운트 문서로 교체하며, 알 수 없는 미래 스키마는 해당 새 런타임을 위해 보존합니다.
|
|
296
|
+
|
|
285
297
|
자동 업데이트를 켜면 앞서 설명한 desired state와 간결한 영수증만 소유자 전용
|
|
286
298
|
권한으로 저장합니다. 실행 중인 Claude나 Codex 세션을 검사하거나 종료하지 않습니다.
|
|
287
299
|
이미 실행 중인 작업은 로드한 플러그인을 계속 쓰고, 새 작업이 조정된 버전을 자연스럽게
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ 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.1.
|
|
20
|
+
Version `1.1.4` includes 48 reasoning systems, one user-facing Claude entry, a
|
|
21
21
|
Claude grounding gate that verifies selected procedures were read, coordinated
|
|
22
22
|
Claude/Codex lifecycle management, and opt-in automatic updates on
|
|
23
23
|
Apple-silicon macOS (`darwin-arm64`). It uses your existing host login and does
|
|
@@ -27,11 +27,11 @@ 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: [OpenSocrates 1.1.
|
|
31
|
-
> It adds
|
|
32
|
-
>
|
|
30
|
+
> **Latest release: [OpenSocrates 1.1.4](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.1.4).**
|
|
31
|
+
> It adds a Cowork-uploadable native Claude package, host-split runtimes, and
|
|
32
|
+
> content-free selector diagnostics that distinguish unavailable data from zero.
|
|
33
33
|
> Upgrade both managed hosts together with
|
|
34
|
-
> `npx --yes opensocrates@1.1.
|
|
34
|
+
> `npx --yes opensocrates@1.1.4 update --host all`.
|
|
35
35
|
|
|
36
36
|
## Host support
|
|
37
37
|
|
|
@@ -40,7 +40,7 @@ and runtimes are not shipped or supported in this release.
|
|
|
40
40
|
| Codex CLI and Desktop | Yes | OpenSocrates plugin | Release-validated on `darwin-arm64` |
|
|
41
41
|
| Claude Code CLI | Yes, through `UserPromptSubmit` | `/opensocrates` | Locally validated on `darwin-arm64` |
|
|
42
42
|
| Claude Code desktop app | Yes, where Claude Code plugins run | `/opensocrates` | [Authenticated hook lifecycle locally validated](docs/claude-desktop-live-probe.md) |
|
|
43
|
-
| Claude Cowork |
|
|
43
|
+
| 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) |
|
|
44
44
|
| Claude web and Desktop Chat | No hooks | `/opensocrates` | [Live upload and invocation validated](docs/claude-chat-upload-probe.md) |
|
|
45
45
|
|
|
46
46
|
The status column uses four distinct levels. Do not read them as
|
|
@@ -59,13 +59,15 @@ skills, but automatic per-prompt selection is available only on Claude Code
|
|
|
59
59
|
and Cowork surfaces that execute the plugin runtime. OpenSocrates fails open
|
|
60
60
|
if a hook or selector is unavailable.
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
The published v1.1.2 Claude plugin archive exceeded Cowork's documented
|
|
63
|
+
compressed limit and observed uncompressed limit. A pre-release v1.1.3
|
|
64
|
+
candidate was 13.8 MB compressed and 34.1 MB uncompressed, contained neither
|
|
65
|
+
the Codex runtime nor a nested ZIP, and passed Cowork's local upload. Its
|
|
66
|
+
UserPromptSubmit, PostToolUse(Read), authenticated grounding receipt, Stop, and
|
|
67
|
+
cleanup lifecycle is locally validated. Version 1.1.4 is the first release to
|
|
68
|
+
ship that reviewed package boundary. The repository still has no Cowork
|
|
69
|
+
marketplace manifest, so Cowork installation uses the local plugin upload path
|
|
70
|
+
rather than repository sync.
|
|
69
71
|
|
|
70
72
|
## Install
|
|
71
73
|
|
|
@@ -82,7 +84,7 @@ before registering an owner-marked managed marketplace.
|
|
|
82
84
|
### Install every ready host
|
|
83
85
|
|
|
84
86
|
```bash
|
|
85
|
-
npx --yes opensocrates@1.1.
|
|
87
|
+
npx --yes opensocrates@1.1.4 install --host all
|
|
86
88
|
```
|
|
87
89
|
|
|
88
90
|
The all-host path detects supported, authenticated host CLIs, completes every
|
|
@@ -94,9 +96,9 @@ registration.
|
|
|
94
96
|
Use the same host value for the complete lifecycle:
|
|
95
97
|
|
|
96
98
|
```bash
|
|
97
|
-
npx --yes opensocrates@1.1.
|
|
98
|
-
npx --yes opensocrates@1.1.
|
|
99
|
-
npx --yes opensocrates@1.1.
|
|
99
|
+
npx --yes opensocrates@1.1.4 status --host all
|
|
100
|
+
npx --yes opensocrates@1.1.4 update --host all
|
|
101
|
+
npx --yes opensocrates@1.1.4 remove --host all
|
|
100
102
|
```
|
|
101
103
|
|
|
102
104
|
A private `~/.opensocrates/desired-state.json` manifest records the selected
|
|
@@ -109,9 +111,9 @@ automatic update, and per-host drift.
|
|
|
109
111
|
Codex remains the default host for backward compatibility:
|
|
110
112
|
|
|
111
113
|
```bash
|
|
112
|
-
npx --yes opensocrates@1.1.
|
|
113
|
-
# Equivalent: npx --yes opensocrates@1.1.
|
|
114
|
-
npx --yes opensocrates@1.1.
|
|
114
|
+
npx --yes opensocrates@1.1.4 install
|
|
115
|
+
# Equivalent: npx --yes opensocrates@1.1.4 install --host codex
|
|
116
|
+
npx --yes opensocrates@1.1.4 install --host claude
|
|
115
117
|
```
|
|
116
118
|
|
|
117
119
|
Existing `--host codex` and `--host claude` lifecycle commands remain
|
|
@@ -131,9 +133,9 @@ commands. The privacy-safe 2.1.226 fixture is under
|
|
|
131
133
|
### Opt-in automatic updates
|
|
132
134
|
|
|
133
135
|
```bash
|
|
134
|
-
npx --yes opensocrates@1.1.
|
|
135
|
-
npx --yes opensocrates@1.1.
|
|
136
|
-
npx --yes opensocrates@1.1.
|
|
136
|
+
npx --yes opensocrates@1.1.4 auto-update enable --host all
|
|
137
|
+
npx --yes opensocrates@1.1.4 auto-update status
|
|
138
|
+
npx --yes opensocrates@1.1.4 auto-update disable
|
|
137
139
|
```
|
|
138
140
|
|
|
139
141
|
Automatic updates are disabled until explicitly enabled. The macOS LaunchAgent
|
|
@@ -156,7 +158,7 @@ workspace paths. `auto-update disable` unloads and removes the LaunchAgent;
|
|
|
156
158
|
### Claude web and Desktop Chat skills
|
|
157
159
|
|
|
158
160
|
These surfaces support plugin skills but not hooks. Download
|
|
159
|
-
`opensocrates-1.1.
|
|
161
|
+
`opensocrates-1.1.4-claude-chat-skills.zip` from the release and upload it from
|
|
160
162
|
Claude's **Customize → Skills → Upload skill** UI. The ZIP contains one
|
|
161
163
|
top-level `opensocrates/` folder with `SKILL.md` directly inside, as required by
|
|
162
164
|
the skill uploader. The package exposes exactly one
|
|
@@ -170,22 +172,22 @@ because Chat does not execute plugin hooks. See Anthropic's
|
|
|
170
172
|
The same host option works without the npm registry:
|
|
171
173
|
|
|
172
174
|
```bash
|
|
173
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.1.
|
|
174
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.1.
|
|
175
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.1.
|
|
175
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.1.4 install --host all
|
|
176
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.1.4 install --host claude
|
|
177
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.1.4 install --host codex
|
|
176
178
|
```
|
|
177
179
|
|
|
178
180
|
### Manual release verification
|
|
179
181
|
|
|
180
182
|
Download `opensocrates.mjs`, the host package, and its `.sha256` file from the
|
|
181
|
-
[v1.1.
|
|
183
|
+
[v1.1.4 release](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.1.4).
|
|
182
184
|
For Claude, for example:
|
|
183
185
|
|
|
184
186
|
```bash
|
|
185
|
-
shasum -a 256 -c opensocrates-1.1.
|
|
187
|
+
shasum -a 256 -c opensocrates-1.1.4-claude-plugin.zip.sha256
|
|
186
188
|
node opensocrates.mjs install --host claude \
|
|
187
|
-
--asset opensocrates-1.1.
|
|
188
|
-
--checksum opensocrates-1.1.
|
|
189
|
+
--asset opensocrates-1.1.4-claude-plugin.zip \
|
|
190
|
+
--checksum opensocrates-1.1.4-claude-plugin.zip.sha256
|
|
189
191
|
```
|
|
190
192
|
|
|
191
193
|
Replace `claude` with `codex` for the Codex package.
|
|
@@ -200,7 +202,7 @@ what is installed, remove it explicitly:
|
|
|
200
202
|
```bash
|
|
201
203
|
claude plugin uninstall opensocrates@OpenSocrates --scope user
|
|
202
204
|
claude plugin marketplace remove OpenSocrates --scope user
|
|
203
|
-
npx --yes opensocrates@1.1.
|
|
205
|
+
npx --yes opensocrates@1.1.4 install --host claude
|
|
204
206
|
```
|
|
205
207
|
|
|
206
208
|
Updating a managed v1.1.0 Claude installation replaces the complete package
|
|
@@ -300,6 +302,17 @@ arrives, the next `UserPromptSubmit` in the same session removes every prior
|
|
|
300
302
|
active tree. `SessionEnd` removes anything still left in the session, and the
|
|
301
303
|
next `SessionStart` removes crash leftovers older than 24 hours.
|
|
302
304
|
|
|
305
|
+
Claude selector attempts increment one owner-only local aggregate using only
|
|
306
|
+
the fixed labels `executable_missing`, `request_rejected`, `spawn_failed`,
|
|
307
|
+
`timeout`, `nonzero_exit`, `invalid_output`, `selector_closed`,
|
|
308
|
+
`no_intervention`, and `selected`. `diagnose` reports those cumulative counts.
|
|
309
|
+
The aggregate contains no timestamp, prompt, transcript, session or turn ID,
|
|
310
|
+
path, model output, credential, or reasoning, and is never uploaded.
|
|
311
|
+
If the aggregate is unreadable, `diagnose` reports it as `unavailable` instead
|
|
312
|
+
of asserting zero attempts. The next valid selector outcome replaces a
|
|
313
|
+
malformed current-schema aggregate with a fresh bounded count document; an
|
|
314
|
+
unknown future schema is preserved for the newer runtime that owns it.
|
|
315
|
+
|
|
303
316
|
When enabled, the updater stores only desired lifecycle state and the concise
|
|
304
317
|
receipt described above, under owner-only permissions. It does not inspect or
|
|
305
318
|
terminate running Claude or Codex sessions; a running task keeps its loaded
|
package/SECURITY.md
CHANGED
|
@@ -62,6 +62,17 @@ small set of allowed path variables because the child needs it to locate the
|
|
|
62
62
|
user's existing Claude login when a non-default config directory is in use.
|
|
63
63
|
OpenSocrates does not copy, inspect, or log credentials from that directory.
|
|
64
64
|
|
|
65
|
+
For fail-open diagnosis, each Claude selector attempt increments one
|
|
66
|
+
owner-only local aggregate under a closed nine-label vocabulary. The aggregate
|
|
67
|
+
stores counts only: it has no timestamp, prompt, transcript, session or turn
|
|
68
|
+
identifier, path, model output, credential, or reasoning. It is shown by the
|
|
69
|
+
local `diagnose` command and is never transmitted.
|
|
70
|
+
An unreadable aggregate is reported as `unavailable`, never as zero observed
|
|
71
|
+
attempts. The next valid selector outcome atomically replaces only a malformed
|
|
72
|
+
current-schema aggregate with a fresh bounded count document; an unknown future
|
|
73
|
+
schema is preserved. Rejected malformed bytes are never copied into another
|
|
74
|
+
file.
|
|
75
|
+
|
|
65
76
|
Managed policy settings are part of the host trust boundary and are not disabled.
|
|
66
77
|
Anthropic's [CLI reference](https://code.claude.com/docs/en/cli-reference) states
|
|
67
78
|
that under `--safe-mode` "managed settings policy still applies, including
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.1.
|
|
1
|
+
1.1.4
|
|
@@ -24,7 +24,7 @@ import { Readable } from "node:stream";
|
|
|
24
24
|
import { pipeline } from "node:stream/promises";
|
|
25
25
|
import { fileURLToPath } from "node:url";
|
|
26
26
|
|
|
27
|
-
export const PRODUCT_VERSION = "1.1.
|
|
27
|
+
export const PRODUCT_VERSION = "1.1.4";
|
|
28
28
|
export const REPOSITORY = "ParkerHwang/OpenSocrates";
|
|
29
29
|
export const MARKETPLACE_NAME = "opensocrates";
|
|
30
30
|
export const PLUGIN_NAME = "opensocrates";
|