cositos 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cositos-0.1.0/.agents/skills/beads/SKILL.md +80 -0
- cositos-0.1.0/.agents/skills/beads/agents/openai.yaml +4 -0
- cositos-0.1.0/.beads/issues.jsonl +5 -0
- cositos-0.1.0/.claude/settings.json +15 -0
- cositos-0.1.0/.codex/config.toml +2 -0
- cositos-0.1.0/.codex/hooks.json +51 -0
- cositos-0.1.0/.dont/AGENTS.md +69 -0
- cositos-0.1.0/.dont/config.toml +14 -0
- cositos-0.1.0/.dont/seed/dont-seed.yaml +25 -0
- cositos-0.1.0/.editorconfig +14 -0
- cositos-0.1.0/.espectacular/AGENTS.md +1 -0
- cositos-0.1.0/.espectacular/config.toml +8 -0
- cositos-0.1.0/.espectacular/embed/a-closing-script-tag-in-state-is-neutralised.toml +10 -0
- cositos-0.1.0/.espectacular/embed/a-view-script-is-emitted-per-model.toml +10 -0
- cositos-0.1.0/.espectacular/embed/each-model-s-state-carries-anywidget-view-identity.toml +10 -0
- cositos-0.1.0/.espectacular/embed/only-requested-views-are-emitted.toml +10 -0
- cositos-0.1.0/.espectacular/embed/the-cdn-html-manager-loader-is-included.toml +10 -0
- cositos-0.1.0/.espectacular/embed/the-document-state-is-embedded-as-widget-state-json.toml +10 -0
- cositos-0.1.0/.espectacular/embed/write-html-persists-the-page.toml +10 -0
- cositos-0.1.0/.espectacular/protocol/comm-open-includes-anymodel-and-anyview-identity.toml +10 -0
- cositos-0.1.0/.espectacular/protocol/nested-binary-values-are-split-and-merged-losslessly.toml +10 -0
- cositos-0.1.0/.espectacular/protocol/unknown-method-is-ignored.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/a-single-model-round-trips-losslessly.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/binary-buffers-are-base64-encoded-per-the-v2-schema.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/child-references-survive-a-round-trip.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/duplicate-model-ids-are-rejected.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/empty-model-id-is-rejected.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/front-end-code-is-preserved.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/reference-cycles-do-not-break-loading.toml +10 -0
- cositos-0.1.0/.espectacular/serialization/the-document-envelope-declares-the-state-format-version.toml +10 -0
- cositos-0.1.0/.github/release.yml +37 -0
- cositos-0.1.0/.github/workflows/docs.yml +59 -0
- cositos-0.1.0/.github/workflows/release.yml +65 -0
- cositos-0.1.0/.github/workflows/verify.yml +104 -0
- cositos-0.1.0/.gitignore +59 -0
- cositos-0.1.0/.pi/prompts/opsx-apply.md +153 -0
- cositos-0.1.0/.pi/prompts/opsx-archive.md +158 -0
- cositos-0.1.0/.pi/prompts/opsx-explore.md +172 -0
- cositos-0.1.0/.pi/prompts/opsx-propose.md +107 -0
- cositos-0.1.0/.pi/prompts/opsx-sync.md +141 -0
- cositos-0.1.0/.pi/skills/openspec-apply-change/SKILL.md +159 -0
- cositos-0.1.0/.pi/skills/openspec-archive-change/SKILL.md +117 -0
- cositos-0.1.0/.pi/skills/openspec-explore/SKILL.md +289 -0
- cositos-0.1.0/.pi/skills/openspec-propose/SKILL.md +113 -0
- cositos-0.1.0/.pi/skills/openspec-sync-specs/SKILL.md +147 -0
- cositos-0.1.0/.python-version +1 -0
- cositos-0.1.0/.wai/.gitignore +3 -0
- cositos-0.1.0/.wai/AGENTS.md +106 -0
- cositos-0.1.0/.wai/PLUGINS.md +30 -0
- cositos-0.1.0/.wai/config.toml +9 -0
- cositos-0.1.0/.wai/projects/cositos-core/.pending-resume +1 -0
- cositos-0.1.0/.wai/projects/cositos-core/.state +31 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-03-design-cositos-a-portable-anywidget-backend.md +90 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-06-design-expanding-the-cositos-backend-language-s.md +116 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-06-design-notebooks-static-html-export-and-integ.md +93 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-06-design-serializable-widgets-composition-and-a.md +187 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-07-decision-json-schema-to-document-portable-aut.md +93 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-09-design-controls-catalog-schema-and-scope.md +209 -0
- cositos-0.1.0/.wai/projects/cositos-core/designs/2026-07-10-ci-docs-release-infrastructure-github-actions.md +1 -0
- cositos-0.1.0/.wai/projects/cositos-core/plans/2026-07-03-plan-cositos-v0-implementation-tdd-each-ti.md +53 -0
- cositos-0.1.0/.wai/projects/cositos-core/plans/2026-07-10-ci-docs-release-verify-docs-release-infra-impleme.md +1 -0
- cositos-0.1.0/.wai/projects/cositos-core/plans/2026-07-10-implemented-verify-yml-docs-build-docs-yml-deplo.md +1 -0
- cositos-0.1.0/.wai/projects/cositos-core/research/2026-07-03-research-porting-the-anywidget-backend-to-a-new.md +96 -0
- cositos-0.1.0/.wai/projects/cositos-core/research/2026-07-07-publish-readiness-review-2026-07-07-two-rule.md +92 -0
- cositos-0.1.0/.wai/projects/cositos-core/research/2026-07-07-research-integrating-cositos-widgets-with-clojure-clay.md +189 -0
- cositos-0.1.0/.wai/projects/cositos-core/research/2026-07-07-research-reusing-cositos-in-a-tui-bubble-tea.md +127 -0
- cositos-0.1.0/.wai/projects/cositos-core/research/2026-07-07-widget-app-state-management-benchmark-findings.md +98 -0
- cositos-0.1.0/.wai/projects/cositos-core/research/2026-07-09-research-real-controls-widgets-as-optional-extension.md +94 -0
- cositos-0.1.0/.wai/resources/agent-config/.projections.yml +12 -0
- cositos-0.1.0/AGENTS.md +196 -0
- cositos-0.1.0/CLAUDE.md +173 -0
- cositos-0.1.0/LICENSE +21 -0
- cositos-0.1.0/NOTICE +51 -0
- cositos-0.1.0/PKG-INFO +147 -0
- cositos-0.1.0/README.md +91 -0
- cositos-0.1.0/TOOL_EVALUATION.md +448 -0
- cositos-0.1.0/chat.md +27 -0
- cositos-0.1.0/clojure/.gitignore +3 -0
- cositos-0.1.0/clojure/README.md +37 -0
- cositos-0.1.0/clojure/deps.edn +18 -0
- cositos-0.1.0/clojure/dev/cositos/clay_demo.clj +77 -0
- cositos-0.1.0/clojure/dev/cositos/clay_notebook.clj +111 -0
- cositos-0.1.0/clojure/dev/cositos/clay_spike.clj +30 -0
- cositos-0.1.0/clojure/dev/cositos/clojupyter_transport.clj +148 -0
- cositos-0.1.0/clojure/src/cositos/clay.clj +70 -0
- cositos-0.1.0/clojure/src/cositos/core.clj +178 -0
- cositos-0.1.0/clojure/test/cositos/clay_test.clj +69 -0
- cositos-0.1.0/clojure/test/cositos/core_test.clj +120 -0
- cositos-0.1.0/clojure/test/cositos/test_runner.clj +10 -0
- cositos-0.1.0/coverage-manifest.toml +36 -0
- cositos-0.1.0/csharp/Core.cs +258 -0
- cositos-0.1.0/csharp/Program.cs +163 -0
- cositos-0.1.0/csharp/README.md +31 -0
- cositos-0.1.0/csharp/cositos.csproj +12 -0
- cositos-0.1.0/docs/.gitignore +8 -0
- cositos-0.1.0/docs/_quarto.yml +79 -0
- cositos-0.1.0/docs/bd-sync.md +161 -0
- cositos-0.1.0/docs/explanation/architecture.qmd +87 -0
- cositos-0.1.0/docs/explanation/state-discipline.qmd +184 -0
- cositos-0.1.0/docs/hooks.md +54 -0
- cositos-0.1.0/docs/hosts.md +135 -0
- cositos-0.1.0/docs/index.qmd +38 -0
- cositos-0.1.0/docs/pluto.md +134 -0
- cositos-0.1.0/docs/porting.md +101 -0
- cositos-0.1.0/docs/prepare.sh +9 -0
- cositos-0.1.0/docs/publish-readiness-review-2026-07-07.md +87 -0
- cositos-0.1.0/docs/reference/api-cheatsheet.qmd +59 -0
- cositos-0.1.0/docs/reference/index.qmd +131 -0
- cositos-0.1.0/docs/reference/specs.qmd +34 -0
- cositos-0.1.0/docs/status.md +65 -0
- cositos-0.1.0/docs/tutorials/authoring-widgets.qmd +102 -0
- cositos-0.1.0/docs/tutorials/dashboard.qmd +130 -0
- cositos-0.1.0/docs/tutorials/integrating.qmd +66 -0
- cositos-0.1.0/docs/tutorials/plot-integration.qmd +103 -0
- cositos-0.1.0/docs/tutorials/polyglot-parity.qmd +86 -0
- cositos-0.1.0/docs/tutorials/quickstart.qmd +155 -0
- cositos-0.1.0/docs/tutorials/save-restore.qmd +106 -0
- cositos-0.1.0/docs/tutorials/static-export.qmd +84 -0
- cositos-0.1.0/docs/tutorials/web-ojs.qmd +72 -0
- cositos-0.1.0/docs/widgets-gallery.qmd +378 -0
- cositos-0.1.0/docs/widgets.md +61 -0
- cositos-0.1.0/examples/README.md +86 -0
- cositos-0.1.0/examples/benchmarks/README.md +165 -0
- cositos-0.1.0/examples/benchmarks/RESULTS.md +108 -0
- cositos-0.1.0/examples/benchmarks/benchlib.py +218 -0
- cositos-0.1.0/examples/benchmarks/crossfilter.py +298 -0
- cositos-0.1.0/examples/benchmarks/dynamic.py +159 -0
- cositos-0.1.0/examples/benchmarks/form.py +282 -0
- cositos-0.1.0/examples/benchmarks/masterdetail.py +216 -0
- cositos-0.1.0/examples/benchmarks/reactive.py +146 -0
- cositos-0.1.0/examples/benchmarks/reactive_selftest.py +57 -0
- cositos-0.1.0/examples/benchmarks/run.py +90 -0
- cositos-0.1.0/examples/binder/README.md +47 -0
- cositos-0.1.0/examples/binder/environment.yml +23 -0
- cositos-0.1.0/examples/composition/build.py +89 -0
- cositos-0.1.0/examples/composition/vbox.html +81 -0
- cositos-0.1.0/examples/dashboard/build.py +307 -0
- cositos-0.1.0/examples/e2e/README.md +89 -0
- cositos-0.1.0/examples/e2e/clojure/deps.edn +6 -0
- cositos-0.1.0/examples/e2e/clojure/dump.clj +72 -0
- cositos-0.1.0/examples/e2e/expected.json +15 -0
- cositos-0.1.0/examples/e2e/julia/Manifest.toml +107 -0
- cositos-0.1.0/examples/e2e/julia/Project.toml +3 -0
- cositos-0.1.0/examples/e2e/julia/dump.jl +78 -0
- cositos-0.1.0/examples/e2e/python_e2e.py +87 -0
- cositos-0.1.0/examples/notebooks/clojure_counter.ipynb +151 -0
- cositos-0.1.0/examples/notebooks/julia_counter.ipynb +109 -0
- cositos-0.1.0/examples/notebooks/pluto_demo.jl +68 -0
- cositos-0.1.0/examples/notebooks/python_counter.ipynb +122 -0
- cositos-0.1.0/examples/parity/Manifest.toml +105 -0
- cositos-0.1.0/examples/parity/Project.toml +3 -0
- cositos-0.1.0/examples/parity/README.md +21 -0
- cositos-0.1.0/examples/parity/dump.jl +10 -0
- cositos-0.1.0/examples/plots/build.py +51 -0
- cositos-0.1.0/examples/plots/plotly.html +862 -0
- cositos-0.1.0/examples/static-export/.gitignore +4 -0
- cositos-0.1.0/examples/static-export/README.md +58 -0
- cositos-0.1.0/examples/static-export/build.py +77 -0
- cositos-0.1.0/examples/static-export/jupyterbook/_config.yml +18 -0
- cositos-0.1.0/examples/static-export/jupyterbook/_toc.yml +7 -0
- cositos-0.1.0/examples/static-export/quarto/_quarto.yml +13 -0
- cositos-0.1.0/examples/static-export/quarto/counter.qmd +24 -0
- cositos-0.1.0/examples/web/exported-widget-state.html +65 -0
- cositos-0.1.0/examples/web/index.html +67 -0
- cositos-0.1.0/examples/widgets/button.js +19 -0
- cositos-0.1.0/examples/widgets/checkbox.js +18 -0
- cositos-0.1.0/examples/widgets/download_button.js +42 -0
- cositos-0.1.0/examples/widgets/dropdown.js +27 -0
- cositos-0.1.0/examples/widgets/html.js +13 -0
- cositos-0.1.0/examples/widgets/int_slider.js +32 -0
- cositos-0.1.0/examples/widgets/text.js +18 -0
- cositos-0.1.0/fixtures/comm_open.json +20 -0
- cositos-0.1.0/fixtures/controls-catalog.json +131 -0
- cositos-0.1.0/fixtures/custom.json +9 -0
- cositos-0.1.0/fixtures/update.json +10 -0
- cositos-0.1.0/fixtures/update_nested_buffer.json +21 -0
- cositos-0.1.0/fixtures/widget-state.json +38 -0
- cositos-0.1.0/front/package-lock.json +1581 -0
- cositos-0.1.0/front/package.json +28 -0
- cositos-0.1.0/front/src/buffers.js +66 -0
- cositos-0.1.0/front/src/channels.js +207 -0
- cositos-0.1.0/front/src/index.js +14 -0
- cositos-0.1.0/front/src/model.js +126 -0
- cositos-0.1.0/front/src/runtime.js +51 -0
- cositos-0.1.0/front/test/buffers.test.js +32 -0
- cositos-0.1.0/front/test/clay_channel.test.js +168 -0
- cositos-0.1.0/front/test/conformance.test.js +53 -0
- cositos-0.1.0/front/test/gallery.test.js +160 -0
- cositos-0.1.0/front/test/loader.test.js +44 -0
- cositos-0.1.0/front/test/model.test.js +165 -0
- cositos-0.1.0/front/test/pluto.test.js +73 -0
- cositos-0.1.0/front/test/runtime.test.js +75 -0
- cositos-0.1.0/front/tsconfig.json +16 -0
- cositos-0.1.0/julia/Project.toml +31 -0
- cositos-0.1.0/julia/README.md +54 -0
- cositos-0.1.0/julia/ext/CositosControlsExt.jl +152 -0
- cositos-0.1.0/julia/ext/CositosIJuliaExt.jl +115 -0
- cositos-0.1.0/julia/ext/CositosPlutoExt.jl +152 -0
- cositos-0.1.0/julia/src/Cositos.jl +716 -0
- cositos-0.1.0/julia/test/controls_tests.jl +176 -0
- cositos-0.1.0/julia/test/host_tests.jl +176 -0
- cositos-0.1.0/julia/test/runtests.jl +362 -0
- cositos-0.1.0/lefthook.yml +43 -0
- cositos-0.1.0/llm.txt +36 -0
- cositos-0.1.0/mise.toml +239 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-embed-static-html/.openspec.yaml +2 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-embed-static-html/proposal.md +43 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-embed-static-html/specs/embed/spec.md +38 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-embed-static-html/tasks.md +18 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-serialize-widget-state/.openspec.yaml +2 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-serialize-widget-state/design.md +54 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-serialize-widget-state/proposal.md +57 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-serialize-widget-state/specs/serialization/spec.md +52 -0
- cositos-0.1.0/openspec/changes/archive/2026-07-06-serialize-widget-state/tasks.md +37 -0
- cositos-0.1.0/openspec/config.yaml +20 -0
- cositos-0.1.0/openspec/project.md +5 -0
- cositos-0.1.0/openspec/specs/embed/spec.md +46 -0
- cositos-0.1.0/openspec/specs/protocol/spec.md +36 -0
- cositos-0.1.0/openspec/specs/serialization/spec.md +56 -0
- cositos-0.1.0/pretender.toml +14 -0
- cositos-0.1.0/probe/README.md +188 -0
- cositos-0.1.0/probe/kernel_probe.py +166 -0
- cositos-0.1.0/pyproject.toml +86 -0
- cositos-0.1.0/r/README.md +29 -0
- cositos-0.1.0/r/core.R +223 -0
- cositos-0.1.0/r/test.R +129 -0
- cositos-0.1.0/scripts/coverage_audit.py +135 -0
- cositos-0.1.0/scripts/e2e_all.py +157 -0
- cositos-0.1.0/src/cositos/__init__.py +40 -0
- cositos-0.1.0/src/cositos/buffers.py +129 -0
- cositos-0.1.0/src/cositos/contrib/__init__.py +13 -0
- cositos-0.1.0/src/cositos/contrib/controls.py +175 -0
- cositos-0.1.0/src/cositos/contrib/harvest.py +86 -0
- cositos-0.1.0/src/cositos/embed.py +128 -0
- cositos-0.1.0/src/cositos/jupyter.py +98 -0
- cositos-0.1.0/src/cositos/model.py +140 -0
- cositos-0.1.0/src/cositos/protocol.py +144 -0
- cositos-0.1.0/src/cositos/serialize.py +227 -0
- cositos-0.1.0/src/cositos/transport.py +35 -0
- cositos-0.1.0/tests/test_buffers.py +126 -0
- cositos-0.1.0/tests/test_conformance.py +100 -0
- cositos-0.1.0/tests/test_contrib_controls.py +225 -0
- cositos-0.1.0/tests/test_contrib_harvest.py +123 -0
- cositos-0.1.0/tests/test_e2e_all.py +131 -0
- cositos-0.1.0/tests/test_e2e_clojure.py +156 -0
- cositos-0.1.0/tests/test_e2e_controls.py +107 -0
- cositos-0.1.0/tests/test_e2e_dashboard.py +175 -0
- cositos-0.1.0/tests/test_e2e_julia.py +158 -0
- cositos-0.1.0/tests/test_e2e_jupyter.py +111 -0
- cositos-0.1.0/tests/test_e2e_python.py +60 -0
- cositos-0.1.0/tests/test_embed.py +159 -0
- cositos-0.1.0/tests/test_example_dashboard.py +349 -0
- cositos-0.1.0/tests/test_jupyter.py +119 -0
- cositos-0.1.0/tests/test_kernel_probe.py +37 -0
- cositos-0.1.0/tests/test_model.py +252 -0
- cositos-0.1.0/tests/test_notebooks.py +144 -0
- cositos-0.1.0/tests/test_oracle_anywidget.py +94 -0
- cositos-0.1.0/tests/test_protocol.py +88 -0
- cositos-0.1.0/tests/test_serialize.py +303 -0
- cositos-0.1.0/tests/test_static_export.py +53 -0
- cositos-0.1.0/uv.lock +3701 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: beads
|
|
3
|
+
description: Use when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory. Trigger when the user asks to find ready work, claim or close tasks, create follow-up work, inspect blockers, recover project context, or choose between local planning and persistent project tracking.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Beads
|
|
7
|
+
|
|
8
|
+
Use Beads as the shared project task system. Local plans, scratch files, and personal memories are useful, but they are not the durable source of truth for project work.
|
|
9
|
+
|
|
10
|
+
## First Step
|
|
11
|
+
|
|
12
|
+
Run:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
bd prime
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If that prints nothing, check whether the repository has an active Beads workspace:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bd where
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Preferred Route
|
|
25
|
+
|
|
26
|
+
Use the `bd` CLI when shell access is available. It is the most compact and direct Beads interface.
|
|
27
|
+
|
|
28
|
+
## Core CLI Workflow
|
|
29
|
+
|
|
30
|
+
1. Find work:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
bd ready
|
|
34
|
+
bd list --status=open
|
|
35
|
+
bd list --status=in_progress
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Inspect before editing:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
bd show <id>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
3. Claim work atomically:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
bd update <id> --claim
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
4. Create durable follow-up work when implementation reveals new tasks:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
bd create "Short title" --description="Why this exists and what needs to be done" --type=task --priority=2
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
5. Close completed work:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
bd close <id> --reason="Completed"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## What Belongs In Beads
|
|
63
|
+
|
|
64
|
+
Use Beads for:
|
|
65
|
+
|
|
66
|
+
- shared project tasks
|
|
67
|
+
- blockers and dependencies
|
|
68
|
+
- discovered follow-up work
|
|
69
|
+
- work that must survive thread reset, compaction, or handoff
|
|
70
|
+
- status that another person or agent should be able to resume
|
|
71
|
+
|
|
72
|
+
Use agent-local planning tools only for the current turn's execution checklist. Do not treat them as shared project state.
|
|
73
|
+
|
|
74
|
+
## Rules
|
|
75
|
+
|
|
76
|
+
- Do not create markdown TODO files as the source of truth when Beads is available.
|
|
77
|
+
- Do not use `bd edit`; it opens an interactive editor. Use `bd update` flags instead.
|
|
78
|
+
- Prefer `--json` when parsing `bd` output programmatically.
|
|
79
|
+
- If hooks are installed, `bd prime` may already be injected. Run it manually when context is missing.
|
|
80
|
+
- Do not auto-close or mutate tasks unless the work is actually complete.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"_type":"issue","id":"cositos-n1e","title":"Pre-requisite: add git remote + GitHub Pages + secrets before CI fires","description":"The CI/docs/release workflows are wired and ready, but won't fire until:\\n1. A GitHub remote is added (git remote add origin git@github.com:\u003corg\u003e/cositos.git)\\n2. GitHub Pages is enabled in the repo Settings (Source: GitHub Actions)\\n3. For releases: NPM_TOKEN and PYPI_API_TOKEN secrets are set in the repo\\n4. _quarto.yml site-url is uncommented with the real URL","status":"closed","priority":2,"issue_type":"task","owner":"45505583+sashakile@users.noreply.github.com","created_at":"2026-07-10T20:24:25Z","created_by":"Sasha","updated_at":"2026-07-10T20:38:10Z","closed_at":"2026-07-10T20:38:10Z","close_reason":"Remote added (git@github.com:sashakile/cositos.git), site-url set, workflows created","dependency_count":0,"dependent_count":0,"comment_count":0}
|
|
2
|
+
{"_type":"issue","id":"cositos-bc3","title":"Create release workflow (PyPI + npm + GitHub Release)","description":"Create .github/workflows/release.yml triggered by git tag v*. Publishes cositos to PyPI, @cositos/front to npm, and creates a GitHub Release.","status":"closed","priority":2,"issue_type":"task","assignee":"Sasha","owner":"45505583+sashakile@users.noreply.github.com","created_at":"2026-07-10T20:20:44Z","created_by":"Sasha","updated_at":"2026-07-10T20:23:51Z","started_at":"2026-07-10T20:22:17Z","closed_at":"2026-07-10T20:23:51Z","close_reason":"Implemented: verify.yml docs-build job, docs.yml deploy workflow, release.yml (PyPI+npm+GitHub Release), _quarto.yml site-url placeholder, front/package.json publish config, mise release tasks","dependency_count":0,"dependent_count":0,"comment_count":0}
|
|
3
|
+
{"_type":"issue","id":"cositos-qgf","title":"Create GitHub Pages docs-deploy workflow","description":"Create .github/workflows/docs.yml that builds the Quarto site and deploys to GitHub Pages on every push to main.","status":"closed","priority":2,"issue_type":"task","owner":"45505583+sashakile@users.noreply.github.com","created_at":"2026-07-10T20:20:35Z","created_by":"Sasha","updated_at":"2026-07-10T20:23:51Z","closed_at":"2026-07-10T20:23:51Z","close_reason":"Implemented: verify.yml docs-build job, docs.yml deploy workflow, release.yml (PyPI+npm+GitHub Release), _quarto.yml site-url placeholder, front/package.json publish config, mise release tasks","dependency_count":0,"dependent_count":0,"comment_count":0}
|
|
4
|
+
{"_type":"issue","id":"cositos-t7n","title":"Add docs-build CI job to verify.yml","description":"The verify.yml runs lint/typecheck/coverage per-language tests but doesn't build docs. Add a parallel docs-build job that runs (needs quarto on the runner).","status":"closed","priority":2,"issue_type":"task","assignee":"Sasha","owner":"45505583+sashakile@users.noreply.github.com","created_at":"2026-07-10T20:19:50Z","created_by":"Sasha","updated_at":"2026-07-10T20:23:51Z","started_at":"2026-07-10T20:21:39Z","closed_at":"2026-07-10T20:23:51Z","close_reason":"Implemented: verify.yml docs-build job, docs.yml deploy workflow, release.yml (PyPI+npm+GitHub Release), _quarto.yml site-url placeholder, front/package.json publish config, mise release tasks","dependency_count":0,"dependent_count":0,"comment_count":0}
|
|
5
|
+
{"_type":"issue","id":"cositos-ual","title":"Update _quarto.yml for GitHub Pages site-url","description":"Add site-url to _quarto.yml so the Quarto site generates correct canonical links when deployed to GitHub Pages.","status":"closed","priority":3,"issue_type":"task","assignee":"Sasha","owner":"45505583+sashakile@users.noreply.github.com","created_at":"2026-07-10T20:20:53Z","created_by":"Sasha","updated_at":"2026-07-10T20:23:51Z","started_at":"2026-07-10T20:22:37Z","closed_at":"2026-07-10T20:23:51Z","close_reason":"Implemented: verify.yml docs-build job, docs.yml deploy workflow, release.yml (PyPI+npm+GitHub Release), _quarto.yml site-url placeholder, front/package.json publish config, mise release tasks","dependency_count":0,"dependent_count":0,"comment_count":0}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PostCompact": [
|
|
4
|
+
{
|
|
5
|
+
"hooks": [
|
|
6
|
+
{
|
|
7
|
+
"command": "bd codex-hook PostCompact",
|
|
8
|
+
"statusMessage": "Scheduling Beads context refresh",
|
|
9
|
+
"type": "command"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"matcher": "manual|auto"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"PreCompact": [
|
|
16
|
+
{
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"command": "bd codex-hook PreCompact",
|
|
20
|
+
"statusMessage": "Checking Beads context",
|
|
21
|
+
"type": "command"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"matcher": "manual|auto"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"SessionStart": [
|
|
28
|
+
{
|
|
29
|
+
"hooks": [
|
|
30
|
+
{
|
|
31
|
+
"command": "bd codex-hook SessionStart",
|
|
32
|
+
"statusMessage": "Loading Beads context",
|
|
33
|
+
"type": "command"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"matcher": "startup|resume|clear"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"UserPromptSubmit": [
|
|
40
|
+
{
|
|
41
|
+
"hooks": [
|
|
42
|
+
{
|
|
43
|
+
"command": "bd codex-hook UserPromptSubmit",
|
|
44
|
+
"statusMessage": "Refreshing Beads context",
|
|
45
|
+
"type": "command"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# dont managed instructions
|
|
2
|
+
|
|
3
|
+
> This file is managed by `dont init` and `dont doctor --fix`. Do not edit manually.
|
|
4
|
+
|
|
5
|
+
# dont
|
|
6
|
+
|
|
7
|
+
This project uses `dont` for epistemic claim tracking.
|
|
8
|
+
|
|
9
|
+
For full documentation see the [dont spec](https://github.com/charly-vibes/dont).
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
dont ground "claim text" --file README.md --lines 10-18 # fast path: claim + repo evidence
|
|
15
|
+
dont conclude "claim text" # introduce an unverified claim
|
|
16
|
+
dont trust <id> --reason ... # register doubt
|
|
17
|
+
dont dismiss <id> --evidence ... # verify with evidence
|
|
18
|
+
dont show <id> # inspect a claim
|
|
19
|
+
dont trace <id> # diagnose blocker paths
|
|
20
|
+
dont list # list all claims
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`dont ground` is the preferred fast path when you already have the claim and evidence in hand. The underlying model is still conclude โ trust โ dismiss โ forget: `ground` composes `conclude` and `dismiss` rather than bypassing the core lifecycle.
|
|
24
|
+
|
|
25
|
+
## Grounding claims in repository evidence
|
|
26
|
+
|
|
27
|
+
Prefer repository-relative file locators over opaque `file://` URIs when the evidence lives inside the current project:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
# Preferred: repository-relative locator
|
|
31
|
+
dont ground "documented project fact" --file README.md --lines 10-18
|
|
32
|
+
dont dismiss <id> --file src/lib.rs --lines 42-55 --anchor "MyTrait"
|
|
33
|
+
dont dismiss <id> --file docs/spec.md --excerpt "The system SHALL..."
|
|
34
|
+
|
|
35
|
+
# Supported for compatibility: plain URI
|
|
36
|
+
dont dismiss <id> --evidence https://external-source.example/ref
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Repository-relative locators resolve against the project root regardless of the caller's working directory. Paths that escape the project root (via `..` traversal or symlink escape) are refused.
|
|
40
|
+
|
|
41
|
+
When `show` or `why` reports stale, unresolved, or otherwise confusing blockers, run `dont trace <id>` to see the blocker path that explains what dependency or support fallout needs attention.
|
|
42
|
+
|
|
43
|
+
## Modes
|
|
44
|
+
|
|
45
|
+
`dont` operates in two modes:
|
|
46
|
+
|
|
47
|
+
- **permissive** โ allows claims to progress with weaker evidence; suitable for exploratory work.
|
|
48
|
+
- **strict** โ enforces full evidence and lifecycle requirements before dismissal.
|
|
49
|
+
|
|
50
|
+
Run `dont prime --json` to see the current mode. To change mode, edit `mode = "permissive"` or `mode = "strict"` in `.dont/config.toml`.
|
|
51
|
+
|
|
52
|
+
## Error recovery
|
|
53
|
+
|
|
54
|
+
When a command returns `"ok": false`, read `data.remediation[0].command` from the JSON envelope and run it exactly as printed. Do not guess reformulations โ the remediation field is authoritative.
|
|
55
|
+
|
|
56
|
+
## Defining terms
|
|
57
|
+
|
|
58
|
+
Before running `dont define`, run `dont suggest-term "<description>"` to check for an existing term that fits. When defining, always supply both `--label "<a noun phrase>"` and `--doc "<definition text>"` together.
|
|
59
|
+
|
|
60
|
+
## Spawn
|
|
61
|
+
|
|
62
|
+
When `dont` requests a sub-agent via a spawn envelope, the harness is responsible for fulfilling the spawn. Run the spawn command from the envelope's `data.command` field and feed its output back to the calling agent.
|
|
63
|
+
|
|
64
|
+
## Help
|
|
65
|
+
|
|
66
|
+
Run `dont help --tutorial` for the first-session walkthrough.
|
|
67
|
+
Run `dont help --topics` to list all how-to guides.
|
|
68
|
+
Run `dont help --howto <topic>` to read a specific guide.
|
|
69
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# dont seed vocabulary snapshot
|
|
2
|
+
# Installed project-locally by `dont init`. Tool upgrades MUST NOT rewrite this
|
|
3
|
+
# file except through an explicit seed-migration operation.
|
|
4
|
+
prefix: "dont:"
|
|
5
|
+
terms:
|
|
6
|
+
- id: "dont:Entity"
|
|
7
|
+
status: locked
|
|
8
|
+
- id: "dont:Claim"
|
|
9
|
+
status: locked
|
|
10
|
+
- id: "dont:Term"
|
|
11
|
+
status: locked
|
|
12
|
+
- id: "dont:Evidence"
|
|
13
|
+
status: locked
|
|
14
|
+
- id: "dont:kind_of"
|
|
15
|
+
status: locked
|
|
16
|
+
- id: "dont:related_to"
|
|
17
|
+
status: locked
|
|
18
|
+
- id: "dont:defined_as"
|
|
19
|
+
status: locked
|
|
20
|
+
- id: "dont:Hypothesis"
|
|
21
|
+
status: locked
|
|
22
|
+
- id: "dont:Retraction"
|
|
23
|
+
status: locked
|
|
24
|
+
- id: "dont:external_ref"
|
|
25
|
+
status: locked
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Before acting on any `ah check` finding, run its `playbook_command` to get the canonical remediation steps. Use `ah explain <topic>` to look up the playbook for any finding kind.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "a-closing-script-tag-in-state-is-neutralised"
|
|
2
|
+
description = "A closing script tag in state is neutralised."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_embedded_json_is_script_escaped"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "a-view-script-is-emitted-per-model"
|
|
2
|
+
description = "A view script is emitted per model."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_emits_a_view_script_per_model"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "each-model-s-state-carries-anywidget-view-identity"
|
|
2
|
+
description = "Each model's state carries anywidget view identity."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_each_exported_model_state_carries_anywidget_view_identity"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "only-requested-views-are-emitted"
|
|
2
|
+
description = "Only requested views are emitted."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_views_argument_restricts_emitted_views"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "the-cdn-html-manager-loader-is-included"
|
|
2
|
+
description = "The CDN html-manager loader is included."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_includes_cdn_html_manager_loader"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "the-document-state-is-embedded-as-widget-state-json"
|
|
2
|
+
description = "The document state is embedded as widget-state+json."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_embeds_document_state_block"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "write-html-persists-the-page"
|
|
2
|
+
description = "write_html persists the page."
|
|
3
|
+
archetype = "BP"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_embed.py::test_write_html_matches_embed_html"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "comm-open-includes-anymodel-and-anyview-identity"
|
|
2
|
+
description = "comm_open carries immutable anywidget fields + version."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_protocol.py::test_comm_open_includes_immutable_anywidget_fields"
|
|
10
|
+
timeout_seconds = 60
|
cositos-0.1.0/.espectacular/protocol/nested-binary-values-are-split-and-merged-losslessly.toml
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "nested-binary-values-are-split-and-merged-losslessly"
|
|
2
|
+
description = "Buffer split/merge round-trips losslessly."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_buffers.py::test_round_trip_merge_is_inverse_of_split"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "unknown-method-is-ignored"
|
|
2
|
+
description = "Unknown inbound method is ignored."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_protocol.py::test_parse_unknown_method_is_ignored"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "a-single-model-round-trips-losslessly"
|
|
2
|
+
description = "A single model round-trips losslessly."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_round_trip_binary_by_raw_bytes"
|
|
10
|
+
timeout_seconds = 60
|
cositos-0.1.0/.espectacular/serialization/binary-buffers-are-base64-encoded-per-the-v2-schema.toml
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "binary-buffers-are-base64-encoded-per-the-v2-schema"
|
|
2
|
+
description = "Binary buffers are base64-encoded per the v2 schema."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_dump_model_includes_buffers_when_present"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "child-references-survive-a-round-trip"
|
|
2
|
+
description = "Child references survive a round-trip."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_composition_child_refs_preserved_verbatim"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "duplicate-model-ids-are-rejected"
|
|
2
|
+
description = "Duplicate model ids are rejected."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_dump_document_rejects_duplicate_model_ids"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "empty-model-id-is-rejected"
|
|
2
|
+
description = "Empty model id is rejected."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_dump_document_rejects_empty_model_id"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "front-end-code-is-preserved"
|
|
2
|
+
description = "Front-end code is preserved."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_round_trip_plain_state_is_identity"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "reference-cycles-do-not-break-loading"
|
|
2
|
+
description = "Reference cycles do not break loading."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_reference_cycle_loads_without_recursion"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id = "the-document-envelope-declares-the-state-format-version"
|
|
2
|
+
description = "The document envelope declares the state-format version."
|
|
3
|
+
archetype = "PF"
|
|
4
|
+
status = "active"
|
|
5
|
+
superseded_by = ""
|
|
6
|
+
authored_with = "0.1.0"
|
|
7
|
+
|
|
8
|
+
[[tests.pytest]]
|
|
9
|
+
flags = "tests/test_serialize.py::test_document_envelope_shape"
|
|
10
|
+
timeout_seconds = 60
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Configuration for softprops/action-gh-release auto-generated release notes.
|
|
2
|
+
# Categories group related PRs together in the release body.
|
|
3
|
+
|
|
4
|
+
changelog:
|
|
5
|
+
categories:
|
|
6
|
+
- title: ๐ New Features
|
|
7
|
+
labels:
|
|
8
|
+
- enhancement
|
|
9
|
+
- feature
|
|
10
|
+
- title: ๐ Bug Fixes
|
|
11
|
+
labels:
|
|
12
|
+
- bug
|
|
13
|
+
- fix
|
|
14
|
+
- title: ๐ Documentation
|
|
15
|
+
labels:
|
|
16
|
+
- documentation
|
|
17
|
+
- docs
|
|
18
|
+
- title: ๐ง Maintenance
|
|
19
|
+
labels:
|
|
20
|
+
- chore
|
|
21
|
+
- maintenance
|
|
22
|
+
- refactor
|
|
23
|
+
- title: ๐งช Testing
|
|
24
|
+
labels:
|
|
25
|
+
- testing
|
|
26
|
+
- test
|
|
27
|
+
- title: ๐ New Language Backend
|
|
28
|
+
labels:
|
|
29
|
+
- language-backend
|
|
30
|
+
- port
|
|
31
|
+
- title: โฌ๏ธ Dependencies
|
|
32
|
+
labels:
|
|
33
|
+
- dependencies
|
|
34
|
+
- deps
|
|
35
|
+
- title: Other Changes
|
|
36
|
+
labels:
|
|
37
|
+
- "*"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: docs
|
|
2
|
+
|
|
3
|
+
# Builds and deploys the Quarto documentation site to GitHub Pages
|
|
4
|
+
# on every push to main.
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [main]
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
pages: write
|
|
13
|
+
id-token: write
|
|
14
|
+
|
|
15
|
+
concurrency:
|
|
16
|
+
group: pages-${{ github.ref }}
|
|
17
|
+
cancel-in-progress: true
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
build-and-deploy:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
environment:
|
|
23
|
+
name: github-pages
|
|
24
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- uses: astral-sh/setup-uv@v5
|
|
29
|
+
with:
|
|
30
|
+
python-version-file: ".python-version"
|
|
31
|
+
- uses: jdx/mise-action@v2
|
|
32
|
+
with:
|
|
33
|
+
install: true
|
|
34
|
+
cache: true
|
|
35
|
+
|
|
36
|
+
- uses: quarto-dev/quarto-actions/setup@v2
|
|
37
|
+
|
|
38
|
+
# Docs build includes a Julia parity check (examples/parity/dump.jl)
|
|
39
|
+
- uses: julia-actions/setup-julia@v2
|
|
40
|
+
with:
|
|
41
|
+
version: "1.11"
|
|
42
|
+
|
|
43
|
+
- name: Install project dependencies (Python + JS)
|
|
44
|
+
run: mise run setup
|
|
45
|
+
|
|
46
|
+
- name: Precompile Julia parity project deps
|
|
47
|
+
run: julia --project=examples/parity -e 'using Pkg; Pkg.instantiate()'
|
|
48
|
+
|
|
49
|
+
- name: Build Quarto documentation site
|
|
50
|
+
run: mise run docs
|
|
51
|
+
|
|
52
|
+
- name: Upload built site as Pages artifact
|
|
53
|
+
uses: actions/upload-pages-artifact@v3
|
|
54
|
+
with:
|
|
55
|
+
path: docs/_site
|
|
56
|
+
|
|
57
|
+
- name: Deploy to GitHub Pages
|
|
58
|
+
id: deployment
|
|
59
|
+
uses: actions/deploy-pages@v4
|