semantic-scala

io.github.DmytroMitin由 GitHub 账号 DmytroMitin 发布v0.1.0-alpha.3更新于 Oct 26, 2026

Bounded Scala compiler, build, test, type, effect, symbol, and SemanticDB evidence for agents.

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

实验性 stdio MCP 服务器,为编码代理提供有界的 Scala 编译、测试、SemanticDB 符号与类型证据。

可以做什么
  • 运行基于 sbt 的编译、测试与错误命令并返回结构化报告
  • 查看 SemanticDB 清单、覆盖率、符号及精确符号引用
  • 在源码位置查询符号与推断类型(Presentation Compiler)
  • 将动态编译器证据与 SemanticDB 产物对账,并组合点证据
  • 根据源码语法生成函数式编程副作用摘要
适用场景
适合让编码代理在 Scala 或函数式编程项目中获取编译器、构建、测试和符号层面的证据,而不是靠猜测。它是实验性 alpha 证据层,不能替代编译器、sbt、测试或 IDE 工具。
运行要求
在用户机器上本地运行,通过 Coursier 安装(需 JDK 21 与 Coursier);打包的 MCPB 内含本地 Java 21 运行时,仅在 Linux x86_64 且具备 GNU libc 与系统 zlib 的环境验证。compile、errors、test 等构建判定命令需要目标工作区的 sbt。需以目标工作区为工作目录启动服务器。未声明认证、环境变量或请求头。
安装前请注意
构建判定命令会在目标工作区运行 sbt,可能触发构建与插件加载、依赖解析以及元数据或缓存写入;README 提到 sbt 子进程边界与生成的 target 目录写入。证据是有界且部分的:Presentation Compiler 结果不构成整项目编译证明,过期的 SemanticDB 无法完成对账。项目为公开 alpha,Scala 与 sbt 兼容性仅限特定版本,并非通用支持。

安装

在 SourceWeft 中

  1. 打开 控制台中的 semantic-scala,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

scala-semantic-harness

Experimental semantic tooling for Scala and functional-programming projects used by coding agents.

The harness is a bounded semantic evidence layer, not a replacement for the Scala compiler, sbt, tests, Metals, or other IDE/LSP tooling. Compiler, build, and test results remain the final correctness oracle. See docs/project-status.md for current evidence and readiness limits and docs/semantic-tooling-positioning.md for the product boundary. Technical evaluators can use docs/early-feedback.md to report a concrete real-project comparison.

The current tree is the standalone experimental public-alpha source product under the Apache-2.0 license. It was published from an independently constructed, audited clean root followed only by reviewed public-product commits. The earlier mixed development history is retained separately in a private archive and is not part of this public repository.

Mutable source main reports 0.1.0-alpha.4-SNAPSHOT for source development only. No Alpha 4 Central artifact, supported channel, tag, GitHub Release, or release-readiness claim is established. The exact eight-module 0.1.0-alpha.3 release is published on Maven Central, and the public main two-application Coursier channel selects it. Fresh outsider-like JDK 21 install/runtime/update/uninstall through the actual public raw-GitHub URL and Maven Central passed, as did commit-pinned reproduction. Both exact Alpha 2 and Alpha 3 application routes now have bounded supported- distribution READY evidence. The immutable 0.1.0-alpha.3 lightweight tag identifies commit 075a60bfb7d7677d7fdfcc2369c9ffe41c8b32a8, whose two clean builds reproduced all 32 public Maven primaries. Its GitHub prerelease has normal generated source archives plus the exact Linux x86_64 MCPB used by the active official Registry record. The immutable 0.1.0-alpha.2 tag and prerelease retain the independently qualified supported route and source identity for its 32 Central primaries.

Agent quick start

The current supported packaged route is exact 0.1.0-alpha.3 on JDK 21. Install the CLI and generic stdio MCP server first:

bash
cs install --default-channels=false \  --channel https://raw.githubusercontent.com/DmytroMitin/scala-semantic-harness/main/distribution/coursier/channel.json \  semantic-scala semantic-scala-mcpsemantic-scala version

