@wenathlan/cobaia 2.0.155 → 2.0.159

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.
Files changed (66) hide show
  1. package/.dev.vars.example +3 -0
  2. package/.dockerignore +41 -0
  3. package/.env.example +9 -0
  4. package/.gitattributes +36 -0
  5. package/.nvmrc +1 -0
  6. package/App.tsx +4 -4
  7. package/CHANGELOG.md +10 -0
  8. package/Dockerfile +4 -1
  9. package/README.md +5 -0
  10. package/SECURITY.md +27 -0
  11. package/acceptableusepolicy.md +9 -0
  12. package/authors.md +16 -0
  13. package/biome.jsonc +3 -3
  14. package/bugreport.md +16 -0
  15. package/bun.lock +156 -32
  16. package/cla.md +9 -0
  17. package/cli.ts +114 -0
  18. package/cobaia.csproj +22 -0
  19. package/cobaia.gemspec +14 -0
  20. package/cobaia.java +16 -0
  21. package/codeofconduct.md +9 -0
  22. package/content.ts +2 -2
  23. package/contributing.md +9 -0
  24. package/copyright.md +7 -0
  25. package/db.ts +2 -2
  26. package/disclaimer.md +7 -0
  27. package/docs/features.md +58 -0
  28. package/docs/monetization.md +61 -0
  29. package/eula.md +7 -0
  30. package/exportcontrol.md +17 -0
  31. package/governance.md +9 -0
  32. package/notice.md +7 -0
  33. package/package.json +21 -14
  34. package/pnpm-workspace.yaml +41 -20
  35. package/pnpmboot.package-lock.json +157 -0
  36. package/pnpmboot.package.json +6 -0
  37. package/pom.xml +29 -0
  38. package/privacypolicy.md +9 -0
  39. package/pullrequesttemplate.md +13 -0
  40. package/{Sol → sol}/Sol.tsx +2 -2
  41. package/{Sol → sol}/apps/apps.tsx +1 -1
  42. package/{Sol → sol}/blog/blog.tsx +1 -1
  43. package/{Sol → sol}/home/home.tsx +2 -2
  44. package/{Sol → sol}/intro/intro.tsx +1 -1
  45. package/{Sol → sol}/legal/legal.tsx +1 -1
  46. package/{Sol → sol}/notfound/notfound.tsx +1 -1
  47. package/{Sol → sol}/pricing/pricing.tsx +1 -1
  48. package/{Sol → sol}/shell/Shell.tsx +1 -1
  49. package/{Sol → sol}/sol.css +7 -0
  50. package/{Sol → sol}/support/support.tsx +1 -1
  51. package/{Sol → sol}/wingets/index.ts +1 -1
  52. package/support.md +7 -0
  53. package/termsandconditions.md +9 -0
  54. package/termsofuse.md +9 -0
  55. package/tests/sandboxmodality.test.ts +4 -4
  56. package/thirdpartynotices.md +7 -0
  57. package/trademarkpolicy.md +7 -0
  58. package/tsconfig.json +1 -1
  59. package/vite.config.ts +3 -3
  60. package/vitest.config.ts +2 -2
  61. package/docs/.gitkeep +0 -0
  62. /package/{Sol → sol}/wingets/IntroFooter.tsx +0 -0
  63. /package/{Sol → sol}/wingets/IntroPlans.tsx +0 -0
  64. /package/{Sol → sol}/wingets/IntroSplash.tsx +0 -0
  65. /package/{Sol → sol}/wingets/ShellAdsslot.tsx +0 -0
  66. /package/{Sol → sol}/wingets/ShellBrand.tsx +0 -0
