Skip to content

Commit 29440f1

Browse files
committed
chore: snapshot local work before sync
1 parent c3f7307 commit 29440f1

4 files changed

Lines changed: 121 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,4 @@ ai-cli-crash-capture/
6262
*.vok
6363
*.glob
6464
.*.aux
65+
editors/vscode/lib/

PROOF-NEEDS.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# PROOF-NEEDS.md
2+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
3+
4+
## Current State
5+
6+
- **LOC**: ~27,300
7+
- **Languages**: OCaml, Rust, ReScript, Lean4, Idris2, Zig
8+
- **Existing ABI proofs**: `src/abi/*.idr` (template-level)
9+
- **Existing verification**: `docs/proofs/verification/WokeLang.lean` — Lean4 proofs exist, 12 `sorry` occurrences previously eliminated
10+
- **Dangerous patterns**: None remaining (Lean4 file mentions sorry elimination is complete)
11+
12+
## What Needs Proving
13+
14+
### Lean4 Proof Completeness Audit
15+
- `WokeLang.lean` claims all 12 `sorry` eliminated — verify this is still true after any subsequent changes
16+
- Audit: do the Lean4 proofs cover the full type system or only a subset?
17+
18+
### OCaml Core (core/)
19+
- `ast.ml`, `eval.ml`, `main.ml` — the runtime evaluator
20+
- If Lean4 proofs cover the type system but not evaluation, there is a gap
21+
- Prove: evaluation semantics match the Lean4 specification
22+
23+
### WASM Backend (compiler/wokelang-wasm/src/lib.rs)
24+
- Compilation to WASM should preserve the properties proven in Lean4
25+
- Prove: WASM codegen produces programs with the same observable behaviour
26+
27+
### Fuzz Coverage
28+
- `fuzz/fuzz_lexer.ml`, `fuzz/fuzz_parser.ml`, `fuzz/fuzz_targets/fuzz_input.rs`
29+
- Fuzzing is a good complement but does not replace proofs for the core semantics
30+
31+
## Recommended Prover
32+
33+
- **Lean4** (already in use — extend to cover evaluation and compilation)
34+
- **Idris2** for ABI layer
35+
36+
## Priority
37+
38+
**MEDIUM** — Good existing proof coverage in Lean4. Focus on extending proofs to evaluation and WASM compilation rather than starting from scratch. The sorry-free status needs periodic re-verification.

TEST-NEEDS.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# TEST-NEEDS: wokelang
2+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
3+
4+
## Current State
5+
6+
| Category | Count | Details |
7+
|----------|-------|---------|
8+
| **Source modules** | 54 | Rust: ast (2), codegen, dap, ffi (2), formatter, interpreter (2), lexer (2), linter, lsp (10: backend, document, handlers/5, mod, stdlib_metadata, symbols, utils), lib, parser + 3 Idris2 ABI |
9+
| **Unit tests (Rust inline)** | 37 | interpreter=13, parser=8, lsp_integration=8, lexer=4, linter=3, formatter=1 |
10+
| **Unit tests (OCaml)** | 3 files | test_lexer.ml (~213 refs), test_parser.ml (~347 refs), test_wokelang.ml (~114 refs) |
11+
| **Integration tests** | 1 | lsp_integration_test.rs (8 tests) |
12+
| **E2E tests** | 0 | None |
13+
| **Conformance tests** | 2 | consent_grant.wl, gratitude_basic.wl |
14+
| **Benchmarks** | 3 files | vm_bench.rs (Rust), bench_lexer.ml, bench_parser.ml (OCaml) |
15+
| **Fuzz tests** | 0 | None |
16+
17+
## What's Missing
18+
19+
### E2E Tests (CRITICAL)
20+
- [ ] No test that compiles and runs a complete Wokelang program
21+
- [ ] No test for the DAP server with a real debugger
22+
- [ ] Only 2 conformance tests for the entire language spec
23+
24+
### Aspect Tests
25+
- [ ] **Security**: Consent-aware language with only 1 consent_grant test -- needs 50+ consent/permission scenarios
26+
- [ ] **Performance**: Benchmarks exist but need verification
27+
- [ ] **Concurrency**: No tests for concurrent interpreter execution
28+
- [ ] **Error handling**: No tests for runtime errors, stack overflow, infinite loops
29+
30+
### Build & Execution
31+
- [ ] OCaml tests exist but does OCaml build infrastructure still work?
32+
- [ ] No Idris2 ABI compilation test
33+
- [ ] Dual Rust+OCaml codebase -- no cross-validation tests
34+
35+
### Benchmarks Status
36+
- [x] vm_bench.rs (Rust) -- appears real
37+
- [x] bench_lexer.ml (OCaml) -- appears real
38+
- [x] bench_parser.ml (OCaml) -- appears real
39+
- [ ] No codegen benchmark
40+
- [ ] No interpreter throughput benchmark
41+
42+
### Self-Tests
43+
- [ ] No `wokelang --self-test` mode
44+
- [ ] No language conformance runner
45+
46+
## FLAGGED ISSUES
47+
- **OCaml tests have good coverage** (test_lexer 213, test_parser 347, test_wokelang 114) but are they still maintained alongside Rust?
48+
- **37 Rust inline tests for 54 modules** = 0.7 tests/module in Rust
49+
- **LSP has 10 source files but only 8 integration tests** -- handler coverage thin
50+
- **Consent-aware language with 1 consent test** -- the defining feature is barely tested
51+
- **codegen, dap, ffi modules have 0 tests** -- code generation is untested
52+
- **Benchmarks appear genuine** -- vm_bench.rs + OCaml bench files
53+
54+
## Priority: P1 (HIGH)
55+
56+
## FAKE-FUZZ ALERT
57+
58+
- `tests/fuzz/placeholder.txt` is a scorecard placeholder inherited from rsr-template-repo — it does NOT provide real fuzz testing
59+
- Replace with an actual fuzz harness (see rsr-template-repo/tests/fuzz/README.adoc) or remove the file
60+
- Priority: P2 — creates false impression of fuzz coverage

site/index.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
---
3+
title: WokeLang
4+
date: 2026-03-31
5+
---
6+
7+
# WokeLang
8+
9+
The public web home for this project is [wokelang.org](https://wokelang.org).
10+
11+
WokeLang: A Human-Centered Programming Language
12+
13+
WokeLang is a programming language designed for human collaboration, empathy, and safety—without sacrificing power or performance. It combines:
14+
15+
## Project Links
16+
17+
- Website: [wokelang.org](https://wokelang.org)
18+
- Source: [https://github.com/hyperpolymath/wokelang](https://github.com/hyperpolymath/wokelang)
19+
- README: [project overview](https://github.com/hyperpolymath/wokelang/blob/main/README.adoc)
20+
- Docs: [documentation directory](https://github.com/hyperpolymath/wokelang/tree/main/docs)
21+
22+
This page is a lightweight landing point for the repository and will grow with the project.

0 commit comments

Comments
 (0)