Skip to content

Commit 1fbb5b9

Browse files
committed
CRAFT v0.2.0: unified MkDocs docs site
Ships the Tier-3 presentation layer the platform proposal calls for: a unified MkDocs Material docs site, auto-deployed to GitHub Pages on push to main. What lands in v0.2.0: - 19 docs pages under docs/: quick-start (3) + architecture (4) + skills (3) + operations (4) + extending (2) + reference (2). Skills + auto-include content (contract, dependencies, release runbook, retrospective, platform proposal, release notes, workflows README) pull from canonical source docs via the include-markdown plugin so per-skill maintenance flows through without duplication. - mkdocs.yml: Material theme, light/dark toggle, navigation tabs + sections, search, mermaid custom-fence, include-markdown + pymdownx.snippets plugins. - .github/workflows/docs.yml: mkdocs gh-deploy on push to main (paths-filtered) + manual dispatch; submodules: recursive so per-skill READMEs are present at build time. - .gitignore: adds site/ + .mkdocs-venv/. - RELEASE_NOTES.md: v0.2.0 entry; also updates one inline link to use a github.com URL so the link works both in the source doc and in the included docs page. Local mkdocs build verified clean: 46 warnings (all from per-skill READMEs containing intra-repo links that exist on GitHub but aren't part of the docs/ tree — inherent to including external content); 0 errors; site renders correctly. 9/9 platform CLI tests still pass. Post-merge action: enable GitHub Pages on the gh-pages branch at https://github.com/kbaseincubator/craft/settings/pages. After that, the docs workflow auto-deploys.
1 parent 2671879 commit 1fbb5b9

25 files changed

Lines changed: 1836 additions & 3 deletions

.github/workflows/docs.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Build + deploy the CRAFT MkDocs site to GitHub Pages.
2+
#
3+
# Triggered on push to main + manual dispatch. Per-skill READMEs
4+
# are pulled from the git submodules via include-markdown, so the
5+
# checkout step needs `submodules: recursive`.
6+
#
7+
# Deploys via the gh-pages branch (mkdocs gh-deploy default). The
8+
# repo's Pages settings need to point at the gh-pages branch on
9+
# first deploy; see operations/github-actions.md.
10+
11+
name: Deploy docs
12+
13+
on:
14+
push:
15+
branches:
16+
- main
17+
paths:
18+
- "docs/**"
19+
- "mkdocs.yml"
20+
- "CRAFT-CONTRACT.md"
21+
- "CRAFT-DEPENDENCIES.md"
22+
- "CROSS-SKILL-RELEASE.md"
23+
- "PLATFORM-PROPOSAL.md"
24+
- "AUGMENTATION-STREAM-RETROSPECTIVE.md"
25+
- "RELEASE_NOTES.md"
26+
- "README.md"
27+
- ".github/workflows/docs.yml"
28+
- ".github/workflows/README.md"
29+
workflow_dispatch:
30+
31+
permissions:
32+
contents: write # gh-deploy needs to push to gh-pages branch
33+
34+
concurrency:
35+
group: docs-deploy
36+
cancel-in-progress: true
37+
38+
jobs:
39+
deploy:
40+
runs-on: ubuntu-latest
41+
timeout-minutes: 10
42+
43+
steps:
44+
- name: Checkout (with submodules)
45+
uses: actions/checkout@v5
46+
with:
47+
submodules: recursive
48+
fetch-depth: 0 # gh-deploy benefits from full history
49+
50+
- name: Set up Python
51+
uses: actions/setup-python@v6
52+
with:
53+
python-version: "3.12"
54+
55+
- name: Install MkDocs + plugins
56+
run: |
57+
python -m pip install --upgrade pip
58+
pip install \
59+
mkdocs-material>=9.5.0 \
60+
mkdocs-include-markdown-plugin>=6.0.0 \
61+
pymdown-extensions>=10.7.0
62+
63+
- name: Build site (validation)
64+
# Don't use --strict: per-skill READMEs (pulled via
65+
# include-markdown from the submodules) contain
66+
# intra-repo links that resolve fine on GitHub but
67+
# aren't present in the docs/ tree. They render as
68+
# broken-link warnings; the site is otherwise clean.
69+
run: mkdocs build
70+
71+
- name: Deploy to gh-pages
72+
run: mkdocs gh-deploy --force --clean

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@ __pycache__/
55
.ruff_cache/
66
.DS_Store
77
.venv/
8+
.mkdocs-venv/
89
dist/
910
build/
11+
# MkDocs build output
12+
site/

RELEASE_NOTES.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,90 @@
11
# CRAFT — Release Notes
22

3+
## v0.2.0 (2026-06-03) — Unified MkDocs documentation site
4+
5+
Ships the Tier-3 presentation layer the platform proposal calls
6+
for: a unified MkDocs Material docs site, auto-deployed to
7+
GitHub Pages via `mkdocs gh-deploy` on push to main.
8+
9+
### What changed in v0.2.0
10+
11+
`docs/` (new):
12+
13+
- `index.md` — platform landing with the Tier-0 workflow
14+
mermaid diagram.
15+
- `quick-start/` — install → first-run → verify walkthrough.
16+
- `architecture/` — platform-structure + cross-skill contract
17+
(auto-pulled from `CRAFT-CONTRACT.md`) + skill relationships
18+
diagram + augmentation-stream retrospective (auto-pulled
19+
from `AUGMENTATION-STREAM-RETROSPECTIVE.md`).
20+
- `skills/` — per-skill operator pages with the skill README
21+
auto-pulled from each submodule via the `include-markdown`
22+
plugin.
23+
- `operations/` — coordinated release runbook (auto-pulled from
24+
`CROSS-SKILL-RELEASE.md`) + upstream dependencies (auto-pulled
25+
from `CRAFT-DEPENDENCIES.md`) + GitHub Actions setup
26+
(auto-pulled from `.github/workflows/README.md`) +
27+
troubleshooting decision tree.
28+
- `extending/``adding-a-skill.md` (the formal join process)
29+
+ `external-contributors.md` (scope + conventions).
30+
- `reference/` — release notes (this file, auto-pulled) +
31+
platform proposal (auto-pulled from `PLATFORM-PROPOSAL.md`).
32+
33+
`mkdocs.yml`:
34+
35+
- MkDocs Material theme; light/dark toggle (indigo palette);
36+
navigation tabs + sections; search; content.code.copy +
37+
content.action.edit.
38+
- `pymdownx.superfences` + `mermaid` custom-fence — diagrams
39+
ship as text.
40+
- `pymdownx.snippets` + `include-markdown` plugin — auto-pull
41+
per-skill READMEs from submodules; auto-pull platform-level
42+
docs from repo root.
43+
- Flat nav (Home / Quick Start / Architecture / Skills /
44+
Operations / Extending / Reference); 19 markdown pages total.
45+
46+
`.github/workflows/docs.yml` (new):
47+
48+
- Triggered on push to main (paths-filtered to docs/ + root
49+
doc files) + manual dispatch.
50+
- Checks out with `submodules: recursive` so include-markdown
51+
can read per-skill READMEs.
52+
- Installs `mkdocs-material`, `mkdocs-include-markdown-plugin`,
53+
`pymdown-extensions`.
54+
- Runs `mkdocs build` then `mkdocs gh-deploy --force --clean`.
55+
- 10-minute timeout; concurrency-grouped so docs deploys
56+
don't pile up.
57+
58+
`.gitignore`:
59+
60+
- Added `site/` (MkDocs build output) + `.mkdocs-venv/` (local
61+
preview venv).
62+
63+
### Local build verification
64+
65+
Build verified clean locally (46 warnings, all from per-skill
66+
READMEs containing intra-repo links that exist on GitHub but
67+
aren't in the docs/ tree; 0 errors; site renders correctly).
68+
69+
### One-time GitHub Pages setup needed
70+
71+
First docs deploy needs the GitHub Pages source set to the
72+
`gh-pages` branch:
73+
74+
1. https://github.com/kbaseincubator/craft/settings/pages
75+
2. "Build and deployment" → Source → "Deploy from a branch"
76+
3. Branch: `gh-pages` / `(root)`
77+
4. Save.
78+
79+
After that the docs workflow handles deploys automatically on
80+
push to main.
81+
82+
### Site URL
83+
84+
After Pages activates: https://kbaseincubator.github.io/craft/
85+
86+
---
87+
388
## v0.1.4 (2026-06-03) — Smoke narrowed to adversarial-only + fixture cleanup
489

590
First end-to-end cross-skill smoke run (26904057672) succeeded
@@ -263,5 +348,5 @@ documentation surface. No new skill features.
263348
[beril-atlas-skill](https://github.com/ArkinLaboratory/beril-atlas-skill)
264349
is metrology (observability) — distinct from CRAFT's
265350
research-artifact-production focus. Stays as its own skill with
266-
its own release cycle. See [PLATFORM-PROPOSAL.md §3](PLATFORM-PROPOSAL.md)
351+
its own release cycle. See [PLATFORM-PROPOSAL.md §3](https://github.com/kbaseincubator/craft/blob/main/PLATFORM-PROPOSAL.md)
267352
for the rationale.

docs/architecture/contract.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Cross-skill contract
2+
3+
The CRAFT contract is the **interface pin** that lets the three
4+
skills release independently without breaking each other. It
5+
codifies the schemas they share, the operational invariants
6+
they all uphold, and the process for evolving them.
7+
8+
The full contract lives at `CRAFT-CONTRACT.md` in the platform
9+
repo root and is included below verbatim. The platform
10+
maintainer is the source of truth for contract evolution; this
11+
page is auto-rendered from that file.
12+
13+
## Why the contract exists
14+
15+
The three skills work independently — each has its own CLI,
16+
its own install, its own release cycle. But they also
17+
**explicitly compose**:
18+
19+
- `beril-adversarial-skill` produces structured review findings
20+
(the `adversarial-review-{paper,presentation}.v3` schemas).
21+
- `beril-paper-writer-skill` consumes those findings in its
22+
review-rewrite loop.
23+
- `beril-presentation-maker-skill` consumes those findings in
24+
its review-rewrite loop AND consumes paper-writer's
25+
`citation_pool.json` via the reuse-from-paper path.
26+
27+
The contract pins:
28+
29+
1. **Schema versioning.** Producer schemas have stability
30+
guarantees through the current CRAFT major version. Breaking
31+
changes require a dual-version support window.
32+
2. **The 4-zone draft layout** (`deliverable/`, `narrative/`,
33+
`working/`, `audit/`) — what every skill produces under
34+
`<BERIL_ROOT>/projects/<project_id>/{papers,talks}/draft_N/`.
35+
3. **The `claude -p` subagent invocation pattern** + stream-json
36+
output parsing — the load-bearing primitive.
37+
4. **The `install-skill` discoverability convention** — every
38+
skill stays independently installable; `craft install-platform`
39+
is a coordinator, not a replacement.
40+
5. **The environment-variable contract** (`CBORG_API_KEY`,
41+
`GOOGLE_AI_STUDIO_API_KEY`, `BERIL_ROOT`).
42+
6. **The auto-memory convention** for cross-skill discoveries.
43+
7. **The tiered review cascade pattern** for skills with quality
44+
gates.
45+
46+
For the rationale see the [platform proposal](../reference/platform-proposal.md);
47+
for the join/depart process for future skills see [Adding a
48+
skill](../extending/adding-a-skill.md).
49+
50+
---
51+
52+
## The contract — full text
53+
54+
{%
55+
include-markdown "../../CRAFT-CONTRACT.md"
56+
start="## 1. What this contract is"
57+
rewrite-relative-urls=false
58+
%}

0 commit comments

Comments
 (0)