opensocrates 1.2.0 → 1.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/CHANGELOG.md +102 -0
- package/README.ko.md +186 -70
- package/README.md +195 -80
- package/SECURITY.md +11 -0
- package/VERSION +1 -1
- package/installer/opensocrates.mjs +2336 -97
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,109 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.3.0] - 2026-09-08
|
|
4
|
+
|
|
5
|
+
- Add agent-directed method retrieval at decision points within an existing turn,
|
|
6
|
+
reusing canonical content and the deterministic router. Mechanical work can
|
|
7
|
+
pass through without loading a method. Delivery, reported availability and
|
|
8
|
+
application evidence remain distinct.
|
|
9
|
+
- Generate separate English/Korean canonical references for all 48 methods and
|
|
10
|
+
six hosts. Codex discovery now exposes the controller, rigor and trace; previous
|
|
11
|
+
per-method invocations migrate through the controller with unchanged Method IDs.
|
|
12
|
+
- Prevent weighted-primary and fallback routing from bypassing contraindications;
|
|
13
|
+
reject malformed feature lists without silently choosing a fallback.
|
|
14
|
+
- Preserve authored procedure bodies and prior rejected experimental baselines.
|
|
15
|
+
No Compact, method-variant or language rewrite is promoted.
|
|
16
|
+
- Add conservative presentation-only EN/KO Guided rules and full visible-output
|
|
17
|
+
measurements while preserving required cards, evidence, stop conditions and user formats.
|
|
18
|
+
- Avoid first-use hook storage initialization, retain safe existing artifact cleanup,
|
|
19
|
+
and provide a persistent packaged decision stream.
|
|
20
|
+
- Separate Chat export validation from cloud activation and postpublication provenance.
|
|
21
|
+
Release evidence and remaining host limits are recorded in
|
|
22
|
+
[the release record](docs/v1.3.0-recovery/PROGRESS.md).
|
|
23
|
+
|
|
24
|
+
|
|
3
25
|
All notable changes to OpenSocrates are documented here. This project follows
|
|
4
26
|
[Semantic Versioning](https://semver.org/).
|
|
5
27
|
|
|
6
28
|
## [Unreleased]
|
|
7
29
|
|
|
30
|
+
## [1.2.1] - 2026-08-16
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
|
|
34
|
+
- A committed v1.2 adjudication snapshot records 51 EN/KO semantic pairs,
|
|
35
|
+
49 resolved disagreements, strict Draft 2020-12 schemas, aggregate counts,
|
|
36
|
+
and hashes. Its clean-clone validator and mutation suite check only public
|
|
37
|
+
repository artifacts; maintainer-held packet, reviewer, and raw-result
|
|
38
|
+
evidence remains explicitly unavailable in public mode.
|
|
39
|
+
- `remove --host <host|all> --purge` provides an explicit, idempotent
|
|
40
|
+
complete-uninstall attempt for exact OpenSocrates registrations, verified
|
|
41
|
+
host cache payloads, empty Claude plugin-data directories, OpenCode-owned
|
|
42
|
+
files, the updater, transaction residue, and final installer state.
|
|
43
|
+
- `remove --host <codex|all> --purge --reset-trust` explicitly resets only the
|
|
44
|
+
seven canonical OpenSocrates Codex hook approvals after validating a narrow,
|
|
45
|
+
transactional config update.
|
|
46
|
+
- A same-machine reinstall acceptance workflow binds the candidate commit,
|
|
47
|
+
native artifacts, packed npm installer, purge and reinstall lifecycle,
|
|
48
|
+
manual observations, privacy-safe result bundle, and guarded cleanup without
|
|
49
|
+
presenting the machine as clean-machine evidence.
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
- All six generated host packages now carry the same bilingual, three-question
|
|
54
|
+
teacher overlay while preserving their real delivery models: hidden trusted
|
|
55
|
+
hook context for Claude/Codex, explicit content reads for Antigravity/Cursor,
|
|
56
|
+
native skill content for Grok Build, and one question-led compiled procedure
|
|
57
|
+
with the same native fallback for OpenCode.
|
|
58
|
+
- Hook budget fallback now drops teacher questions before binding guardrails,
|
|
59
|
+
instruction artifact schema `/3` reads in-flight `/2` headers with an empty
|
|
60
|
+
question default, and empty or malformed question data no longer refers to
|
|
61
|
+
absent questions.
|
|
62
|
+
- The teacher-question source now has a generated canonical schema and explicit
|
|
63
|
+
overlay identity checks without changing authored per-method content revision
|
|
64
|
+
`1`.
|
|
65
|
+
- Ordinary `remove` now states its narrower registration/managed-root contract,
|
|
66
|
+
reports known remaining OpenSocrates paths, and points to the purge command
|
|
67
|
+
instead of implying that every installed payload was removed.
|
|
68
|
+
- Installer help and English/Korean removal docs now distinguish plugin
|
|
69
|
+
registration, owned payloads, host security trust, and preserved user history.
|
|
70
|
+
- Claude Code, Desktop Local, and Cowork plugin documentation now uses the
|
|
71
|
+
canonical `/opensocrates:opensocrates` namespace, while the separately
|
|
72
|
+
rendered Claude Chat standalone skill keeps `/opensocrates`. Release checks
|
|
73
|
+
reject either command when it appears in the wrong artifact.
|
|
74
|
+
- Claude evidence now keeps the installer-managed local plugin, a manually
|
|
75
|
+
uploaded standalone Chat ZIP, and the pre-existing synced/custom skill as
|
|
76
|
+
separate provenance states. The historical v1.1.2 live receipt remains
|
|
77
|
+
historical, while current-version checks require a version-bound receipt.
|
|
78
|
+
- Codex SessionStart timing evidence now measures `startup` and `compact`
|
|
79
|
+
independently and requires both source sets to pass before release or
|
|
80
|
+
reinstall acceptance can report the timing budget as verified.
|
|
81
|
+
- The exact public v1.2.1 Chat ZIP, checksum, and release commit were unavailable
|
|
82
|
+
at the 2026-08-15 provenance audit. The current Chat receipt and EN/KO
|
|
83
|
+
documentation therefore keep live upload pending instead of inheriting the
|
|
84
|
+
v1.1.2 validation claim.
|
|
85
|
+
|
|
86
|
+
### Security and privacy
|
|
87
|
+
|
|
88
|
+
- Release-package checks reject evaluation or adjudication paths in every host
|
|
89
|
+
and Claude Chat ZIP. The npm package remains restricted to the installer and
|
|
90
|
+
its public release documents, so source evaluation artifacts do not ship.
|
|
91
|
+
- Purge verifies canonical non-symlink paths, exact package identity,
|
|
92
|
+
manifests, checksums, and ownership markers; live `.in_use` payloads,
|
|
93
|
+
unverified registration, unknown data, and cleanup failures remain pending.
|
|
94
|
+
Unrelated host configuration and user history are preserved. Codex hook trust
|
|
95
|
+
remains preserved unless the explicit reset flag is supplied.
|
|
96
|
+
- The trust reset refuses symlinks, hard links, noncanonical or unexpected
|
|
97
|
+
matching sections, invalid configs, concurrent changes, and failed Codex
|
|
98
|
+
consumption checks. It preserves non-target bytes and restores the exact
|
|
99
|
+
original when rollback remains safe; a later external edit is never
|
|
100
|
+
overwritten.
|
|
101
|
+
- Chat evidence stores only release/archive identity, counts, versions,
|
|
102
|
+
pass/fail booleans, and categorical provenance/routing states. The missing
|
|
103
|
+
exact release artifact at audit time prevented a UI upload attempt, so no
|
|
104
|
+
authentication, 2FA, user-confirmation, prompt, conversation, account, path,
|
|
105
|
+
raw UI, upload content, or credential boundary was crossed.
|
|
106
|
+
|
|
8
107
|
## [1.2.0] - 2026-08-13
|
|
9
108
|
|
|
10
109
|
### Added
|
|
@@ -389,3 +488,6 @@ All notable changes to OpenSocrates are documented here. This project follows
|
|
|
389
488
|
[1.1.4]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.3...v1.1.4
|
|
390
489
|
[1.1.5]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.4...v1.1.5
|
|
391
490
|
[1.2.0]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.1.5...v1.2.0
|
|
491
|
+
[1.2.1]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.2.0...v1.2.1
|
|
492
|
+
|
|
493
|
+
[1.3.0]: https://github.com/ParkerHwang/OpenSocrates/compare/v1.2.1...v1.3.0
|
package/README.ko.md
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
+
|
|
3
|
+
> OpenSocrates 1.3.0은 결정 지점 조회와 필수 내용을 보존하는 한영 작성 안내를 제공합니다.
|
|
4
|
+
> [릴리스 근거와 지원 한계](docs/v1.3.0-recovery/PROGRESS.md),
|
|
5
|
+
> [이전 안내와 전달 방식](docs/decision-points.ko.md)을 확인하세요.
|
|
6
|
+
|
|
2
7
|
<img src="https://raw.githubusercontent.com/ParkerHwang/OpenSocrates/main/docs/assets/opensocrates-banner.jpg" alt="OpenSocrates" width="820">
|
|
3
8
|
</p>
|
|
4
9
|
|
|
10
|
+
`gpt-5.6-luna`의 `max` 설정으로 진행한 합성 Codex 시험에서는 요청한 파일이
|
|
11
|
+
있어도 300초 안에 최종 응답이 끝나지 않은 사례가 있었습니다. 이 릴리스는
|
|
12
|
+
고정 응답 시간이나 입증된 품질·자연스러움·토큰 비용·속도 개선을 약속하지
|
|
13
|
+
않습니다. 각 시도의 결과와 소스·설정 차이는 위 릴리스 근거에서 확인할 수
|
|
14
|
+
있습니다.
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
# OpenSocrates
|
|
6
18
|
|
|
7
19
|
[English](README.md) | **한국어**
|
|
@@ -11,13 +23,15 @@
|
|
|
11
23
|
[](https://github.com/ParkerHwang/OpenSocrates/releases)
|
|
12
24
|
[](LICENSE)
|
|
13
25
|
|
|
14
|
-
OpenSocrates는 Claude, Codex, Grok Build,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
26
|
+
OpenSocrates는 Google Antigravity, Claude, Codex, Cursor, Grok Build,
|
|
27
|
+
OpenCode를 위한 로컬 연동 및 저작 추론 프레임워크입니다. 호스트별 전달 모델을
|
|
28
|
+
그대로 지킵니다. Claude/Codex의 숨은 신뢰 컨텍스트는 스승 질문으로 시작하고,
|
|
29
|
+
Antigravity/Cursor/Grok은 질문 우선 전체 절차를 스킬 콘텐츠로 제공하며, OpenCode는
|
|
30
|
+
같은 절차 하나를 같은 턴에 삽입하고 네이티브 스킬을 폴백으로 사용합니다. 단순한
|
|
31
|
+
사실 확인과 기계적인 작업은 그대로 통과할 수 있습니다.
|
|
18
32
|
|
|
19
33
|
버전 `1.2.0`에는 48개의 추론 시스템과 OpenCode의 안정판 같은 턴 자동 활성화,
|
|
20
|
-
네이티브 스킬 폴백,
|
|
34
|
+
네이티브 스킬 폴백, 6개 호스트 통합 라이프사이클,
|
|
21
35
|
선택형 자동 업데이트가 들어 있습니다. 현재 릴리스 플랫폼은 Apple Silicon
|
|
22
36
|
macOS(`darwin-arm64`)입니다. 기존 호스트 로그인을 사용하므로 API 키나
|
|
23
37
|
OpenSocrates 백엔드가 필요하지 않습니다.
|
|
@@ -26,11 +40,9 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
26
40
|
런처는 `darwin-arm64`만 허용하며, Intel Mac·Linux·Windows용 런처와 런타임은
|
|
27
41
|
이번 릴리스에 포함되거나 지원되지 않습니다.
|
|
28
42
|
|
|
29
|
-
>
|
|
30
|
-
>
|
|
31
|
-
>
|
|
32
|
-
> 추가했습니다. `npx --yes opensocrates@1.2.0 update --host all`로 관리
|
|
33
|
-
> 호스트를 함께 업데이트할 수 있습니다.
|
|
43
|
+
> **OpenSocrates 1.3.0 릴리스 구성:** 같은 요청 안의 선택적 조회, 정본 절차 보존,
|
|
44
|
+
> 필수 내용을 지키는 한영 표현 안내와 명확한 호스트 근거 수준을 제공합니다.
|
|
45
|
+
> Chat 클라우드 활성화는 미검증입니다.
|
|
34
46
|
|
|
35
47
|
## 호스트 지원 범위
|
|
36
48
|
|
|
@@ -42,10 +54,10 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
42
54
|
| Grok Build TUI | 헤드리스와 같은 네이티브 플러그인, 활성화 영수증은 대기 중 | `/opensocrates` | [TUI 훅 실행 검증 완료, 네이티브 스킬 마커 테스트는 미완료, 배포 패키지에 훅 없음](docs/grok-support.md) |
|
|
43
55
|
| OpenCode TUI 및 `opencode run` | 안정판 같은 턴 로컬 브리지 | 네이티브 `opensocrates` 스킬 | [OpenCode 1.18.18 TUI, `opencode run` 및 DeepSeek V4 Flash 라이브 스모크 완료](docs/opencode-support.ko.md) |
|
|
44
56
|
| Codex CLI 및 Desktop | 앱에서 훅을 한 번 승인한 뒤 지원 | OpenSocrates 플러그인 | `darwin-arm64` 패키지·런처 릴리스 검증 완료, 실제 Codex 훅 전달 영수증 없음 |
|
|
45
|
-
| Claude Code CLI | `UserPromptSubmit` 훅으로 지원 | `/opensocrates` | `darwin-arm64` 로컬 검증 완료 |
|
|
46
|
-
| Claude Code 데스크톱 앱 | Claude Code 플러그인이 실행되는 곳에서 지원 | `/opensocrates` | [인증된 훅 생명주기 로컬 검증 완료](docs/claude-desktop-live-probe.md) |
|
|
47
|
-
| Claude Cowork | 실측 로컬 플러그인 업로드에서 지원 | `/opensocrates` | [네이티브 훅 생명주기 로컬 검증 완료, 릴리스 직접 업로드 지원, 마켓플레이스 동기화 없음](docs/claude-cowork-live-probe.md) |
|
|
48
|
-
| Claude 웹 및 Desktop Chat | 훅 미지원 | `/opensocrates` | [
|
|
57
|
+
| Claude Code CLI | `UserPromptSubmit` 훅으로 지원 | 플러그인: `/opensocrates:opensocrates` | `darwin-arm64` 로컬 검증 완료 |
|
|
58
|
+
| Claude Code 데스크톱 앱 Local 모드 | Claude Code 플러그인이 실행되는 곳에서 지원 | 플러그인: `/opensocrates:opensocrates` | [인증된 훅 생명주기 로컬 검증 완료](docs/claude-desktop-live-probe.md) |
|
|
59
|
+
| 로컬 플러그인을 사용하는 Claude Cowork | 실측 로컬 플러그인 업로드에서 지원 | 플러그인: `/opensocrates:opensocrates` | [네이티브 훅 생명주기 로컬 검증 완료, 릴리스 직접 업로드 지원, 마켓플레이스 동기화 없음](docs/claude-cowork-live-probe.md) |
|
|
60
|
+
| Claude 웹 및 Desktop Chat | OpenSocrates 훅 미지원 | 독립형 스킬: `/opensocrates` | [v1.3 내보내기 검증, 클라우드 활성화 미검증](docs/claude-chat-upload-probe.md) |
|
|
49
61
|
|
|
50
62
|
상태 열은 서로 다른 네 단계를 뜻하며 같은 의미로 읽으면 안 됩니다.
|
|
51
63
|
|
|
@@ -58,10 +70,22 @@ OpenSocrates 백엔드가 필요하지 않습니다.
|
|
|
58
70
|
전달했다는 기록이 없습니다. `os capabilities show`는 이 항목들을 사용 가능이
|
|
59
71
|
아니라 `unknown`으로 보고합니다.
|
|
60
72
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
73
|
+
Anthropic의
|
|
74
|
+
[플러그인 namespace 계약](https://code.claude.com/docs/en/plugins)에 따라 Claude
|
|
75
|
+
플러그인의 canonical 명시적 명령은 `/opensocrates:opensocrates`입니다. 현재 Claude
|
|
76
|
+
버전은 같은 이름을 차지한 다른 명령이 없을 때 `/opensocrates` bare alias도 제공할
|
|
77
|
+
수 있지만, 이 alias는 canonical 플러그인 계약이 아니며 어느 스킬 source가
|
|
78
|
+
응답했는지 증명하지도 않습니다. 별도로 업로드하는 Chat ZIP은 독립형 스킬이므로
|
|
79
|
+
canonical 명령으로 `/opensocrates`를 사용합니다. Chat 화면은 패키지된 OpenSocrates
|
|
80
|
+
훅을 실행하지 않으며, 프롬프트마다 자동으로 선택하는 기능은 플러그인 런타임을
|
|
81
|
+
실행하는 Claude Code와 Cowork 화면에서만 작동합니다. 훅이나 셀렉터를 사용할 수
|
|
82
|
+
없으면 OpenSocrates는 작업을 막지 않고 통과합니다.
|
|
83
|
+
|
|
84
|
+
Claude provenance 세 가지를 분리해서 보세요. installer가 관리하는 로컬 플러그인,
|
|
85
|
+
Chat에 수동 업로드하는 standalone ZIP, 기존 synced/custom skill은 서로 다른
|
|
86
|
+
근거입니다. 로컬 플러그인 status는 두 Cloud 상태를 증명하거나 갱신할 수 없습니다.
|
|
87
|
+
과거 기록의 로컬 플러그인 버전은 1.2.1이고 기존 synced/custom 관측은 1.1.2이지만,
|
|
88
|
+
둘 다 정확한 v1.2.1 standalone 릴리스 ZIP을 업로드했다는 증거가 아닙니다.
|
|
65
89
|
|
|
66
90
|
공개된 v1.1.2 Claude 플러그인 아카이브는 Cowork의 문서화된 압축 크기 제한과
|
|
67
91
|
실측 압축 해제 크기 제한을 모두 초과했습니다. 출시 전 v1.1.3 후보는 압축
|
|
@@ -75,6 +99,8 @@ receipt, Stop, 정리 생명주기도 로컬 검증을 마쳤습니다. 버전 1
|
|
|
75
99
|
|
|
76
100
|
설치 전에 호스트에 로그인하고 명령을 사용할 수 있는지 확인하세요.
|
|
77
101
|
|
|
102
|
+
- Antigravity: `agy 1.0.0` 이상, 명시적 스킬 전용 지원
|
|
103
|
+
- Cursor: Cursor `2.5.0` 이상, 명시적 스킬 우선 지원
|
|
78
104
|
- Claude: Claude Code `2.1.205` 이상과 `claude` 명령
|
|
79
105
|
- Codex: OAuth 로그인이 완료된 `codex` 명령
|
|
80
106
|
- Grok Build: `grok 1.0.3` 이상과 기존 Grok 인증(API 키 추가 불필요)
|
|
@@ -88,7 +114,7 @@ Node.js 20 이상이 필요합니다. npm에 게시된 `opensocrates` 패키지
|
|
|
88
114
|
### 준비된 모든 호스트에 설치
|
|
89
115
|
|
|
90
116
|
```bash
|
|
91
|
-
npx --yes opensocrates@1.
|
|
117
|
+
npx --yes opensocrates@1.3.0 install --host all
|
|
92
118
|
```
|
|
93
119
|
|
|
94
120
|
모든 호스트 경로는 지원되는 인증 완료 CLI를 찾고, 어느 호스트도 바꾸기 전에
|
|
@@ -99,11 +125,70 @@ npx --yes opensocrates@1.2.0 install --host all
|
|
|
99
125
|
전체 라이프사이클에서 같은 호스트 값을 사용할 수 있습니다.
|
|
100
126
|
|
|
101
127
|
```bash
|
|
102
|
-
npx --yes opensocrates@1.
|
|
103
|
-
npx --yes opensocrates@1.
|
|
104
|
-
npx --yes opensocrates@1.
|
|
128
|
+
npx --yes opensocrates@1.3.0 status --host all
|
|
129
|
+
npx --yes opensocrates@1.3.0 update --host all
|
|
130
|
+
npx --yes opensocrates@1.3.0 remove --host all
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 등록 제거, 소유 payload purge, Codex 신뢰 초기화
|
|
134
|
+
|
|
135
|
+
일반 `remove`는 기존과 호환되는 좁은 계약을 유지합니다. 선택한 정확한 호스트 등록과
|
|
136
|
+
설치 프로그램 관리 루트를 제거하고 업데이터를 조정하지만, 호스트가 소유한
|
|
137
|
+
OpenSocrates 플러그인 캐시와 설치 프로그램 desired-state 파일은 남을 수 있습니다.
|
|
138
|
+
출력은 남은 것으로 확인된 OpenSocrates 경로와 다음 purge 명령을 표시하며, 이 결과를
|
|
139
|
+
완전 제거라고 설명하지 않습니다.
|
|
140
|
+
|
|
141
|
+
활성 호스트를 닫은 뒤 명시적인 소유 payload purge를 실행하세요.
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
npx --yes opensocrates@1.3.0 remove --host all --purge
|
|
145
|
+
# 호스트 하나: npx --yes opensocrates@1.3.0 remove --host claude --purge
|
|
146
|
+
# OpenSocrates Codex 훅 신뢰만 함께 초기화:
|
|
147
|
+
npx --yes opensocrates@1.3.0 remove --host all --purge --reset-trust
|
|
148
|
+
# Codex만: npx --yes opensocrates@1.3.0 remove --host codex --purge --reset-trust
|
|
105
149
|
```
|
|
106
150
|
|
|
151
|
+
Purge는 항목을 삭제하기 전에 canonical 경로, 정확한
|
|
152
|
+
`opensocrates@opensocrates` 패키지 ID, 매니페스트, 체크섬, 설치 프로그램 소유권
|
|
153
|
+
표식을 확인합니다. 관리 루트, 정확한 Claude/Codex 캐시 버전, 비어 있는 Claude
|
|
154
|
+
OpenSocrates 플러그인 data 디렉터리, OpenCode 소유 스킬·브리지·사이드카,
|
|
155
|
+
OpenSocrates LaunchAgent, 알려진 트랜잭션 잔여물, 그리고 lifecycle lock 해제 뒤의
|
|
156
|
+
알려진 최종 설치 프로그램 상태 파일과 빈 상태 디렉터리를 대상으로 합니다.
|
|
157
|
+
`~/.claude/plugins`, `~/.codex/plugins`, `~/.opensocrates` 같은 넓은 상위 경로를
|
|
158
|
+
재귀 삭제하지 않습니다.
|
|
159
|
+
|
|
160
|
+
살아 있는 `.in_use/<pid>`가 있는 Claude 캐시, 등록 확인을 막는 누락된 호스트 CLI,
|
|
161
|
+
symlink, 잘못된 소유권 표식이나 매니페스트, 비어 있지 않아 소유권을 증명할 수 없는
|
|
162
|
+
플러그인 data, 정리·권한 실패가 있으면 결과를 `pending` 또는 실패로 보고하고 명령도
|
|
163
|
+
실패 종료합니다. 호스트를 닫거나 보고된 경로를 해결한 뒤 같은 purge를 다시
|
|
164
|
+
실행하세요. 완료된 purge는 여러 번 실행해도 같은 결과를 냅니다. 다른 플러그인과
|
|
165
|
+
사용자 task·project·chat·plan·history 데이터는 byte-for-byte 보존합니다.
|
|
166
|
+
|
|
167
|
+
제거 대상 네 가지는 서로 분리됩니다.
|
|
168
|
+
|
|
169
|
+
- **플러그인 등록:** 일반 remove와 purge는 선택한 호스트에 정확한
|
|
170
|
+
`opensocrates@opensocrates` 등록만 제거하도록 요청합니다.
|
|
171
|
+
- **Payload와 설치 프로그램 상태:** `--purge`는 소유권을 검증한 뒤 위에서 설명한
|
|
172
|
+
정확한 cache/data/관리 상태 경로만 제거합니다.
|
|
173
|
+
- **호스트 보안 신뢰:** Codex 훅 승인은 payload가 아닙니다. 기본 purge는 신뢰를
|
|
174
|
+
보존하고 그 사실을 보고합니다. `--host codex` 또는 `--host all`에서
|
|
175
|
+
`--reset-trust`를 명시해야 정확한 OpenSocrates 훅 승인 7개만 초기화합니다.
|
|
176
|
+
- **사용자 기록:** task, project, chat, plan, session, history 내용은 제거 대상이
|
|
177
|
+
아니며 항상 byte-for-byte 보존됩니다.
|
|
178
|
+
|
|
179
|
+
Codex CLI 0.145.0에는 범위가 좁은 공식 신뢰 제거 명령이 없습니다. 따라서 이 opt-in
|
|
180
|
+
fallback은 정확한 `CODEX_HOME/config.toml`만 대상으로 합니다. 해시를 하드코딩하거나
|
|
181
|
+
출력하지 않고 `pre_tool_use`, `post_tool_use`, `pre_compact`, `session_start`,
|
|
182
|
+
`session_end`, `user_prompt_submit`, `stop`에 해당하는 canonical OpenSocrates section만
|
|
183
|
+
제거합니다. 다른 설정과 플러그인, 주석, 순서, 공백, LF/CRLF 형식은 보존합니다.
|
|
184
|
+
symlink, canonical이 아닌 일치 section, 예상 밖 key, 잘못된 config, 지원되지 않는
|
|
185
|
+
Codex validator, 동시 변경, 쓰기·검증 실패가 있으면 purge는 partial입니다. 원본
|
|
186
|
+
config를 유지하거나 안전하게 rollback할 수 있을 때 트랜잭션으로 복원합니다. 뒤이은
|
|
187
|
+
외부 편집 때문에 자동 rollback이 안전하지 않으면 그 편집을 덮어쓰지 않고 소유자
|
|
188
|
+
전용 복구 사본을 보존합니다. 완료를 주장하지 않습니다. 재설치하면 이 7개 훅이 새
|
|
189
|
+
승인 대상으로 표시될 것으로 예상되지만, 실제 승인 흐름은 별도 host evidence가
|
|
190
|
+
필요합니다.
|
|
191
|
+
|
|
107
192
|
소유자 전용 `~/.opensocrates/desired-state.json`에는 선택 채널, 설치된 호스트,
|
|
108
193
|
원하는 활성 버전이 기록됩니다. `status --host all`은 원하는 버전과 사용 가능한
|
|
109
194
|
버전, 마지막 확인, 마지막 성공 자동 업데이트, 호스트별 버전 차이를 보여 줍니다.
|
|
@@ -113,13 +198,13 @@ npx --yes opensocrates@1.2.0 remove --host all
|
|
|
113
198
|
기존 사용자와의 호환성을 위해 기본 호스트는 계속 Codex입니다.
|
|
114
199
|
|
|
115
200
|
```bash
|
|
116
|
-
npx --yes opensocrates@1.
|
|
117
|
-
# 같은 명령: npx --yes opensocrates@1.
|
|
118
|
-
npx --yes opensocrates@1.
|
|
119
|
-
npx --yes opensocrates@1.
|
|
120
|
-
npx --yes opensocrates@1.
|
|
121
|
-
npx --yes opensocrates@1.
|
|
122
|
-
npx --yes opensocrates@1.
|
|
201
|
+
npx --yes opensocrates@1.3.0 install
|
|
202
|
+
# 같은 명령: npx --yes opensocrates@1.3.0 install --host codex
|
|
203
|
+
npx --yes opensocrates@1.3.0 install --host claude
|
|
204
|
+
npx --yes opensocrates@1.3.0 install --host antigravity
|
|
205
|
+
npx --yes opensocrates@1.3.0 install --host cursor
|
|
206
|
+
npx --yes opensocrates@1.3.0 install --host grok
|
|
207
|
+
npx --yes opensocrates@1.3.0 install --host opencode
|
|
123
208
|
```
|
|
124
209
|
|
|
125
210
|
Grok Build는 `~/.grok/plugins/opensocrates`에 네이티브 콘텐츠 전용 플러그인을
|
|
@@ -148,9 +233,9 @@ Claude 상태는 활성 설치와 설치됐지만 비활성화된 플러그인
|
|
|
148
233
|
### 선택형 자동 업데이트
|
|
149
234
|
|
|
150
235
|
```bash
|
|
151
|
-
npx --yes opensocrates@1.
|
|
152
|
-
npx --yes opensocrates@1.
|
|
153
|
-
npx --yes opensocrates@1.
|
|
236
|
+
npx --yes opensocrates@1.3.0 auto-update enable --host all
|
|
237
|
+
npx --yes opensocrates@1.3.0 auto-update status
|
|
238
|
+
npx --yes opensocrates@1.3.0 auto-update disable
|
|
154
239
|
```
|
|
155
240
|
|
|
156
241
|
자동 업데이트는 명시적으로 켜기 전까지 비활성화되어 있습니다. macOS LaunchAgent는
|
|
@@ -171,37 +256,48 @@ LaunchAgent를 언로드하고 삭제하며, `remove --host all`도 관리 호
|
|
|
171
256
|
|
|
172
257
|
### Claude 웹 및 Desktop Chat 스킬
|
|
173
258
|
|
|
174
|
-
이 화면들은
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
259
|
+
이 화면들은 별도로 업로드한 독립형 스킬을 사용할 수 있지만 로컬 플러그인 훅은
|
|
260
|
+
실행하지 않습니다.
|
|
261
|
+
|
|
262
|
+
Chat 독립형 내보내기: **아카이브 계약 검증, 실제 활성화 미검증.**
|
|
263
|
+
|
|
264
|
+
v1.3.0 독립형 ZIP에는 정본 48개와 한영 참조가 모두 들어 있습니다. 파일 구조·참조
|
|
265
|
+
무결성 및 공개 배포 출처와 계정 수준의 업로드는 별도 근거입니다. 로컬 설치기는
|
|
266
|
+
기존 custom/synced 스킬을 자동 갱신하지 않습니다.
|
|
267
|
+
[버전별 지원 근거](docs/claude-chat-upload-probe.md)를 확인하세요.
|
|
268
|
+
|
|
269
|
+
정확한 릴리스가 공개되면 checksum을 먼저 검증한 뒤 Claude의 **사용자 지정 → 스킬
|
|
270
|
+
→ 스킬 업로드** 화면을 사용하세요. ZIP은 업로더 요구사항에 맞춰 최상위
|
|
271
|
+
`opensocrates/` 폴더 바로 아래에 `SKILL.md`를 둬야 합니다. 이 파일은 Claude
|
|
272
|
+
Code/Cowork 플러그인 아카이브가 아닙니다. 독립형 패키지는 canonical
|
|
273
|
+
`/opensocrates` 스킬 하나만 노출하고, 48개 방법 절차와 엄격도·근거·추적 제어는
|
|
274
|
+
내부 참조로 둡니다. Chat은 패키지된 훅을 실행하지 않으므로 훅 기반 자동 선택은
|
|
275
|
+
없습니다. Anthropic의
|
|
276
|
+
[사용자 정의 스킬 안내](https://support.claude.com/en/articles/12512180-use-skills-in-claude)를
|
|
182
277
|
참고하세요.
|
|
183
278
|
|
|
184
279
|
### 태그가 고정된 GitHub 소스에서 설치
|
|
185
280
|
|
|
186
|
-
npm 레지스트리를 거치지 않을
|
|
281
|
+
npm 레지스트리를 거치지 않을 때는 공개된 태그로 같은 호스트 옵션을 사용합니다.
|
|
187
282
|
|
|
188
283
|
```bash
|
|
189
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
190
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
191
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
192
|
-
npx --yes github:ParkerHwang/OpenSocrates#v1.
|
|
284
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.3.0 install --host all
|
|
285
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.3.0 install --host claude
|
|
286
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.3.0 install --host codex
|
|
287
|
+
npx --yes github:ParkerHwang/OpenSocrates#v1.3.0 install --host opencode
|
|
193
288
|
```
|
|
194
289
|
|
|
195
290
|
### 릴리스 파일 직접 검증
|
|
196
291
|
|
|
197
|
-
|
|
198
|
-
|
|
292
|
+
공개 뒤에는
|
|
293
|
+
[v1.3.0 릴리스](https://github.com/ParkerHwang/OpenSocrates/releases/tag/v1.3.0)에서
|
|
294
|
+
`opensocrates.mjs`, 호스트 패키지, `.sha256` 파일을 내려받습니다. 아래 명령은 이름이 일치하는 공개 asset을 확인한 뒤에 사용하세요. Claude의 예:
|
|
199
295
|
|
|
200
296
|
```bash
|
|
201
|
-
shasum -a 256 -c opensocrates-1.
|
|
297
|
+
shasum -a 256 -c opensocrates-1.3.0-claude-plugin.zip.sha256
|
|
202
298
|
node opensocrates.mjs install --host claude \
|
|
203
|
-
--asset opensocrates-1.
|
|
204
|
-
--checksum opensocrates-1.
|
|
299
|
+
--asset opensocrates-1.3.0-claude-plugin.zip \
|
|
300
|
+
--checksum opensocrates-1.3.0-claude-plugin.zip.sha256
|
|
205
301
|
```
|
|
206
302
|
|
|
207
303
|
다른 호스트 패키지는 `claude`를 `antigravity`, `codex`, `cursor`, `opencode`로 바꾸면 됩니다.
|
|
@@ -216,7 +312,7 @@ node opensocrates.mjs install --host claude \
|
|
|
216
312
|
```bash
|
|
217
313
|
claude plugin uninstall opensocrates@OpenSocrates --scope user
|
|
218
314
|
claude plugin marketplace remove OpenSocrates --scope user
|
|
219
|
-
npx --yes opensocrates@1.
|
|
315
|
+
npx --yes opensocrates@1.3.0 install --host claude
|
|
220
316
|
```
|
|
221
317
|
|
|
222
318
|
관리형 v1.1.0 Claude 설치를 업데이트하면 패키지 트리 전체가 교체됩니다. 따라서
|
|
@@ -225,27 +321,38 @@ npx --yes opensocrates@1.2.0 install --host claude
|
|
|
225
321
|
|
|
226
322
|
## 사용법
|
|
227
323
|
|
|
228
|
-
|
|
229
|
-
근거 조정 또는 다른 구조적 추론이 필요하면 OpenSocrates가
|
|
324
|
+
지원되는 호스트를 평소처럼 사용하세요. 요청에 판단, 해석, 진단, 설명, 계획,
|
|
325
|
+
근거 조정 또는 다른 구조적 추론이 필요하면 OpenSocrates가 참여할 수 있습니다.
|
|
230
326
|
Claude/Codex 네이티브 런타임 화면에서는 다음과 같이 동작합니다.
|
|
231
327
|
|
|
232
|
-
1.
|
|
233
|
-
2.
|
|
234
|
-
3.
|
|
235
|
-
4.
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
328
|
+
1. 초기 방법을 고르지 않고 짧은 네이티브 조회 안내를 전달합니다.
|
|
329
|
+
2. 판단이 달라질 때 활성 에이전트가 적합한 정본 전체를 조회합니다.
|
|
330
|
+
3. 목표·권한·근거·중단 조건과 요청한 출력 형식을 보존합니다.
|
|
331
|
+
4. 보호된 내용을 재작성하지 않는 언어별 작성 안내를 제공합니다.
|
|
332
|
+
5. 전달·에이전트의 가용성 신고·실제 적용을 구분합니다.
|
|
333
|
+
|
|
334
|
+
설치 런처의 `decision codex --stream`은 임시 조회 세션을 유지합니다.
|
|
335
|
+
새 프로세스나 문맥은 이전 읽기 신고를 이어받지 않습니다.
|
|
239
336
|
|
|
240
337
|
OpenCode에서는 의존성 없는 안정판 훅이 로컬에서 방법을 고르고 완전한 저작 절차
|
|
241
|
-
하나를 같은 메시지 턴에 직접 삽입합니다.
|
|
242
|
-
|
|
338
|
+
하나를 같은 메시지 턴에 직접 삽입합니다. 그 컴파일된 절차는 스승 질문 세 개로
|
|
339
|
+
시작하며, 네이티브 `/opensocrates` 폴백도 중복 머리말 없이 같은 절차를 읽습니다.
|
|
340
|
+
artifact나 추가 모델 호출은 만들지 않습니다.
|
|
341
|
+
[OpenCode 지원 경계](docs/opencode-support.ko.md)를 참고하세요.
|
|
342
|
+
|
|
343
|
+
Antigravity와 Cursor는 명시적 콘텐츠 스킬을 사용하고, Grok Build는 네이티브 스킬
|
|
344
|
+
선택 또는 `/opensocrates`를 사용합니다. 세 패키지 모두 생성된 전체 절차가 활성
|
|
345
|
+
에이전트가 스스로 정리할 스승 질문으로 시작합니다. 이는 콘텐츠 전용 동작이며
|
|
346
|
+
OpenSocrates 훅 전달을 주장하지 않습니다.
|
|
243
347
|
|
|
244
348
|
Codex에 설치한 뒤에는 대화형 Codex 세션을 한 번 열어 OpenSocrates 훅을 승인해야
|
|
245
|
-
|
|
349
|
+
네이티브 조회 안내를 사용할 수 있습니다. 이 승인이 끝나기 전에는 `codex exec` 같은 비대화형
|
|
246
350
|
화면이 신뢰되지 않은 훅을 조용히 건너뛸 수 있습니다.
|
|
247
351
|
|
|
248
|
-
|
|
352
|
+
### 보존된 이전 영수증 어댑터
|
|
353
|
+
|
|
354
|
+
다음은 v1.3 기본 조회 안내 훅이 아닌 호환 셀렉터 경로의 설명입니다.
|
|
355
|
+
이전 경로의 Claude 훅 화면은 추가 디렉터리 권한 없이 선택 콘텐츠를 읽을 수 있도록 현재
|
|
249
356
|
워크스페이스 안의 소유자 전용 `.opensocrates` artifact 영역을 우선 사용합니다.
|
|
250
357
|
내부 `.gitignore`가 이 영역을 `git status`에서 숨기고 turn·세션 정리 시 파일을
|
|
251
358
|
삭제합니다. 워크스페이스를 사용할 수 없으면 소유자 전용 OS 임시 디렉터리로
|
|
@@ -273,14 +380,17 @@ Claude 훅 화면에서는 Read 전용 `PostToolUse` 훅이 현재 turn의 정
|
|
|
273
380
|
Claude에서는 필요할 때 같은 컨트롤러를 명시적으로 호출할 수 있습니다.
|
|
274
381
|
|
|
275
382
|
```text
|
|
276
|
-
/opensocrates <요청>
|
|
277
|
-
/opensocrates auto <요청>
|
|
278
|
-
/opensocrates trace
|
|
279
|
-
/opensocrates status
|
|
383
|
+
/opensocrates:opensocrates <요청>
|
|
384
|
+
/opensocrates:opensocrates auto <요청>
|
|
385
|
+
/opensocrates:opensocrates trace
|
|
386
|
+
/opensocrates:opensocrates status
|
|
280
387
|
```
|
|
281
388
|
|
|
282
|
-
|
|
283
|
-
|
|
389
|
+
위 명령은 Claude Code/Cowork 플러그인용입니다. 독립형 Chat ZIP은 대신
|
|
390
|
+
`/opensocrates`를 사용합니다. 플러그인의 등록 명령 inventory에는
|
|
391
|
+
`/opensocrates:opensocrates`가 나타나며, bare alias를 source 증거로 사용하면 안
|
|
392
|
+
됩니다. 컨트롤러가 내부 방법 참조를 선택해 읽으므로 사용자가 48개 구현
|
|
393
|
+
카탈로그를 직접 탐색할 필요가 없습니다.
|
|
284
394
|
|
|
285
395
|
Claude 셀렉터는 세션을 저장하지 않는 단일 `claude --safe-mode -p` 프로세스를
|
|
286
396
|
사용합니다. 안전 모드는 사용자, 프로젝트, 플러그인 커스터마이즈를 끕니다.
|
|
@@ -382,6 +492,7 @@ make lint
|
|
|
382
492
|
make generated-check
|
|
383
493
|
make content-check
|
|
384
494
|
make docs-check
|
|
495
|
+
make governance-check
|
|
385
496
|
make security-scan
|
|
386
497
|
make smoke
|
|
387
498
|
npm test
|
|
@@ -395,7 +506,10 @@ make release-check
|
|
|
395
506
|
| `content/` | 정책, 다국어 메시지, 추론 방법, 이론과 예제 |
|
|
396
507
|
| `plugin-src/claude/` | Claude 플러그인 템플릿 |
|
|
397
508
|
| `plugin-src/codex/` | Codex 플러그인 템플릿 |
|
|
509
|
+
| `plugin-src/antigravity/` | 실험적 Antigravity 콘텐츠 전용 플러그인 템플릿 |
|
|
510
|
+
| `plugin-src/cursor/` | 실험적 Cursor Agent Plugin 템플릿 |
|
|
398
511
|
| `plugin-src/grok/` | Grok Build 네이티브 콘텐츠 전용 플러그인 템플릿 |
|
|
512
|
+
| `plugin-src/opencode/` | OpenCode 안정판 브리지 및 네이티브 스킬 템플릿 |
|
|
399
513
|
| `schemas/source/` | 정규 스키마 정의 |
|
|
400
514
|
| `schemas/v1/` | 생성된 버전 고정 공개 스키마 |
|
|
401
515
|
| `installer/` | 외부 의존성이 없는 Node.js GitHub/npx 설치 프로그램 |
|
|
@@ -419,3 +533,5 @@ OpenSocrates는 [MIT 라이선스](LICENSE)로 배포됩니다. 저작권 및
|
|
|
419
533
|
|
|
420
534
|
OpenSocrates는 독립 오픈 소스 프로젝트이며 Anthropic 또는 OpenAI와 제휴하거나
|
|
421
535
|
그들의 보증을 받은 프로젝트가 아닙니다.
|
|
536
|
+
|
|
537
|
+
Chat 독립형 내보내기: **아카이브 계약 검증, 실제 활성화 미검증.**
|