Then choose the integration that the agent client supports: the complete CLI, the curated exact-eight MCP projection, and/or the immutable alpha-2 agent skill. Copying this repository's thin skill wrappers into another project is not supported; install the canonical skill from the 0.1.0-alpha.2 tag.

The source tree also contains a generated lightweight Codex marketplace that packages the canonical skill and registers the separately installed semantic-scala-mcp command. It contains no bundled runtime or hidden downloader. Install its exact Alpha-3 runtime prerequisite from the immutable release tag, then add the public marketplace at the independently immutable Task 278 source commit:

bash
cs install --default-channels=false \  --channel https://raw.githubusercontent.com/DmytroMitin/scala-semantic-harness/0.1.0-alpha.3/distribution/coursier/channel.json \  semantic-scala semantic-scala-mcpsemantic-scala versioncodex plugin marketplace add DmytroMitin/scala-semantic-harness \  --ref 7577f9e429505926eab8728626836ea1cd7ec083codex plugin add semantic-scala@scala-semantic-harness

The version command must report 0.1.0-alpha.3, and Codex must inherit an ordinary PATH containing semantic-scala-mcp. An anonymous public-source fetch, isolated Codex CLI 0.162.1 install, exact-eight registration, and one read-only client-mediated semantic query passed on Linux on 16 October 2026. Desktop GUI PATH inheritance and execution remain unqualified. See docs/agent-onboarding.md for the safe first query, build-side-effect boundary, and separate rollback commands.

docs/agent-onboarding.md gives copy-ready Codex, Claude Code, Cursor, and VS Code/Copilot recipes, exact local qualification statuses, skill installation, the CLI/MCP surface matrix, and troubleshooting. Alpha-3 project and target-JDK selectors are explicitly excluded from the alpha-2 packaged contract. The qualified mutable main channel selects Alpha 3; Alpha 2 remains reproducible through its immutable tag-pinned channel.

Discoverability and directories

The exact 0.1.0-alpha.3 local stdio MCP server is published in the official MCP Registry and is also listed as an MCP Server on MCPServers.org. The latter is a third-party directory listing, not protocol certification.

[Listed on mcpservers.org]

The canonical guidance-only agent skill is live on SkillsMP. Install the runtime separately through Coursier; npx skills add installs only the skill guidance. Current live, pending, and unsubmitted directory states are tracked in docs/discoverability.md.

What is included

  • structured compile, test, and diagnostic reports;
  • SemanticDB inventory, coverage, symbol, and exact-symbol usage evidence;
  • bounded Presentation Compiler symbol and type queries;
  • reconciliation of dynamic compiler evidence with an explicit SemanticDB artifact;
  • a public point-evidence composition that preserves source-artifact discovery, safe selection, live symbol evidence, and conditional reconciliation;
  • Alpha 3 opt-in build-target-aware SemanticDB source mapping v4 with a validated optional Scala axis and root-only receipt, alongside target-aware point-evidence v4 with a non-compiling partial existing-output context and explicit v5 existing-internal-Compile-output opt-in, plus strict v6 content-fresh internal-output gating;
  • an Alpha 3 CLI-only, same-request post-compile TASTy point-evidence operation with exact stable Scala 3 child-inspector provenance;
  • bounded Alpha 3 sbt-backed command, classpath, and TASTy-receipt compatibility proven on sbt 1.12.15 and 2.0.6 fixtures;
  • conservative syntax-first FP effect summaries;
  • a stdio MCP server exposing exactly eight public tools;
  • small external example projects and benchmark infrastructure; and
  • a client-neutral semantic-scala agent skill with thin Codex and Claude Code wrappers;
  • source templates and a deterministic assembler for a self-contained Agent Plugins 1.0 package containing that skill and the exact-eight MCP server; and
  • a supported, independently qualified exact-eight Maven/Coursier application route for exact versions 0.1.0-alpha.2 and 0.1.0-alpha.3, with Alpha 3 current on the public main channel and Alpha 2 retained at its release tag.

