From f45e772979cf7fe5e51baa59b6c610ae61f29835 Mon Sep 17 00:00:00 2001 From: eutopiacode Date: Wed, 3 Jun 2026 20:42:40 +0300 Subject: [PATCH] add initial model tests; update agents.md --- .gitignore | 5 +++- AGENTS.md | 2 ++ model-tests/01-architectural-risk.md | 9 ++++++ .../02-flutter-folder-structure.md | 28 ++++++------------- model-tests/03-roadmap-scope.md | 7 +++++ model-tests/04-elysia-basic-server.md | 13 +++++++++ 6 files changed, 44 insertions(+), 20 deletions(-) create mode 100644 model-tests/01-architectural-risk.md rename model-test.md => model-tests/02-flutter-folder-structure.md (83%) create mode 100644 model-tests/03-roadmap-scope.md create mode 100644 model-tests/04-elysia-basic-server.md diff --git a/.gitignore b/.gitignore index 71001d3..b3e0c49 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,7 @@ .claude/ ## test output -output.md \ No newline at end of file +output.md + +## node status +nodes.md \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md index cc3375f..6b84944 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,10 +30,12 @@ target: 5–50 users at launch, growing by invite only. - no premium tier. no donor badges. no class hierarchy in the app. - no manifesto, no political iconography on any user-facing surface. - `is_event` flag on posts for bulletin board. not a separate entity. +- posters: anyone can post. three post types, single required tag: `event` | `fundraiser` | `current affairs`. auto-archives 1 day after `event_ends_at`. layout: 2-column grid, infinite scroll, paginated fetch. - reactions: poster defines up to 5 emoji + open picker fallback. stored as user + post + emoji + timestamp. - save/bookmark: optional, toggled by poster at compose. default off. - story interactions: no replies. "witnessed" metadata only, private, 24h. - comments: flat, chronological, on posts only. +- surveys: admin-only creation. multiple choice only. 36h expiry. injected as slot-1 feed card (not a real post), drops per-user after response. `/feedback` always has free text field regardless of active survey. **ux** - users should never be asked to understand anything instagram doesn't ask them to understand. diff --git a/model-tests/01-architectural-risk.md b/model-tests/01-architectural-risk.md new file mode 100644 index 0000000..9066ba2 --- /dev/null +++ b/model-tests/01-architectural-risk.md @@ -0,0 +1,9 @@ +tests: critical reasoning, constraint awareness +context: AGENTS.md +version: 1 + +--- + +read @AGENTS.md. you are a senior backend engineer reviewing this project's architectural decisions before the first line of code is written. + +identify up to three decisions that carry the most technical risk or hidden complexity. for each one: name the decision, explain the specific risk, and suggest one mitigation. be direct — this is a pre-build review, not a validation exercise. diff --git a/model-test.md b/model-tests/02-flutter-folder-structure.md similarity index 83% rename from model-test.md rename to model-tests/02-flutter-folder-structure.md index a0d1f4d..000297c 100644 --- a/model-test.md +++ b/model-tests/02-flutter-folder-structure.md @@ -1,11 +1,10 @@ -{ -you are helping design the frontend of eutopic — a -photo-first social app for small, invite-only -communities. it runs on flutter (dart). it has five -main screens: home feed, posters (bulletin board), -compose (center tab), stories, and profile. it also -has secondary screens for onboarding, settings, and -feedback. here's specs: +tests: instruction-following, feature-first structure, domain accuracy +context: DESIGN.md excerpt (screens + navigation) +version: 2 + +--- + +you are helping design the frontend of eutopic — a photo-first social app for small, invite-only communities. it runs on flutter (dart). it has five main screens: home feed, posters (bulletin board), compose (center tab), stories, and profile. it also has secondary screens for onboarding, settings, and feedback. here's specs: --- @@ -124,20 +123,11 @@ RSVP interaction model: open question, not designed yet. see OPEN-QUESTIONS.md. --- -eutopic has no notifications, no DMs (chat), and no push -alerts. do not include any notification-related files -or widgets. +eutopic has no notifications, no DMs (chat), and no push alerts. do not include any notification-related files or widgets. use feature-first structure. example: lib/features/feed/feed_screen.dart lib/features/feed/widgets/post_card.dart lib/shared/models/user.dart -draw an ASCII tree diagram of the flutter frontend -folder and file structure. include lib/ as the root. -show actual filenames (*.dart), not just folder names. -} - -{ -read @AGENTS.md and @docs/ROADMAP.md. given the stack choices and the team size (1-2 people), does the feature scope for v0 and v1 feel right-sized, or is it too ambitious? focus on scope, not timeline. -} \ No newline at end of file +draw an ASCII tree diagram of the flutter frontend folder and file structure. include lib/ as the root. show actual filenames (*.dart), not just folder names. diff --git a/model-tests/03-roadmap-scope.md b/model-tests/03-roadmap-scope.md new file mode 100644 index 0000000..f6f4241 --- /dev/null +++ b/model-tests/03-roadmap-scope.md @@ -0,0 +1,7 @@ +tests: technical judgment, scope reasoning, team-size awareness +context: AGENTS.md + ROADMAP.md +version: 1 + +--- + +read @AGENTS.md and @docs/ROADMAP.md. given the stack choices and the team size (1-2 people), does the feature scope for v0 and v1 feel right-sized, or is it too ambitious? focus on scope, not timeline. diff --git a/model-tests/04-elysia-basic-server.md b/model-tests/04-elysia-basic-server.md new file mode 100644 index 0000000..30f24d8 --- /dev/null +++ b/model-tests/04-elysia-basic-server.md @@ -0,0 +1,13 @@ +tests: coding ability, elysia/bun knowledge, route handling +context: none +version: 1 + +--- + +write a minimal elysia (bun) http server in a single file. it should have three routes: + +GET /health — returns { status: "ok" } +GET /users — returns a hardcoded array of 2-3 user objects with id, name, and email fields +POST /users — accepts a JSON body with name and email, logs the received data to console, and returns { received: true } + +no database, no auth, no external dependencies beyond elysia itself. the file should be runnable with `bun run index.ts`.