Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: abruption/session-peer
ref: 47c23713d0a2a3c11ebde6186afd8c43489b8b65
ref: 8ca77cf31254c8287a2593fe484bb30a7dba2727
path: .reference-python
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: abruption/session-peer
ref: 47c23713d0a2a3c11ebde6186afd8c43489b8b65
ref: 8ca77cf31254c8287a2593fe484bb30a7dba2727
path: .reference-python
persist-credentials: false
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
Expand Down
10 changes: 6 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ This repository follows the PR-based workflow of
npm ci --ignore-scripts
npm run build
node scripts/check-repository.mjs
SESSION_PEER_PYTHON_ROOT=/path/to/python-v1.0.2 npm test
SESSION_PEER_PYTHON_ROOT=/path/to/python-v1.1.0 npm test
npm run test:package
npm audit
```
Expand All @@ -44,9 +44,11 @@ separate TypeScript consumer. The package root exposes only pure protocol helper
The npm TypeScript indicator requires publishing these declarations in a new
version; it does not retroactively alter `0.1.0-preview.0`.

Python reference commit: `47c23713d0a2a3c11ebde6186afd8c43489b8b65`.
CI checks it out separately. Python is a development oracle, never a runtime
fallback. Match Node 22/24, macOS/Linux and the native dependency requirements.
Python reference: 1.1.0 commit `8ca77cf31254c8287a2593fe484bb30a7dba2727`.
CI checks it out separately; `test/fixtures/python-reference.pin.json` verifies
selected source hashes before the ordinary list/discovery comparison tests run.
This limited comparison does not establish full send/handoff interoperability.
Python is a development oracle, never a runtime fallback. Match Node 22/24, macOS/Linux and the native dependency requirements.
Windows CI separately runs `npm run test:windows` and `npm run test:package`
on x64 Node 22/24. The Windows fixture compiles with the runner's .NET Framework
C# compiler and uses real locks/processes plus an isolated fake SSH endpoint
Expand Down
185 changes: 181 additions & 4 deletions PARITY.md

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md)

<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.0.2 -->
<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.1.0 -->

**文書・ソースのバージョン: 0.3.6。** インストール前に、選択したリリースとレジストリのメタデータを確認してください。日付付きの準備・検証記録は [VALIDATION.md](VALIDATION.md)、リリース手順は [RELEASING.md](RELEASING.md) にあります。SSH の両端には同じ TypeScript クライアントのバージョンが必要で、0.3.5 と 0.3.6 は互いの SSH 事前確認を拒否します。

Expand Down Expand Up @@ -112,6 +112,8 @@ session-peer --version
- [開発・貢献](CONTRIBUTING.md).
- [リリース手順](RELEASING.md).

- [0.4.0 handoff 設計(共同合意・未実装)](PARITY.md#handoff-v1-design-candidate--69).

## License

[MIT ライセンス](LICENSE)で公開しています。
Expand Down
4 changes: 3 additions & 1 deletion README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Python을 설치하지 않아도 Node.js에서 실행되는 TypeScript 클라이

</div>

<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.0.2 -->
<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.1.0 -->

**문서·소스 기준 버전: 0.3.6.** 설치 전에 선택한 릴리스와 레지스트리 메타데이터를 확인하세요. 날짜별 준비·검증 기록은 [VALIDATION.md](VALIDATION.md), 릴리스 절차는 [RELEASING.md](RELEASING.md)에 있습니다. SSH 양쪽에는 같은 TypeScript 클라이언트 버전이 필요하며, 0.3.5와 0.3.6는 서로의 SSH 사전 확인을 거부합니다.

Expand Down Expand Up @@ -126,6 +126,8 @@ session-peer --version
- [개발·기여 안내](CONTRIBUTING.md).
- [릴리스 절차](RELEASING.md).

- [0.4.0 handoff 설계(공동 확정·미구현)](PARITY.md#handoff-v1-design-candidate--69).

<a id="license"></a>
## 라이선스

Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md)

<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.0.2 -->
<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.1.0 -->

**Documentation and source version: 0.3.6.** Review the selected release and registry metadata before installation. Dated preparation and validation records are in [VALIDATION.md](VALIDATION.md); release procedures are in [RELEASING.md](RELEASING.md). SSH endpoints require the same TypeScript client version; 0.3.5 and 0.3.6 refuse each other’s SSH preflight.

Expand Down Expand Up @@ -112,6 +112,8 @@ does not install a skill. Review its pinned-source instructions in the guide.
- [Development and contributions](CONTRIBUTING.md).
- [Release process](RELEASING.md).

- [0.4.0 handoff design (jointly agreed, unimplemented)](PARITY.md#handoff-v1-design-candidate--69).

## License

Licensed under the [MIT License](LICENSE).
Expand Down
4 changes: 3 additions & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md)

<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.0.2 -->
<!-- docs-contract: stable-release-source; package=session-peer; bin=session-peer; node=22.13+/24; python-reference=1.1.0 -->

**文档和源码版本:0.3.6。** 安装前,请审核所选发布版本和注册表元数据。按日期记录的准备与验证结果见 [VALIDATION.md](VALIDATION.md),发布流程见 [RELEASING.md](RELEASING.md)。SSH 两端必须使用相同的 TypeScript 客户端版本;0.3.5 与 0.3.6 会拒绝彼此的 SSH 预检。

Expand Down Expand Up @@ -108,6 +108,8 @@ session-peer --version
- [开发与贡献](CONTRIBUTING.md).
- [发布流程](RELEASING.md).

- [0.4.0 handoff 设计(联合确认、未实现)](PARITY.md#handoff-v1-design-candidate--69).

## License

采用 [MIT 许可证](LICENSE)。
Expand Down
42 changes: 42 additions & 0 deletions VALIDATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,48 @@ request-count assertions are preserved. This was test isolation, not a runtime
failure or a CI rerun treated as an unchanged-head success. Final PR-head CI
results are recorded in the PR after the correction.

## Python 1.1.0 ordinary comparison — 2026-10-11 KST

Unpublished 0.4.0 development checkpoint: an isolated `git archive` export of
published Python 1.1.0 commit `8ca77cf31254c8287a2593fe484bb30a7dba2727`
was compared with the #69 worktree at `d62e813c8146e9832659654a850734fc986fd3d7`.
Only the subsequent published-design identity correction was pending; it did
not change the selected list/discovery source. No user's Python checkout,
agent home or saved thread was used. Archive SHA-256:
`7243c124398ec3b4cf4541881788dac955247d50949339e5f9f659bbb0d15ff9`.

macOS arm64 / Node 24.16.0 / Python 3.15.0 command:

```sh
SESSION_PEER_PYTHON_ROOT=<exact-reference-export> TASK_TEMP=<private-fixtures> PYTHONDONTWRITEBYTECODE=1 node --import ./test/fixtures/isolate-env.mjs --experimental-strip-types --test test/conformance.test.ts test/discovery.test.ts
```

Result: **21 tests, 21 passed, zero failed/cancelled/skipped**, exit 0 and empty
stderr. The private fixture directory was empty after test cleanup. These
existing tests compare ordinary listing/discovery projections and exercise
synthetic refusal paths; they do not establish full send/handoff/SSH
interoperability, native model delivery or ACK. No real native queue, message,
receipt, installation, policy or operation change occurred.

The subsequent candidate ordinary reference pin uses this exact release;
`test/fixtures/python-reference.pin.json` records its scope and selected source
hashes. `compatibility-v1.json` SHA-256 remains
`afd5a0b37562bb6a81afa9c20628bfae0cfe4d1caf9e88db402005fc42aabcd7`,
byte-identical to the historical 1.0.2 fixture. Frozen handoff design bytes and
the historical design baseline are unchanged. The earlier 0.3.x validation
records below retain their actual 1.0.2 oracle; the public npm 0.3.3 artifact
is not rewritten. Current integrated CI on the new pin is a separate gate.

After applying the candidate reference-pin changes on the #69 worktree based
on `f99417b`, `npm run build` and `npm run test:types` passed. The same isolated
reference export was used for the conformance/discovery/updates/handoff-contract
selection: **44 tests passed, zero failed/cancelled/skipped**, exit 0. The new
source-hash pin checks executed. Update tests use fixture registries and private
caches, not the public registry or an actual installation update. The repository
metadata/link/anchor checker and `git diff --check` passed. These are candidate
checks before root integration/current-head CI, not a public release or broader
native/ACK validation.

## 0.3.3 candidate preparation — 2026-10-09 KST

Preparation [#128](https://github.com/abruption/session-peer-ts/issues/128)
Expand Down
6 changes: 4 additions & 2 deletions docs/guide.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
- npm、Python、リモートホスト、スキルは別管理です。TS は自己更新やリモート更新を提供しません。通知は既定で無効で、無効化指定が優先します。明示的な `update --check` はレジストリを照会します。公開 TS 0.3.5 は公開スキル `0.2.1` と旧 `0.1.0`・`0.2.0` の厳密なプロファイルを受け入れます。公開 TS 0.3.2・0.3.3・0.3.4 は `0.2.1` を拒否します。導入の節には独立して公開されたスキルのソースを固定しています。
- Windows の検証は公開 0.3.1、Windows 10 x64、管理者アカウント、PowerShell 5.1、Node 24.16.0 で行いました。オフライン導入、ラッパー・ネイティブロック、運用者の doctor・存在しない宛先の dry-run、ローカル fixture 31 件を検証しました。Node 22 はバージョン表示とネイティブロックの確認のみです。非管理者、他のアーキテクチャ、F6 のランタイム検査、以前の Linux 実験の最新規則は未検証です。0.3.2 の実機 ACK やデプロイ補助ツールの検証ではありません。

[移行の詳細](../PARITY.md#ordinary-cli-migration-notes--117)と [Windows の検証記録](../VALIDATION.md#windows-ssh-destination-f5--2026-10-07-kst)を参照してください。Python 1.0.2 のテスト基準は維持します。比較対象の公開 CLI はどちらも一般のネイティブ ACK/wait、エンドツーエンドの重複防止、Side Session を提供しません。Relay/MCP はこの比較の対象外です。
[移行の詳細](../PARITY.md#ordinary-cli-migration-notes--117)と [Windows の検証記録](../VALIDATION.md#windows-ssh-destination-f5--2026-10-07-kst)を参照してください。上の日付付き移行比較は当時の公開版を対象にしています。未公開の 0.4.0 ソース候補は開発時の比較基準を Python 1.1.0 に更新しますが、公開 npm 0.3.3 の従来の 1.0.2 表示は変わりません。Python 1.1.0 には実験的なローカル Claude の受領確認専用 ACK 経路があります。これは TS 候補の自動 ACK、SSH handoff、Windows handoff 対応を意味しません。どちらの基準もエンドツーエンドの消費を保証せず、Side Session は実験段階です。Relay/MCP は比較対象外です。


[0.4.0 handoff 設計(共同合意・未実装)](../PARITY.md#handoff-v1-design-candidate--69)

## 目次

- [機能と範囲](#機能と範囲)
Expand Down Expand Up @@ -202,7 +204,7 @@ npm run test:package
npm audit
```