Modules

  • modules/core: shared JSON models and codecs.
  • modules/cli: the semantic-scala command entry point.
  • modules/sbt-runner: sbt compile/test subprocess integration.
  • modules/semanticdb-reader: SemanticDB inventory and usage evidence.
  • modules/presentation-compiler: bounded dynamic semantic queries.
  • modules/semantic-reconciliation: static/dynamic symbol comparison and the point-evidence composition and reconciliation contracts.
  • modules/fp-analyzers: syntax-first effect summaries.
  • modules/mcp-server: CLI-backed MCP stdio adapter.
  • modules/benchmark: benchmark models and fixtures.

Build and test

The project uses Scala 3 and sbt. A fresh source setup requires JDK 21, sbt, Git, and Python 3; CI uses Temurin JDK 21. A newer local JDK may work, but it is not the documented baseline.

Scala 3 describes the harness implementation, not a blanket target-language promise. A bounded JDK 21 matrix has verified build/test/error delegation, SemanticDB discovery/symbol/usages, and syntax-first effect summaries on Scala 2.13.18 and Scala 3.3.8 fixtures. The harness is built with Scala 3.9.0 and its dynamic point operations use the linked Scala 3.9.0 Presentation Compiler. That host compiler resolved the matrix's shared-syntax Scala 2 points, but this is not general Scala 2 dialect or compiler support. Target builds still use their selected target compiler; static SemanticDB and post-compile TASTy evidence remain target-artifact evidence. Reconciliation and point evidence inherit the dynamic-source limitation. See docs/project-status.md and docs/semantic-api.md for the exact boundary.

Two maintained real-project Stage-A checks now cover frozen Scala 2.13.18 revisions without source or build changes. scala/scala-java8-compat produced no SemanticDB, so its otherwise-passing alpha-2 matrix preserved truthful degraded point evidence. A bounded production row of scalacenter/scalafix produced target-owned SemanticDB; static symbol discovery, bounded dynamic lookup, exact static/dynamic reconciliation, complete point evidence, and the ordered exact-eight MCP projection passed. Scalafix's aggregated sbt build also exposed that the alpha-2 build oracle cannot select one project row. The Alpha 3 release closes that routing gap with an optional validated project selector; the immutable alpha-2 distribution remains unchanged. These two projects are complementary bounded evidence, not general Scala 2 support or semantic superiority.

The Alpha 3 release sbt subprocess boundary sends project selection plus one product-owned task as a single fixed command sequence. Its injected classpath/receipt adapters use sbt's fileConverter for sbt 2 virtual references and preserve sbt 1 file-backed entries. Readable extensionless sbt 2 CAS JARs are copied directly, without cache scanning, into an owner-only content-addressed area under the selected workspace's generated target tree. A disposable sbt 2.0.6 fixture, a disposable sbt 2.0.7 multi-project fixture, frozen sbt 1.12.15 and sbt 2.0.6 plugin projects, and a frozen Chimney sbt 2.0.7 / Scala 3.8.4 selected row pass their bounded gates. The shared runner uses a request-owned foreground sbt server lifecycle, and structured sbt suite counters preserve ignored/skipped tests in the existing Test JSON fields. This is version-specific evidence, not universal sbt 2 or compiler-plugin compatibility. Chimney's macro-heavy PC points remain neutrally unresolved because target compiler options and plugins are not replayed.

bash
sbt -batch testsbt cli/stagesbt mcpServer/stage

The source-checkout wrapper runs the CLI through sbt:

bash
./semantic-scala --help./semantic-scala version./semantic-scala compile --json./semantic-scala compile --sbt-project core2_13 --json./semantic-scala compile --sbt-project plugin --sbt-java-home /absolute/path/to/installed-jdk --json./semantic-scala test --json./semantic-scala errors --json

compile, errors, test, semanticdb-for-source, and point-evidence accept an optional --sbt-project <id> where the ID matches [A-Za-z][A-Za-z0-9_-]*. Without it they preserve ordinary root behavior. With it, compile/errors run that project's fixed Compile scope and test runs its fixed Test scope. The selector is not arbitrary sbt syntax, and a successful selected invocation proves only that bounded project operation, not whole-workspace correctness.

