diff --git a/.github/settings.yml b/.github/settings.yml index 7dd7fa4..fbde89c 100644 --- a/.github/settings.yml +++ b/.github/settings.yml @@ -48,7 +48,7 @@ repository: has_issues: true has_projects: true - has_wiki: false + has_wiki: true has_downloads: true default_branch: main allow_squash_merge: true diff --git a/.machine_readable/root-allow.txt b/.machine_readable/root-allow.txt index ca24b2f..e652392 100644 --- a/.machine_readable/root-allow.txt +++ b/.machine_readable/root-allow.txt @@ -78,6 +78,7 @@ scripts/ verification/ container/ # may host Containerfile if not at build/ launcher/ # estate launcher helpers (standards/launcher thin bind) +wiki/ # berrywiki Markdown notebook (not docs/; GitHub wiki.git mirror) # ─── Tolerated pending follow-up (re-evaluate when item lands) ─────────────── .gitlab-ci.yml # TODO: relocate to ci/.gitlab-ci.yml after GitLab project-setting update diff --git a/docs/status/ROADMAP.adoc b/docs/status/ROADMAP.adoc index 057ee5d..29895fc 100644 --- a/docs/status/ROADMAP.adoc +++ b/docs/status/ROADMAP.adoc @@ -42,4 +42,4 @@ Design phase. Charter + RSR spine + Core/Evidence *specs*. No Core checker. * [ ] Proofs: ABI-2..5 typecheck in CI with idris2; Core preservation after a checker * [ ] Tests: PBT/FUZ/TSF when Core parser exists; no fake harnesses * [ ] Benches: FFI-overhead once there is a hot path; Six Sigma baselines then -* [ ] Optional berrywiki host; in-tree `docs/wikis/` is the wiki (Phase 6 scaffold) +* [ ] Sync `/wiki` Markdown into `panoply.wiki.git` / `berrywiki serve` diff --git a/docs/wikis/PLAN.adoc b/docs/wikis/PLAN.adoc index ed62fbd..6d8635e 100644 --- a/docs/wikis/PLAN.adoc +++ b/docs/wikis/PLAN.adoc @@ -1,43 +1,20 @@ // SPDX-License-Identifier: CC-BY-SA-4.0 // Copyright (c) Jonathan D.A. Jewell -= Wiki plan (berrywiki-shaped, 3-ply / span 7) += Wiki plan — BerryWiki Markdown :revdate: 2026-09-20 -GitHub wiki is **off** (estate). Content lives in `docs/wikis/`. -`metadatastician/berrywiki` is a Cargo wiki app — **not vendored**. -This tree follows its audience split, not its Rust runtime. +Wiki content is **Markdown** following +https://github.com/metadatastician/berrywiki[berrywiki]: hidden +`` metadata, `[[WikiLinks]]`, generated `_Sidebar.md`. -== Constraints +Technical docs stay **AsciiDoc** under `docs/` (`check-no-md-in-docs.sh`). -* Max **3-ply** nesting (`docs/wikis/{audience}/{page}`) -* Max **span 7** at each layer +== Store -== Layer 0 (≤7) +In-tree: `/wiki` (root allowlist). Publish: GitHub `panoply.wiki.git`. +Do not vendor the BerryWiki Rust app. -. xref:README.adoc[Home] -. xref:users/README.adoc[Users] -. xref:maintainers/README.adoc[Maintainers] -. xref:developers/README.adoc[Developers] -. xref:../onboarding/SETUP.adoc[Setup] -. xref:GLOSSARY.adoc[Glossary] -. xref:../status/ROADMAP.adoc[Status] +== 3-ply / span 7 -== Layer 1 — Users (≤7) - -Reading a refused manifest; what is not guaranteed; Core vs surface; -evidence kinds; backends as contracts; no GUI; FAQ. - -== Layer 1 — Maintainers (≤7) - -RSR shape; Guix not Nix; CI rulesets; Hypatia ignore; deed vs TOML -gatekeepers; CRG X honesty; release (none yet). - -== Layer 1 — Developers (≤7) - -ABI Idris2; FFI Zig; API stub; adding a projection; adding a backend; -proofs Idris2-only; tests taxonomy N/A rules. - -== Phase 8 - -Optional berrywiki deploy if a hosted wiki is wanted. Not required for -in-tree `docs/wikis/`. +Home plus six children: Users, Maintainers, Developers, Setup, Glossary, +Status. No fourth ply. diff --git a/docs/wikis/README.adoc b/docs/wikis/README.adoc index 340f468..94fd6cf 100644 --- a/docs/wikis/README.adoc +++ b/docs/wikis/README.adoc @@ -1,49 +1,8 @@ // SPDX-License-Identifier: CC-BY-SA-4.0 // Copyright (c) Jonathan D.A. Jewell -// Last updated: 2026-06-21 -= Panoply Wiki -:toc: preamble -:icons: font += docs/wikis — pointer -GitHub wiki is off. In-tree hub: this directory (max 3-ply, span 7). -Plan: xref:PLAN.adoc[PLAN.adoc]. Audiences: xref:users/README.adoc[users], -xref:maintainers/README.adoc[maintainers], -xref:developers/README.adoc[developers]. Setup: -xref:../onboarding/SETUP.adoc[SETUP]. +Wiki **pages** are BerryWiki Markdown in `/wiki` (not here). This folder +holds only AsciiDoc pointers and the glossary. -== Start here - -[cols="1,2",options="header"] -|=== -| If you want… | Go to - -| The 60-second model + your role's track | xref:../guide/README.adoc[Learning Path] -| The normative definition of Panoply | xref:../architecture/DESIGN-DISCIPLINE.adoc[Design Discipline] (charter) -| How the charter maps to components | xref:../architecture/ARCHITECTURE.adoc[Architecture] -| The vocabulary | xref:GLOSSARY.adoc[Glossary] -| Why the discipline was adopted | xref:../decisions/0002-adopt-envelope-first-design-discipline.adoc[ADR-0002] -|=== - -== Core concepts - -Panoply is three artefacts — a *checked Core*, *explicit evidence*, and a -*safety-envelope manifest* — governed by one rule: _no guarantee without an -envelope; no envelope without evidence; no composition without a composition -rule_. The xref:GLOSSARY.adoc[Glossary] defines each term; the -xref:../architecture/DESIGN-DISCIPLINE.adoc[charter] is the source of truth. - -== Audience map - -* *Users* — xref:../guide/for-users.adoc[for-users] (reading a manifest; what a guarantee means). -* *Developers* — xref:../guide/for-developers.adoc[for-developers] (Core, projections, evidence, manifest, backends; the sketch areas). -* *Maintainers* — xref:../guide/for-maintainers.adoc[for-maintainers] (the discipline as a review gate; governance). - -== Status - -Design phase: the charter is set; the mechanisms are not yet implemented. Pages -here must not overclaim — keep the "not yet" visible, per the central rule. - -== Wiki synchronisation - -These `.adoc` sources are canonical. Changes should be synchronised to the -forge-hosted wiki (GitHub/GitLab) via the project's sync scripts. +See xref:PLAN.adoc[PLAN.adoc] and `/wiki/Home.md`. diff --git a/docs/wikis/developers/README.adoc b/docs/wikis/developers/README.adoc deleted file mode 100644 index 67d12db..0000000 --- a/docs/wikis/developers/README.adoc +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// Copyright (c) Jonathan D.A. Jewell -= Wiki — developers - -ABI = Idris2 `src/interface/Abi`. FFI = Zig `src/interface/ffi`. -API = fail-closed stub `src/api/zig/adapter.zig`. Proofs: Idris2 only. -JS reach: Bun → Deno → pnpm → npm. No Python/Go. -See xref:../../onboarding/SETUP.adoc[setup]. diff --git a/docs/wikis/maintainers/README.adoc b/docs/wikis/maintainers/README.adoc deleted file mode 100644 index 86d263f..0000000 --- a/docs/wikis/maintainers/README.adoc +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// Copyright (c) Jonathan D.A. Jewell -= Wiki — maintainers - -Rulesets (Optimus-Branch, Immutable-Tags) beat `.github/settings.yml` -classic protection. Guix only. Wiki feature off. CRG remains **X**. -See xref:../../github/PROTECTION.adoc[protection] and -xref:../../status/ROADMAP.adoc[roadmap]. diff --git a/docs/wikis/users/README.adoc b/docs/wikis/users/README.adoc deleted file mode 100644 index 3f58c51..0000000 --- a/docs/wikis/users/README.adoc +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// Copyright (c) Jonathan D.A. Jewell -= Wiki — users - -A Panoply **manifest** lists earned and un-earned envelopes. Today every -honest manifest is `:status refused` with empty `:earned`. Silence is not -safety. See xref:../../guide/for-users.adoc[For users] if present, else -xref:../../architecture/DESIGN-DISCIPLINE.adoc[charter]. diff --git a/wiki/Developers.md b/wiki/Developers.md new file mode 100644 index 0000000..8ec75d8 --- /dev/null +++ b/wiki/Developers.md @@ -0,0 +1,20 @@ + + +# Developers + +- ABI = Idris2 `src/interface/Abi` +- FFI = Zig `src/interface/ffi` +- API = fail-closed stub `src/api/zig/adapter.zig` +- Proofs: **Idris2 only** +- JS reach: Bun → Deno → pnpm → npm +- No Python or Go + +Setup: [[Setup]] diff --git a/wiki/Glossary.md b/wiki/Glossary.md new file mode 100644 index 0000000..35379e8 --- /dev/null +++ b/wiki/Glossary.md @@ -0,0 +1,17 @@ + + +# Glossary + +- **Envelope** — named guarantee with scope + evidence pointer. +- **Manifest** — per-program, per-backend earned/unearned list. +- **Projection** — surface that elaborates into Core + evidence + manifest, or rejects. +- **Deed** — s-expression metadata (`.deed`). Gatekeeper `0-AI-MANIFEST.deed` is still kv. +- **BerryWiki** — Markdown notebook for GitHub wiki; not the technical docs tree. diff --git a/wiki/Home.md b/wiki/Home.md new file mode 100644 index 0000000..f8a8e3a --- /dev/null +++ b/wiki/Home.md @@ -0,0 +1,22 @@ + + +# Home + +Panoply wiki (BerryWiki Markdown). Technical docs stay AsciiDoc in `docs/`. + +This notebook is **3-ply / span 7**. GitHub wiki is the publish surface; this `wiki/` directory is the in-tree store (`berrywiki check` / `sidebar` against this folder). + +- [[Users]] +- [[Maintainers]] +- [[Developers]] +- [[Setup]] +- [[Glossary]] +- [[Status]] diff --git a/wiki/Maintainers.md b/wiki/Maintainers.md new file mode 100644 index 0000000..c6401ff --- /dev/null +++ b/wiki/Maintainers.md @@ -0,0 +1,17 @@ + + +# Maintainers + +- Rulesets **Optimus-Branch** and **Immutable-Tags** beat classic protection in `.github/settings.yml`. +- Packager is **Guix**, not Nix. +- CRG remains **X**. +- Hypatia: issue #11 when a findings dump exists. +- Do not close issues #5–#11. diff --git a/wiki/README.adoc b/wiki/README.adoc new file mode 100644 index 0000000..ef94f7d --- /dev/null +++ b/wiki/README.adoc @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// Copyright (c) Jonathan D.A. Jewell += wiki/ — BerryWiki Markdown store + +Pages are **Markdown** with a hidden `berrywiki` HTML comment (id, parent, +position). This directory is a `LocalFolderStore` notebook. + +Technical documentation remains **AsciiDoc under `docs/`** (estate: +`check-no-md-in-docs.sh`). Do not put wiki `.md` in `docs/`. + +Publish: enable GitHub wiki and copy/sync to `panoply.wiki.git`, or run +`berrywiki sidebar` / `berrywiki serve` against this folder. diff --git a/wiki/Setup.md b/wiki/Setup.md new file mode 100644 index 0000000..2c85134 --- /dev/null +++ b/wiki/Setup.md @@ -0,0 +1,18 @@ + + +# Setup + +Four approaches (full text in AsciiDoc `docs/onboarding/SETUP.adoc`): + +1. **AI** — read `0-AI-MANIFEST.deed` then `STATE.deed`; Zig 0.15.1; no Core checker. +2. **Raw** — `zig build test` in `src/interface/ffi`. +3. **Just** — `just deps`, `just test-smoke`, `just spec-tests`. +4. **Launcher** — there is no desktop launcher; the CLI is `just`. diff --git a/wiki/Status.md b/wiki/Status.md new file mode 100644 index 0000000..8df07dd --- /dev/null +++ b/wiki/Status.md @@ -0,0 +1,15 @@ + + +# Status + +Design phase. No Core checker. Charter issues #5–#11 stay open. + +Normative status lives in AsciiDoc: `docs/status/ROADMAP.adoc`, `TEST-NEEDS.adoc`, `PROOF-STATUS.adoc`. diff --git a/wiki/Users.md b/wiki/Users.md new file mode 100644 index 0000000..fd9bc02 --- /dev/null +++ b/wiki/Users.md @@ -0,0 +1,15 @@ + + +# Users + +A Panoply **manifest** lists earned and un-earned envelopes. Today every honest manifest is `:status refused` with empty `:earned`. Silence is not safety. + +There is no GUI. There is no `panoply` binary. You read specs and refused examples under `src/manifest/` (those files are AsciiDoc / s-expr, not this wiki). diff --git a/wiki/_Sidebar.md b/wiki/_Sidebar.md new file mode 100644 index 0000000..fb872ce --- /dev/null +++ b/wiki/_Sidebar.md @@ -0,0 +1,9 @@ +# Panoply + +- [Home](Home) + - [Users](Users) + - [Maintainers](Maintainers) + - [Developers](Developers) + - [Setup](Setup) + - [Glossary](Glossary) + - [Status](Status)