Python は開発時の互換検証基準のみです(v1.0.2、`47c23713d0a2a3c11ebde6186afd8c43489b8b65`)。実行時依存ではありません。POSIX 契約テストには C コンパイラーと lsof も必要です。CI は三つの OS で Node 22/24 を使います。macOS/Linux は固定した基準に対する全契約・パッケージ検査、Windows x64 はビルド・型検査、ネイティブ Claude inbox、保持/未保持ロック、writer 所有権と提出直前の競合、CLI queue 結果、隔離した模擬 SSH 宛先での実 PowerShell/.cmd フレーミング、パッケージのインストール・ネイティブ読込・削除と audit を実行します。これらは fixture 検査で、Windows では POSIX/Python 参照スイートを実行しません。Windows x64/Node 24 の実機 ACK は別の一回限りの証拠です。SQLite・Unix inbox・実 lock の fixture と、専用実 TUI の証拠 [VALIDATION.md](../VALIDATION.md) は別です。fixture 成功は ACK ではありません。パッケージ内容、反復 pack ハッシュ、新規インストール、アンインストールも検証します。ネイティブ依存の通常の install script は実行せず、検証した prebuilt 経路は `--ignore-scripts` を使います。SQLite 読み取り専用接続も WAL 共有メモリー管理に関与し得るため、スナップショットではありません。
Python は開発時の比較基準です(v1.1.0、`8ca77cf31254c8287a2593fe484bb30a7dba2727`)。実行時依存ではありません。検証範囲は通常の一覧・探索結果であり、送信や handoff 全体の相互運用性を証明するものではありません。POSIX 契約テストには C コンパイラーと lsof も必要です。CI は三つの OS で Node 22/24 を使います。macOS/Linux は固定した基準に対する全契約・パッケージ検査、Windows x64 はビルド・型検査、ネイティブ Claude inbox、保持/未保持ロック、writer 所有権と提出直前の競合、CLI queue 結果、隔離した模擬 SSH 宛先での実 PowerShell/.cmd フレーミング、パッケージのインストール・ネイティブ読込・削除と audit を実行します。これらは fixture 検査で、Windows では POSIX/Python 参照スイートを実行しません。Windows x64/Node 24 の実機 ACK は別の一回限りの証拠です。SQLite・Unix inbox・実 lock の fixture と、専用実 TUI の証拠 [VALIDATION.md](../VALIDATION.md) は別です。fixture 成功は ACK ではありません。パッケージ内容、反復 pack ハッシュ、新規インストール、アンインストールも検証します。ネイティブ依存の通常の install script は実行せず、検証した prebuilt 経路は `--ignore-scripts` を使います。SQLite 読み取り専用接続も WAL 共有メモリー管理に関与し得るため、スナップショットではありません。

