Dashboard

Who has reported today, and what they said.

Team status
Team feed

Activity

Team updates as they are submitted.

Session Prompts

Three prompts for the five terminals. The first two go into whichever terminal you are working in; the third is run from here and checks all five. They talk to each other through HANDOVER.md in the OS root — one database serves every surface, so a change in one is a change in all.

Start of session

Reads the context file, checks what is actually live rather than what is in the repo, and picks up anything the other terminals left for this surface.

Every terminal · first message

Read before you touch anything.

1. Which surface is this, and what is live RIGHT NOW?
   - git log --oneline -15, and git status. Uncommitted work is somebody's
     unfinished thought; find out whose before you build on it.
   - The repo is NOT the live state. Check what the browser actually loads.
     HTTP 200 proves nothing here: nginx try_files falls back to index.html,
     so a missing file returns 200 with HTML in it. Check Content-Type and
     the first bytes.

2. Read this surface's own context file end to end if it has one:
     cableos    -> cableos-context.md
     suppliers  -> suppliers-context.md
     website / one / os -> none yet. Say so; do not invent one mid-session.
   CLAUDE.md and MEMORY.md are already in your context. The context file is
   where every settled decision lives, and it is longer than you think.

3. Read the top of /opt/asgt/os/HANDOVER.md. Five terminals share one
   database; that file is how the other four tell you what they changed
   underneath you. Anything addressed to this surface, act on before you
   start.

4. Check the live edges before you assume anything:
   - cableos: js/*.mjs are fetched over HTTP by the Edge Function with a
     5-minute TTL. EDITING ONE IS A PRODUCTION CHANGE WITH NO DEPLOY.
   - One Supabase project serves all five surfaces. public and one are
     different schemas with different tables of the same name.
   - Anything behind auth you cannot test. Say so rather than implying you did.

5. Then tell me, in five lines or fewer:
   - what the last session did, and anything in HANDOVER.md for this surface
   - what is live versus what is in the repo
   - anything uncommitted or half-finished
   - the open questions this surface is waiting on me for
   - what you propose to do first

Do not start work until you have told me that.

End of session

Writes down what was learned, corrects whatever went stale, and hands over anything that reaches past this surface.

Every terminal · last message

Before you stop, write down what you learned. In this order.

1. What did you learn that someone could NOT get by reading the code?
   A fix visible in the diff is not a memory note. A PATTERN across three
   fixes is. So is a correction I gave you, and why I gave it.
   Write it to this project's memory directory with frontmatter
   (name, description, metadata.type = user|feedback|project|reference),
   link related notes with [[wiki-links]], add ONE line to MEMORY.md.
   Update an existing note rather than creating a near-duplicate.

2. Did anything you did today make a document WRONG? Fix it in the same pass.
   A stale map is worse than no map, because four other terminals trust it.
   Check especially: counts you changed, a condition a comment depends on,
   and anything in the surface's context file your work now contradicts.
   If a section states a rule as universal and you just made an exception,
   amend the section - do not leave the next session to find out by building
   the wrong thing.

3. Did you learn a rule that cost something? Add it to the context file as a
   SHAPE, not as an incident - and include WHAT WOULD MAKE IT WRONG. A rule
   with no stated failure condition gets applied where it does not belong.

4. Did your work reach past this surface? A shared table, a SECURITY DEFINER
   gate, an Edge Function, /opt/asgt/ui, or a fact another surface relies on.
   If so, append four lines to /opt/asgt/os/HANDOVER.md in the format at the
   top of it. Nothing local — a handover full of local detail is one nobody
   reads.

5. Before writing any of it, VERIFY. Do not record a number you did not
   measure this session. Do not write a note the repo already states.

Then tell me in a few lines: what you saved, what you corrected, and what you
did NOT verify. Nothing else.

Bookkeeping

Checks all five terminals’ knowledge against the database and the code, merges duplicates, and clears the handover. Deletes nothing without asking.

OS terminal · when knowledge feels stale

You are the bookkeeper for all five terminals. Do not build features today.

The five: website (/opt/asgt/website), one (/opt/asgt/one), os (/opt/asgt/os),
cableos (/opt/asgt/cableos), suppliers (/opt/asgt/suppliers). Memory lives in
/root/.claude/projects/-opt-asgt-<name>/memory/.

MEASURE FIRST, WRITE SECOND. Every claim below is checked against the database,
the code or the live page before you change a word. A tidy file full of
confident wrong statements is worse than the mess.

1. FIND THE LIES. For every memory note and every context file, take the
   statements that are checkable - counts, "nothing does X yet", "every row
   is Y", file paths, table names - and check them. Anything the system has
   outgrown gets struck through with the measured truth and the date, not
   deleted. A claim that INVERTED matters most: it will be trusted hardest.

2. FIND THE DUPLICATES. Two notes saying the same thing means the second was
   written by a session that did not read the first. Merge into the older
   name and leave the link.

3. FIND THE GAPS. website, one and os have no context file. Settled decisions
   for those surfaces are living in memory notes or nowhere. Say which, and
   propose the smallest file that would hold them.

4. READ HANDOVER.md END TO END. Anything acted on by every surface it names
   can be struck through; anything still outstanding, name the surface that
   owes it. This file is the only place the five terminals speak to each
   other, so a stale entry is a message nobody will deliver twice.

5. KEEP MEMORY.md HONEST. One line per note, no content in the index, and
   every note it names must exist.

6. TRIM WHAT IS COSTING CONTEXT. A note that is only true of one afternoon,
   or that the repo already states plainly, is charging every future session
   for nothing. Name them; delete none without telling me.

Then report: what was wrong, what you merged, what is missing, and what you
propose to delete. Do not delete anything until I answer.

The five terminals

TerminalRootServesContext fileMemory notes
website/opt/asgt/websiteasgt.sa—5
one/opt/asgt/oneone.asgt.sa—4
os/opt/asgt/osos.asgt.sa—21
cableos/opt/asgt/cableoscableos.asgt.sacableos-context.md21
suppliers/opt/asgt/supplierssupplier portalsuppliers-context.md5

website, one and os have no context file yet — their settled decisions live in memory notes or nowhere. The bookkeeping prompt reports on that.