All eight sbt-backed forms (compile, errors, test, target-aware semanticdb-for-source, target-aware point-evidence, sbt-backed infer-type, infer-type-batch, and tasty-point-evidence) also accept an optional --sbt-java-home <absolute-directory>. The harness itself remains on the supported JDK 21 runtime; only the target sbt child receives the selected canonical JAVA_HOME and a matching PATH prefix. The home must already be installed and pass bounded validation and a fixed version probe. The harness does not discover, download, install, or globally select JDKs. Omitting the flag preserves inherited-Java behavior. Selected-JDK classpath acquisition is isolated from no-selector cache reuse, and public result schemas do not expose the home or probe evidence.

Target-aware semanticdb-for-source and point-evidence also accept --sbt-scala-version <version>. The option requires --sbt-project, uses a strict version-only grammar, and selects that cross-Scala axis in a fresh sbt lifecycle. Source mapping then runs its fixed root-only receipt task; point evidence runs its distinct partial existing-output point-context receipt. Omission means the checked-in build default, never inherited ++ state.

For repeated use, prefer the staged launcher at modules/cli/target/stage/bin/semantic-scala.

Maven/Coursier distribution

The source-build route above remains supported and externally verified. Exact eight-module Alpha 2 and Alpha 3 runtimes are published under final group com.github.dmytromitin on Maven Central, with their complete public repository shapes verified against reviewed bytes. Both exact versions passed fresh outsider-like public raw-GitHub install/runtime/update/uninstall against Maven Central only. Alpha 3 is current on main and also passed commit-pinned reproduction; Alpha 2 retains its immutable, qualified release-tag route.

The Central publication contains exactly the eight implementation modules, never the root aggregate or benchmark, and the public channel uses exact-version descriptors for the distinct semantic-scala CLI and semantic-scala-mcp server applications. JDK 21 and Coursier are runtime/install prerequisites. Target-workspace sbt is needed by build-oracle commands such as compile, errors, and test; it is not required merely to install the applications or for every read-only semantic command. The Maven modules are application implementation artifacts, not a supported embeddable-library API or binary-compatibility promise.

Install only the CLI:

bash
cs install --default-channels=false \  --channel https://raw.githubusercontent.com/DmytroMitin/scala-semantic-harness/main/distribution/coursier/channel.json \  semantic-scala

Or install the CLI and stdio MCP server together:

bash
cs install --default-channels=false \  --channel https://raw.githubusercontent.com/DmytroMitin/scala-semantic-harness/main/distribution/coursier/channel.json \  semantic-scala semantic-scala-mcp

Use semantic-scala-mcp as the generic stdio MCP command with the target workspace as its working directory. See docs/distribution.md for Coursier setup, updates, uninstall, commit-pinned channel reproduction, and the current qualification boundary.

Semantic commands

bash
./semantic-scala semanticdb-status --workspace . --json./semantic-scala semanticdb-coverage --workspace . --json./semantic-scala semanticdb-for-source --file src/main/scala/example/Main.scala --workspace . --json./semantic-scala point-evidence --file src/main/scala/example/Main.scala --workspace . --line 6 --col 16 --json./semantic-scala semanticdb-for-source --file src/main/scala/example/Main.scala --workspace . --sbt-project app [--sbt-scala-version 3.3.7] --json./semantic-scala point-evidence --file src/main/scala/example/Main.scala --workspace . --line 6 --col 16 --sbt-project app [--sbt-scala-version 3.3.7] [--include-existing-internal-outputs [--require-fresh-internal-outputs]] --json./semantic-scala tasty-point-evidence --workspace . --sbt-project app --file src/main/scala/example/Main.scala --line 6 --col 16 [--sbt-java-home /absolute/path/to/installed-jdk] --json./semantic-scala symbols --semanticdb path/to/Main.scala.semanticdb --json./semantic-scala usages --workspace . --manifest semantic-usages.json --symbol 'example/Foo#bar().' --json./semantic-scala symbol-at --file path/to/Main.scala --line 6 --col 16 --json./semantic-scala infer-type --file path/to/Main.scala --line 6 --col 16 --json./semantic-scala infer-type-batch --requests batch-request.json --workspace . --sbt-project core --sbt-configuration Compile [--sbt-java-home /absolute/path/to/installed-jdk] --json./semantic-scala reconcile-symbol --file path/to/Main.scala --line 6 --col 16 --semanticdb path/to/Main.scala.semanticdb --json./semantic-scala effect-summary --file path/to/UserRepo.scala --json

