update gh actions, move kb dir

This commit is contained in:
Will Freeman
2026-07-19 15:09:56 -06:00
parent ad01b5a64d
commit 7a8cc9c550
12 changed files with 6 additions and 13 deletions
+2 -8
View File
@@ -13,13 +13,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- run: bun install
working-directory: ./api
- name: Configure SSH
run: |
mkdir -p ~/.ssh
@@ -33,8 +26,9 @@ jobs:
--exclude node_modules \
./api/ ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }}:/home/nullplate/deflock/api
- name: Restart services
- name: Install dependencies and restart service
run: |
ssh ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }} "
cd /home/nullplate/deflock/api && bun install --frozen-lockfile &&
sudo systemctl restart deflock-api
"
+2 -3
View File
@@ -17,9 +17,8 @@ repo or behind an API here — it doesn't.
- `webapp/` — Vue 3 + Vuetify + MapLibre GL frontend (the public site at deflock.org).
- `api/` — Fastify/Bun backend for everything that *isn't* OSM map data: geocoding, GitHub
sponsors, and the contact form (including AI-assisted triage into Zammad). See
`api/CLAUDE.md`.
- `kb/` — knowledge base markdown consumed by the AI contact-screening classifier in `api/`.
See `kb/CLAUDE.md`.
`api/CLAUDE.md`. Includes `api/kb/` — knowledge base markdown consumed by the AI
contact-screening classifier. See `api/kb/CLAUDE.md`.
- `cms/` — Directus CMS (content management for site content, e.g. blog).
- `serverless/`, `terraform/` — AWS Lambda batch jobs (scheduled, not request-driven) for
ALPR stats/counts and caching, provisioned via Terraform.
+1 -1
View File
@@ -15,7 +15,7 @@ Handles everything for DeFlock that isn't OpenStreetMap map data: geocoding prox
`openai` package). See `ZammadClient`, `NominatimClient`, `GithubClient`, `TurnstileClient`.
- Config/data that isn't a secret is checked into git and read at startup, not hardcoded and
not fetched at runtime — e.g. `data/zipcodes-us.json`, `prompts/contact-screening.md`, and
`../kb/*.md`. Editing these requires a server restart to take effect (loaded once at module
`kb/*.md`. Editing these requires a server restart to take effect (loaded once at module
init).
- OpenTelemetry (`telemetry.ts`) exports logs/metrics to Grafana Cloud via a local otelcol
sidecar. Errors are bucketed by a substring-matching `classifyErrorMessage()` in `server.ts`
View File
+1 -1
View File
@@ -1,7 +1,7 @@
import { existsSync, readdirSync, readFileSync } from 'fs';
import { join } from 'path';
const KB_DIR = join(__dirname, '../../kb');
const KB_DIR = join(__dirname, '../kb');
export interface KbDocument {
filename: string;