Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/notes/cl-weave-advanced-usage-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ and a dedicated `test-completion-properties.lisp` with 12), four separate
input-state property files (core, navigation, kill-yank, search, completion),
autosuggest, prompt rendering, and CPS.

## cl-prolog-query integration — a second suite dedicated to it
## cl-prolog-kit-query integration — a second suite dedicated to it

`nshell/weave` (`nshell.asd`, `t/weave/`) is a whole second ASDF system,
separate from `nshell/test`, whose own description is "property-based,
fixture, benchmark, and cl-prolog-query coverage of the completion engine".
It depends on `cl-prolog/weave` specifically for this. The weave tests use
fixture, benchmark, and cl-prolog-kit-query coverage of the completion engine".
It depends on `cl-prolog-kit/weave` specifically for this. The weave tests use
`prove`/`assert-fact!`/prolog querying against the completion rulebase
exported by `nshell.domain.completion` (`#:completes #:describes #:has-flag
#:command-is ...` -- see `nerima-lisp-package-audit.md`), letting tests write
Expand All @@ -60,6 +60,6 @@ test.
"cl-weave を利用して高度な使い方をしてほしい" is satisfied by breadth, not
one showcase: mutation testing (the framework's own stated "most advanced
facility"), property-based trials with custom generators and shrinkers,
a second whole ASDF system dedicated to cl-prolog-query integration, and
a second whole ASDF system dedicated to cl-prolog-kit-query integration, and
table-driven consolidation, all exercised by the existing suite rather than
being demonstrated once and left unused elsewhere.
2 changes: 1 addition & 1 deletion docs/notes/coverage-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ minimum and target fields have been inspected. A passing minimum with
- Unit and integration tests cover parsing, expansion, completion, environment,
process, timeout, redirection, command dispatch, and job management.
- The weave suite exercises the completion knowledge base through property
cases, fixtures, benchmarks, direct Prolog queries, and the `cl-prolog/weave`
cases, fixtures, benchmarks, direct Prolog queries, and the `cl-prolog-kit/weave`
bridge.
- PTY, terminal, and external-binary paths are verified by the PTY-capable
runner. The Nix sandbox may skip those environment-dependent cases, so the
Expand Down
8 changes: 4 additions & 4 deletions docs/notes/nerima-lisp-package-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ appear unqualified):

| package | role in nshell | evidence |
|---|---|---|
| `cl-prolog` | completion knowledge base — facts/rules, `map-prolog-solutions` | `domain/completion/rule-data.lisp` (8 refs) |
| `cl-prolog-kit` | completion knowledge base — facts/rules, `map-prolog-solutions` | `domain/completion/rule-data.lisp` (8 refs) |
| `cl-parser-kit` | `$((…))` arithmetic tokenizer + Pratt parser | `:import-from` in `package.lisp`; `domain/expansion/arithmetic.lisp` |
| `cl-dataflow` | reactive dataflow wiring | 12 refs |
| `cl-dataflow-kit` | reactive dataflow wiring | 12 refs |
| `cl-host-kit` | host environment, pathname, and process boundaries | `presentation/repl-environment.lisp`, `infrastructure/terminal/ansi.lisp`, `application/builtin-runtime.lisp` |
| `cl-boundary-kit` | clock/sleeper boundaries (also under cl-process-kit) | 14 refs |
| `cl-cli` | argument-vector parsing for `main` | 13 refs |
Expand All @@ -32,7 +32,7 @@ The test systems are kept separate from the runtime dependency audit:
| package | role in nshell's test systems | evidence |
|---|---|---|
| `cl-weave` | the test framework for the weave suite | `nshell/weave` |
| `cl-prolog/weave` | cl-prolog-query coverage of the completion engine | `nshell/weave` |
| `cl-prolog-kit/weave` | cl-prolog-kit-query coverage of the completion engine | `nshell/weave` |

## Transitive, not adopted directly

Expand Down Expand Up @@ -62,6 +62,6 @@ nshell never handles (`cl-json-kit`), or a build-time tool (`paredit-cli`).
Re-run the usage half of this audit with:

```
rg -o '\b(cl-prolog|cl-dataflow|cl-boundary-kit|cl-cli|cl-tty-kit|process-kit|history-kit|cl-concurrent-kit)::?[a-z]' src/ \
rg -o '\b(cl-prolog-kit|cl-dataflow-kit|cl-boundary-kit|cl-cli|cl-tty-kit|process-kit|history-kit|cl-concurrent-kit)::?[a-z]' src/ \
| perl -pe 's/:.*$//' | sort | uniq -c | sort -rn
```
2 changes: 1 addition & 1 deletion docs/src/guide/concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ which keeps the interactive core deterministic and unit-testable.
## Completion is a knowledge base, not a table