@@ -0,0 +1,157 @@
1
+ {
2
+ "name": "pnpmboot",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "pnpmboot",
9
+ "version": "0.0.0",
10
+ "dependencies": {
11
+ "pnpm": "12.3.4"
12
+ }
13
+ },
14
+ "node_modules/@pnpm/exe.darwin-arm64": {
15
+ "version": "12.3.4",
16
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.darwin-arm64/-/exe.darwin-arm64-12.3.4.tgz",
17
+ "integrity": "sha512-PAyUol8T1+/+ViOiXAt51ECA+QnfXCqz6foL4bW+LsoX0NcVd5XVEM2mRQu+LV4oc7uRz9zf9U0P+XFfuQeDAw==",
18
+ "cpu": [
19
+ "arm64"
20
+ ],
21
+ "license": "MIT",
22
+ "optional": true,
23
+ "os": [
24
+ "darwin"
25
+ ]
26
+ },
27
+ "node_modules/@pnpm/exe.darwin-x64": {
28
+ "version": "12.3.4",
29
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.darwin-x64/-/exe.darwin-x64-12.3.4.tgz",
30
+ "integrity": "sha512-fxP9JCk0Cdye+ePuj+GJJLMUMTqHGWRdb1dtv4How876uQ2ehxvenpgiYAir/ceO9PsYUZkFTtyZdx+rRu5QOA==",
31
+ "cpu": [
32
+ "x64"
33
+ ],
34
+ "license": "MIT",
35
+ "optional": true,
36
+ "os": [
37
+ "darwin"
38
+ ]
39
+ },
40
+ "node_modules/@pnpm/exe.linux-arm64": {
41
+ "version": "12.3.4",
42
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.linux-arm64/-/exe.linux-arm64-12.3.4.tgz",
43
+ "integrity": "sha512-t71AVA7LRqiKTyZ5xMYaZc2n5DfdpMbfokZuiIOXHBOM03ECnF0t4iYwaBDqJgVjlKYUOwaF/bRQajGNA4cJ4w==",
44
+ "cpu": [
45
+ "arm64"
46
+ ],
47
+ "libc": [
48
+ "glibc"
49
+ ],
50
+ "license": "MIT",
51
+ "optional": true,
52
+ "os": [
53
+ "linux"
54
+ ]
55
+ },
56
+ "node_modules/@pnpm/exe.linux-arm64-musl": {
57
+ "version": "12.3.4",
58
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.linux-arm64-musl/-/exe.linux-arm64-musl-12.3.4.tgz",
59
+ "integrity": "sha512-FBOt0/7ye6O6q4AllVV5QMviB6qE6fqkeczV/+MDWQsmo+QJrlfsh6X7CpH/tClVpBZEyIbjpUoT8bNhCYBxEg==",
60
+ "cpu": [
61
+ "arm64"
62
+ ],
63
+ "libc": [
64
+ "musl"
65
+ ],
66
+ "license": "MIT",
67
+ "optional": true,
68
+ "os": [
69
+ "linux"
70
+ ]
71
+ },
72
+ "node_modules/@pnpm/exe.linux-x64": {
73
+ "version": "12.3.4",
74
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.linux-x64/-/exe.linux-x64-12.3.4.tgz",
75
+ "integrity": "sha512-2ZqOlSPkfwX1h5cR+FPiWf8+F+2hZT/3TvhUK5sigHqwaQCIiq8R7CGxhndKs63JtcLi2a1Qpo+wX/EoyfjyJQ==",
76
+ "cpu": [
77
+ "x64"
78
+ ],
79
+ "libc": [
80
+ "glibc"
81
+ ],
82
+ "license": "MIT",
83
+ "optional": true,
84
+ "os": [
85
+ "linux"
86
+ ]
87
+ },
88
+ "node_modules/@pnpm/exe.linux-x64-musl": {
89
+ "version": "12.3.4",
90
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.linux-x64-musl/-/exe.linux-x64-musl-12.3.4.tgz",
91
+ "integrity": "sha512-RPmk7Jb/aYaFvL2iyDN/AtMY+hUEsue732WmXpcuQ9tBpMnGyA5py7Z3+e+qmQaJ0zY/4ni9jJiyPBQHujmv6w==",
92
+ "cpu": [
93
+ "x64"
94
+ ],
95
+ "libc": [
96
+ "musl"
97
+ ],
98
+ "license": "MIT",
99
+ "optional": true,
100
+ "os": [
101
+ "linux"
102
+ ]
103
+ },
104
+ "node_modules/@pnpm/exe.win32-arm64": {
105
+ "version": "12.3.4",
106
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.win32-arm64/-/exe.win32-arm64-12.3.4.tgz",
107
+ "integrity": "sha512-ANyrHqyqco6SXBysUTRF74itDyyraea7IbFsKFdNXTjcFnfycTDx37EwuhdpPYFNSIh2JhUG4fByclsRfiHX7w==",
108
+ "cpu": [
109
+ "arm64"
110
+ ],
111
+ "license": "MIT",
112
+ "optional": true,
113
+ "os": [
114
+ "win32"
115
+ ]
116
+ },
117
+ "node_modules/@pnpm/exe.win32-x64": {
118
+ "version": "12.3.4",
119
+ "resolved": "https://registry.npmjs.org/@pnpm/exe.win32-x64/-/exe.win32-x64-12.3.4.tgz",
120
+ "integrity": "sha512-WH/KqBPY/hq2Tb7SgQltEZytimcjgKRaCRL/aM9CI0c67iKc5TVmHUhIiL3Ux9FB4bWn36i6XewUcScQI+zG8w==",
121
+ "cpu": [
122
+ "x64"
123
+ ],
124
+ "license": "MIT",
125
+ "optional": true,
126
+ "os": [
127
+ "win32"
128
+ ]
129
+ },
130
+ "node_modules/pnpm": {
131
+ "version": "12.3.4",
132
+ "resolved": "https://registry.npmjs.org/pnpm/-/pnpm-12.3.4.tgz",
133
+ "integrity": "sha512-lhqkH7B32joEpEHZ+OFevAyW2o73ELLrZ7+e58sGEOq9SPH9hfUc/+c4RnhfoPh8VqOocqHYk/hEZ0G1zORUVw==",
134
+ "hasInstallScript": true,
135
+ "license": "MIT",
136
+ "bin": {
137
+ "pn": "pn",
138
+ "pnpm": "pnpm",
139
+ "pnpx": "pnpx",
140
+ "pnx": "pnx"
141
+ },
142
+ "engines": {
143
+ "node": ">=18.*"
144
+ },
145
+ "optionalDependencies": {
146
+ "@pnpm/exe.darwin-arm64": "12.3.4",
147
+ "@pnpm/exe.darwin-x64": "12.3.4",
148
+ "@pnpm/exe.linux-arm64": "12.3.4",
149
+ "@pnpm/exe.linux-arm64-musl": "12.3.4",
150
+ "@pnpm/exe.linux-x64": "12.3.4",
151
+ "@pnpm/exe.linux-x64-musl": "12.3.4",
152
+ "@pnpm/exe.win32-arm64": "12.3.4",
153
+ "@pnpm/exe.win32-x64": "12.3.4"
154
+ }
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "pnpmboot",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "dependencies": { "pnpm": "12.3.4" }
6
+ }
package/pom.xml ADDED
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
3
+ <modelVersion>4.0.0</modelVersion>
4
+ <groupId>io.github.wenathlan</groupId>
5
+ <artifactId>cobaia</artifactId>
6
+ <version>${revision}</version>
7
+ <packaging>jar</packaging>
8
+ <name>cobaia single distribution</name>
9
+ <description>The single cobaia maven distribution: the documentation set and the tests directory embedded as jar resources in the one io.github.wenathlan.cobaia artifact. cobaia is the monetization surface — the plans, the support rails and the honest advertisement slots.</description>
10
+ <url>https://github.com/wenathlan/devthink</url>
11
+ <licenses><license><name>GPL-3.0-only</name><url>https://www.gnu.org/licenses/gpl-3.0.html</url></license></licenses>
12
+ <scm><url>https://github.com/wenathlan/devthink</url><connection>scm:git:https://github.com/wenathlan/devthink.git</connection></scm>
13
+ <distributionManagement><repository><id>github</id><name>GitHub Packages</name><url>https://maven.pkg.github.com/wenathlan/devthink</url></repository></distributionManagement>
14
+ <properties>
15
+ <revision>2.0.159</revision>
16
+ </properties>
17
+ <build>
18
+ <resources>
19
+ <resource>
20
+ <directory>.</directory>
21
+ <includes>
22
+ <include>README.md</include>
23
+ <include>docs/**</include>
24
+ <include>tests/**</include>
25
+ </includes>
26
+ </resource>
27
+ </resources>
28
+ </build>
29
+ </project>
@@ -0,0 +1,9 @@
1
+ # Cobaia privacy policy
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ The Cobaia monetization surface does not intentionally collect telemetry or transmit data without an operator-requested integration. Plan, ad slot and support features can access data only when the operator configures and invokes them. Operators must review the configuration and the privacy policy of every connected provider.
6
+
7
+ The repository itself is hosted by third-party services such as GitHub. Those services process requests, account data, logs and cookies under their own policies. A deployment that adds analytics, account data, logs or external storage must document that behavior and provide the controls required by applicable law.
8
+
9
+ Privacy questions and reports should use the repository support channel. Security-sensitive reports must follow `SECURITY.md`.
@@ -0,0 +1,13 @@
1
+ <!-- Cobaia pull request template -->
2
+
3
+ # Description
4
+
5
+ ## Type of change
6
+
7
+ ## Verification
8
+
9
+ - [ ] The change preserves GPL-3.0-only metadata and required notices.
10
+ - [ ] Tests or a reason for not adding tests are included.
11
+ - [ ] Security-sensitive behavior and workflow changes were reviewed.
12
+ - [ ] No credentials, private data or generated build output was added.
13
+ - [ ] Public documentation was updated when behavior changed.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Sol theme anchor — layer 2 of the anchor architecture.
3
- * The file carrying the theme folder's own name (Sol/Sol.tsx, beside
4
- * Sol/sol.css) is the path manager of the pages: it imports one anchor per
3
+ * The file carrying the theme folder's own name (sol/Sol.tsx, beside
4
+ * sol/sol.css) is the path manager of the pages: it imports one anchor per
5
5
  * page folder (`folder/folder.tsx`, each beside the loose components its
6
6
  * folder keeps) and mounts every route of the theme. App.tsx consumes only
7
7
  * this file and the theme stylesheet; no page component is ever imported
@@ -3,7 +3,7 @@
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it (the roster data), mounts the
5
5
  * page and re-exports the public component surface. Only the theme anchor
6
- * (Sol/Sol.tsx) consumes this file.
6
+ * (sol/Sol.tsx) consumes this file.
7
7
  *
8
8
  * The app directory of the cobaia content site: the ten deploy units of the
9
9
  * family, each card carrying the honest one-line role and the deep link
@@ -2,7 +2,7 @@
2
2
  * blog page anchor — layer 3 of the anchor architecture.
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it, mounts the page and re-exports
5
- * the public component surface. Only the theme anchor (Sol/Sol.tsx) consumes
5
+ * the public component surface. Only the theme anchor (sol/Sol.tsx) consumes
6
6
  * this file.
7
7
  *
8
8
  * The update blog of the cobaia content site: the sorted index (the pure
@@ -2,7 +2,7 @@
2
2
  * home page anchor — layer 3 of the anchor architecture.
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it, mounts the page and re-exports
5
- * the public component surface. Only the theme anchor (Sol/Sol.tsx) consumes
5
+ * the public component surface. Only the theme anchor (sol/Sol.tsx) consumes
6
6
  * this file.
7
7
  *
8
8
  * The landing of the cobaia content site: what the devthink family is, said
@@ -13,7 +13,7 @@
13
13
  * support strip, and the one reserved ad slot at the end of the content.
14
14
  * No entry gate and no first-run flow: cobaia is a content site — the home
15
15
  * renders directly, every page is public.
16
- * Styled entirely by Sol/sol.css.
16
+ * Styled entirely by sol/sol.css.
17
17
  */
