diff --git a/web/takana-os.net/README.md b/web/takana-os.net/README.md new file mode 100644 index 00000000..9f0af35f --- /dev/null +++ b/web/takana-os.net/README.md @@ -0,0 +1,71 @@ +# `takana-os.net` — el sitio del proyecto + +Una sola página, autocontenida, en dos idiomas y dos temas. **No le pide nada a terceros:** las +tipografías de la marca (Chivo e IBM Plex, las dos SIL OFL) viajan acá en `fuentes/`, subconjuntos +`latin` y `latin-ext`, 154 KB en total. Un sitio sobre no depender de binarios ajenos que cargara +las fuentes de Google en cada visita sería una contradicción barata. + +| | | +|---|---| +| `index.html` | la página entera: CSS y JS adentro, el símbolo como `` SVG inline | +| `fuentes.css` + `fuentes/` | las ocho caras `@font-face`, servidas de acá | +| `simbolo.svg` | el favicon — el martillo tocapu 7×7, derivado de `docs/marca/simbolo-fondo-claro.svg` | + +La paleta y la tipografía salen de **`docs/marca/README.md`** y no se inventan acá. La única +desviación, deliberada: en tema claro el texto de acento usa un brasa oscurecido (`#9E3F16`), porque +el `#DF6B2A` de la marca sobre alpaca da 2,9:1 y no se lee. Las combinaciones de la página están +medidas: ninguna baja de 4,5:1. + +## Las dos direcciones que publica + +- **código** → `https://git.gioser.net/sergio/takana` (público; `git clone` por HTTPS) +- **paquetes** → `https://takana-os.net/repo/`, que es el MISMO `/srv/repo` firmado que sirve + `repo.gioser.net`. Comprobado: `takana install age --repo https://repo.gioser.net --trust ./trust` + responde `release: trusted (by release)`. + +⚠ `takana repo list --repo ` **no habla HTTP** — sólo directorios locales — y ante una URL dice +«repo vacío» con salida 0 en vez de decir que no sabe. El que sí baja por red es `install --repo`. + +## Cómo se sirve + +Caddy, en la caja `takana`, vhost `takana-os.net, www.takana-os.net`. La raíz es +**`/work/sergio/takana/web/takana-os.net`**, el árbol de trabajo vivo: *publicar es guardar el +fichero*. No lo refresca `publicar-webs.sh` a propósito — un `pull` sobre el árbol compartido mueve +HEAD bajo los pies de otro agente (CLAUDE.md §2 ter). + +El bloque, por si hay que rehacer la caja (`caddy validate` → `arjectl restart caddy`, **nunca** +`caddy reload`: el Caddyfile lleva `admin off`, SDD 28 §6.14): + +```caddyfile +takana-os.net, www.takana-os.net { + import acceso + encode gzip zstd + + redir /repo /repo/ permanent + handle_path /repo/* { + root * /srv/repo + file_server browse + } + + handle { + root * /work/sergio/takana/web/takana-os.net + @oculto path /.* */.* + respond @oculto 404 + file_server + } +} +``` + +## DNS + +El dominio se registró el 2026-09-21 y **el vhost está puesto antes que los registros**: hasta que +`takana-os.net` resuelva a la caja, Caddy no puede pedir el certificado y el nombre no responde. +Hacen falta dos `A` a `2.29.29.217` (la IP de la caja), igual que la de `repo`: + +``` +takana-os.net. A 2.29.29.217 +www.takana-os.net. A 2.29.29.217 +``` + +Con eso puesto, el certificado sale solo en la primera petición — y **tarda unos segundos más que +el primer `curl`**: si da error, reintentar antes de ir a mirar logs (SDD 28 §6.14). diff --git a/web/takana-os.net/fuentes.css b/web/takana-os.net/fuentes.css new file mode 100644 index 00000000..5c01b941 --- /dev/null +++ b/web/takana-os.net/fuentes.css @@ -0,0 +1,68 @@ +/* Chivo (900) e IBM Plex Sans/Mono — subconjuntos latin y latin-ext, SERVIDOS DE ACÁ. + Bajados de Google Fonts una vez y commiteados: la página no le pide nada a terceros, + que es lo mínimo coherente para un sitio sobre no depender de binarios ajenos. + Las dos familias son SIL OFL 1.1 — ver fuentes/LICENCIA-OFL-*.txt. */ +@font-face { + font-family: 'Chivo'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(fuentes/chivo-900-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +@font-face { + font-family: 'IBM Plex Sans'; + font-style: normal; + font-weight: 100 700; + font-display: swap; + src: url(fuentes/ibm-plex-sans-var-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(fuentes/ibm-plex-mono-400-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(fuentes/ibm-plex-mono-500-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +@font-face { + font-family: 'Chivo'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(fuentes/chivo-900-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +@font-face { + font-family: 'IBM Plex Sans'; + font-style: normal; + font-weight: 100 700; + font-display: swap; + src: url(fuentes/ibm-plex-sans-var-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(fuentes/ibm-plex-mono-400-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(fuentes/ibm-plex-mono-500-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} diff --git a/web/takana-os.net/fuentes/LICENCIA-OFL-chivo.txt b/web/takana-os.net/fuentes/LICENCIA-OFL-chivo.txt new file mode 100644 index 00000000..4e5e18cc --- /dev/null +++ b/web/takana-os.net/fuentes/LICENCIA-OFL-chivo.txt @@ -0,0 +1,93 @@ +Copyright 2019 The Chivo Project Authors (https://github.com/Omnibus-Type/Chivo) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/web/takana-os.net/fuentes/LICENCIA-OFL-ibm-plex.txt b/web/takana-os.net/fuentes/LICENCIA-OFL-ibm-plex.txt new file mode 100644 index 00000000..c35c4c61 --- /dev/null +++ b/web/takana-os.net/fuentes/LICENCIA-OFL-ibm-plex.txt @@ -0,0 +1,93 @@ +Copyright © 2017 IBM Corp. with Reserved Font Name "Plex" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/web/takana-os.net/fuentes/chivo-900-latin-ext.woff2 b/web/takana-os.net/fuentes/chivo-900-latin-ext.woff2 new file mode 100644 index 00000000..292b0a84 Binary files /dev/null and b/web/takana-os.net/fuentes/chivo-900-latin-ext.woff2 differ diff --git a/web/takana-os.net/fuentes/chivo-900-latin.woff2 b/web/takana-os.net/fuentes/chivo-900-latin.woff2 new file mode 100644 index 00000000..b4487d0f Binary files /dev/null and b/web/takana-os.net/fuentes/chivo-900-latin.woff2 differ diff --git a/web/takana-os.net/fuentes/ibm-plex-mono-400-latin-ext.woff2 b/web/takana-os.net/fuentes/ibm-plex-mono-400-latin-ext.woff2 new file mode 100644 index 00000000..732c64d4 Binary files /dev/null and b/web/takana-os.net/fuentes/ibm-plex-mono-400-latin-ext.woff2 differ diff --git a/web/takana-os.net/fuentes/ibm-plex-mono-400-latin.woff2 b/web/takana-os.net/fuentes/ibm-plex-mono-400-latin.woff2 new file mode 100644 index 00000000..0804aaff Binary files /dev/null and b/web/takana-os.net/fuentes/ibm-plex-mono-400-latin.woff2 differ diff --git a/web/takana-os.net/fuentes/ibm-plex-mono-500-latin-ext.woff2 b/web/takana-os.net/fuentes/ibm-plex-mono-500-latin-ext.woff2 new file mode 100644 index 00000000..6f33f8c0 Binary files /dev/null and b/web/takana-os.net/fuentes/ibm-plex-mono-500-latin-ext.woff2 differ diff --git a/web/takana-os.net/fuentes/ibm-plex-mono-500-latin.woff2 b/web/takana-os.net/fuentes/ibm-plex-mono-500-latin.woff2 new file mode 100644 index 00000000..090f82f7 Binary files /dev/null and b/web/takana-os.net/fuentes/ibm-plex-mono-500-latin.woff2 differ diff --git a/web/takana-os.net/fuentes/ibm-plex-sans-var-latin-ext.woff2 b/web/takana-os.net/fuentes/ibm-plex-sans-var-latin-ext.woff2 new file mode 100644 index 00000000..394ebbb3 Binary files /dev/null and b/web/takana-os.net/fuentes/ibm-plex-sans-var-latin-ext.woff2 differ diff --git a/web/takana-os.net/fuentes/ibm-plex-sans-var-latin.woff2 b/web/takana-os.net/fuentes/ibm-plex-sans-var-latin.woff2 new file mode 100644 index 00000000..b757bc5c Binary files /dev/null and b/web/takana-os.net/fuentes/ibm-plex-sans-var-latin.woff2 differ diff --git a/web/takana-os.net/index.html b/web/takana-os.net/index.html new file mode 100644 index 00000000..0d1a189d --- /dev/null +++ b/web/takana-os.net/index.html @@ -0,0 +1,390 @@ + + + + + +takana — la forja determinista + + + + + + + + + + + + + + +
+ +
+

