@panaversity/ksor 0.0.26 → 0.0.27
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.
- package/CHANGELOG.md +21 -0
- package/package.json +3 -3
- package/templates/scaffold/Dockerfile +10 -6
- package/templates/scaffold/dockerignore +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @panaversity/ksor
|
|
2
2
|
|
|
3
|
+
## 0.0.27
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6bc9d8f: The emitted `Dockerfile` names the files it copies instead of `COPY . ./`.
|
|
8
|
+
|
|
9
|
+
**A `.dockerignore` is not honoured by every build host.** Vercel's container
|
|
10
|
+
builder ignores it, so `COPY . ./` swept in `node_modules` and the built site —
|
|
11
|
+
about a gigabyte — and the deploy failed with the registry rejecting the push as
|
|
12
|
+
`PAYLOAD_TOO_LARGE`. The error arrives from the host and says nothing about the
|
|
13
|
+
file that caused it.
|
|
14
|
+
|
|
15
|
+
Naming what enters the image is the only form portable across build hosts. The
|
|
16
|
+
`.dockerignore` stays as defence in depth for builders that do respect it, but it
|
|
17
|
+
is no longer what bounds the image.
|
|
18
|
+
|
|
19
|
+
The risk of naming files is forgetting one — which is exactly how the registration
|
|
20
|
+
file came to be missing from the image two releases ago. That is covered: the
|
|
21
|
+
container acceptance job boots the built image and asserts it serves the tools the
|
|
22
|
+
registration names, so a forgotten file fails there rather than at a deploy.
|
|
23
|
+
|
|
3
24
|
## 0.0.26
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panaversity/ksor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"description": "Knowledge System of Record — compile governed markdown into a static site for people and an MCP server for AI agents, with citations and measured abstention.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"abstention",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"tsdown": "0.22.14",
|
|
72
72
|
"typescript": "7.0.2",
|
|
73
73
|
"vitest": "^4.1.10",
|
|
74
|
-
"@panaversity/ksor-content": "0.0.0",
|
|
75
|
-
"@panaversity/ksor-content
|
|
74
|
+
"@panaversity/ksor-content-gateway": "0.0.0",
|
|
75
|
+
"@panaversity/ksor-content": "0.0.0"
|
|
76
76
|
},
|
|
77
77
|
"engines": {
|
|
78
78
|
"node": ">=24"
|
|
@@ -22,12 +22,16 @@ WORKDIR /app
|
|
|
22
22
|
COPY package.json ./
|
|
23
23
|
RUN npm install --omit=dev --no-audit --no-fund
|
|
24
24
|
|
|
25
|
-
# The record's identity
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
|
|
25
|
+
# The record's identity and configuration, and this door's own MCP registration.
|
|
26
|
+
#
|
|
27
|
+
# NAMED, not `COPY . ./`. A .dockerignore is not honoured by every builder —
|
|
28
|
+
# Vercel's is not, and `COPY . ./` there swept in node_modules and the built
|
|
29
|
+
# site, producing a registry push rejected as PAYLOAD_TOO_LARGE (found live).
|
|
30
|
+
# Naming what enters the image is the only form that is portable across build
|
|
31
|
+
# hosts. The risk of naming things is forgetting one; that is covered by a test
|
|
32
|
+
# which boots the built image and asserts it serves the tools this file names.
|
|
33
|
+
COPY instance.md ./
|
|
34
|
+
COPY system/gateways/ ./system/gateways/
|
|
31
35
|
|
|
32
36
|
# Most container hosts inject PORT; 80 is a sane default when nothing does.
|
|
33
37
|
ENV PORT=80
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# DENY EVERYTHING, then allow exactly what the door needs.
|
|
2
2
|
#
|
|
3
|
+
# Defence in depth, NOT the bound. The Dockerfile names the files it copies,
|
|
4
|
+
# because a .dockerignore is not honoured by every build host — Vercel's is
|
|
5
|
+
# not. This file protects local `docker build` and every builder that does
|
|
6
|
+
# respect it; the Dockerfile protects the rest.
|
|
7
|
+
#
|
|
3
8
|
# The inverse — listing what to exclude — cannot bound the image, because it can
|
|
4
9
|
# only exclude what someone thought of. A build output, a cache, a backup
|
|
5
10
|
# directory or a vendored dependency in the project root all end up inside, and
|