Target-aware source mapping and point evidence are explicit Alpha 3 options. Omitting target options preserves the v2 workspace-wide behavior, including truthful ambiguity. With --sbt-project, source mapping emits v4 and uses a fixed root-only Compile receipt containing target identity, classDirectory, semanticdbTargetRoot, requested/effective Scala-axis provenance, and bounded JDK provenance. It does not request target compilation, fullClasspath, products, or exported products; sbt build/plugin loading, resolution, and ordinary metadata/cache writes remain possible. Candidate ownership is checked canonically beneath the reported SemanticDB root while workspace discovery remains unchanged. Optional --sbt-scala-version selects one validated axis and must exactly match the effective receipt axis; omission uses the fresh lifecycle's build default.

Target-aware point evidence emits v4 by default. It acquires exactly one fixed Compile receipt containing the selected existing class directory when present plus the selected target's external dependencies. It never requests target compilation, fullClasspath, products, or exported products, and has no build fallback. The report always marks this context PartialExistingOutputs; a missing class directory is omitted rather than built. Checked-in sbt build/plugin loading, dependency resolution, and metadata/cache writes remain possible. The harness Presentation Compiler does not replay target compiler flags, plugins, or lifecycle, and the context is not a complete arbitrary multi-project classpath. An explicit --include-existing-internal-outputs presence flag emits v5 and adds only already-present same-axis internal Compile class directories found by a bounded settings-only dependency traversal. Missing outputs remain typed and are never built. V5 stays PartialExistingCompileOutputs, does not request fullClasspath, products, or internalDependencyClasspath, and still does not replay target compiler flags/plugins. The existing eighth MCP tool exposes the same opt-in as optional boolean includeExistingInternalOutputs; the registry remains exactly eight. Adding --require-fresh-internal-outputs requires the v5 flag and emits v6. It reads only existing same-axis Compile / compileAnalysisFile archives and uses supported Zinc persistence APIs in one on-demand bounded JDK 21 worker plus content stamps and source/product relations. The worker is not resolved or launched by v2/v4/v5 or ordinary MCP initialization. Its exact pinned Zinc 1.12.1/Scala 2.13.18/JNA 5.14.0 graph is cache-first; first uncached strict-v6 use may contact Maven Central and populate the Coursier cache, while a warm cache can run offline. Cold offline unavailability fails closed as Unverifiable, with no compile or linked-runtime fallback. The same settings-only receipt captures exact configured source roots and generator-list cardinality; configured generators, managed source residue, unavailable provenance, unsafe roots, or exceeded file/archive bounds fail closed as Unverifiable. Only internal directories proven Fresh contribute; Stale and all Unverifiable states remain visible but excluded. This does not compile, run generators, use mtimes or Git state as freshness authority, or establish whole-target/build freshness. The matching MCP boolean is requireFreshInternalOutputs on the same eighth tool. Moving the graph off normal process classpaths reduces the ordinary staged and shipped dependency surface; it does not claim lower total disk use after the on-demand cache has been populated. semanticdb-for-source remains CLI-only, direct reconcile-symbol remains an explicit-artifact target-independent operation, and the MCP registry remains exactly eight tools.

All machine-facing commands have JSON output. Build-oracle command exit code 0 means the CLI operation completed; inspect the JSON success field for the compile or test domain result. Semantic results preserve their scope and uncertainty: rendered hover text is not canonical identity, artifact presence is not complete source coverage, and only ExactMatch is exact reconciliation.

Detailed contracts:

MCP server

The stdio server exposes exactly these tools:

text
semantic_compilesemantic_errorssemantic_testsemantic_effect_summarysemantic_symbol_atsemantic_symbolssemantic_reconcile_symbolsemantic_point_evidence

Build and validate it with:

bash
sbt cli/stagesbt mcpServer/stagescripts/mcp/smoke-mcp-tools.py