Completion candidates come from a logic knowledge base compiled into a
[cl-prolog](https://github.com/nerima-lisp/cl-prolog) rulebase, queried through
[cl-prolog-kit](https://github.com/nerima-lisp/cl-prolog-kit) rulebase, queried through
predicates such as `completes`, `describes`, `has-flag`, `command-is`,
`suggests-dir`, and `suggests-file`.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/guide/recipes.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pipeline-graph --mermaid 'cat access.log | grep 404 | wc -l'
```

It is a diagnostic built on the
[cl-dataflow](https://github.com/nerima-lisp/cl-dataflow) computation-graph
[cl-dataflow-kit](https://github.com/nerima-lisp/cl-dataflow-kit) computation-graph
toolkit, and it validates the pipeline as it builds the graph, so a malformed
redirect shows up as an error rather than a picture.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/project/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Iterate with the smallest relevant suite, then run the full gate before review.
|---|---|
| Anything | `nix flake check --print-build-logs` before review; the full gate runs on `x86_64-linux` CI |
| Domain logic, builtins, parser, expansion | `nix run .#test` |
| Completion engine or cl-prolog knowledge base | `sbcl --script scripts/weave.lisp` |
| Completion engine or cl-prolog-kit knowledge base | `sbcl --script scripts/weave.lisp` |
| PTY, subprocess, terminal, signal, job control | the non-sandboxed run below |
| Coverage-oriented validation | `nix develop -c sbcl --script scripts/coverage.lisp` |

Expand Down
2 changes: 1 addition & 1 deletion docs/src/project/public-readiness.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ What is actually checkable on a plain `aarch64-darwin` development machine
`nix build --no-link .#checks.aarch64-darwin.formatting` both exit 0 -- the
mkdocs `--strict` build and the treefmt gate pass on this platform.
- The Darwin `build`, `default`, and `smoke-test` check attributes can remain
unavailable when the pinned `cl-prolog` package has no Darwin build. The
unavailable when the pinned `cl-prolog-kit` package has no Darwin build. The
complete `nix flake check` and release-bundle gate are therefore verified on
`x86_64-linux` CI; run available Darwin checks directly rather than treating a
missing attribute as a feature failure.
Expand Down
8 changes: 4 additions & 4 deletions docs/src/reference/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ layer where it fits the domain-driven design:
rule-based tokenizer and Pratt (operator-precedence) parser drive `$((...))`
arithmetic, which parses to an AST and then evaluates, adding `**`, bitwise
`& | ^ ~`, shifts `<< >>`, and the ternary `?:`.
- **[cl-dataflow](https://github.com/nerima-lisp/cl-dataflow)** — renders
- **[cl-dataflow-kit](https://github.com/nerima-lisp/cl-dataflow-kit)** — renders
pipelines as validated computation graphs (`pipeline-graph`) and models the
job lifecycle as an analyzable state machine.
- **[cl-boundary-kit](https://github.com/nerima-lisp/cl-boundary-kit)** — makes
Expand All @@ -83,7 +83,7 @@ layer where it fits the domain-driven design:
timeout-guarded process launch, escalating SIGTERM to SIGKILL across a
child's whole process group so a timed-out command substitution leaves no
orphaned descendants.
- **[cl-prolog](https://github.com/nerima-lisp/cl-prolog)** — the logic engine
- **[cl-prolog-kit](https://github.com/nerima-lisp/cl-prolog-kit)** — the logic engine
behind the completion knowledge base.

## Test suites
Expand All @@ -93,9 +93,9 @@ exposed as Nix checks:

- **`nshell/test`** — the primary regression suite, in `t/`.
- **`nshell/weave`** — a focused suite exercising the completion engine's
cl-prolog knowledge base with property-based tests, fixtures, benchmarks, and
cl-prolog-kit knowledge base with property-based tests, fixtures, benchmarks, and
direct Prolog queries (`findall`, negation-as-failure, foreign predicates)
plus the `cl-prolog/weave` query bridge.
plus the `cl-prolog-kit/weave` query bridge.

Cases that need a real PTY, `stty`, or external binaries cannot run in the Nix
sandbox and are covered by CI's separate `integration` job; see
Expand Down
61 changes: 31 additions & 30 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading