AtlatestRepositoryfolio
1
;;; sigil-folio - Markdown-native knowledge and project management via MCP2
;;;3
;;; A structured markdown convention paired with MCP tools for task management,4
;;; project tracking, and knowledge accumulation. All state stored as5
;;; human-readable, git-committable markdown files.7
(package8
name: "folio"9
version: "0.3.4"10
sigil: "0.22.15"11
description: "Markdown-native knowledge and project management via MCP"12
url: "https://codeberg.org/sigil/folio"13
license: "BSD-3-Clause"14
authors: (list "David Wilson <david@daviwil.com>")16
;; `(folio entry)`, NOT `(folio main)`.17
;;18
;; The entry library's `main` dispatches on the FOLIO_DOC_WORKER environment19
;; marker: set, this binary runs the bounded parse worker; unset, it runs the20
;; MCP server. `src/folio/main.sgl` is untouched and still refuses subcommands21
;; -- mode selection happens before any argument is looked at, so no argument22
;; can become a mode. See `src/folio/entry.sgl`.23
;;24
;; Note `entry:` takes a FLAT library name and the runtime calls a procedure25
;; literally named `main` (hardcoded in both `sigil-run/src/main.c` and26
;; `cps-emit-native.c`). The `'((lib) proc)` form in the manifest docstring is27
;; stale -- it belongs to the inert `executables:` record, and passing it here28
;; raises, because the consumer does `(map symbol->string entry)`.29
entry: '(folio entry)30
bundle-name: "folio"32
configs: (list33
(config34
name: 'dev35
output-dir: "build/dev"36
static?: #f37
debug?: #t38
optimize: 039
bundle?: #t)40
(config41
name: 'release42
output-dir: "build/release"43
backend: 'native44
static?: #f45
debug?: #f46
optimize: 247
bundle?: #t))49
dependencies: (list50
;; Pin the runtime family used by the installed runner toolchain. This51
;; version includes nanosecond file fingerprints for external edits.52
(from-git url: "codeberg:sigil/sigil"53
package: "sigil-stdlib" version: "0.22.15")54
;; Explicit sigil-lib pin. Two independent reasons, both measured:55
;; 1. Without it, sigil-lib is derived transitively and does not track56
;; the `sigil:` field, so a relock can silently leave the C runtime57
;; behind while `sigil deps install` exits 0.58
;; 2. sigil-lib's resolution does NOT respect its declared range: with59
;; no explicit pin, a fresh resolve records `ref: "^0.17"` alongside60
;; `version: "0.18.2"` in the same lock entry, on any toolchain,61
;; while sigil-stdlib in that same resolve correctly stays at62
;; 0.17.20. Pinning explicitly is what makes the resolved runtime63
;; match what this manifest actually asks for.64
;; Verify in sigil.lock (the `version:`/`sha:` fields, not `ref:`).65
(from-git url: "codeberg:sigil/sigil"66
package: "sigil-lib" version: "0.22.15")67
(from-git url: "codeberg:sigil/sigil" package: "sigil-run" version: "0.22.15")68
(from-git url: "codeberg:sigil/sigil" package: "sigil-repl" version: "0.22.15")69
(from-git url: "codeberg:sigil/sigil-json" version: "^0.16.2")70
(from-git url: "codeberg:sigil/sigil-log" version: "^0.16.0")71
;; Deferred HTTP tool dispatch requires the opt-in 0.18.4 API.72
(from-git url: "codeberg:sigil/sigil-mcp" version: "^0.18.4")73
(from-git url: "codeberg:sigil/sigil-http" version: "^0.18.8")74
(from-git url: "codeberg:sigil/sigil-crypto" version: "^0.16.0")75
(from-git url: "codeberg:sigil/sigil-sqlite" version: "^0.16.0")76
(from-git url: "codeberg:sigil/sigil-yaml" version: "^0.9")77
(from-git url: "codeberg:sigil/sigil-sxml" version: "^0.15.0")78
(from-git url: "codeberg:sigil/sigil-markdown" version: "^0.9")79
(from-git url: "codeberg:sigil/sigil-web-styles" version: "^0.2.0")80
;; `folio/doc` is a profile over `sigil/doc` (D1), so the folio semantic81
;; containers hold ordinary Sigil Doc block nodes and reuse its inline82
;; nodes -- including `url-link`, which is the node F1a waited for SD-P283
;; to land.84
;;85
;; RESOLVED 2026-08-12 BY sigil-doc v0.1.3 (f83d8d8), recorded rather than86
;; deleted so a reader can tell a fixed caveat from a forgotten one. The87
;; caveat used to say that no RELEASED sigil-doc contained `url-link`, that88
;; v0.1.1 (42a0686) predated SD-P2, and that a green build here was89
;; therefore not evidence about any tag. All three have expired: v0.1.3 is90
;; the first release carrying BOTH `url-link` and SD-P7's section-child91
;; content profile, which is what `(folio doc reader)` delegates to.92
;;93
;; The public lock pins sigil-doc 0.1.4, including that released API.94
;; Development redirects are optional and explicitly selected; release95
;; builds and qualification use the public lock without overrides.96
(from-git url: "codeberg:sigil/sigil-doc" version: "^0.1"))98
dev-dependencies: (list99
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "0.22.15")100
(from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "0.22.15"))102
tasks: (list103
(task104
name: 'build105
description: "Compile folio modules"106
steps: (list107
(compile-sigil-modules sources: "src/**/*.sgl"108
output-dir: (config-output-subdir "lib"))))))