takana · de takay: golpear, martillartakana · from takay: to strike, to hammer

+
+ +

takana

+
+

+ Una distribución de Linux con dos pisos: abajo un laboratorio hermético que compila todo desde fuente y guarda cada artefacto por su hash; arriba un Linux clásico y mutable donde se pueden romper cosas y volver atrás. + A Linux distribution with two floors: downstairs a hermetic laboratory that compiles everything from source and keeps every artefact by its hash; upstairs a classic, mutable Linux where you can break things and go back. +

+ +
+ +
+

01 · los dos pisos01 · the two floors

+

Por qué dos pisos y no unoWhy two floors and not one

+

+ Una distribución inmutable da reproducibilidad y quita la máquina: no se puede tocar nada sin aprender antes un lenguaje declarativo. Una clásica deja tocar todo y no sabe decir de dónde salió un binario. takana pone las dos, en pisos separados. + An immutable distribution gives you reproducibility and takes the machine away: you cannot touch anything without first learning a declarative language. A classic one lets you touch everything and cannot tell you where a binary came from. takana has both, on separate floors. +

+

+ El laboratorio compila desde fuentes upstream con commits fijados, aislado (bubblewrap + zig cc + musl estático), y direcciona cada artefacto por su hash BLAKE3. El userland es un Linux normal, con /bin, /lib y /etc de verdad; los binarios se hidratan del almacén por enlaces duros. Se pueden pisar archivos en caliente y revertir cuando se quiera. + The laboratory compiles from upstream sources at pinned commits, sandboxed (bubblewrap + zig cc + static musl), and addresses every artefact by its BLAKE3 hash. The userland is an ordinary Linux, with a real /bin, /lib and /etc; binaries are hydrated from the store by hard links. You can overwrite files live and revert whenever you want. +

