docs: record v1 RC tooling compatibility

This commit is contained in:
2026-08-24 15:33:34 -04:00
parent 6df87bc958
commit 74b6213e65
7 changed files with 25 additions and 15 deletions
+1 -1
View File
@@ -1 +1 @@
{"schema_version":1,"project":"sandwich-hime-tooling","export_policy":"exact-allowlist-v1","file_count":49,"allowlist_sha256":"4da693e4f51767697cf3d7f45c6484430f5e3e59d7ddad6d0c7ed97646832f7e","manifest_sha256":"fdc76d7dc395da5cfdd449bbc2573880a219967213a47ec835a7bb819e19fbf7"} {"schema_version":1,"project":"sandwich-hime-tooling","export_policy":"exact-allowlist-v1","file_count":49,"allowlist_sha256":"4da693e4f51767697cf3d7f45c6484430f5e3e59d7ddad6d0c7ed97646832f7e","manifest_sha256":"60b66bf42fe429ab09020090c250a1ff289f56194e20bdcaaf550022507b87ef"}
+5 -5
View File
@@ -5,8 +5,8 @@ f27a706c17beb73d496ae90ce3b1e7e4968ba4db6f4737ebfc7f46aa8bde1b46 ./.gitattribut
f7ac75b443f4ca16b503241344b41aeff9503b0c30bedc2b119551d83cb0fa90 ./DCO.txt f7ac75b443f4ca16b503241344b41aeff9503b0c30bedc2b119551d83cb0fa90 ./DCO.txt
0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0 ./LICENSE 0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0 ./LICENSE
e6fdaaaedda9371adbc7cb20dd5fb9a3f6e13a094727eb6b40008254369d4015 ./LICENSES.md e6fdaaaedda9371adbc7cb20dd5fb9a3f6e13a094727eb6b40008254369d4015 ./LICENSES.md
bd19444f2c5f6d5c6e035a9d7248db8a3a18d66e99c107666eb7441ff8d17d03 ./README.md a71cbb946a4fee1bff61565b5c4ff75c372d50e2c5d0b8cbc019363bf4ebe444 ./README.md
894e33af0a69d7552e96677be6fdac50c61896c4dfa99aad140d38bbf0c18e17 ./RELEASE.md af254c44840c44942d967829d6a840862ea98ca73af263464f2633a9cf918d63 ./RELEASE.md
b6bc2f2dedd9050e34cbdf8ffba4966fb4d96d906ce63b480a7686409674291c ./SECURITY.md b6bc2f2dedd9050e34cbdf8ffba4966fb4d96d906ce63b480a7686409674291c ./SECURITY.md
7bdf5534cf4642602ab8ad23029ccc57c222f7df7029a5852df55e588611a2b9 ./editors/vscode/.vscodeignore 7bdf5534cf4642602ab8ad23029ccc57c222f7df7029a5852df55e588611a2b9 ./editors/vscode/.vscodeignore
e141e6fce7dd83f14143b644eb2b5398d96898deac48627a4701d05cc62f8618 ./editors/vscode/LICENSE e141e6fce7dd83f14143b644eb2b5398d96898deac48627a4701d05cc62f8618 ./editors/vscode/LICENSE
@@ -27,8 +27,8 @@ e8e928d4a94882b21be37dea78a6b379fd9dea6b1691034017ae11f4496333dc ./editors/vsco
8c684739f5cca1f5ff7467edd99618e0236e4d08567042d35fa59929c0ea2726 ./editors/vscode/syntaxes/sando.tmLanguage.json 8c684739f5cca1f5ff7467edd99618e0236e4d08567042d35fa59929c0ea2726 ./editors/vscode/syntaxes/sando.tmLanguage.json
a7c3f1040e6bb0faed5e48be7e1800297a29ab3793de60055e6b53561ae9bdef ./editors/vscode/test/grammar/fixtures/mixed.sando a7c3f1040e6bb0faed5e48be7e1800297a29ab3793de60055e6b53561ae9bdef ./editors/vscode/test/grammar/fixtures/mixed.sando
864f61630baaa97553baee26d90d81b9c8ae1a35d68cde0cf202785a0c71c0a8 ./editors/vscode/test/grammar/grammar.test.js 864f61630baaa97553baee26d90d81b9c8ae1a35d68cde0cf202785a0c71c0a8 ./editors/vscode/test/grammar/grammar.test.js
6426be921591d001439248babd77fd8c8c390ea4b0f5a7fdb97a22cbf5c9b834 ./editors/vscode/test/integration/run.js 22c576b68370ee966bbd65d901f9654df85c990671cb37f2b31906598b9476b0 ./editors/vscode/test/integration/run.js
fe5c4ea75c1de12a78047b9a1437de92b905b2adf8fe7a237723edf08438b4dd ./editors/vscode/test/integration/suite/index.js 1fc5d43e52c341d2ea145f60317cda0ea59c801955aeb559dc6727e823fcf857 ./editors/vscode/test/integration/suite/index.js
6c6378093bab47920a4e8a95188f5d41471d799f21363a4106c8b3f495a6c940 ./editors/vscode/test/unit/core.test.js 6c6378093bab47920a4e8a95188f5d41471d799f21363a4106c8b3f495a6c940 ./editors/vscode/test/unit/core.test.js
4911677ce39e9a3ebd7c0f9e37c3b1009734c8b522dcbadf8cac59946add8250 ./editors/vscode/test/workspace/cards/badge.sando 4911677ce39e9a3ebd7c0f9e37c3b1009734c8b522dcbadf8cac59946add8250 ./editors/vscode/test/workspace/cards/badge.sando
ede0ed96329bc4e05865c9c975fce0a7438c237f16b4900d06a2039b091a2a44 ./editors/vscode/test/workspace/go.mod ede0ed96329bc4e05865c9c975fce0a7438c237f16b4900d06a2039b091a2a44 ./editors/vscode/test/workspace/go.mod
@@ -41,7 +41,7 @@ e4870eb4ff4c73bd52603a5fe1fadf3ddfc8a71c43c6e4a790bf8e3ec38a6c36 ./scripts/pack
e9e1c8b23d4abe63ed4e3eee8151cb713233009a1b88f61ff177ad14efd7c41d ./scripts/test-public-snapshot.sh e9e1c8b23d4abe63ed4e3eee8151cb713233009a1b88f61ff177ad14efd7c41d ./scripts/test-public-snapshot.sh
651937f5625497ce09b06a0232a80de0bf4cee7316aa788eeb9e637018d71fbf ./scripts/validate-skill.js 651937f5625497ce09b06a0232a80de0bf4cee7316aa788eeb9e637018d71fbf ./scripts/validate-skill.js
6bd74a6b8e2204967ca6bd2a5e81dcd738034a91eec0c7e97f7ba42c0f033376 ./scripts/verify.ps1 6bd74a6b8e2204967ca6bd2a5e81dcd738034a91eec0c7e97f7ba42c0f033376 ./scripts/verify.ps1
b4edf786e30b221f95e49d2ccdda1419c0e6583f8b7bde834af686a4e674988b ./scripts/verify.sh 83cea91f14297d49134a984e274c170cca14266558a642b0bfd5c85be75bc1a7 ./scripts/verify.sh
a0e144decd47d1b87623ae6224e5d4c4b3957768179a7c7933a93ec4f5b316c4 ./skills/sandwich-hime/LICENSE a0e144decd47d1b87623ae6224e5d4c4b3957768179a7c7933a93ec4f5b316c4 ./skills/sandwich-hime/LICENSE
4f8080d5983a4af57e87e49633cfca189b3d08711715337ad05d7718735fa609 ./skills/sandwich-hime/SKILL.md 4f8080d5983a4af57e87e49633cfca189b3d08711715337ad05d7718735fa609 ./skills/sandwich-hime/SKILL.md
ebaaa8b75f3d5666000d9add3bc9e89a53635c233f7a9703bc925139b056d727 ./skills/sandwich-hime/agents/openai.yaml ebaaa8b75f3d5666000d9add3bc9e89a53635c233f7a9703bc925139b056d727 ./skills/sandwich-hime/agents/openai.yaml
+7 -4
View File
@@ -25,12 +25,14 @@ It does not download, install, upgrade, or phone home.
advertised `lsp-stdio` feature. advertised `lsp-stdio` feature.
- Sando runtime remains independently versioned; Beta 2 tooling is compatible - Sando runtime remains independently versioned; Beta 2 tooling is compatible
with `sando/v1.0.0-beta.1`. with `sando/v1.0.0-beta.1`.
- The unchanged Skill and VS Code preview are verified compatible with the
compiler and runtime `v1.0.0-rc.1` release candidate.
Exact pinned installation order: Exact pinned installation order:
```sh ```sh
go get gamertan.com/sandwich-hime/sando@v1.0.0-beta.1 go get gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-beta.2 go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-rc.1
``` ```
## Install the portable skill ## Install the portable skill
@@ -58,8 +60,9 @@ code --install-extension sandwich-hime-0.1.0-preview.1.vsix
``` ```
The extension supplies syntax highlighting without trust. Its executable The extension supplies syntax highlighting without trust. Its executable
features require a trusted workspace and the separately installed Beta 2 features require a trusted workspace and a separately installed compatible
compiler; it never downloads Hime-san for you. compiler; it never downloads Hime-san for you. The current release-candidate
installation is Hime-san `v1.0.0-rc.1`.
## Canonical project ## Canonical project
+2 -1
View File
@@ -14,7 +14,8 @@ the 0BSD license.
`vscode/v0.1.0-preview.1` is a signed annotated tag from the reviewed canonical `vscode/v0.1.0-preview.1` is a signed annotated tag from the reviewed canonical
public commit. Its Gitea prerelease contains the exact VSIX, detached signature, public commit. Its Gitea prerelease contains the exact VSIX, detached signature,
SHA-256, CycloneDX SBOM, and license/audit evidence. It requires compiler SHA-256, CycloneDX SBOM, and license/audit evidence. It requires compiler
`v1.0.0-beta.2`; it is not published to Visual Studio Marketplace or Open VSX. `v1.0.0-beta.2` or newer and has been verified against `v1.0.0-rc.1`; it is not
published to Visual Studio Marketplace or Open VSX.
The first registry release is manual and may occur only after classroom and The first registry release is manual and may occur only after classroom and
community feedback covers installation, live diagnostics, component community feedback covers installation, live diagnostics, component
+8 -2
View File
@@ -8,8 +8,14 @@ const {downloadAndUnzipVSCode, runTests} = require('@vscode/test-electron');
(async () => { (async () => {
const extensionDevelopmentPath = path.resolve(__dirname, '..', '..'); const extensionDevelopmentPath = path.resolve(__dirname, '..', '..');
const sourceWorkspace = path.join(extensionDevelopmentPath, 'test', 'workspace'); const sourceWorkspace = path.join(extensionDevelopmentPath, 'test', 'workspace');
const temporary = fs.mkdtempSync(path.join(os.tmpdir(), 'himesan-vscode-integration-')); // macOS exposes its temporary tree through /var, which is a symlink to
// /private/var. Hime-san intentionally rejects user-supplied workspace roots
// reached through symlinks, so make this test-owned path physical before it
// crosses the LSP boundary.
const temporaryRoot = process.platform === 'darwin' ? '/private/tmp' : fs.realpathSync(os.tmpdir());
const temporary = fs.realpathSync(fs.mkdtempSync(path.join(temporaryRoot, 'himesan-vscode-integration-')));
const workspace = path.join(temporary, 'project [safe]'); const workspace = path.join(temporary, 'project [safe]');
const userData = path.join(temporary, 'user-data');
fs.cpSync(sourceWorkspace, workspace, {recursive: true}); fs.cpSync(sourceWorkspace, workspace, {recursive: true});
try { try {
const vscodeExecutablePath = await downloadAndUnzipVSCode('1.96.4'); const vscodeExecutablePath = await downloadAndUnzipVSCode('1.96.4');
@@ -17,7 +23,7 @@ const {downloadAndUnzipVSCode, runTests} = require('@vscode/test-electron');
vscodeExecutablePath, vscodeExecutablePath,
extensionDevelopmentPath, extensionDevelopmentPath,
extensionTestsPath: path.join(__dirname, 'suite', 'index.js'), extensionTestsPath: path.join(__dirname, 'suite', 'index.js'),
launchArgs: [workspace, '--disable-extensions', '--disable-gpu', '--skip-welcome', '--skip-release-notes'], launchArgs: [workspace, `--user-data-dir=${userData}`, '--disable-extensions', '--disable-gpu', '--skip-welcome', '--skip-release-notes'],
extensionTestsEnv: {HIMESAN_TEST_BINARY: process.env.HIMESAN_TEST_BINARY || ''}, extensionTestsEnv: {HIMESAN_TEST_BINARY: process.env.HIMESAN_TEST_BINARY || ''},
}); });
} finally { } finally {
@@ -7,7 +7,7 @@ const vscode = require('vscode');
async function run() { async function run() {
const binary = process.env.HIMESAN_TEST_BINARY; const binary = process.env.HIMESAN_TEST_BINARY;
assert.ok(binary && path.isAbsolute(binary), 'HIMESAN_TEST_BINARY must be an absolute Beta 2 candidate path'); assert.ok(binary && path.isAbsolute(binary), 'HIMESAN_TEST_BINARY must be an absolute compatible compiler path');
const folder = vscode.workspace.workspaceFolders?.[0]; const folder = vscode.workspace.workspaceFolders?.[0];
assert.ok(folder, 'integration workspace missing'); assert.ok(folder, 'integration workspace missing');
await vscode.workspace.getConfiguration('sandwichHime', folder.uri).update('himesanPath', binary, vscode.ConfigurationTarget.WorkspaceFolder); await vscode.workspace.getConfiguration('sandwichHime', folder.uri).update('himesanPath', binary, vscode.ConfigurationTarget.WorkspaceFolder);
+1 -1
View File
@@ -5,7 +5,7 @@ root=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root" cd "$root"
node scripts/validate-skill.js node scripts/validate-skill.js
go run ./scripts/package-skill.go go run ./scripts/package-skill.go
(cd editors/vscode && npm run verify) (cd editors/vscode && npm ci && npm run verify)
first_sbom=$(mktemp) first_sbom=$(mktemp)
second_sbom=$(mktemp) second_sbom=$(mktemp)
trap 'rm -f -- "$first_sbom" "$second_sbom"' EXIT trap 'rm -f -- "$first_sbom" "$second_sbom"' EXIT