GreyforgeLabs/sley
GitHub: GreyforgeLabs/sley
Sley 是一门 Agent 原生的结构化编程语言,通过编译器介导实现确定、可审计的软件变更,适用于 AI 驱动的自动化代码修改场景。
Stars: 5 | Forks: 0
Sley
Sley 官方网站 |
Greyforge Labs |
X / Twitter |
发布版本
# Sley
Sley 是一种原生的 Agent 结构化编程语言,用于由编译器介导、人工审查的软件变更。
Sley 的公开声明现在作为一个可审计的证据包被跟踪,而不仅仅是一句空洞的口号:参见 [`docs/SleyClaimEvidence.md`](docs/SleyClaimEvidence.md)。
机器可读的声明清单是
[`docs/SleyClaimManifest.json`](docs/SleyClaimManifest.json),并通过以下命令进行检查:
`sley claim-verify --json docs/SleyClaimManifest.json`。
先前艺术的对比在
[`docs/SleyPriorArtSourcePack.md`](docs/SleyPriorArtSourcePack.md) 中单独跟踪。
具有争议的搜索短语“世界上第一个完全 AI 原生的编程语言,由 AI 为 AI 构建”仅应与该标准映射表一起引用,因为该仓库证明了语言设计和实现阶段的声明,而不是一个独立的创作故事或完整的全球普查。
## 当前证据
该仓库目前通过干净的检出证明了以下声明:
- 不存在任何被禁用的外来语言实现文件:
`./scripts/check-self-hosted-code.sh`
- 在 `bin/` 目录下存在一个可运行的 `sley` 命令,它从 Sley 源码中读取引导版本、lint 规则清单、核心报告 schema ID、诊断 ID 和运行时种子值:
`bin/sley --version`
- AST 表达式、语句和绑定种类名称现在使用来自
`self-hosted/src/loom/parser.sley` 的解析器拥有的声明。独立的 `call` 语句和顶层易错表达式语句现在作为解析器拥有的
`Expr` 语句进入 AST。
- Sley 拥有的第二阶段源码模块存在于 `self-hosted/src/loom/` 下:
`bin/sley self-hosting-status --json`
该报告从 `loom.bootstrap.source_modules` 读取模块列表。
- 自托管状态报告从 `self-hosted/src/loom/bootstrap.sley` 读取其所有权列表,包括 bootstrap/strict 状态字段。
其 source-root 标签和顶层报告字段形状从 `self-hosted/src/loom/reports.sley` 读取。
- 诊断报告的顶层字段形状从 `self-hosted/src/loom/reports.sley` 读取。
- Doctor 报告的顶层字段形状从 `self-hosted/src/loom/reports.sley` 读取。
- 自托管源码项目具有一个可运行的内部冒烟测试:
`bin/sley run --json self-hosted`
该冒烟测试现在从源码执行 `loom.bootstrap.smoke`,以获取其当前的
`len(call lint.default_lint_rules())` 结果。
- 运行时报告状态、值种类标签和当前的调度探针是从 `self-hosted/src/loom/runtime.sley` 读取的。
运行报告状态现在执行 `loom.runtime.runtime_status`。
运行报告的顶层字段形状从 `self-hosted/src/loom/reports.sley` 读取。
纯 `main` 字符串、整数和布尔字面量返回现在通过 AST 支持的运行时路径执行。
植入种子的 Agent 部署文本结果现在执行 `loom.runtime.seeded_agent_deploy_value` 源码任务。
项目就绪的整数结果现在在基于 AST 的调度之后执行 `loom.runtime.project_ready_value` 源码任务。
- 检查器诊断状态和未知标识符消息构造是从 `self-hosted/src/loom/checker.sley` 读取的。
检查器报告状态现在执行 `loom.checker.diagnostic_status`。
内置类型识别、未知类型诊断、非限定未知任务诊断、简单的声明调用元数/类型诊断、重复 take 诊断、集合 map/list/index 诊断、重复记录字段诊断、命名空间重复诊断、effect/gate 诊断、直接/传递 effect 传播诊断以及 `?`-需要-`Result` 诊断现在从 Sley 拥有的检查器源码执行。
标识符解析输入类现在从 `loom.checker.identifier_resolution_inputs` 读取。
- Lint 发现状态、消息和提示是从 `self-hosted/src/loom/lint.sley` 读取的。
Lint 报告状态现在执行 `loom.lint.lint_status`。
Lint 报告的顶层字段形状从 `self-hosted/src/loom/reports.sley` 读取。
- 查询报告的顶层字段形状从 `self-hosted/src/loom/reports.sley` 读取。
- 基线的 AST、check、query、lint、doctor、run、verify、graft、contract 和 conformance JSON 报告在本地执行:
`scripts/self-hosted-test.sh`
- 公开声明边界、标准、证据路径、先前技术候选和发布门控是机器可检查的:
`bin/sley claim-verify --json docs/SleyClaimManifest.json`
- 发布门控不再需要 Cargo、Rust、Node、npm 或 tree-sitter:
`make v1`
这还不是最终严格的自托管声明。更严格的声明意味着解析器/检查器/运行时实现从 Sley 源码执行,而 shell 表面被简化为加载器和测试线束。这仍然是下一个迁移阶段。
## 10 分钟入门
从此检出开始:
前置条件:Bash、`jq` 以及带有 `jsonschema` 包的 Python 3。
```
export PATH="$(pwd)/bin:$PATH"
make v1
sley doctor --json examples/project
sley ast --json examples/hello.sley
sley query --json --kind calls examples/project
sley lint --json examples/empty_for_statement.sley
sley self-hosting-status --json
sley run --json self-hosted
sley claim-verify --json docs/SleyClaimManifest.json
sley run --json examples/hello.sley
sley verify --json examples/project
```
## 命令表面
第一阶段的可执行命令:
- `sley ast --json
`
- `sley ast --json --node `
- `sley check --json `
- `sley query --json --kind calls `
- `sley lint --json `
- `sley doctor --json `
- `sley run --json `
- `sley verify --json `
- `sley self-hosting-status --json`
- `sley claim-verify --json docs/SleyClaimManifest.json`
- `sley graft --json --dry-run `
- `sley-contract inventory --json`
- `sley-contract check-fixtures fixtures/contracts --schemas docs/schemas --json`
- `sley-contract validate --schema sley.conformance.manifest.v0 fixtures/corpus/manifest.json --schemas docs/schemas --json`
- `sley-conformance report --json`
之前的配套工具名称也存在兼容性包装器:
`sley-ci`、`sley-docgen`、`sley-lsp`、`sley-workbench`、`sley-agent-bench`、
`sley-migrate`、`sley-sandbox-runner`、`sley-shadow` 和 `sley-zjx`。
## 发布规则
- 在推广任何公开命令声明之前,保持 `make v1` 为绿色(通过)。
- 在推广任何公开声明措辞之前,保持 `sley claim-verify --json docs/SleyClaimManifest.json` 为绿色(通过)。
- 在引用有 schema 支持的证据之前,保持 `sley-contract check-fixtures fixtures/contracts --schemas docs/schemas --json` 为绿色(通过);它对每个 fixture 执行 JSON Schema draft 2020-12 验证。
- 在声称该仓库无外来语言之前,保持 `./scripts/check-self-hosted-code.sh` 为绿色(通过)。
- 在解析器、检查器、运行时和命令表面从 Sley 源码执行并通过一致性测试验证之前,不要声称严格自托管。
- 公开发布仍需要经过操作员审查的证明包和当前安全的先前技术措辞。
- 比较 Sley 与其他项目的外部 GitHub issue 需要先前技术源码包,加上操作员对确切目标仓库、标题和 issue 正文的批准。
## 许可证
Apache-2.0。参见 `LICENSE` 和 `NOTICE`。标签:Agent原生, AI编程助手, AST处理, Greyforge Labs, LLM Agent工具, Sley, 云安全监控, 代码生成, 元编程, 图编译器, 工具链, 应用安全, 数据管道, 模式匹配, 渗透测试工具, 确定性编辑, 结构化控制, 结构化编程, 编程语言, 编译器, 自动化资产收集, 自动化重构, 软件工程, 静态分析