diff --git a/CODE_OF_CONDUCT.adoc b/CODE_OF_CONDUCT.adoc new file mode 100644 index 0000000..bd2a83c --- /dev/null +++ b/CODE_OF_CONDUCT.adoc @@ -0,0 +1,24 @@ +== Contributor Covenant Code of Conduct + +=== Our Pledge + +We pledge to make participation a harassment-free experience for +everyone. + +=== Our Standards + +*Positive behavior:* * Using welcoming language * Being respectful of +differing viewpoints * Accepting constructive criticism * Focusing on +what is best for the community + +*Unacceptable behavior:* * Harassment, trolling, or personal attacks * +Publishing private information without permission + +=== Enforcement + +Report issues to the maintainers. All complaints will be reviewed. + +=== Attribution + +Adapted from https://www.contributor-covenant.org/[Contributor Covenant] +v2.1. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index caeda1c..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,27 +0,0 @@ - -# Contributor Covenant Code of Conduct - -## Our Pledge - -We pledge to make participation a harassment-free experience for everyone. - -## Our Standards - -**Positive behavior:** -* Using welcoming language -* Being respectful of differing viewpoints -* Accepting constructive criticism -* Focusing on what is best for the community - -**Unacceptable behavior:** -* Harassment, trolling, or personal attacks -* Publishing private information without permission - -## Enforcement - -Report issues to the maintainers. All complaints will be reviewed. - -## Attribution - -Adapted from [Contributor Covenant](https://www.contributor-covenant.org/) v2.1. - diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc new file mode 100644 index 0000000..858f44f --- /dev/null +++ b/CONTRIBUTING.adoc @@ -0,0 +1,71 @@ +== Contributing + +Thank you for your interest in contributing! We follow a "`Dual-Track`" +architecture where human-readable documentation lives in the root and +machine-readable policies live in `+.machine_readable/+`. + +=== How to Contribute + +We welcome contributions in many forms: + +* *Code:* Improving the core stack or extensions +* *Documentation:* Enhancing docs or AI manifests +* *Testing:* Adding property-based tests or formal proofs +* *Bug reports:* Filing clear, reproducible issues + +=== Getting Started + +[arabic] +. *Read the AI Manifest:* Start with `+0-AI-MANIFEST.a2ml+` (if present) +to understand the repository structure. +. *Environment:* Use `+nix develop+` or `+direnv allow+` to set up your +tools. +. *Task Runner:* Use `+just+` to see available commands +(`+just --list+`). + +=== Development Workflow + +==== Branch Naming + +.... +docs/short-description # Documentation +test/what-added # Test additions +feat/short-description # New features +fix/issue-number-description # Bug fixes +refactor/what-changed # Code improvements +security/what-fixed # Security fixes +.... + +==== Commit Messages + +We follow https://www.conventionalcommits.org/[Conventional Commits]: + +.... +(): + +[optional body] + +[optional footer] +.... + +Types: `+feat+`, `+fix+`, `+docs+`, `+test+`, `+refactor+`, `+ci+`, +`+chore+`, `+security+` + +=== Reporting Bugs + +Before reporting: 1. Search existing issues 2. Check if it’s already +fixed in `+main+` + +When reporting, include: - Clear, descriptive title - Environment +details (OS, versions, toolchain) - Steps to reproduce - Expected vs +actual behaviour + +=== Code of Conduct + +All contributors are expected to adhere to our +link:CODE_OF_CONDUCT.md[Code of Conduct]. + +=== License + +By contributing, you agree that your contributions will be licensed +under the same license as the project (see LICENSE). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 80ecdac..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,66 +0,0 @@ - -# Contributing - -Thank you for your interest in contributing! We follow a "Dual-Track" architecture where human-readable documentation lives in the root and machine-readable policies live in `.machine_readable/`. - -## How to Contribute - -We welcome contributions in many forms: - -- **Code:** Improving the core stack or extensions -- **Documentation:** Enhancing docs or AI manifests -- **Testing:** Adding property-based tests or formal proofs -- **Bug reports:** Filing clear, reproducible issues - -## Getting Started - -1. **Read the AI Manifest:** Start with `0-AI-MANIFEST.a2ml` (if present) to understand the repository structure. -2. **Environment:** Use `nix develop` or `direnv allow` to set up your tools. -3. **Task Runner:** Use `just` to see available commands (`just --list`). - -## Development Workflow - -### Branch Naming - -``` -docs/short-description # Documentation -test/what-added # Test additions -feat/short-description # New features -fix/issue-number-description # Bug fixes -refactor/what-changed # Code improvements -security/what-fixed # Security fixes -``` - -### Commit Messages - -We follow [Conventional Commits](https://www.conventionalcommits.org/): - -``` -(): - -[optional body] - -[optional footer] -``` - -Types: `feat`, `fix`, `docs`, `test`, `refactor`, `ci`, `chore`, `security` - -## Reporting Bugs - -Before reporting: -1. Search existing issues -2. Check if it's already fixed in `main` - -When reporting, include: -- Clear, descriptive title -- Environment details (OS, versions, toolchain) -- Steps to reproduce -- Expected vs actual behaviour - -## Code of Conduct - -All contributors are expected to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md). - -## License - -By contributing, you agree that your contributions will be licensed under the same license as the project (see [LICENSE](LICENSE)). diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..cdcaee8 --- /dev/null +++ b/README.adoc @@ -0,0 +1,159 @@ +== What Is This? + +Halideiser compiles image and video processing pipelines to optimised +https://halide-lang.org[Halide] schedules. You describe your pipeline +stages in `+halideiser.toml+` — blur, sharpen, resize, edge detect, +colour transform, convolution — and Halideiser generates the Halide +algorithm definitions, auto-tunes the schedule for your target hardware, +and produces optimised native code. + +Halide (by Jonathan Ragan-Kelley et al., MIT/Google) separates the +_algorithm_ (what to compute) from the _schedule_ (how to compute it on +hardware). This separation enables 10–100x speedups over hand-tuned C by +letting the compiler explore tiling, vectorisation, parallelism, and +memory layout choices automatically. Halideiser makes this power +accessible without Halide expertise. + +== How It Works + +[source,text] +---- +halideiser.toml (pipeline description) + │ + ▼ + Pipeline Parser (validate stages, data flow, dimensions) + │ + ▼ + Idris2 ABI Proofs (prove pipeline correctness, buffer safety) + │ + ▼ + Halide Algorithm (Func definitions, Var bindings, Expr trees) + Codegen (from pipeline stages) + │ + ▼ + Schedule Generation (tile, vectorize, parallelize, compute_at, + + Auto-Tuning store_at, reorder — search over schedule space) + │ + ▼ + Compiled Pipeline (native code for target hardware) +---- + +[arabic] +. *Describe* your pipeline in `+halideiser.toml+` — stages, buffer +dimensions, data types, target hardware +. *Validate* — the Idris2 ABI layer formally proves buffer bounds, +dimension compatibility, and stage connectivity +. *Generate* — Halide algorithm code is emitted with `+Func+`, `+Var+`, +and scheduling primitives +. *Tune* — the auto-tuner searches the schedule space (tile sizes, loop +orders, parallelism) for optimal performance +. *Compile* — the tuned schedule is compiled to native code via LLVM + +== Halide Concepts + +Halideiser works with core Halide abstractions: + +* *Func* — a pure function defining what to compute at each pixel +* *Var* — a dimension variable (x, y, channel, frame) +* *Scheduling primitives* — control _how_ to execute: +** `+tile(x,+` `+y,+` `+xi,+` `+yi,+` `+tx,+` `+ty)+` — break loops into +tiles for cache locality +** `+vectorize(xi,+` `+width)+` — use SIMD instructions (SSE, AVX, NEON) +** `+parallelize(y)+` — distribute rows across CPU cores +** `+compute_at(consumer,+` `+var)+` — fuse producer into consumer loop +** `+store_at(consumer,+` `+var)+` — control where intermediate buffers +live +** `+reorder(vars…)+` — change loop nesting order +** `+unroll(var,+` `+factor)+` — unroll inner loops +** `+gpu_blocks+` `+/+` `+gpu_threads+` — map to GPU compute grids + +== Hardware Targets + +[cols=",",options="header",] +|=== +|Target |Instructions / Backend +|x86 SSE/AVX |128–512-bit SIMD, auto-vectorisation +|ARM NEON/SVE |Mobile and embedded SIMD +|CUDA |NVIDIA GPU kernels +|OpenCL |Cross-vendor GPU compute +|WebAssembly |Browser-based image processing +|Metal |Apple GPU compute +|Vulkan |Cross-platform GPU compute +|=== + +== Key Value + +* *10–100x faster* image and video processing without writing Halide by +hand +* *Automatic hardware scheduling* — SIMD, GPU, multi-core, all derived +from one pipeline description +* *No Halide expertise needed* — describe the pipeline, get the speed +* *Formally verified* — Idris2 proofs guarantee buffer bounds and +dimension safety before codegen +* *Multi-target* — one pipeline compiles to x86, ARM, CUDA, OpenCL, +WebAssembly + +== Use Cases + +* *Real-time video filters* — blur, sharpen, colour grade at 60fps+ +* *Batch image processing* — resize, watermark, convert millions of +images +* *Medical imaging* — CT/MRI reconstruction, denoising, segmentation +* *Computational photography* — HDR merge, demosaicing, lens correction +* *Computer vision preprocessing* — edge detection, histogram +equalisation, feature extraction + +== Architecture + +Follows the hyperpolymath -iser pattern (same as +https://github.com/hyperpolymath/chapeliser[Chapeliser]): + +* *Manifest* (`+halideiser.toml+`) — describe WHAT pipeline stages you +need +* *Pipeline Parser* (`+src/manifest/+`) — validate stage connectivity +and buffer dimensions +* *Idris2 ABI* (`+src/interface/abi/+`) — formal proofs of pipeline +correctness, buffer layout, and scheduling safety +* *Halide Codegen* (`+src/codegen/+`) — emit Halide `+Func+` / `+Var+` +definitions and scheduling calls +* *Zig FFI* (`+src/interface/ffi/+`) — C-ABI bridge for calling compiled +pipelines from any language +* *Rust CLI* (`+src/main.rs+`) — orchestrates parse, validate, generate, +tune, and build + +User writes zero Halide code. Halideiser generates everything. + +Part of the https://github.com/hyperpolymath/iseriser[-iser family] of +acceleration frameworks. + +== Status + +*Pre-alpha.* Architecture defined, scaffolding in place, codegen +pending. Codebase in progress — pipeline parser and Halide codegen are +next. + +== Quick Start + +[source,bash] +---- +# Initialise a manifest in the current directory +halideiser init + +# Edit halideiser.toml to describe your pipeline stages + +# Validate the manifest +halideiser validate + +# Generate Halide code and schedule +halideiser generate + +# Build the compiled pipeline +halideiser build --release + +# Run the pipeline +halideiser run -- input.png output.png +---- + +== License + +SPDX-License-Identifier: CC-BY-SA-4.0 diff --git a/README.md b/README.md deleted file mode 100644 index 8b8730e..0000000 --- a/README.md +++ /dev/null @@ -1,187 +0,0 @@ - - -# What Is This? - -Halideiser compiles image and video processing pipelines to optimised -[Halide](https://halide-lang.org) schedules. You describe your pipeline -stages in `halideiser.toml` — blur, sharpen, resize, edge detect, colour -transform, convolution — and Halideiser generates the Halide algorithm -definitions, auto-tunes the schedule for your target hardware, and -produces optimised native code. - -Halide (by Jonathan Ragan-Kelley et al., MIT/Google) separates the -*algorithm* (what to compute) from the *schedule* (how to compute it on -hardware). This separation enables 10–100x speedups over hand-tuned C by -letting the compiler explore tiling, vectorisation, parallelism, and -memory layout choices automatically. Halideiser makes this power -accessible without Halide expertise. - -# How It Works - -```text -halideiser.toml (pipeline description) - │ - ▼ - Pipeline Parser (validate stages, data flow, dimensions) - │ - ▼ - Idris2 ABI Proofs (prove pipeline correctness, buffer safety) - │ - ▼ - Halide Algorithm (Func definitions, Var bindings, Expr trees) - Codegen (from pipeline stages) - │ - ▼ - Schedule Generation (tile, vectorize, parallelize, compute_at, - + Auto-Tuning store_at, reorder — search over schedule space) - │ - ▼ - Compiled Pipeline (native code for target hardware) -``` - -1. **Describe** your pipeline in `halideiser.toml` — stages, buffer - dimensions, data types, target hardware - -2. **Validate** — the Idris2 ABI layer formally proves buffer bounds, - dimension compatibility, and stage connectivity - -3. **Generate** — Halide algorithm code is emitted with `Func`, `Var`, - and scheduling primitives - -4. **Tune** — the auto-tuner searches the schedule space (tile sizes, - loop orders, parallelism) for optimal performance - -5. **Compile** — the tuned schedule is compiled to native code via LLVM - -# Halide Concepts - -Halideiser works with core Halide abstractions: - -- **Func** — a pure function defining what to compute at each pixel - -- **Var** — a dimension variable (x, y, channel, frame) - -- **Scheduling primitives** — control *how* to execute: - - - `tile(x,` `y,` `xi,` `yi,` `tx,` `ty)` — break loops into tiles for - cache locality - - - `vectorize(xi,` `width)` — use SIMD instructions (SSE, AVX, NEON) - - - `parallelize(y)` — distribute rows across CPU cores - - - `compute_at(consumer,` `var)` — fuse producer into consumer loop - - - `store_at(consumer,` `var)` — control where intermediate buffers - live - - - `reorder(vars…)` — change loop nesting order - - - `unroll(var,` `factor)` — unroll inner loops - - - `gpu_blocks` `/` `gpu_threads` — map to GPU compute grids - -# Hardware Targets - -| Target | Instructions / Backend | -|--------------|--------------------------------------| -| x86 SSE/AVX | 128–512-bit SIMD, auto-vectorisation | -| ARM NEON/SVE | Mobile and embedded SIMD | -| CUDA | NVIDIA GPU kernels | -| OpenCL | Cross-vendor GPU compute | -| WebAssembly | Browser-based image processing | -| Metal | Apple GPU compute | -| Vulkan | Cross-platform GPU compute | - -# Key Value - -- **10–100x faster** image and video processing without writing Halide - by hand - -- **Automatic hardware scheduling** — SIMD, GPU, multi-core, all derived - from one pipeline description - -- **No Halide expertise needed** — describe the pipeline, get the speed - -- **Formally verified** — Idris2 proofs guarantee buffer bounds and - dimension safety before codegen - -- **Multi-target** — one pipeline compiles to x86, ARM, CUDA, OpenCL, - WebAssembly - -# Use Cases - -- **Real-time video filters** — blur, sharpen, colour grade at 60fps+ - -- **Batch image processing** — resize, watermark, convert millions of - images - -- **Medical imaging** — CT/MRI reconstruction, denoising, segmentation - -- **Computational photography** — HDR merge, demosaicing, lens - correction - -- **Computer vision preprocessing** — edge detection, histogram - equalisation, feature extraction - -# Architecture - -Follows the hyperpolymath -iser pattern (same as -[Chapeliser](https://github.com/hyperpolymath/chapeliser)): - -- **Manifest** (`halideiser.toml`) — describe WHAT pipeline stages you - need - -- **Pipeline Parser** (`src/manifest/`) — validate stage connectivity - and buffer dimensions - -- **Idris2 ABI** (`src/interface/abi/`) — formal proofs of pipeline - correctness, buffer layout, and scheduling safety - -- **Halide Codegen** (`src/codegen/`) — emit Halide `Func` / `Var` - definitions and scheduling calls - -- **Zig FFI** (`src/interface/ffi/`) — C-ABI bridge for calling compiled - pipelines from any language - -- **Rust CLI** (`src/main.rs`) — orchestrates parse, validate, generate, - tune, and build - -User writes zero Halide code. Halideiser generates everything. - -Part of the [-iser family](https://github.com/hyperpolymath/iseriser) of -acceleration frameworks. - -# Status - -**Pre-alpha.** Architecture defined, scaffolding in place, codegen -pending. Codebase in progress — pipeline parser and Halide codegen are -next. - -# Quick Start - -```bash -# Initialise a manifest in the current directory -halideiser init - -# Edit halideiser.toml to describe your pipeline stages - -# Validate the manifest -halideiser validate - -# Generate Halide code and schedule -halideiser generate - -# Build the compiled pipeline -halideiser build --release - -# Run the pipeline -halideiser run -- input.png output.png -``` - -# License - -SPDX-License-Identifier: CC-BY-SA-4.0 diff --git a/SECURITY.md b/SECURITY.adoc similarity index 58% rename from SECURITY.md rename to SECURITY.adoc index d77a0f3..f8d2a3a 100644 --- a/SECURITY.md +++ b/SECURITY.adoc @@ -1,21 +1,24 @@ -# Security Policy +== Security Policy -## Supported Versions +=== Supported Versions -| Version | Supported | -|---------|-----------| -| 0.1.x | ✅ | +[cols=",",options="header",] +|=== +|Version |Supported +|0.1.x |✅ +|=== -## Reporting a Vulnerability +=== Reporting a Vulnerability Please report security vulnerabilities to: j.d.a.jewell@open.ac.uk Do NOT open a public issue for security vulnerabilities. -## Response Time +=== Response Time -We aim to respond within 48 hours and provide a fix within 7 days for critical issues. +We aim to respond within 48 hours and provide a fix within 7 days for +critical issues. -## Scope +=== Scope This policy covers the halideiser CLI tool and its generated artifacts. diff --git a/TEST-NEEDS.adoc b/TEST-NEEDS.adoc new file mode 100644 index 0000000..6eca955 --- /dev/null +++ b/TEST-NEEDS.adoc @@ -0,0 +1,30 @@ +== TEST-NEEDS.md — halideiser + +=== CRG Grade: C — ACHIEVED 2026-04-04 + +=== Current Test State + +[cols=",,",options="header",] +|=== +|Category |Count |Notes +|Test files |2 |Current state +|=== + +=== What’s Covered + +* [x] 2 existing test file(s) +* [x] Rust integration tests + +=== Still Missing (for CRG B+) + +* [ ] Zig FFI tests (if applicable) +* [ ] CI/CD test automation +* [ ] Property-based tests +* [ ] Edge case coverage + +=== Run Tests + +[source,bash] +---- +cargo test --all +---- diff --git a/TEST-NEEDS.md b/TEST-NEEDS.md deleted file mode 100644 index 38ba205..0000000 --- a/TEST-NEEDS.md +++ /dev/null @@ -1,27 +0,0 @@ -# TEST-NEEDS.md — halideiser - -## CRG Grade: C — ACHIEVED 2026-04-04 - -## Current Test State - -| Category | Count | Notes | -|----------|-------|-------| -| Test files | 2 | Current state | - -## What's Covered - -- [x] 2 existing test file(s) -- [x] Rust integration tests - -## Still Missing (for CRG B+) - -- [ ] Zig FFI tests (if applicable) -- [ ] CI/CD test automation -- [ ] Property-based tests -- [ ] Edge case coverage - -## Run Tests - -```bash -cargo test --all -``` diff --git a/TOPOLOGY.md b/TOPOLOGY.adoc similarity index 66% rename from TOPOLOGY.md rename to TOPOLOGY.adoc index 0d533dc..eb1d1c5 100644 --- a/TOPOLOGY.md +++ b/TOPOLOGY.adoc @@ -1,12 +1,10 @@ - - -# TOPOLOGY — halideiser +== TOPOLOGY — halideiser Module dependency graph for the halideiser codebase. -## High-Level Flow +=== High-Level Flow -``` +.... halideiser.toml ──► Pipeline Parser ──► Idris2 ABI Proofs (src/manifest/) (src/interface/abi/) │ │ @@ -21,34 +19,59 @@ halideiser.toml ──► Pipeline Parser ──► Idris2 ABI Proofs ▼ Zig FFI Bridge (src/interface/ffi/) -``` - -## Directory Map - -| Directory | Language | Purpose | -|-----------|----------|---------| -| `src/main.rs` | Rust | CLI entry point (clap subcommands) | -| `src/lib.rs` | Rust | Library API surface | -| `src/manifest/` | Rust | Parse and validate `halideiser.toml` | -| `src/codegen/` | Rust | Emit Halide algorithm + schedule code | -| `src/abi/` | Rust | Runtime ABI types mirroring Idris2 proofs | -| `src/interface/abi/Types.idr` | Idris2 | Pipeline stage types, scheduling primitives, hardware targets | -| `src/interface/abi/Layout.idr` | Idris2 | Halide `buffer_t` memory layout proofs | -| `src/interface/abi/Foreign.idr` | Idris2 | FFI declarations for pipeline compilation and execution | -| `src/interface/ffi/src/main.zig` | Zig | C-ABI FFI implementation | -| `src/interface/ffi/build.zig` | Zig | Build shared/static library | -| `src/interface/ffi/test/` | Zig | Integration tests verifying FFI matches ABI | -| `src/interface/generated/abi/` | C | Auto-generated headers from Idris2 ABI | -| `tests/` | Rust | End-to-end pipeline tests | -| `examples/` | TOML/Rust | Example pipeline manifests | -| `verification/` | — | Formal verification artifacts | -| `container/` | — | Stapeln container definitions | -| `docs/` | AsciiDoc | Architecture, theory, attribution | -| `.machine_readable/` | A2ML/TOML | State, ecosystem, policies, bot directives | - -## Rust Module Graph - -``` +.... + +=== Directory Map + +[width="100%",cols="37%,33%,30%",options="header",] +|=== +|Directory |Language |Purpose +|`+src/main.rs+` |Rust |CLI entry point (clap subcommands) + +|`+src/lib.rs+` |Rust |Library API surface + +|`+src/manifest/+` |Rust |Parse and validate `+halideiser.toml+` + +|`+src/codegen/+` |Rust |Emit Halide algorithm + schedule code + +|`+src/abi/+` |Rust |Runtime ABI types mirroring Idris2 proofs + +|`+src/interface/abi/Types.idr+` |Idris2 |Pipeline stage types, +scheduling primitives, hardware targets + +|`+src/interface/abi/Layout.idr+` |Idris2 |Halide `+buffer_t+` memory +layout proofs + +|`+src/interface/abi/Foreign.idr+` |Idris2 |FFI declarations for +pipeline compilation and execution + +|`+src/interface/ffi/src/main.zig+` |Zig |C-ABI FFI implementation + +|`+src/interface/ffi/build.zig+` |Zig |Build shared/static library + +|`+src/interface/ffi/test/+` |Zig |Integration tests verifying FFI +matches ABI + +|`+src/interface/generated/abi/+` |C |Auto-generated headers from Idris2 +ABI + +|`+tests/+` |Rust |End-to-end pipeline tests + +|`+examples/+` |TOML/Rust |Example pipeline manifests + +|`+verification/+` |— |Formal verification artifacts + +|`+container/+` |— |Stapeln container definitions + +|`+docs/+` |AsciiDoc |Architecture, theory, attribution + +|`+.machine_readable/+` |A2ML/TOML |State, ecosystem, policies, bot +directives +|=== + +=== Rust Module Graph + +.... main.rs ├── manifest::load_manifest() ├── manifest::validate() @@ -60,11 +83,11 @@ lib.rs ├── pub mod abi (Rust-side ABI types) ├── pub mod codegen (Halide code generation) └── pub mod manifest (TOML parser + validator) -``` +.... -## Idris2 ABI Module Graph +=== Idris2 ABI Module Graph -``` +.... Halideiser.ABI.Types ├── PipelineStage (blur, sharpen, resize, convolve, ...) ├── SchedulePrimitive (tile, vectorize, parallelize, compute_at, ...) @@ -85,11 +108,11 @@ Halideiser.ABI.Foreign ├── halideiser_execute_pipeline (run compiled pipeline on buffer) ├── halideiser_autotune (search schedule space) └── halideiser_init / halideiser_free (lifecycle) -``` +.... -## Zig FFI Module Graph +=== Zig FFI Module Graph -``` +.... src/main.zig ├── halideiser_init() → allocate pipeline context ├── halideiser_free() → release resources @@ -101,11 +124,11 @@ src/main.zig test/integration_test.zig └── verifies all exported functions match ABI contract -``` +.... -## Data Flow +=== Data Flow -``` +.... User: halideiser.toml │ ├─ [workload] @@ -125,4 +148,4 @@ User: halideiser.toml │ └─ [target] hardware = "x86_avx2" -``` +.... diff --git a/llm-warmup-dev.adoc b/llm-warmup-dev.adoc new file mode 100644 index 0000000..a535e46 --- /dev/null +++ b/llm-warmup-dev.adoc @@ -0,0 +1,19 @@ +== LLM Warmup — halideiser (Developer) + +=== What is halideiser? + +See README.adoc for overview. + +=== Key Commands + +* `+just setup+` — set up development environment +* `+just build+` — build the project +* `+just test+` — run tests +* `+just doctor+` — diagnose issues +* `+just heal+` — attempt auto-repair + +=== Quick Context + +* License: MPL-2.0 +* Part of hyperpolymath ecosystem +* See EXPLAINME.adoc for architecture diff --git a/llm-warmup-dev.md b/llm-warmup-dev.md deleted file mode 100644 index aa40157..0000000 --- a/llm-warmup-dev.md +++ /dev/null @@ -1,16 +0,0 @@ -# LLM Warmup — halideiser (Developer) - -## What is halideiser? -See README.adoc for overview. - -## Key Commands -- `just setup` — set up development environment -- `just build` — build the project -- `just test` — run tests -- `just doctor` — diagnose issues -- `just heal` — attempt auto-repair - -## Quick Context -- License: MPL-2.0 -- Part of hyperpolymath ecosystem -- See EXPLAINME.adoc for architecture diff --git a/llm-warmup-user.adoc b/llm-warmup-user.adoc new file mode 100644 index 0000000..5ee41f8 --- /dev/null +++ b/llm-warmup-user.adoc @@ -0,0 +1,19 @@ +== LLM Warmup — halideiser (User) + +=== What is halideiser? + +See README.adoc for overview. + +=== Key Commands + +* `+just setup+` — set up development environment +* `+just build+` — build the project +* `+just test+` — run tests +* `+just doctor+` — diagnose issues +* `+just heal+` — attempt auto-repair + +=== Quick Context + +* License: MPL-2.0 +* Part of hyperpolymath ecosystem +* See EXPLAINME.adoc for architecture diff --git a/llm-warmup-user.md b/llm-warmup-user.md deleted file mode 100644 index 5a74956..0000000 --- a/llm-warmup-user.md +++ /dev/null @@ -1,16 +0,0 @@ -# LLM Warmup — halideiser (User) - -## What is halideiser? -See README.adoc for overview. - -## Key Commands -- `just setup` — set up development environment -- `just build` — build the project -- `just test` — run tests -- `just doctor` — diagnose issues -- `just heal` — attempt auto-repair - -## Quick Context -- License: MPL-2.0 -- Part of hyperpolymath ecosystem -- See EXPLAINME.adoc for architecture