Copy .mcp.example.json and replace its placeholder checkout path for source-development client configuration. Installed alpha-2 users should configure semantic-scala-mcp directly. See docs/mcp-client-validation.md for the public configuration and protocol checks and docs/agent-onboarding.md for client recipes.

Agent skill

The canonical client-neutral policy is skills/semantic-scala/SKILL.md. Thin repository wrappers live at:

These files are source-tree wrappers, not standalone external installations. The skill is policy and documentation. It does not add commands, background services, or automatic invocation. External alpha-2 installation plus client qualification is in docs/agent-onboarding.md; packaging and maintenance guidance is in docs/agent-skill-semantic-scala.md.

For a current repository-sourced installation, select the single canonical skill explicitly:

bash
npx skills add https://github.com/DmytroMitin/scala-semantic-harness --skill semantic-scala

This installs guidance only; install the supported runtime separately. The qualified command, stable catalog metadata, registry boundaries, and native plugin follow-ups are documented in docs/discoverability.md.

Official MCP Registry package

The repository includes a deterministic MCPB packaging surface for the exact 0.1.0-alpha.3 CLI and MCP server. The published Linux x86_64 package carries a package-local Corretto 21 runtime and static entry points, so it does not call an undeclared host java. It preserves ordinary host access to the target Scala workspace and its build tools. Qualification is limited to Linux x86_64 with a compatible GNU-libc environment and system zlib; it is not a claim for every Linux libc or distribution.

The exact bundle is a public Alpha-3 release asset and its active official MCP Registry record is io.github.DmytroMitin/semantic-scala. The maintained manifest and final record are under packaging/mcpb/semantic-scala/ and distribution/mcp-registry/. See docs/mcpb-package.md for the immutable URL and digest, exact-tag build, determinism, validation, and platform boundary.

Agent Plugin package

After staging the CLI and MCP server, generate a fresh relocatable package:

bash
sbt cli/stage mcpServer/stagepython3 scripts/package-agent-plugin.py assemble \  --output target/agent-plugin/semantic-scalapython3 scripts/package-agent-plugin.py validate \  --plugin-root target/agent-plugin/semantic-scala

The output is ignored build material, not a checked-in binary distribution or release. It targets the Agent Plugins 1.0.0 working draft and bundles the canonical skill, complete staged CLI, and complete staged exact-eight MCP server. See docs/agent-plugin.md for the package contract, validation level, relocation smoke, and current client-support limits.

Native plugin candidates

The repository also contains deterministic OpenAI/Codex and Claude Code source templates plus an assembler that transforms the exact published Alpha-3 MCPB into native candidates with a package-local Java runtime. Both candidates passed native manifest validation, canonical-skill byte checks, two-build inventory equality, and a relocated no-host-Java exact-eight runtime smoke. Codex CLI 0.154.0 additionally passed a disposable local-marketplace install, skill load, bundled-MCP registration, and one read-only semantic call. Claude Code 2.1.220 passed a disposable local-marketplace install, packaged-skill load, plugin-local MCP connection, and one read-only client-mediated semantic call after an explicit owner login checkpoint. The historical full Claude candidate remains preserved at commit c05aac9f38e7755a51f511078ff555a587f97ccf in DmytroMitin/semantic-scala-claude-plugin, and the rejected thin wrapper remains at 05d4f0de35a02916504bf29156bc42270cf77a23. The source submitted on 28 September 2026 was rejected because the reviewer does not allow a Directory plugin to download and execute server code from a GitHub Release after installation, even when checksum-pinned. Public main now contains the skills-only source described below.

The locally qualified no-download candidate is maintained under packaging/claude-embedded-plugin/ and embeds a compact local MCPB directly in the plugin. It has no post-install executable fetch or updater. The runtime remains Alpha-3 while the prepared plugin distribution version is 0.1.0-alpha.3.1. The deterministic MCPB is 145,197,017 bytes, expands to 181,937,037 bytes across 1,952 files, and has SHA-256 6c1c698eaa73b78b9d005cbba4fccffd2e357e721e7f64fbeccdb13bb723d4ed. The six-file ZIP is 144,399,347 bytes, expands to 145,233,144 bytes, and has SHA-256 9004bfa94a3e60618430092bd253ac6354aa64290c3ebad41c2a8f3a6999f2d6. Official MCPB and Claude plugin validation, three byte-identical builds, the full exact-eight compatibility suite, and one isolated installed-client semantic call pass. The candidate is nevertheless blocked for the public Directory: the current pre-submission checklist requires the GitHub archive to be under 50 MiB and every plugin file under 5 MiB. This embedded package was not substituted into the existing submission; that submission now uses the separate skills-only source described below. No public listing is verified.

