Café Fausse knowledge map

Not the restaurant. MVP = official SRS freeze.

Glossary

In plain English: This page explains the short labels used on this map and lists the sources those words point at. It is not a second product and not a florist glossary.

This site is a map of the Café Fausse student project. It is not the restaurant. You cannot book a table here.

How to read a status word

flowchart TD
  Claim["Someone writes a status word"]
  Q{"Checked this
session?"} Result["Write the
measured result"] Unknown["Write Unknown"] Claim --> Q Q -->|Yes| Result Q -->|No| Unknown

Yes means a command, an HTTP GET, a CI log, or a committed file — this session. A previous session is not a check. Closing a pull request is not a check. Publishing a hostname is not a check.

Everyday terms

TermIn plain English
Companion layerThis map: plain English + diagrams that cite official FR-1..FR-18 / NFR-1..NFR-9 IDs. Not a second spec. If this page and the SRS freeze disagree, the official PDF / docs/srs.md wins (SoT). Do not invent FR-19 or NFR-10.
This knowledge mapThe GitHub Pages site you are on (knowledge.cafe.artof.link). Explains the project. Does not take reservations.
The restaurant / AppThe Café Fausse website (cafe.artof.link). React + JSX, Flask, PostgreSQL. Weekend staging is not forever production.
MVPThe first restaurant cut: only the official assignment list (SRS freeze, FR-1..FR-18, NFR-1..NFR-9). Extra ideas go to Future.
FreezeDo not invent or rename requirement IDs. The official PDF is the source of truth; docs/srs.md is the working copy.
freeze.jsonOfficial restaurant copy (menu, hours, awards, reviews, site text) in shared/freeze.json. Not the ID freeze. Not a Postgres menu. Why / how / scope below.
FR / NFRFunctional / non-functional requirement IDs from the official SRS. Do not invent FR-19 or NFR-10.
ProbeA check this session: a command, an HTTP GET, a CI log, or a committed file that exists now.
UnknownHonest status when no probe has been run this session. Prefer this over a guessed yes.
LiveChecked on a public host this session. This map can be live while the restaurant is only weekend staging.
Staging (#57)Weekend Lightsail share of cafe.artof.link. Prefer it for recording. Not a permanent hosting claim.
Permanent hosting (#22)Always-on restaurant hosting. Still Future. Staging does not close it.
Fail closedMissing database, a full 30-table slot (FR-9), a timeout, or a missing freeze file → honest no, not a guessed yes.
Quantic hubQuantic / MSAIE lists course delivery pages. Those pages stay complete. They are not dumped into the top nav.

Project terms

freeze.json

In plain English: Official restaurant copy lives in one file so the frontend and the API do not tell two stories. This is not a database-hosted menu.

Purpose: one official source of truth for restaurant copy the SRS cares about — menu, hours, awards, reviews, site text — so FE and API do not drift into two stories.

How: shared/freeze.json. React pages (Home / Menu / Gallery / About) import that file at build. They do not call GET /api/menu for those surfaces. Flask still serves the same official copy via GET /api/menu and GET /api/site. CI freeze lock (test_freeze.py) fail-closes if the file is missing or drifts from the official SRS.

Scope: display and content only. Not bookings. Not customers. Not gallery binaries — those are GET /images/…, not an API of pictures. The menu is not in Postgres.

Why not DB: graded / official copy stays immutable in the freeze. Mutable data (reservations, newsletter signups) stays in Postgres.

The Freeze row above is the ID freeze (do not invent FR-19). freeze.json is the copy file that holds that official text. Do not “improve” prices, address, hours, owners, awards, or reviews in the MVP.

Sources and links

These are the sources this repo actually uses. Do not invent a second official SRS.

SourceWhat it isOpen
Official SRS PDFAssignment source of truth (7 pages). Local copy docs/official/MSEE_Web_Application_and_Interface_Design_Cafe_Fausse_SRS.pdf.Provenance
Working freezeID freeze of that PDF. Cite FR-1..FR-18 / NFR-1..NFR-9 from here.SRS freeze, full copy srs-full
Menu / site freeze dataPrices, hours, owners — do not “improve” in the MVP. Official copy, not a DB menu.shared/freeze.json — why / how / scope in the freeze.json section
Official image packFour webps only. Extras are student-recovered, not Quantic-official.docs/official/ zip + Stack notes
This GitHub repoIssues, PRs, Actions. GitHub only.artofdream/aea-interactive-design
Knowledge hostThis map. GitHub Actions → GitHub Pages.https://knowledge.cafe.artof.link/
Restaurant hostWeekend Lightsail staging (#57), not forever.https://cafe.artof.link/
HealthApp liveness JSON.https://cafe.artof.link/api/health
OperatorRead-only recording helper. Not FR-19.https://cafe.artof.link/operator
CoverageEach freeze ID: where in-repo, evidence class.Coverage
HonestyProbe rules; live vs local vs Future.Honesty
StackHLD as-is / to-be; GitHub-only CI.Stack
Quantic hubCourse delivery index. Sister pages stay complete.Quantic / MSAIE
FuturePermanent hosting #22; FS extras #34–#38.Future
Daily briefLive handoff. Date must match DATE_RE. Europe/Berlin.research/daily-briefs/YYYY-MM-DD.md
Session SOPTeams, ID freeze, fail closed, PR loop.AGENTS.md
SlackTeammate / owner feedback. Claude opens GitHub issues.Slack workspace (no public URL claimed here)

This-session GETs (2026-09-06): Knowledge / 200; /glossary.html 200; restaurant / 200; /api/health 200 {"ok":true}; /operator 200. The new freeze.json section is on this branch until Pages deploys.

What this glossary is not

Not Lily’s Florist, Path B, 14 hats, 3DX Lab, or another project’s product dictionary. Keep terms local to Café Fausse and this GitHub harness.

If #89 also ships a thin glossary, this page is the follow-up that adds the sources index (#101). Rebase rather than duplicate after #89 lands.

An older stub still exists at Future / glossary so old links do not vanish. This page is the one in the top nav.