18
18
  import type { CSSProperties } from "react";
19
19
  import { Link } from "wouter";
@@ -2,7 +2,7 @@
2
2
  * intro page anchor — layer 3 of the anchor architecture. The file carrying
3
3
  * the folder's own name is the path manager of the page: it imports the
4
4
  * loose components beside it, mounts the page and re-exports the public
5
- * component surface. Only the theme anchor (Sol/Sol.tsx) consumes this file.
5
+ * component surface. Only the theme anchor (sol/Sol.tsx) consumes this file.
6
6
  *
7
7
  * The PRESENTATION page of cobaia — the family grammar's last seat (every
8
8
  * app of the family carries one): the page mounts BARE at /intro, no window
@@ -2,7 +2,7 @@
2
2
  * legal page anchor — layer 3 of the anchor architecture.
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it, mounts the page and re-exports
5
- * the public component surface. Only the theme anchor (Sol/Sol.tsx) consumes
5
+ * the public component surface. Only the theme anchor (sol/Sol.tsx) consumes
6
6
  * this file. The legal page of the cobaia content site: the privacy policy
7
7
  * and the terms, written seriously and directly. The page discloses the
8
8
  * advertising plan (labeled, reserved slots, third-party cookies only once
@@ -2,7 +2,7 @@
2
2
  * notfound page anchor — layer 3 of the anchor architecture.
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it, mounts the page and re-exports
5
- * the public component surface. Only the theme anchor (Sol/Sol.tsx) consumes
5
+ * the public component surface. Only the theme anchor (sol/Sol.tsx) consumes
6
6
  * this file. The cobaia copy answers for the family site: the address is not
7
7
  * part of the family — the way out is the home and the directory.
8
8
  */
@@ -2,7 +2,7 @@
2
2
  * pricing page anchor — layer 3 of the anchor architecture.
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it, mounts the page and re-exports
5
- * the public component surface. Only the theme anchor (Sol/Sol.tsx) consumes
5
+ * the public component surface. Only the theme anchor (sol/Sol.tsx) consumes
6
6
  * this file.
7
7
  *
8
8
  * The pricing table of the cobaia content site: three honest plans (free,
@@ -18,7 +18,7 @@
18
18
  * sticky section bar, the page surface and the worked footer answer in
19
19
  * both seats so the design is IDENTICAL at the direct url and inside the
20
20
  * os window (the window-era law) — the host window owns the chrome
21
- * there. Styled entirely by Sol/sol.css (the fullscreen law
21
+ * there. Styled entirely by sol/sol.css (the fullscreen law
22
22
  * block carries the two contracts).
23
23
  */
24
24
  import type { CSSProperties, ReactNode } from "react";
@@ -1942,3 +1942,10 @@ code {
1942
1942
  -webkit-backdrop-filter: none;
1943
1943
  }
1944
1944
  }
1945
+
1946
+ /* the zoom lock (the owner law, wave designheal): the viewport pins the
1947
+ scale and the touch lane answers pan-x pan-y only — no pinch may
1948
+ rescale the interface on any host. */
1949
+ html {
1950
+ touch-action: pan-x pan-y;
1951
+ }
@@ -2,7 +2,7 @@
2
2
  * support page anchor — layer 3 of the anchor architecture.
3
3
  * The file carrying the folder's own name is the path manager of the page:
4
4
  * it imports the loose components beside it, mounts the page and re-exports
5
- * the public component surface. Only the theme anchor (Sol/Sol.tsx) consumes
5
+ * the public component surface. Only the theme anchor (sol/Sol.tsx) consumes
6
6
  * this file.
7
7
  *
8
8
  * The support page of the cobaia content site: the two configured channels
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * index.ts — the universal winget surface of cobaia: every winget of the
3
- * Sol/wingets folder answers from this one module, so the pages import
3
+ * sol/wingets folder answers from this one module, so the pages import
4
4
  * their components from a single place and the dotted winget file name
5
5
  * lives exactly once (here) instead of repeating across every page —
6
6
  * the components stay complete independent files beside this surface.
package/support.md ADDED
@@ -0,0 +1,7 @@
1
+ # Cobaia support
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ Cobaia is open-source software under GPL-3.0-only. Questions about installation, configuration, usage and reproducible failures should include the version, target, relevant logs and a minimal reproduction without credentials or private data.
6
+
7
+ Security reports must use the private process in `SECURITY.md`. Requests involving a third-party provider should also include the provider and the operator-controlled configuration. Community support is provided on a best-effort basis and does not create a warranty, service-level agreement or maintenance obligation.
@@ -0,0 +1,9 @@
1
+ # Cobaia terms and conditions
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ These terms describe access to the Cobaia repository, documentation, releases and project services. The source code license is the GNU General Public License version 3.0 only; the repository `LICENSE` file (the saddle seat carries the family copy) controls permissions to copy, modify, run and redistribute covered works.
6
+
7
+ Users must comply with applicable law, third-party provider terms, the acceptable use policy, and the security policy. Users must not use a configured integration to access data or systems without authorization, expose credentials, distribute malware, or evade safety controls.
8
+
9
+ The repository and project services are provided without warranty to the maximum extent permitted by law. Separate provider terms apply to infrastructure, accounts, data and hosted services. These terms do not add restrictions to GPL-licensed source code.
package/termsofuse.md ADDED
@@ -0,0 +1,9 @@
1
+ # Cobaia terms of use
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ Cobaia may be used, modified and redistributed under GPL-3.0-only. Use of a connected payment or sponsorship provider remains subject to the operator's authorization and that provider's terms.
6
+
7
+ Users must protect secrets, respect privacy, avoid unauthorized access, and validate outputs before relying on them. Feedback may be used by the project under the applicable copyright permissions; submitting feedback does not transfer unrelated rights in the contributor's code.
8
+
9
+ The project is provided as-is without a warranty or service-level commitment. The GPL and applicable law control where this document conflicts with a covered source license.
@@ -59,12 +59,12 @@ describe("the sandbox lane seat (the deploy decides)", () => {
59
59
  });
60
60
 
61
61
  it("pins the named modality for the platform join to validate", () => {
62
- const pinned = lanesandbox("runner-node");
63
- assert.deepEqual(pinned, { ok: true, seat: "runner-node", sandboxed: true, pinned: true });
62
+ const pinned = lanesandbox("runnernode");
63
+ assert.deepEqual(pinned, { ok: true, seat: "runnernode", sandboxed: true, pinned: true });
64
64
  // the module never judges engine vocabulary: the platform's join
65
65
  // validates the pinned id at dispatch, the mirror only names it
66
- const unusual = lanesandbox("microvm-firecracker");
67
- assert.deepEqual(unusual, { ok: true, seat: "microvm-firecracker", sandboxed: true, pinned: true });
66
+ const unusual = lanesandbox("microvmfirecracker");
67
+ assert.deepEqual(unusual, { ok: true, seat: "microvmfirecracker", sandboxed: true, pinned: true });
68
68
  });
69
69
 
70
70
  it("reads the seat off the environment lookup the deploy pins", () => {
@@ -0,0 +1,7 @@
1
+ # Cobaia third-party notices
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ Cobaia includes or builds with third-party components. Their individual licenses remain in force and are not replaced by GPL-3.0-only. Package manifests, lockfiles and generated license inventories are the source of truth for the exact dependency set of each release.
6
+
7
+ When a component requires a notice, attribution or source offer, the release process must include it. A future dependency should be recorded with its name, version, license identifier, copyright notice and source URL.
@@ -0,0 +1,7 @@
1
+ # Cobaia trademark policy
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ The name “Cobaia”, together with associated logos and marks, identifies the project and its official releases. GPL-3.0-only grants rights to the source code; it does not grant permission to use project marks in a way that suggests endorsement, affiliation or official distribution.
6
+
7
+ Forks and modified distributions should use distinct names and branding where necessary to avoid confusion. Descriptive references to compatibility, origin or modification are permitted when they are accurate and do not imply sponsorship.
package/tsconfig.json CHANGED
@@ -17,6 +17,6 @@
17
17
  "allowImportingTsExtensions": true,
18
18
  "types": ["vite/client", "node"]
19
19
  },
20
- "include": ["*.ts", "*.tsx", "Sol/**/*.ts", "Sol/**/*.tsx"],
20
+ "include": ["*.ts", "*.tsx", "sol/**/*.ts", "sol/**/*.tsx"],
21
21
  "exclude": ["node_modules", "dist", "**/*.test.ts"]
22
22
  }
package/vite.config.ts CHANGED
@@ -1,4 +1,4 @@
1
- /** Style: cobaia sol — the vite config lives at the app root while the theme stays in Sol/: static build emitting the hashed bundles directly into the app root folder (publish = "."), with a repository-scoped base path so the theme answers any deploy root (pages subpath, vercel, netlify, workers). The Tailwind 4 vite plugin compiles the theme stylesheet's `@import "tailwindcss"` head (the @theme source of truth + the light/hcf custom variants). */
1
+ /** Style: cobaia sol — the vite config lives at the app root while the theme stays in sol/: static build emitting the hashed bundles directly into the app root folder (publish = "."), with a repository-scoped base path so the theme answers any deploy root (pages subpath, vercel, netlify, workers). The Tailwind 4 vite plugin compiles the theme stylesheet's `@import "tailwindcss"` head (the @theme source of truth + the light/hcf custom variants). */
2
2
 
3
3
  import path from "node:path";
4
4
  import tailwindcss from "@tailwindcss/vite";
@@ -23,7 +23,7 @@ export default defineConfig({
23
23
  * the mechanism is never duplicated inside cobaia. the entry retires
24
24
  * when the published envelope carries the built label store. */
25
25
  "@wenathlan/vault/labelstore": path.resolve(import.meta.dirname, "../vault/labelstore.ts"),
26
- "@": path.resolve(import.meta.dirname, "Sol"),
26
+ "@": path.resolve(import.meta.dirname, "sol"),
27
27
  },
28
28
  },
29
29
  root: import.meta.dirname,
@@ -32,7 +32,7 @@ export default defineConfig({
32
32
  emptyOutDir: false,
33
33
  assetsDir: "",
34
34
  },
35
- /** the theme (Sol/) and the root logics (checkoutlinks, posts, adsconfig) share one app root, so the dev server allows the app root. */
35
+ /** the theme (sol/) and the root logics (checkoutlinks, posts, adsconfig) share one app root, so the dev server allows the app root. */
36
36
  server: {
37
37
  fs: {
38
38
  allow: [import.meta.dirname, path.resolve(import.meta.dirname, "../vault")],
package/vitest.config.ts CHANGED
@@ -14,12 +14,12 @@ export default defineConfig({
14
14
 
15
15
  /** the storage lane bridge of the ownership law: the app's sqlite
16
16
  * mechanism rides the vault factory through the published library
17
- * specifier ("@wenathlan/vault/storagelane"), and this bridge resolves
17
+ * specifier ("@wenathlan/vault/storage"), and this bridge resolves
18
18
  * the specifier to the monorepo source the sibling engine carries —
19
19
  * the bootstrap and the helpers are never duplicated inside cobaia.
20
20
  * the entry retires when the published envelope carries the built
21
21
  * storage lane. */
22
- "@wenathlan/vault/storagelane": path.resolve(import.meta.dirname, "../vault/storagelane.ts"),
22
+ "@wenathlan/vault/storage": path.resolve(import.meta.dirname, "../vault/storage.ts"),
23
23
 
24
24
  /** the workload law bridge of the family: the app battery pins the
25
25
  * lane mirror against the engine catalog through the published
package/docs/.gitkeep DELETED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes