Specs #
Each file here describes one feature of SCN Chat: what it does, why it exists, how it is built, what it deliberately leaves out, and how to tell it works. A spec is written and agreed on before the feature is built, and kept current as the feature changes.
Specs are the source of truth for behavior. When code and spec disagree, one of them is wrong, and the fix is to bring them back in line rather than let them drift. A spec should be detailed enough that someone, or an LLM, could rebuild the feature from it plus the project's CLAUDE.md.
These files are all AI generated and maintained.
The overview at the end of this file lists every spec and whether it is active, planned, or done.
Sections #
- Summary: what the feature does, for someone meeting it for the first time.
- Motivation: the problem it solves, with enough context to make good judgment calls.
- Design: the technical approach, data shapes, and where the code lives.
- Scope Boundaries: what the feature does not do.
- Edge Cases and Decisions: a running log of non-obvious choices.
- Acceptance Criteria: checks that each become at least one test.
- Files: the code that implements the feature, used to spot specs that have fallen behind the code.
Overview of Feature Specs #
Active #
-
[[site-config]]: the whole admin configuration exported and applied as one JSON document, through a CLI on the server, for deployment tools like Ansible.
-
[[extending]]: the web app made easy to change in a fork, with tables of part and tool views, tool status and steps, message actions as a list with Copy, a Markdown seam with code block copy, smaller components, and a guide in
docs/extending.md. Phase 3 of the web rebuild, partly built. -
[[installable-app]]: the web app installable as an app, with a manifest named from the admin area, icons drawn from the logo, and a service worker that keeps only the build and shows an offline page.
Planned #
- [[encrypted-conversations]]
Completed #
Phase 1, initial build-out, implemented and tested against real spaces PDSs:
- [[foundation]]
- [[plugins]]
- [[auth]]
- [[chat-storage]]
- [[providers]]
- [[chat-turns]]
- [[attachments]]
- [[titles]]
- [[sharing]]
- [[browser-store]]
After the initial build-out:
- [[search]]
- [[web-search]]
- [[admin]]
- [[admin-plugins]]
- [[admin-settings]]
- [[api-keys]]
- [[cron]]
- [[scn-member-registry]]
- [[tool-views]]: tool calls shown as what they did, through a table of tool views with one derived status, starting with web search and web fetch. Split out of [[extending]].
Phase 1 of the web rebuild:
- [[web-ui]]: rebuilding the web app on TanStack Start inside Hono, at parity with its acceptance criteria.
Phase 2 of the web rebuild:
- [[styling]]: Tailwind over a theme of design tokens, a light and dark picker, code highlighting, and the design from the
design-referencebranch with its behavior, ported onto main.