cleanup - removing ai agent for deterministic code and better formatting

This commit is contained in:
C-West8
2026-07-22 15:27:51 -05:00
parent 5c9f30b1cf
commit 4e6ed044a9
13 changed files with 396 additions and 527 deletions

View File

@@ -2,7 +2,7 @@
A shared, multi-user web app with two meeting tools:
- **Field Problem Workshop** — capture field problems, cluster them into root problems, dot-vote, build "breadcrumb" trails from problem to measurable outcome, and assign actions. Includes an optional AI draft feature.
- **Field Problem Workshop** — capture field problems, cluster them into root problems, dot-vote, build "breadcrumb" trails from problem to measurable outcome, and assign actions. A "Suggest fields" button fills each breadcrumb from built-in construction-execution methodology (no external service).
- **Scope Lock Meeting Suite** — Scope Boundary Board, MVP Priority Ranker, Decision Registry, and Micron Pilot Readiness.
Everyone who opens the same link works from the **same data**, stored on a shared server. Edits autosave, and a version check stops two people from silently overwriting each other. The original single-file HTML versions are kept in [`legacy/`](./legacy) for reference.
@@ -32,14 +32,14 @@ docker compose logs -f app # watch app logs
Data persists in a Docker volume (`db_data`), so it survives restarts.
To enable the **AI draft** feature, provide an Anthropic API key before starting — either export `ANTHROPIC_API_KEY` in your shell or put it in a `.env` file next to `docker-compose.yml`. Without a key the AI button simply fails politely; everything else works.
There are no API keys or external accounts to set up. The "Suggest fields" button runs entirely in-app from a built-in methodology table.
## Local development (without Docker)
Needs Node 20+ and a PostgreSQL you can reach.
```bash
cp .env.example .env # edit DATABASE_URL (and ANTHROPIC_API_KEY if wanted)
cp .env.example .env # edit DATABASE_URL
npm install
psql "$DATABASE_URL" -f db/init.sql # create the schema once
npm run dev # http://localhost:5173
@@ -54,8 +54,6 @@ All config is via environment variables — see [`.env.example`](./.env.example)
| Variable | Purpose |
|---|---|
| `DATABASE_URL` | Postgres connection string. Set automatically by docker-compose. |
| `ANTHROPIC_API_KEY` | Enables the "AI draft" button. Blank = feature disabled. |
| `ANTHROPIC_MODEL` | Model for AI drafting (default `claude-sonnet-5`). |
| `PORT` | Server port (default 3000). |
| `ORIGIN` | Public URL the app is served from; used to validate POST origins. |
@@ -67,6 +65,7 @@ src/
app.html page shell
lib/
types.ts data shapes for both tools
breadcrumbs.ts methodology table + keyword classifier ("Suggest fields")
workspace.svelte.ts client sync: load / autosave / poll / conflict handling
toast.svelte.ts shared toast controller
components/ Toast.svelte, SyncBadge.svelte
@@ -74,7 +73,6 @@ src/
server/
db/index.ts Postgres connection pool (lazy)
db/workspaces.ts load / save / reset with optimistic concurrency
ai.ts Anthropic proxy (holds the API key server-side)
routes/
+layout.svelte imports global CSS
+page.svelte home / tool picker
@@ -83,7 +81,6 @@ src/
api/
workspaces/[tool]/[name]/+server.ts GET (load) + PUT (save)
workspaces/[tool]/[name]/reset/+server.ts POST (reset to baseline)
ai/draft/+server.ts POST (AI breadcrumb draft)
db/init.sql database schema (runs once on first DB startup)
static/favicon.svg
Dockerfile, docker-compose.yml
@@ -108,7 +105,7 @@ It requires, on your Gitea instance: Actions enabled with a registered `act_runn
## The `.skill` file
`legacy/construction-breadcrumbs.skill` is a **Claude skill** (a zip of instructions + a methodology knowledge base). It is not part of the website — it teaches Claude how to draft breadcrumb fields using construction methodology (EVM, CII AWP, Last Planner, first-time quality). The same knowledge is embedded server-side in `src/lib/server/ai.ts`, which powers the app's AI draft button. Install the skill in Claude (via "Save skill") to use the methodology in any chat.
`legacy/construction-breadcrumbs.skill` is a **Claude skill** (a zip of instructions + a methodology knowledge base). It is not part of the website — it teaches Claude how to draft breadcrumb fields using construction methodology (EVM, CII AWP, Last Planner, first-time quality). The same methodology is encoded, deterministically and offline, in [`src/lib/breadcrumbs.ts`](./src/lib/breadcrumbs.ts), which powers the app's "Suggest fields" button. Install the skill in Claude (via "Save skill") to use the methodology in any chat.
## Possible next steps