+
+

Las tres piezas del medioThe three pieces in between

+
    +
  • Overlay de experimentación. Un cambio sobre el sistema real, con red: try, commit, discard.Experimentation overlay. A change on the real system, with a safety net: try, commit, discard.
  • +
  • Diario de mutaciones. Un demonio fanotify registra lo que se cambia a mano. Se vive de forma imperativa y el sistema calcula el delta contra la base limpia — el diario es la configuración.Mutation journal. A fanotify daemon records what you change by hand. You live imperatively and the system computes the delta against the clean base — the journal is the configuration.
  • +
  • Manifiesto .swm. Se comparte la receta de la mutación —parche de fuente, banderas, ediciones de config—, no el binario cocinado. Quien lo recibe lo reproduce y lo verifica..swm manifest. You share the recipe for the mutation — source patch, flags, config edits — not the cooked binary. Whoever receives it reproduces and verifies it.
  • +
+
+
+ +
+

02 · el código02 · the code

+

Dónde vive el repositorioWhere the repository lives

+

+ Todo —el CLI, el laboratorio, el catálogo de recetas y el diseño completo— está en un solo repositorio, bajo licencia MIT. + Everything — the CLI, the laboratory, the recipe catalogue and the full design — lives in a single repository, under the MIT licence. +

+ +
+

