Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .github/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions .machine_readable/root-allow.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/status/ROADMAP.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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`
45 changes: 11 additions & 34 deletions docs/wikis/PLAN.adoc
Original file line number Diff line number Diff line change
@@ -1,43 +1,20 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= 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
`<!-- berrywiki ... -->` 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.
49 changes: 4 additions & 45 deletions docs/wikis/README.adoc
Original file line number Diff line number Diff line change
@@ -1,49 +1,8 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
// 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`.
8 changes: 0 additions & 8 deletions docs/wikis/developers/README.adoc

This file was deleted.

8 changes: 0 additions & 8 deletions docs/wikis/maintainers/README.adoc

This file was deleted.

8 changes: 0 additions & 8 deletions docs/wikis/users/README.adoc

This file was deleted.

20 changes: 20 additions & 0 deletions wiki/Developers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000004
parent: 0196a000-0000-7000-8000-000000000001
position: 30
kind: page
tags:
- developers
archived: false
-->

# 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]]
17 changes: 17 additions & 0 deletions wiki/Glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000006
parent: 0196a000-0000-7000-8000-000000000001
position: 50
kind: page
tags:
- glossary
archived: false
-->

# 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.
22 changes: 22 additions & 0 deletions wiki/Home.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000001
parent: null
position: 0
kind: page
tags:
- index
archived: false
-->

# 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]]
17 changes: 17 additions & 0 deletions wiki/Maintainers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000003
parent: 0196a000-0000-7000-8000-000000000001
position: 20
kind: page
tags:
- maintainers
archived: false
-->

# 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.
12 changes: 12 additions & 0 deletions wiki/README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= 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.
18 changes: 18 additions & 0 deletions wiki/Setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000005
parent: 0196a000-0000-7000-8000-000000000001
position: 40
kind: page
tags:
- setup
archived: false
-->

# 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`.
15 changes: 15 additions & 0 deletions wiki/Status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000007
parent: 0196a000-0000-7000-8000-000000000001
position: 60
kind: page
tags:
- status
archived: false
-->

# 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`.
15 changes: 15 additions & 0 deletions wiki/Users.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- berrywiki
id: 0196a000-0000-7000-8000-000000000002
parent: 0196a000-0000-7000-8000-000000000001
position: 10
kind: page
tags:
- users
archived: false
-->

# 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).
9 changes: 9 additions & 0 deletions wiki/_Sidebar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Panoply

- [Home](Home)
- [Users](Users)
- [Maintainers](Maintainers)
- [Developers](Developers)
- [Setup](Setup)
- [Glossary](Glossary)
- [Status](Status)
Loading