[CONTRIBUTING.md](../CONTRIBUTING.md)、[RELEASING.md](../RELEASING.md)、[SECURITY.md](../SECURITY.md) を参照してください。今後のリリースの公開には別途承認が必要で、自動 npm 公開はありません。[MIT](../LICENSE) ライセンスです。

Expand Down
9 changes: 6 additions & 3 deletions docs/guide.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
- npm, Python, 원격 호스트, 스킬은 각각 별도로 관리합니다. TS는 자체·원격 업데이트를 제공하지 않습니다. 알림은 기본 꺼짐이며 비활성화 설정이 우선합니다. 명시적 `update --check`는 레지스트리를 조회합니다. 공개 TS 0.3.5는 공개 스킬 `0.2.1`과 기존 `0.1.0`·`0.2.0`의 정확한 프로필을 허용하며, 공개 TS 0.3.2·0.3.3·0.3.4는 `0.2.1`을 거부합니다. 설치 절에는 별도로 공개된 스킬 소스를 고정했습니다.
- Windows 검증은 공개 0.3.1, Windows 10 x64, 관리자 계정, PowerShell 5.1, Node 24.16.0에서 수행했습니다. 오프라인 설치, 래퍼·네이티브 잠금, 운영자의 doctor·없는 대상 dry-run과 로컬 fixture 31개가 검증됐습니다. Node 22는 버전 표시·네이티브 잠금 확인만 수행했습니다. 비관리자, 다른 아키텍처, F6 런타임 검사, 이전 Linux 실험의 최신 규칙 검증은 남아 있습니다. 이는 0.3.2 실기 ACK나 배포 도우미 검증이 아닙니다.

