Skip to content

Latest commit

 

History

History
119 lines (90 loc) · 9.26 KB

File metadata and controls

119 lines (90 loc) · 9.26 KB

Specification Set — Master Index

Status as of 2026-09-27. Every design spec in this folder, and what is actually built against it, because a spec set with no conformance record is a wish list.

Constitution: ../constitution.md — seven articles, binding. Format for new specs: TEMPLATE.md. Keeping specs and code honest with each other: DRIFT.md.

How conformance is checked

Phase-level, by artifact presence and inspection — for each spec's build order, does the code it calls for exist and do its tests pass. A phase marked built means its artifacts exist and are tested, not that every clause of the prose is satisfied; where the build diverged, the spec carries a dated as-built amendment saying how and why.

Two mechanisms keep this current: npm run spec:coverage (mechanical — every route, capability tool, script and env var must appear somewhere in docs/) and /drift (semantic — an agent reads specs against code). See DRIFT.md.

The audit behind this table was re-verified on 2026-09-27 against main at 875c796.


Status

Implemented

Spec Notes
v5 Test Suite Four offline layers; runbook in TESTING.md
Student Projects Gallery Storage moved from Notion to Postgres (data platform phase 3); moderation at /admin/projects
Agent Eval Harness npm run eval; real, paid, never in CI
QR Codes on Machines npm run qr:labels; amendment 2026-09-29 "QR labels in the app": print sheets at /admin/inventory/qr, a QR dialog on each tool page, get_tool_qr_code, /api/qr/[slug]
Report a Correction Corrections land in feedback, worked at /admin/corrections
Bulk Intake Import a list on /admin/intake; allowances on People
Gateway-First Models and a Product Image Finder Gateway is the only model path; deterministic cutout, no generative redraw
MCP Access Phases 0–4: public reads, personal tokens, OAuth sign-in; user guide docs/mcp.md
Refresh Research Phases 1–4 built. Not yet run over the real inventory
Official and Display Names tools.official_name; backfill with npm run names:backfill
Manual Text and Search Phases 1–3: page text, passages, embeddings, search_manual; OCR for scanned PDFs, reranking, halfvec storage. Re-index with npm run manuals:index
Assistant–GUI Parity Phases 1–8: src/lib/actions/ and performAction, proposing tools and the confirmation card, page context, taint, MCP proposals and the /admin/proposals inbox. What the assistant can do, for users: assistant.md
Taxonomy v2 — nine top-level categories, research-proposed categories, /admin/taxonomy Implemented (#108; migration 0023, npm run taxonomy:migrate / taxonomy:audit)
MakerLAB Identity MakerLAB / MakerLAB Tools / MakerLAB Assistant naming, the wordmark header, the assistant's first-visit callout and operate/debug/create starters, the "Where you are" prompt block (src/lib/ai/lab-context.ts), the About page
Operational Hardening Health endpoint, demo banner, nightly backup with tiered retention, staff refresh, backup heartbeat. Phase 2 (uptime monitor) is account setup in operations.md; phase 6 (Notion webhook) superseded

Mostly implemented — open work named

Spec Built Open
v5 Data Platform — Postgres, Blob, roles, admin inventory, two-step intake, Notion mirror Phases 1–6 and 8 Phase 7 (people load and validate the real inventory — not code) pending. Phase 9 (translation pass) deferred until after launch
UI System — shadcn/ui, Tufte density, admin IA, AI Elements chat Phases 1–5 Phase 6 (delete legacy CSS): the repo flatten it waited for is done; needs a screenshot sweep, after the demo
Sign-in and Tiered Rate Limiting Google sign-in, tiered rate limits as specced The env-list role model is superseded by Better Auth and the user table (data platform phase 4)
Intake Confidence Confidence grading and parallel identification, now inside the research pipeline The chat-side card behaviour is obsolete — propose_listing was removed with the two-step intake (data platform phase 6)
Usage Insight — anonymous usage events in Postgres and an /admin/insights page: most- and never-asked-about tools, QR scans, busy times, an Unanswered queue Phases 1–2 (#107, migration 0022) with the Unanswered queue's two decisions (amendment 2026-09-28); the value report on /admin/insights/value (#109); usage counts over MCP for super admins, insights.export (amendment 2026-09-30) Phases 3–4

Draft — not started

Spec Notes
Kiosk Mode — public read-only lab screen at /kiosk: down machines, ticket counts, hours, featured tool, QR to chat Phase 1 built (#94, /kiosk); phases 2–3 awaiting review; phase 2 adds editable hours and pins
Recurring Maintenance — per-tool or per-unit schedules; the nightly cron opens a preventive ticket when one falls due Awaiting review. 4 phases; phase 4 suggests schedules from manuals. Open questions §13 Q1–Q4 gate phase 1
Notifications — email on ticket, correction and project changes; a daily staff digest; Web Push later Awaiting review. Sending domain and Cornell approval of the provider block phase 1

All six 2026-09-27 feature specs build on the Assistant–GUI Parity action layer; each writes its migration as 00NN and takes the next free number when it lands.

Ideas — not decided

The owner has considered these but has not decided to build them. Do not implement against them.

Spec Notes
Training Sign-offs — who is trained on which tool, workshops, refreshers; advisory only, no lockout Undecided. First questions: does the lab want it, and are training records student records?
Consumables — stock of filament, resin, sheets and blades by location; student "out / running low" reports; a restock list Undecided. Recommended start is reports and a restock list only, without counts

Superseded — kept for history, do not implement against

Spec Superseded by
Chat Inventory Intake v5 Data Platform phase 6 — the two-step intake (identify_tools, background research, approval)
AI Gateway Migration Gateway-First Models and a Product Image Finder
Gallery Projects (2026-05-29) Student Projects Gallery — an older duplicate

What is left to build

Everything open, in one place:

  1. Monitoring setup — the uptime and heartbeat monitors and the AI Gateway budget, all account setup a person does (operations.md).
  2. Manual search — first OCR run over the scanned manuals (npm run manuals:index).
  3. UI system phase 6 — legacy CSS removal (the repo flatten it waited for is done).
  4. Data platform phase 7 — not code: Isaac and Luis load and validate the real inventory in person, and file what breaks.
  5. Data platform phase 9 — the translation pass, after launch.
  6. Refresh research — its first run over the real inventory (built; not yet used).

Open questions for a person

These gate work and none of them are code:

  1. Owners of the Vercel project, the Gateway budget, the Google OAuth client and the bill — docs/handover.md §2.
  2. Student data — names and emails in tickets, corrections, projects, the nightly backup and any Notion mirror: acceptable to the university?
  3. Photo consent for student work in the public gallery.
  4. ISAM rate limit — conference wifi puts every visitor behind one IP; RATE_LIMIT_ANON_CHAT exists for this. Hard deadline.

History

The earlier revisions of this index (2026-07-30 conformance audit of the first eight specs, the 2026-07-30 drift check, the 2026-09-14 pre-ISAM fixes, and the constitution audit of that batch) are in git history (git log -p -- docs/specs/README.md). Their findings were closed or folded into the specs' own amendments.