A separate contained Claude Directory candidate is maintained under packaging/claude-directory-skills-only-plugin/. It contains only metadata, one small execution skill, a byte-identical copy of the canonical policy, documentation, license, and deterministic inventory. It declares no MCP/CLI runtime, hook, LSP, executable, installer, updater, or allowed-tools; Claude Code uses an independently installed semantic-scala through its ordinary shell permission path. Plugin distribution version 0.1.0-alpha.3.2 keeps exact CLI prerequisite 0.1.0-alpha.3. The six-file source is 41,500 bytes and its deterministic ZIP is 16,392 bytes. Strict plugin validation, contained-package checks, the direct CLI prerequisite matrix, and authenticated installed-client effect-summary, build-backed, missing-CLI, no-tool, and surface cases pass. The exact source is public at distribution commit f28fe7a61ff449c9775d554d5bc9a11e2a9cfda1; its 18,708-byte GitHub archive passes every current hard limit. On 9 October 2026 the owner resubmitted the existing submission once. The portal resolved this six-file source and version 0.1.0-alpha.3.2, passed validation, directory policy, and security scanning with only a non-blocking no-icon warning, and entered In review, waiting for an Anthropic reviewer. This is not approval or a public listing. See docs/claude-directory-skills-only-plugin.md.

The owner packet under distribution/claude-community/ records the immutable qualification commit and expected human review hold. The owner-approved semantic-scala Privacy Policy is public and exposed from the qualified plugin README. The submitted answers are Reads only, No, Not retained, and No; all four compliance acknowledgements were owner-approved. The private contact value is not retained in this repository.

A separate OpenAI skills-only candidate now lives under packaging/openai-skills-plugin/ without reusing or changing the local-MCP candidate. It packages one narrow read-only effect-summary workflow, an exact canonical-policy reference, and a standard-library-only Python helper. The helper fetches and verifies the fixed Alpha-3 runtime on first approved use, then invokes bin/semantic-scala directly; it contains no MCP configuration and starts no MCP process. Codex CLI 0.157.1 passed disposable marketplace installation, installed-skill loading, packaged-helper invocation, and interpretation of Fixture.value: Option[Int]. Cold acquisition and warm cache-only reuse passed with unchanged fixture bytes. This is local technical qualification, not an OpenAI public listing. One validation-only Platform draft and one package version were created on 12 October 2026; the draft remains unpublished, Needs attention, and blocked because the live portal said it was not accepting more skills-only submissions. The imported skill's automated check passed, but that does not clear the intake block or establish local-execution eligibility. Product-specific contact is still required before any review submission. One original square SVG is owner-approved and wired to both branding fields. The public privacy policy covers the OpenAI/Codex path, first-use download, and separate cache. See docs/openai-skills-only-plugin.md.

The earlier thin candidate remains documented as reviewer-rejected historical evidence in docs/claude-directory-thin-plugin.md. It must not be resubmitted unchanged. See docs/claude-directory-embedded-plugin.md for the locally qualified, no-download package, exact identities, current Claude limits, and the resulting public-Directory blocker. Do not publish this candidate as a Directory source without resolving that blocker.

Examples and benchmarks

Projects under examples/ are external CLI fixtures rather than members of the root sbt build. The normal test suite exercises the compile-success and compile-failure examples through the CLI.

The repository contains a standalone public benchmark subset with methodology, portable prompts, test-coupled fixtures, deterministic validation, and a bounded aggregate. Start at benchmarks/README.md. Historical raw transcripts and controller automation are not part of that subset. The admitted evidence does not establish broad superiority or general benchmark reproducibility beyond its stated small-sample gate.

