Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
8da0f77
@over types
KevinDCarlson Apr 29, 2026
3d5cb27
Instance without specializations declares
KevinDCarlson Apr 29, 2026
40436e7
Diagrams in discrete theories declaring and validating, generating Di…
KevinDCarlson May 5, 2026
a8d725d
Add the test files
KevinDCarlson May 5, 2026
b233e68
missing commit
KevinDCarlson May 6, 2026
38f6694
clippy
KevinDCarlson May 6, 2026
7f6f9bd
docs fix
KevinDCarlson May 7, 2026
7a5e55d
BUILD: Patch for owner change on `wasm-pack` (#1258)
KevinDCarlson May 12, 2026
9685635
BUILD: Use "type" "bug" in issue template (#1261)
kasbah May 12, 2026
9e0287d
BUILD: Make optional deps be ordinary deps in AlgJulia interop (#1268)
kris-brown May 12, 2026
1607e5f
DOC: Example: internal language of database schemas.
epatters Apr 14, 2026
1e0c375
DOC: Example: internal language of multicategories.
epatters Apr 14, 2026
b3f279e
DOC: Remark on (non)uniqueness of derivations in internal language.
epatters Apr 19, 2026
f898748
DOC: Let binding rule for internal languages of models.
epatters Apr 19, 2026
e113145
DOC: Assume flatness of double theory in internal language of models.
epatters Apr 20, 2026
cbcabf5
DOC: Double list monads on SSet and formation rule for terms.
epatters Apr 23, 2026
465713d
DOC: Morphism equality types using internal language.
epatters Apr 26, 2026
af476c6
DOC: Ex: commutativity in internal language of symmetric multicats.
epatters Apr 27, 2026
f03029b
DOC: Pre-composition rule for internal languages of models.
epatters Apr 27, 2026
91c112e
DOC: Example of internal language of a comulticategory.
epatters Apr 28, 2026
6eecbbb
DOC: Example of internal language of a PROP.
epatters Apr 29, 2026
b0b7ce0
DOC: Example of internal language of a monoidal category.
epatters May 1, 2026
c8fb839
DOC: Examples of internal languages of SMCs and cartesian categories.
epatters May 2, 2026
199e7ba
DOC: Prior art for RFC on internal languages of models.
epatters May 2, 2026
723195b
DOC: Example of internal language of a promonad.
epatters May 3, 2026
9cc6f57
DOC: Generalize modal double theories to have a mode theory.
epatters May 3, 2026
e8bf382
DOC: Example of internal language of a Markov category.
epatters May 3, 2026
59af8fb
DOC: Future work: more double theories inducing internal languages.
epatters May 3, 2026
e0daa73
DOC: Assume that almost representable double theories are strict.
epatters May 12, 2026
c5fef47
DOC: Example of using internal language with record types.
epatters May 12, 2026
5cc08f6
DOC: Rename "inner context" -> "object term" in RFC-0004.
epatters May 13, 2026
71e62c3
BUILD: Make deployment set a status on the `main` commit (#1271)
kasbah May 13, 2026
b398fd1
FIX: Commit Manifest.toml for algjulia-interop (#1273)
kasbah May 13, 2026
2b729c4
BUILD: Remove Project/Manifest toml files for `test` (#1274)
quffaro May 14, 2026
83e9de9
BUILD: Update oxlint
kasbah May 11, 2026
a38f216
BUILD: Update stylelint
kasbah May 11, 2026
c74799c
BUILD: Update typescript to 6.0
kasbah May 11, 2026
7c7149d
ENH: Reset active input in editors when focus is lost (#1277)
kasbah May 15, 2026
d04712d
BUILD: Update wasm-pack to 0.15 and remove patch (#1281)
kasbah May 15, 2026
1dd4ccd
FIX: Mitigate invalid date being passed to relative_time (#1278)
kasbah May 15, 2026
c0568af
DOC: Tighten up docs on hash mismatch (#1138)
kasbah May 19, 2026
bc90390
ENH: Code view component (#1285)
quffaro May 20, 2026
5daca23
CLEANUP: `createResource` reactivity issues (#1286)
kasbah May 20, 2026
b9dedfb
ENH: Hierarchical FocusHandle
kasbah May 19, 2026
0e9dc9d
ENH: Keyboard shortcuts for undo/redo
kasbah May 19, 2026
87d438d
ENH: Indicate focus in sidebar
kasbah May 19, 2026
3130fa8
ENH: Opening history sidebar grabs focus
kasbah May 19, 2026
3547f69
ENH: Set focused on side-bar click on doc
kasbah May 19, 2026
6014239
REFACTOR: Include "pane" in the focus names
kasbah May 19, 2026
76d6337
FIX: Keep focus on completion escape key press
kasbah May 19, 2026
16fa8a2
FIX: Use uuid to track active cell rather than index
kasbah May 19, 2026
bbfa8c0
ENH: Add keyboard shortcut indication to undo/redo button tooltip
kasbah May 15, 2026
d61510d
FIX: Update gaios for FocusHandle
kasbah May 19, 2026
ba10615
REFACTOR: Rename color-alert-question to color-indicator
kasbah May 21, 2026
a842bc6
ENH: Line up button colors with topos primary
kasbah May 21, 2026
9fffad5
ENH: Use topos-primary for color-alert-note
kasbah May 21, 2026
d833f6c
REFACTOR: Use button positive instead of topos color name for buttons
kasbah May 21, 2026
edaeffd
CLEANUP: Use utility button for "go back" on login
kasbah May 21, 2026
4c3a593
CLEANUP: Put foldable stories in the right category
kasbah May 21, 2026
d77ac10
BUILD: Upgrade ECharts from v5.5 to v6.1 (#1288)
epatters May 22, 2026
27d3ed9
ENH: Adding Julia to the CI Workflow (#1292)
quffaro May 26, 2026
a1eb8e6
Use pnpm2nix-nzbr (#1263)
kasbah May 27, 2026
e1bb1d4
Move ui-component tests to own GitHub Actions workflow (#1296)
kasbah May 27, 2026
9613b85
BUILD: Move Julia tests to own Github Actions workflow (#1295)
kasbah May 27, 2026
bb0c661
ENH: Enable RFCs to build as PDFs. (#1291)
epatters May 28, 2026
b69a804
BUILD: Remove CODEOWNERS file. (#1300)
epatters May 28, 2026
f21a7c7
BUILD: Work around incompatibility with current version of `spath3`. …
epatters May 28, 2026
d67d370
BUILD: Add a vite-plugin-monorepo-dedupe tool (#1290)
kasbah May 29, 2026
0cdadc2
ENH: Deferrable foreign keys for PostgresSQL backend (#1057)
quffaro May 29, 2026
1e36eea
Revert "BUILD: Add a vite-plugin-monorepo-dedupe tool (#1290)" (#1302)
epatters May 29, 2026
34fd5a3
DOC: Update CHANGELOG for CatColab v0.6 release.
epatters Jun 1, 2026
460e2d7
BUILD: Disable RFC PDF builds (#1310)
tim-at-topos Jun 4, 2026
aa8e30d
HOUSEKEEPING: checking out files from diagrams of modal models
quffaro May 28, 2026
a57e051
WIP: adding DblModelDiagramType enum and its Modal variant
quffaro May 28, 2026
9621fcb
WIP: multihom lifting working
quffaro May 31, 2026
2cd41f5
WIP: parsing equality
quffaro Jun 3, 2026
b18b838
WIP: transpiler. might need to do two passes for subbing
quffaro Jun 4, 2026
47b8d6b
WIP: moving transpiler to new file
quffaro Jun 5, 2026
8e7da82
CLEANUP
quffaro Jun 8, 2026
721a196
WIP: petri net nb elab, decapodes transpilation
quffaro Jun 9, 2026
c972fa7
WIP: decapodes transpiling
quffaro Jun 12, 2026
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
8 changes: 0 additions & 8 deletions .github/CODEOWNERS

This file was deleted.

2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Let us know if something is broken, or not working how you expect it to
title: ''
labels: bug
type: bug
assignees: ''

---
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,11 @@ jobs:
run: |
tlmgr update --self
tlmgr install dvisvgm standalone preview pgf tikz-cd amsmath quiver spath3 ebproof
# Work around https://github.com/loopspace/spath3/issues/37 by
# dropping the redundant `NNn` variant that newer expl3 rejects.
SPATH3="$(kpsewhich spath3.sty)"
sed -i 's|\\spath_maybe_split_curve:NNn {NNn, NNV }|\\spath_maybe_split_curve:NNn {NNV}|' "$SPATH3"
sed -i 's|\\spath_maybe_gsplit_curve:NNn {NNn, NNV}|\\spath_maybe_gsplit_curve:NNn {NNV}|' "$SPATH3"

- name: Build mathematical docs
if: steps.cache-math-docs.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -287,12 +292,18 @@ jobs:
run: |
tlmgr update --self
tlmgr install dvisvgm standalone preview pgf tikz-cd amsmath quiver spath3 ebproof luatex85
# Work around https://github.com/loopspace/spath3/issues/37 by
# dropping the redundant `NNn` variant that newer expl3 rejects.
SPATH3="$(kpsewhich spath3.sty)"
sed -i 's|\\spath_maybe_split_curve:NNn {NNn, NNV }|\\spath_maybe_split_curve:NNn {NNV}|' "$SPATH3"
sed -i 's|\\spath_maybe_gsplit_curve:NNn {NNn, NNV}|\\spath_maybe_gsplit_curve:NNn {NNV}|' "$SPATH3"

- name: Render Quarto project
if: steps.cache-rfc.outputs.cache-hit != 'true'
uses: quarto-dev/quarto-actions/render@v2
with:
path: rfc
to: html

- name: Report cache status
run: |
Expand Down
25 changes: 0 additions & 25 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,31 +81,6 @@ jobs:
run: |
nix build .#rust-docs-check

ui_components_tests:
name: ui-components tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 24
cache: "pnpm"

- name: Install dependencies
run: pnpm install

- name: Install Playwright browser
run: pnpm --filter ./packages/ui-components exec playwright install chromium

- name: Run ui-components tests
run: pnpm --filter ./packages/ui-components run test

npm_checks:
name: npm checks
runs-on: ubuntu-latest
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ env:

permissions:
deployments: write
statuses: write

jobs:
create_deployment:
Expand Down Expand Up @@ -289,3 +290,18 @@ jobs:
description: 'Backend deployment failed'
state: 'failure'
deployment-id: ${{ needs.create_backend_deployment.outputs.deployment_id }}

- name: Post commit status
uses: actions/github-script@v7
with:
script: |
const state = '${{ needs.deploy_backend.result }}' === 'success' ? 'success' : 'failure';
await github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: '${{ github.event.workflow_run.head_sha }}',
state: state,
target_url: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}',
description: state === 'success' ? 'Backend deployed to AWS' : 'Backend deployment failed',
context: 'deploy / backend'
});
29 changes: 29 additions & 0 deletions .github/workflows/julia-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: julia-tests

on:
push:
branches:
- main
paths:
- 'packages/algjulia-interop/**'
- '.github/workflows/julia-tests.yml'
pull_request:
paths:
- 'packages/algjulia-interop/**'
- '.github/workflows/julia-tests.yml'

jobs:
julia-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Julia
uses: julia-actions/setup-julia@v2
with:
version: '1'

- name: Tests
run: |
julia --project=packages/algjulia-interop -e 'import Pkg; Pkg.test()'
53 changes: 53 additions & 0 deletions .github/workflows/ui-components-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: ui-components-tests

on:
push:
branches:
- main
paths:
- "packages/ui-components/**"
- "package.json"
- "pnpm-lock.yaml"
- "pnpm-workspace.yaml"
- ".github/workflows/ui-components-tests.yml"
pull_request:
paths:
- "packages/ui-components/**"
- "package.json"
- "pnpm-lock.yaml"
- "pnpm-workspace.yaml"
- ".github/workflows/ui-components-tests.yml"

jobs:
ui-components-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 24
cache: "pnpm"

- name: Cache Playwright browsers
uses: actions/cache@v4
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('packages/ui-components/pnpm-lock.yaml') }}

- name: Install dependencies
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
run: pnpm install

- name: Install Playwright browser
run: pnpm --filter ./packages/ui-components exec playwright install --with-deps chromium-headless-shell

- name: Run ui-components tests
run: pnpm --filter ./packages/ui-components run test
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ announcement and a blog post. Minor versions are not announced but allow
features and fixes to be released with greater frequency. Minor versions often
include notable new features.

## [Unreleased]
## [v0.6.0](https://github.com/ToposInstitute/CatColab/releases/tag/v0.6.0) (2026-05-27)

Blog post: [CatColab v0.6:
Starling](https://topos.institute/blog/2026-06-01-catcolab-0-6-starling/)

### Added

Expand Down
4 changes: 0 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,4 @@ cargo clippy
Try to remember to run these commands before making a PR. (If you forget, the CI
will remind you.)

## Developer documentation

Additional documentation for developers:

- [Fixing Hash Mismatches in Nix](./dev-docs/fixing-hash-mismatches.md)
20 changes: 14 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 0 additions & 60 deletions dev-docs/fixing-hash-mismatches.md

This file was deleted.

3 changes: 1 addition & 2 deletions dev-docs/typedoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@
"entryPoints": ["./index.ts"],
"out": "output",
"name": "CatColab: for developers",
"readme": "../CONTRIBUTING.md",
"projectDocuments": ["fixing-hash-mismatches.md"]
"readme": "../CONTRIBUTING.md"
}
Loading