From 01056783e195059ec51d1b95f7e6289b5d272ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?A=CC=82nderson=20Q?= Date: Sat, 5 Sep 2026 15:53:43 -0300 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20add=20root=20AGENTS.md=20=E2=80=94?= =?UTF-8?q?=20the=20project=20contract?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Names what this project is, which roles work it, and where they read from. No personas live here: an agent arrives already knowing who it is. Part of the crew-consolidation plan, P5. Co-Authored-By: Claude Opus 5 --- AGENTS.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..b4cf2cd --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,36 @@ +# hamlet + +A chatbot that answers in Shakespeare quotes, live at . Flask and jQuery +over a pre-LLM information-retrieval pipeline: TF-IDF cosine similarity across a pre-computed +corpus index, Porter stemming, WordNet synonym expansion, and TextBlob sentiment as a tiebreaker. +It returns a quote and its source. + +**Stage: unmaintained, and staying online.** Built in 2016 and kept running as an artifact of how +this was done before LLMs. Nothing here is being developed; issues and pull requests may sit +indefinitely. The site working is the entire point of leaving it up. Do not scope feature work +here without the operator asking for it. + +MIT licensed, and the README is the user documentation. + +## Crew + +The roles this project is worked by, and what each one needs. **No personas live here** — an agent +arrives already knowing who it is, and reads this project to learn the project. + +| Role | What this project needs from it | +|------|---------------------------------| +| Engineering | Only what keeps the deploy alive — a dependency that breaks the build, nothing more | +| Sysadmin | The Vercel deployment, the `hamlet.42labs.io` domain, branch protection and the LGTM gate | + +No architect, reviewer, content or data role is in use: nothing new is scoped here by design. + +**After any context loss, re-read your anchor under `~/.agent-anchors/hamlet/`** (canon §17). None +exists yet. + +## Key files + +- `README.md` — what it is, how the retrieval pipeline works, how to run it locally +- `app.py` — the Flask server and the whole pipeline +- `shakespeare.json` — the corpus +- `vercel.json` — the deploy configuration +- `MEMO-CODEX-URGENT.md` — untracked and open: LGTM gate and branch protection From 1d8776f304e1ca2f749a89ec4e42166e0a968eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?A=CC=82nderson=20Q?= Date: Sat, 5 Sep 2026 16:11:18 -0300 Subject: [PATCH 2/2] docs: correct AGENTS.md against the repository Fixes from the review pass: licence, branch and gate claims measured rather than copied from stale memos; missing surfaces named; a 'how work flows' section added. Co-Authored-By: Claude Opus 5 --- AGENTS.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index b4cf2cd..efa4551 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,15 @@ this was done before LLMs. Nothing here is being developed; issues and pull requ indefinitely. The site working is the entire point of leaving it up. Do not scope feature work here without the operator asking for it. -MIT licensed, and the README is the user documentation. +**Dual-licensed** — AGPL-3.0 open source, commercial on request (`LICENSING.md`). It was published +under MIT until 2026; the README is the user documentation. + +## How work flows + +Branch, work from a worktree under `.worktrees/`, open a PR against `main`. The LGTM gate and a +Vercel preview deploy run on every PR. The `.claude/` CLU guards enforce worktree-only writes and +refuse a self-merge, but only while a CLU run is active. `main` is not branch-protected, so the +gate is advisory. ## Crew @@ -20,7 +28,7 @@ arrives already knowing who it is, and reads this project to learn the project. | Role | What this project needs from it | |------|---------------------------------| | Engineering | Only what keeps the deploy alive — a dependency that breaks the build, nothing more | -| Sysadmin | The Vercel deployment, the `hamlet.42labs.io` domain, branch protection and the LGTM gate | +| Sysadmin | The Vercel deployment, the `hamlet.42labs.io` domain, branch protection and the gate | No architect, reviewer, content or data role is in use: nothing new is scoped here by design. @@ -32,5 +40,8 @@ exists yet. - `README.md` — what it is, how the retrieval pipeline works, how to run it locally - `app.py` — the Flask server and the whole pipeline - `shakespeare.json` — the corpus +- `data/` — the vendored NLTK/WordNet corpus. `app.py` puts it on `nltk.data.path`, and `vercel.json` ships it via `includeFiles` — deploy-critical, not a scratch directory +- `templates/`, `static/` — the front end +- `requirements.txt` — pinned dependencies - `vercel.json` — the deploy configuration -- `MEMO-CODEX-URGENT.md` — untracked and open: LGTM gate and branch protection +- `MEMO-CODEX-URGENT.md` — untracked. Its gate item is done; branch protection is still open