repositorio de códigocode repository

+ https://git.gioser.net/sergio/takana +
+ +
$ git clone https://git.gioser.net/sergio/takana.git
+$ cd takana && cargo build --release
+$ ./target/release/takana --help
+ +

+ El repositorio no trae binarios: trae recetas. Cada una fija la fuente upstream por commit o por sha256, y el hash del artefacto sale de la receta entera —fuente, compilador, banderas, fases y los hashes de sus dependencias—, así que se puede saber qué va a salir antes de compilar: + The repository ships no binaries: it ships recipes. Each one pins the upstream source by commit or sha256, and the artefact hash is derived from the whole recipe — source, compiler, flags, phases and the hashes of its dependencies — so you can know what will come out before building it: +

+ +
$ takana hash ripgrep          # el ArtifactHash vigente, sin construir
+$ takana build ripgrep         # compila aislado y sella en el store
+$ takana why-differs a/ b/     # si dos builds no coinciden, NOMBRA la causa
+ +
+

Cómo está repartidoHow it is laid out

+
    +
  • crates/el CLI, el laboratorio de build, el demonio, el diario y el overlay.the CLI, the build lab, the daemon, the journal and the overlay.
  • +
  • recipes/el catálogo: una receta .toml por paquete.the catalogue: one .toml recipe per package.
  • +
  • docs/el diseño entero (SDD y ADR). Empieza por 00-vision.md.the entire design (SDDs and ADRs). Start at 00-vision.md.
  • +
  • scripts/la granja de compilación, la cosecha y los arneses de verificación.the build farm, the harvest and the verification harnesses.
  • +
+
+
+ +
+

03 · el estado, medido03 · the state, measured

+

Qué anda y qué noWhat works and what doesn't

+ + + + + + + + + + + + + + + + + + +
PiezaPieceEstadoStateQué quiere decirWhat that means
Núcleo del laboratorioLaboratory core🟢Compila aislado y direcciona por hash BLAKE3.Sandboxed builds, BLAKE3 content addressing.
Auto-hospedajeSelf-hosting🟢El toolchain se reconstruye a sí mismo dentro de una máquina virtual, bit por bit igual.The toolchain rebuilds itself inside a VM, bit for bit identical.
Cadena Rust/LLVMRust/LLVM chain🟢De mrustc hasta rustc, sin binarios ajenos de confianza.From mrustc up to rustc, with no trusted foreign binaries.
Kernel propioOwn kernel🟢Linux compilado acá (6.16.12 y 7.1.2), que arranca la máquina y reproduce idéntico.Linux built here (6.16.12 and 7.1.2), boots the machine and reproduces identically.
CatálogoCatalogue941926 selladas, 15 en deuda. Una granja compila y promueve las que funcionan.926 sealed, 15 in debt. A farm builds and promotes the ones that work.
AlmacénStore1407Artefactos direccionados por contenido, cada uno con su hash.Content-addressed artefacts, each with its hash.
PaqueteríaPackaging🟢Empaquetar, repositorio firmado, instalar, desinstalar, dependencias y repo por red.Package, signed repository, install, uninstall, dependencies and network repo.
EscritoriosDesktops🟢Cuatro perfiles con su clausura sellada: KDE 418/420, GNOME 318/319, COSMIC 282/283, sway 269/270.Four profiles with their closure sealed: KDE 418/420, GNOME 318/319, COSMIC 282/283, sway 269/270.
Instalar en disco realInstall on a real disk🟡Las imágenes EFI/ISO arrancan en metal; el instalador desde el vivo está a medias.EFI/ISO images boot on bare metal; the installer from the live system is half done.
Distro redondaA rounded distroInstalable por alguien que no la escribió. Todavía no.Installable by somebody who didn't write it. Not yet.
+