Current limitations

  • The official MCPB package is validated only for Linux x86_64. Other operating systems and architectures require separately built and tested assets. The tested bundle requires a compatible GNU-libc environment and system zlib even though it requires no host Java.
  • A generated self-contained Agent Plugins package has bounded structural, official-schema, determinism, and relocated-runtime evidence, but no supported release channel or conformant installed-client adoption proof.
  • The OpenAI/Codex and Claude Code native packages are locally validated Linux x86_64 candidates assembled from the exact Alpha-3 MCPB. Both have bounded disposable installed-client skill and MCP-use qualification. They are not public listings or supported public install channels. OpenAI public MCP submission still requires a separately authorized public HTTPS service. The Claude thin source at 05d4f0de35a02916504bf29156bc42270cf77a23 is reviewer-rejected because it downloads executable server bytes after installation. The embedded MCPB removes that download, preserves package-local Java, and passes the full exact-eight compatibility suite plus one isolated client semantic call. It fits the separate 200 MB claude.ai upload rules, but not the public Directory checklist: its 144,399,347-byte GitHub archive exceeds 50 MiB and its 145,197,017-byte MCPB exceeds the 5 MiB per-file limit. The Directory route for this embedded-runtime package is therefore blocked pending a different architecture or an explicit reviewer-approved mechanism. The separate six-file skills-only package is in review and bundles no runtime.
  • The separate eight-file OpenAI skills-only candidate is locally validated on Codex CLI 0.157.1 for one direct-CLI effect-summary workflow with no MCP dependency. One validation-only draft/package version exists; it is unpublished, Needs attention, not submitted for review, and blocked by the portal's current skills-only intake pause. Product-specific contact remains required for its local-execution workflow before any review submission. The shared logo/composer SVG is owner-approved and locally validated. Normal submission gates remain prerequisites; privacy is public.
  • The MCP surface remains the documented eight-tool stdio adapter.
  • Source-paired semanticdb-for-source, point-evidence, and reconcile-symbol requests now report snapshot-consistent content freshness. Fresh means the captured source content agrees with the captured SemanticDB document; it does not mean a build ran or that the whole project compiles.
  • Stale SemanticDB remains visible but cannot produce completed reconciliation. Unverifiable evidence stays explicit and can complete only as qualified evidence. SemanticDB inventory and coverage still do not establish that every source is covered or fresh.
  • Presentation Compiler renderings are bounded evidence, not whole-project compile proof.
  • The canonical skill selects symbol-at for one exact Presentation Compiler declaration question and reserves point-evidence for questions where artifact discovery/selection and reconciliation are themselves relevant. Source-sufficient questions still require no semantic query.
  • Public-alpha source readiness is separate from binary distribution, installation usability, semantic utility, and skill-adoption evidence.
  • The exact 0.1.0-alpha.2 Maven/Coursier application route is independently qualified from the actual project-owned public channel URL and Maven Central under JDK 21. This does not establish Coursier contrib, MCP Registry, MCPB, native/container/npm/PyPI packaging, a stable embeddable-library API, broad Scala compatibility, skill adoption, semantic superiority, or 1.0 stability. The exact alpha-2 source identity is published as a lightweight tag and GitHub prerelease with normal generated source archives and zero uploaded project assets. All 16 formerly flagged license/NOTICE rows are technically dispositioned; the owner selected Apache-2.0 for resolver-fetched JNA 5.14.0. This is not legal advice or authority for another publication action.
  • The public repository contains only the audited clean source history. The separate mixed development history remains private and is not a release or installation channel.

See ROADMAP.md for product-oriented next steps.

Current development is validation-first: test real Scala projects, preserve compatibility boundaries, and admit features only from concrete gaps. Real project reports are welcome using the bounded comparison packet in docs/early-feedback.md, especially missing decision-relevant evidence or materially useful composition of compiler, build/test, IDE/LSP, and artifact facts. Both exact Alpha 2 and Alpha 3 packaged routes are independently qualified and retain immutable source-release identity. External early-user feedback is the primary next input for semantic-value admission; the Alpha 4 SNAPSHOT source identity adds no packaged route.

Project policies

来源:README.md,提交 3487a75

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0-alpha.3最新Sep 20, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分