diff --git a/PUBLIC-SNAPSHOT.json b/PUBLIC-SNAPSHOT.json index 06a26aa..91ae111 100644 --- a/PUBLIC-SNAPSHOT.json +++ b/PUBLIC-SNAPSHOT.json @@ -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"} diff --git a/PUBLIC-SNAPSHOT.sha256 b/PUBLIC-SNAPSHOT.sha256 index e4436e5..86c1984 100644 --- a/PUBLIC-SNAPSHOT.sha256 +++ b/PUBLIC-SNAPSHOT.sha256 @@ -5,8 +5,8 @@ f27a706c17beb73d496ae90ce3b1e7e4968ba4db6f4737ebfc7f46aa8bde1b46 ./.gitattribut f7ac75b443f4ca16b503241344b41aeff9503b0c30bedc2b119551d83cb0fa90 ./DCO.txt 0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0 ./LICENSE e6fdaaaedda9371adbc7cb20dd5fb9a3f6e13a094727eb6b40008254369d4015 ./LICENSES.md -bd19444f2c5f6d5c6e035a9d7248db8a3a18d66e99c107666eb7441ff8d17d03 ./README.md -894e33af0a69d7552e96677be6fdac50c61896c4dfa99aad140d38bbf0c18e17 ./RELEASE.md +a71cbb946a4fee1bff61565b5c4ff75c372d50e2c5d0b8cbc019363bf4ebe444 ./README.md +af254c44840c44942d967829d6a840862ea98ca73af263464f2633a9cf918d63 ./RELEASE.md b6bc2f2dedd9050e34cbdf8ffba4966fb4d96d906ce63b480a7686409674291c ./SECURITY.md 7bdf5534cf4642602ab8ad23029ccc57c222f7df7029a5852df55e588611a2b9 ./editors/vscode/.vscodeignore e141e6fce7dd83f14143b644eb2b5398d96898deac48627a4701d05cc62f8618 ./editors/vscode/LICENSE @@ -27,8 +27,8 @@ e8e928d4a94882b21be37dea78a6b379fd9dea6b1691034017ae11f4496333dc ./editors/vsco 8c684739f5cca1f5ff7467edd99618e0236e4d08567042d35fa59929c0ea2726 ./editors/vscode/syntaxes/sando.tmLanguage.json a7c3f1040e6bb0faed5e48be7e1800297a29ab3793de60055e6b53561ae9bdef ./editors/vscode/test/grammar/fixtures/mixed.sando 864f61630baaa97553baee26d90d81b9c8ae1a35d68cde0cf202785a0c71c0a8 ./editors/vscode/test/grammar/grammar.test.js -6426be921591d001439248babd77fd8c8c390ea4b0f5a7fdb97a22cbf5c9b834 ./editors/vscode/test/integration/run.js -fe5c4ea75c1de12a78047b9a1437de92b905b2adf8fe7a237723edf08438b4dd ./editors/vscode/test/integration/suite/index.js +22c576b68370ee966bbd65d901f9654df85c990671cb37f2b31906598b9476b0 ./editors/vscode/test/integration/run.js +1fc5d43e52c341d2ea145f60317cda0ea59c801955aeb559dc6727e823fcf857 ./editors/vscode/test/integration/suite/index.js 6c6378093bab47920a4e8a95188f5d41471d799f21363a4106c8b3f495a6c940 ./editors/vscode/test/unit/core.test.js 4911677ce39e9a3ebd7c0f9e37c3b1009734c8b522dcbadf8cac59946add8250 ./editors/vscode/test/workspace/cards/badge.sando ede0ed96329bc4e05865c9c975fce0a7438c237f16b4900d06a2039b091a2a44 ./editors/vscode/test/workspace/go.mod @@ -41,7 +41,7 @@ e4870eb4ff4c73bd52603a5fe1fadf3ddfc8a71c43c6e4a790bf8e3ec38a6c36 ./scripts/pack e9e1c8b23d4abe63ed4e3eee8151cb713233009a1b88f61ff177ad14efd7c41d ./scripts/test-public-snapshot.sh 651937f5625497ce09b06a0232a80de0bf4cee7316aa788eeb9e637018d71fbf ./scripts/validate-skill.js 6bd74a6b8e2204967ca6bd2a5e81dcd738034a91eec0c7e97f7ba42c0f033376 ./scripts/verify.ps1 -b4edf786e30b221f95e49d2ccdda1419c0e6583f8b7bde834af686a4e674988b ./scripts/verify.sh +83cea91f14297d49134a984e274c170cca14266558a642b0bfd5c85be75bc1a7 ./scripts/verify.sh a0e144decd47d1b87623ae6224e5d4c4b3957768179a7c7933a93ec4f5b316c4 ./skills/sandwich-hime/LICENSE 4f8080d5983a4af57e87e49633cfca189b3d08711715337ad05d7718735fa609 ./skills/sandwich-hime/SKILL.md ebaaa8b75f3d5666000d9add3bc9e89a53635c233f7a9703bc925139b056d727 ./skills/sandwich-hime/agents/openai.yaml diff --git a/README.md b/README.md index 62843d5..0950d9e 100644 --- a/README.md +++ b/README.md @@ -25,12 +25,14 @@ It does not download, install, upgrade, or phone home. advertised `lsp-stdio` feature. - Sando runtime remains independently versioned; Beta 2 tooling is compatible 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: ```sh -go get gamertan.com/sandwich-hime/sando@v1.0.0-beta.1 -go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-beta.2 +go get gamertan.com/sandwich-hime/sando@v1.0.0-rc.1 +go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-rc.1 ``` ## 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 -features require a trusted workspace and the separately installed Beta 2 -compiler; it never downloads Hime-san for you. +features require a trusted workspace and a separately installed compatible +compiler; it never downloads Hime-san for you. The current release-candidate +installation is Hime-san `v1.0.0-rc.1`. ## Canonical project diff --git a/RELEASE.md b/RELEASE.md index e6c54d4..afdc911 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -14,7 +14,8 @@ the 0BSD license. `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, 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 community feedback covers installation, live diagnostics, component diff --git a/editors/vscode/test/integration/run.js b/editors/vscode/test/integration/run.js index 1c6e5a6..e6150fe 100644 --- a/editors/vscode/test/integration/run.js +++ b/editors/vscode/test/integration/run.js @@ -8,8 +8,14 @@ const {downloadAndUnzipVSCode, runTests} = require('@vscode/test-electron'); (async () => { const extensionDevelopmentPath = path.resolve(__dirname, '..', '..'); 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 userData = path.join(temporary, 'user-data'); fs.cpSync(sourceWorkspace, workspace, {recursive: true}); try { const vscodeExecutablePath = await downloadAndUnzipVSCode('1.96.4'); @@ -17,7 +23,7 @@ const {downloadAndUnzipVSCode, runTests} = require('@vscode/test-electron'); vscodeExecutablePath, extensionDevelopmentPath, 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 || ''}, }); } finally { diff --git a/editors/vscode/test/integration/suite/index.js b/editors/vscode/test/integration/suite/index.js index a04c0a8..309bc4d 100644 --- a/editors/vscode/test/integration/suite/index.js +++ b/editors/vscode/test/integration/suite/index.js @@ -7,7 +7,7 @@ const vscode = require('vscode'); async function run() { 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]; assert.ok(folder, 'integration workspace missing'); await vscode.workspace.getConfiguration('sandwichHime', folder.uri).update('himesanPath', binary, vscode.ConfigurationTarget.WorkspaceFolder); diff --git a/scripts/verify.sh b/scripts/verify.sh index bac1698..e07fe77 100755 --- a/scripts/verify.sh +++ b/scripts/verify.sh @@ -5,7 +5,7 @@ root=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd) cd "$root" node scripts/validate-skill.js go run ./scripts/package-skill.go -(cd editors/vscode && npm run verify) +(cd editors/vscode && npm ci && npm run verify) first_sbom=$(mktemp) second_sbom=$(mktemp) trap 'rm -f -- "$first_sbom" "$second_sbom"' EXIT