+ Lo más difícil ya está: no dependemos de binarios precocidos de nadie. Partiendo de un compilador mínimo, takana reconstruye su propio Rust, su propio kernel y sus propias herramientas — y al hacerlo dos veces da exactamente el mismo resultado. Se probó dentro de una máquina virtual, no en teoría. + The hardest part is done: we depend on nobody's precooked binaries. Starting from a minimal compiler, takana rebuilds its own Rust, its own kernel and its own tools — and doing it twice gives exactly the same result. It was proved inside a virtual machine, not in theory. +

+

+ Las cifras salen de docs/state/build-state.json y del almacén de la caja, medidas el 2026-09-21. No se estiman: se cuentan. + The figures come from docs/state/build-state.json and the box's store, measured on 2026-09-21. They are not estimated: they are counted. +

+
+ +
+

04 · los paquetes04 · the packages

+

El repositorio de paquetesThe package repository

+

+ El índice está firmado y cada paquete trae la receta de su contenido, no el binario cocinado: install resuelve el nombre, verifica la firma del índice y reconstruye desde fuente antes de hidratar. Un origen de descarga no necesita ser de confianza — lo que se verifica es el contenido. + The index is signed and each package carries the recipe for its content, not the cooked binary: install resolves the name, verifies the index signature and rebuilds from source before hydrating. A download origin does not need to be trusted — what gets verified is the content. +

+ +
+

repositorio de paquetespackage repository

+ https://takana-os.net/repo/ +
+ +
$ takana install age --repo https://takana-os.net/repo --trust ./trust
+ +

+ Hoy publica la clausura del perfil servidor. El mismo repo se sirve también en repo.gioser.net; --repo acepta varios orígenes separados por coma y los prueba en orden. + It currently publishes the closure of the servidor profile. The same repo is also served at repo.gioser.net; --repo takes several comma-separated origins and tries them in order. +

+
+ +
+

05 · la frontera05 · the border

+

Qué tiene que ver con tawasuyuHow it relates to tawasuyu

+

+ takana es el suelo; tawasuyu es lo que se para encima. No son dos mundos sueltos: comparten el almacén direccionado por contenido (BLAKE3), un bus entre el init de tawasuyu y el demonio de takana con contrato por bytes, el grafo de arranque, y arje —el proceso número uno de tawasuyu— como init de las imágenes, estático contra musl. + takana is the ground; tawasuyu is what stands on it. They are not two loose worlds: they share the content-addressed store (BLAKE3), a bus between tawasuyu's init and takana's daemon with a byte-level contract, the boot graph, and arje — tawasuyu's process number one — as the init of the images, statically linked against musl. +

+

+ Lo que sigue abierto está escrito y priorizado, no supuesto: consenso de reconstrucción M-de-N, y explicar por qué difiere cuando dos compilaciones no dan el mismo hash. + What is still open is written down and prioritised, not assumed: M-of-N rebuild consensus, and explaining why it differs when two builds don't produce the same hash. +

+
+ +
+
+
+ El repositorioThe repository +

git.gioser.net/sergio/takana

+
+
+ PaquetesPackages +

takana-os.net/repo

+
+
+ tawasuyu.net ↗ +

El territorio que se para encima.The territory that stands on top.

+
+
+ hifas ↗ +

Réplicas sin coordinarse, con demostración.Replicas without coordination, with a proof.

+
+
+

+ takana · licencia MIT · esta página se sirve del propio repositorio (web/takana-os.net/) y no le pide nada a terceros: las tipografías —Chivo e IBM Plex, ambas SIL OFL— viajan con ella. + takana · MIT licence · this page is served from the repository itself (web/takana-os.net/) and asks nothing of third parties: the typefaces — Chivo and IBM Plex, both SIL OFL — travel with it. +

+
+ + + + diff --git a/web/takana-os.net/simbolo.svg b/web/takana-os.net/simbolo.svg new file mode 100644 index 00000000..d5762e0a --- /dev/null +++ b/web/takana-os.net/simbolo.svg @@ -0,0 +1 @@ +