[마이그레이션 상세](../PARITY.md#ordinary-cli-migration-notes--117)와 [Windows 검증 기록](../VALIDATION.md#windows-ssh-destination-f5--2026-10-07-kst)을 참고하세요. Python 1.0.2 테스트 기준은 유지합니다. 비교 대상 공개 CLI 모두 일반 네이티브 ACK/wait, 종단 간 중복 방지, Side Session을 제공하지 않습니다. Relay/MCP는 이 비교 범위에서 제외합니다.
[마이그레이션 상세](../PARITY.md#ordinary-cli-migration-notes--117)와 [Windows 검증 기록](../VALIDATION.md#windows-ssh-destination-f5--2026-10-07-kst)을 참고하세요. 위 날짜별 마이그레이션 비교는 당시 공개 버전을 기준으로 합니다. 미발행 0.4.0 소스 후보는 개발 비교 기준을 Python 1.1.0으로 갱신하며, 공개 npm 0.3.3의 기존 1.0.2 표시는 바뀌지 않습니다. Python 1.1.0에는 실험적인 로컬 Claude 수신 확인 전용 ACK 경로가 있습니다. 이것이 TS 후보의 자동 ACK·SSH handoff·Windows handoff 지원을 뜻하지는 않습니다. 어느 기준도 종단 간 소비를 보장하지 않으며 Side Session은 실험 범위입니다. Relay/MCP는 이 비교에서 제외합니다.


[0.4.0 handoff 설계(공동 확정·미구현)](../PARITY.md#handoff-v1-design-candidate--69)

## 목차

- [주요 기능과 범위](#주요-기능과-범위)
Expand Down Expand Up @@ -419,8 +421,9 @@ npm run test:package
npm audit
```

Python은 개발 시 TypeScript 구현과 동작이 일치하는지 대조하는 기준 구현(conformance oracle)입니다(v1.0.2 커밋
`47c23713d0a2a3c11ebde6186afd8c43489b8b65`)일 뿐 런타임 의존성이 아닙니다. POSIX 계약 테스트에는
Python은 개발 시 동작을 대조하는 기준 구현입니다(v1.1.0 커밋
`8ca77cf31254c8287a2593fe484bb30a7dba2727`). 런타임 의존성이 아닙니다.
검증 범위는 일반 목록·탐색 결과이며, 전체 전송·handoff 상호운용성을 입증하지 않습니다. POSIX 계약 테스트에는
C 컴파일러와 lsof도 필요합니다. CI(지속적 통합)는 세 OS에서 Node 22/24를 사용합니다.
macOS/Linux는 고정된 참조 기준으로 전체 계약·패키지 검사를 실행하고, Windows는
x64에서 빌드·타입 검사, 네이티브 Claude 받은 메시지함·잠금 점유/해제, writer 소유권·재검증
Expand Down
Loading
Loading