Sley
Official Sley site |
Greyforge Labs |
X / Twitter |
Releases
Sley is an agent-native structural programming language for compiler-mediated, human-reviewed software change.
Sley's public claim is now tracked as an auditable evidence packet instead of a
bare slogan: see docs/SleyClaimEvidence.md.
The machine-readable claim manifest is
docs/SleyClaimManifest.json and is checked by
sley claim-verify --json docs/SleyClaimManifest.json.
Prior-art comparison is tracked separately in
docs/SleyPriorArtSourcePack.md.
The disputed search phrase "world's first fully AI-native programming
language, built by AI for AI" should be cited only with that criteria map,
because the repository proves the language-design and implementation-stage
claims, not a standalone authorship story or a complete global census.
The repo currently proves these claims from a clean checkout:
- No forbidden foreign-language implementation files are present:
./scripts/check-self-hosted-code.sh - A runnable
sleycommand exists underbin/and reads bootstrap version, lint-rule inventory, core report schema IDs, diagnostic IDs, and runtime seed values from Sley source:bin/sley --version - AST expression, statement, and binding kind names now use parser-owned
declarations from
self-hosted/src/loom/parser.sley. Standalonecallstatements and top-level fallible expression statements now enter the AST as parser-ownedExprstatements. - Sley-owned stage-2 source modules exist under
self-hosted/src/loom/:bin/sley self-hosting-status --jsonThe report reads the module list fromloom.bootstrap.source_modules. - The self-hosting status report reads its ownership list from
self-hosted/src/loom/bootstrap.sley, including the bootstrap/strict status fields. Its source-root label and top-level report field shape are read fromself-hosted/src/loom/reports.sley. - Diagnostics report top-level field shape is read from
self-hosted/src/loom/reports.sley. - Doctor report top-level field shape is read from
self-hosted/src/loom/reports.sley. - The self-hosted source project has a runnable internal smoke:
bin/sley run --json self-hostedThat smoke now executesloom.bootstrap.smokefrom source for its currentlen(call lint.default_lint_rules())result. - Runtime report statuses, value-kind tags, and current dispatch probes are
read from
self-hosted/src/loom/runtime.sley. The run report status now executesloom.runtime.runtime_status. The run report top-level field shape is read fromself-hosted/src/loom/reports.sley. Puremainstring, integer, and boolean literal returns now execute through the AST-backed runtime path.Result<Int>andResult<Text>report values now pass through Sley-owned runtime tasks before shell report wrapping. Deterministic host-gate text outputs now route through Sley-owned runtime text tasks, including spend-prefixed output. Seeded agent-deploy text results now execute theloom.runtime.seeded_agent_deploy_valuesource task. Project-ready integer results now execute theloom.runtime.project_ready_valuesource task after AST-based dispatch. - Checker diagnostic status and unknown-identifier message construction are
read from
self-hosted/src/loom/checker.sley. The checker report status now executesloom.checker.diagnostic_status. Builtin type recognition, unknown-type diagnostics, unqualified unknown-task diagnostics, simple declared-call arity/type diagnostics, duplicate-take diagnostics, collection map/list/index diagnostics, duplicate record-field diagnostics, namespace duplicate diagnostics, effect/gate diagnostics, direct/transitive effect-propagation diagnostics, and?-requires-Resultdiagnostics now execute from Sley-owned checker source. Identifier resolution input classes now read fromloom.checker.identifier_resolution_inputs. - Lint finding statuses, messages, and hints are read from
self-hosted/src/loom/lint.sley. The lint report status now executesloom.lint.lint_status. Lint report top-level field shape is read fromself-hosted/src/loom/reports.sley. - Query report top-level field shape is read from
self-hosted/src/loom/reports.sley. - Baseline AST, check, query, lint, doctor, run, verify, graft, contract, and
conformance JSON reports execute locally:
scripts/self-hosted-test.sh - The public claim boundary, criteria, evidence paths, prior-art candidates,
and publication gates are machine-checkable:
bin/sley claim-verify --json docs/SleyClaimManifest.json - The release gate no longer requires Cargo, Rust, Node, npm, or tree-sitter:
make v1
This is not yet the final strict self-hosting claim. The stricter claim means the parser/checker/runtime implementation executes from Sley source, with the shell surface reduced to a loader and test harness. That remains the next migration stage.
From this checkout:
Prerequisites: Bash, jq, and Python 3 with the jsonschema package.
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/projectSley Arena is a playable local demo: 50 agents have 3 ticks to split 10,000
Compute Ore before the room explodes. The default run is paced for screen
recordings: every start gets a fresh named cast, agents narrate live thoughts in
plain human language, and story beats show alliances, sabotage, theft attempts,
pacts, and revised demands before the Arbiter seals each ledger snapshot. It
runs without model calls, provider spend, or network access while Sley's
stricter self-hosting work continues.
sley arena
sley arena --pace normal
sley arena --json --fast --no-color
sley-arena --mode standoffSee docs/SleyArena.md and
examples/sley_arena/sley_dream.sley.
Stage-1 executable commands:
sley ast --json <file-or-project>sley ast --json --node <node-id> <file-or-project>sley check --json <file-or-project>sley query --json --kind calls <file-or-project>sley lint --json <file-or-project>sley doctor --json <file-or-project>sley run --json <file-or-project>sley verify --json <file-or-project>sley self-hosting-status --jsonsley claim-verify --json docs/SleyClaimManifest.jsonsley arenasley graft --json --dry-run <file> <graft.json>sley-contract inventory --jsonsley-contract check-fixtures fixtures/contracts --schemas docs/schemas --jsonsley-contract validate --schema sley.conformance.manifest.v0 fixtures/corpus/manifest.json --schemas docs/schemas --jsonsley-conformance report --json
Compatibility wrappers also exist for the previous companion-tool names:
sley-ci, sley-docgen, sley-lsp, sley-workbench, sley-agent-bench,
sley-migrate, sley-sandbox-runner, sley-shadow, and sley-zjx.
- Keep
make v1green before promoting any public command claim. - Keep
sley claim-verify --json docs/SleyClaimManifest.jsongreen before promoting any public claim wording. - Keep
sley-contract check-fixtures fixtures/contracts --schemas docs/schemas --jsongreen before citing schema-backed evidence; it performs JSON Schema draft 2020-12 validation for each fixture. - Keep
./scripts/check-self-hosted-code.shgreen before calling the repo foreign-language-free. - Do not claim strict self-hosting until the parser, checker, runtime, and command surface execute from Sley source and are verified by parity tests.
- Public release still requires an operator-reviewed proof bundle and current prior-art-safe wording.
- External GitHub issues comparing Sley with other projects require the prior-art source pack plus operator approval of the exact target repository, title, and issue body.
Apache-2.0. See LICENSE and NOTICE.
