Commit Graph

  • 8835e01595 Remove guest login: every user registers with a phone number Zareian 2026-10-05 17:38:18 +03:30
  • 03e81abe7e docs: security guards table lists the new tests Zareian 2026-10-05 09:37:11 +03:30
  • 28b8527760 Security review: staff admin lockdown, unicode-safe login/phone/grade inputs, demo guest not upgradable, home cache not floodable Zareian 2026-10-05 09:34:42 +03:30
  • fedd10ff22 Money review: Bazaar rejection no longer burns the purchase token, read-only order admin, pack grant from order snapshot Zareian 2026-10-05 09:26:26 +03:30
  • eb4e97753b CLAUDE.md: security review fixes are deployed Zareian 2026-10-05 05:09:50 +03:30
  • a973c41db2 Security review fixes: admin permissions, guest sessions, payment edge cases, assistant leaks Zareian 2026-10-05 04:52:25 +03:30
  • 645baf846b Signed payment links, hashed refresh tokens, login-only leaderboard, load test tools Zareian 2026-10-04 21:12:28 +03:30
  • b3f624a512 gunicorn: warm the assistant's Qdrant/OpenAI clients when a worker starts Zareian 2026-10-04 14:41:48 +03:30
  • 2cf2d14dd4 Security re-check and load test 2026-10-04: 32 threads, data file permissions, patched deps Zareian 2026-10-04 14:39:11 +03:30
  • f441cfa96b CLAUDE.md: grades 4/5 and Bazaar purchase path are deployed Zareian 2026-10-04 03:08:29 +03:30
  • 8cb326ba94 Grades 4 and 5, Bazaar purchase from the app, pack SKUs Zareian 2026-10-03 20:01:44 +03:30
  • ab5e53730a Audit fixes 2026-10-03: seed keeps admin edits, plan cache, refresh limit, payment and tutor guards Zareian 2026-10-03 16:05:27 +03:30
  • 7e027c167c CLAUDE.md: the no-fallbacks fixes are deployed Zareian 2026-10-03 12:03:16 +03:30
  • 7307bfcadb Remove silent fallbacks found in the 2026-10-03 audit Zareian 2026-10-03 10:38:42 +03:30
  • 7e4b8b54a6 CLAUDE.md: the 2026-10-02 fixes are deployed Zareian 2026-10-02 23:20:27 +03:30
  • 7683920b0b docs: handbook, diagrams and guides brought up to 2026-10-02 Zareian 2026-10-02 23:10:50 +03:30
  • 8a4753bd15 CLAUDE.md: what the 2026-10-02 review fixed and what is not deployed yet Zareian 2026-10-02 22:43:50 +03:30
  • d7d168e82f admin: cancel a pending order, refund a paid one Zareian 2026-10-02 22:37:30 +03:30
  • 4700ccbf91 hearts: zero hearts really stops play Zareian 2026-10-02 22:31:44 +03:30
  • 0f0b779a4e docs: plan with 700 toman per question; pack profit margins Zareian 2026-10-02 13:19:06 +03:30
  • 3bafd3d9c4 docs: measured model price ledger (docs/model-prices.md) Zareian 2026-10-02 13:12:49 +03:30
  • 1803c76a8b schema: name the two 'kind' enums so the OpenAPI build is warning-free again Zareian 2026-10-02 13:11:22 +03:30
  • 67cbe05609 tests: two questions at once with one credit, with real threads Zareian 2026-10-02 13:07:08 +03:30
  • fe658c697a bazaar: a pack bought through Bazaar now gives its credits; verify reports the real order status Zareian 2026-10-02 13:04:41 +03:30
  • 5fb9f4aaa0 guardrails: self-harm caught however it is typed; ZWNJ no longer slips an injection past the screen Zareian 2026-10-02 13:02:07 +03:30
  • 4c7ccf10a0 docs: question packs, credit rules, real hearts Zareian 2026-10-02 12:14:45 +03:30
  • 58c8e6d014 question packs instead of monthly/yearly plans; hearts are real Zareian 2026-10-02 11:41:39 +03:30
  • 2edc56fc08 paid plans: 10 tutor questions a day at 179,000 / 1,790,000 toman Zareian 2026-10-02 10:11:31 +03:30
  • b3940e87f7 docs: age tone, public IDs, prices, account deletion and the test-account cleanup Zareian 2026-10-02 06:50:33 +03:30
  • 191aba0e25 tutor quota message in Persian digits Zareian 2026-10-02 06:36:03 +03:30
  • 2f1e257533 delete_users: only project models; Django admin history (LogEntry.user_id is staff) was being counted Zareian 2026-10-02 06:20:05 +03:30
  • 63cd1af6f7 public user IDs, plans priced by tutor cost, age-based tutor tone, self-service account deletion Zareian 2026-10-02 06:10:17 +03:30
  • e9d676ce68 delete_users --real-phones: every phone user except the demo logins Zareian 2026-10-02 02:41:16 +03:30
  • 39247f6d53 senior's post-demo changes: parent report in the student's own account, Jalali birth date, invoices, math-only tutor, priced quotas Zareian 2026-10-02 02:38:43 +03:30
  • d5dbd1b23d keep the Referer on the redirect to Zarinpal so StartPay accepts our domain Zareian 2026-10-01 08:56:13 +03:30
  • 5e1613e431 docs: technical handbook without a version label, dated only Zareian 2026-09-30 14:11:39 +03:30
  • a325def504 docs: technical handbook (Markdown + PDF) with use-case and relational models, scenario diagrams Zareian 2026-09-30 13:38:21 +03:30
  • e3abd675db let Bazaar verification find out whether a SKU is a one-time product or a subscription Zareian 2026-09-30 12:31:51 +03:30
  • 5f4d7b1ed4 record the Bazaar connection: company account authorized, package com.tadrisino.app set Zareian 2026-09-30 12:24:00 +03:30
  • 957c9d0f1e record the 2026-09-29 final pre-presentation pass: what shipped, measured tutor latency, test writes to demo data Zareian 2026-09-29 22:23:07 +03:30
  • 93b451d422 list a user's own support tickets, Persian digits in completion notifications, rewrite .env.example to match the code Zareian 2026-09-29 21:18:12 +03:30
  • 8321dc22c3 record the 2026-09-29 deploy: diagrams live, backup name, test guests to remove Zareian 2026-09-29 08:18:29 +03:30
  • 2c759a7dd7 docs: how tutor diagrams work, measured accuracy and cost Zareian 2026-09-29 06:58:01 +03:30
  • 50df7bd371 diagram kit: triangles and quadrilaterals from problem data, shape patterns, translate points, arithmetic/quote/duplicate-key repairs, clock guard (tutor-v10-shape-anchor) Zareian 2026-09-29 06:11:43 +03:30
  • a8cd681d65 an explicit 'draw it' request without topic words gets the whole diagram catalog (tutor-v8-asked-figure) Zareian 2026-09-29 03:34:12 +03:30
  • 731dea9bb1 tutor-v7-diagram-kit: anchor short follow-ups to the previous question, new diagram pieces in the prompt Zareian 2026-09-29 02:37:50 +03:30
  • 14a4d9cbf1 redraw the figure on follow-ups that only change the numbers; add a local fake OpenAI server Zareian 2026-09-29 00:43:04 +03:30
  • 0917ab487f diagrams for every grade, sectioned prompt, repair of real model slips; fill lesson texts and thin islands Zareian 2026-09-28 23:22:13 +03:30
  • 33d8f43d74 draw a diagram in tutor answers: validated JSON from the model, rendered by the app; add the fourth companion tedi Zareian 2026-09-28 17:44:44 +03:30
  • 74c3ee5e86 record the Zarinpal fix: shared tadrisino2.ir merchant installed, PaymentRequest now 100 Zareian 2026-09-27 22:25:13 +03:30
  • 4393087fa7 wait up to 10 s to reach Kavenegar and 30 s for its reply Zareian 2026-09-27 22:14:23 +03:30
  • ca46e66024 keep the login code when Kavenegar answers late instead of failing the request Zareian 2026-09-27 22:06:34 +03:30
  • 9a1ee36c0a record the new Bazaar client and the real cause of Zarinpal -14 (merchant registered for tadrisino.org) Zareian 2026-09-27 21:45:58 +03:30
  • 301a6942da record that the login SMS now arrives: template SMSVerify on the server, status 10 Zareian 2026-09-27 21:45:31 +03:30
  • c1c2a270c2 record the new Bazaar authorize link for mathapi.tadrisino2.ir Zareian 2026-09-27 02:11:28 +03:30
  • 93334635f2 record the domain move and the live frontend: mathapi live, Zarinpal still -14, demo data intact Zareian 2026-09-27 01:39:56 +03:30
  • 1f38465d88 move the API's own address to mathapi.tadrisino2.ir Zareian 2026-09-27 01:06:48 +03:30
  • 8768a2406b docs: the Bazaar redirect URI follows PUBLIC_BASE_URL; re-link after a domain move Zareian 2026-09-27 00:55:48 +03:30
  • 4b246e0c70 make the domain configuration, not code: two env vars move everything Zareian 2026-09-26 23:46:25 +03:30
  • 2f8ed50b86 record the Bazaar re-authorization: personal-account token cleared, new link out, 7d205ca live Zareian 2026-09-26 22:21:54 +03:30
  • 7d205caa79 send the Bazaar access token without "Bearer" and cap its cache at an hour Zareian 2026-09-26 22:12:20 +03:30
  • ff212855a5 send the login code through Kavenegar's approved template when one is configured Zareian 2026-09-26 22:02:01 +03:30
  • f6cdfddaa9 record the 2026-09-26 Bazaar fix deploy: bdd5aba live, authorize link sent Zareian 2026-09-26 22:01:39 +03:30
  • bdd5aba985 fix Bazaar purchase validation URLs and add the new pishkhan-token method Zareian 2026-09-26 21:44:14 +03:30
  • 64f88f0bce record the 2026-09-26 Bazaar deploy: 8763ffd live, authorize window open 72 h Zareian 2026-09-26 21:33:53 +03:30
  • 8763ffd7bf let the Bazaar verify URL double as the OAuth redirect URI Zareian 2026-09-26 21:30:44 +03:30
  • 5d490edaf9 keep the raw benchmark answers so the report's questions and answers never need re-running Zareian 2026-09-26 10:43:43 +03:30
  • 64cf018e55 record the v6 fraction-wording experiment: notation slightly better, answers slightly worse, not shipped Zareian 2026-09-26 03:25:43 +03:30
  • a6f91ea915 record the gpt-4.1-mini deploy: 11bbe1c live, server .env switched, live answer verified Zareian 2026-09-26 03:02:18 +03:30
  • 11bbe1c248 tutor runs on gpt-4.1-mini, and primary-school "/" is read as decimal or fraction by rule Zareian 2026-09-26 02:36:54 +03:30
  • e0176ca0a6 record the live integration check: GapGPT back, Zarinpal -14 domain mismatch, Bazaar unset, test user 18 Zareian 2026-09-25 18:48:57 +03:30
  • 4a3ec0280a record the first real SMS test: Kavenegar cancels every send (status 13) from this account's line Zareian 2026-09-25 12:37:03 +03:30
  • 8b510597a6 record the 2026-09-25 SMS deploy: 0580aec is live, Kavenegar on, test user 17 to purge Zareian 2026-09-25 12:34:37 +03:30
  • 0580aec7b0 harden OTP for real SMS and close the second audit round Zareian 2026-09-25 12:28:06 +03:30
  • 74aa9aa8ca list everything left open for the demo that must be closed before real users Zareian 2026-09-25 10:32:36 +03:30
  • 66066cbe23 record the 2026-09-25 deploy: 42783f9 is live, backup taken, bench folder removed Zareian 2026-09-25 06:28:59 +03:30
  • 42783f9ba4 tutor answers step by step in plain text, islands finish, and the audit's money and login holes are closed Zareian 2026-09-25 06:24:13 +03:30
  • fbdb9495ee close out the docs: current counts, the live-streak caveat for demo accounts, CACHE_URL as it really behaves Zareian 2026-09-24 07:47:29 +03:30
  • 81348cee5a drop leftovers from the live leaderboard: no fake model rows, no second sort Zareian 2026-09-24 07:27:45 +03:30
  • ca6b2ff4c9 record the 2026-09-24 state: frontend audit, what the backend gained, what is left Zareian 2026-09-24 07:00:53 +03:30
  • 96f0204fcf refill hearts like Duolingo: one every 5 hours, all of them after 24 Zareian 2026-09-24 06:58:39 +03:30
  • 701d8badcc make streaks and the leaderboard live, and stop three AI chats from freezing the API Zareian 2026-09-24 06:39:50 +03:30
  • c874c186b1 see the real client IP behind ArvanCloud, and mark all notifications read in one call Zareian 2026-09-24 05:03:27 +03:30
  • 147af3ac10 send the student back to the web app after paying, not to a raw JSON page Zareian 2026-09-24 03:46:41 +03:30
  • b32194497c let a finished island quiz open the next island, and ground ask-AI in the student's book Zareian 2026-09-24 02:49:02 +03:30
  • 0c6b08c9ff make every grade's id its class number and sort grades by it everywhere Zareian 2026-09-23 22:47:02 +03:30
  • d70737dddf record that the server now has RAG on, seven demo logins and demo data Zareian 2026-09-23 22:07:34 +03:30
  • 7d6abab15c document the twenty environment variables the code reads but never mentioned Zareian 2026-09-23 02:11:29 +03:30
  • 5003b8a852 write down the frontend test account, which existed only in one person's notes Zareian 2026-09-23 01:55:16 +03:30
  • ac3999ea92 render the Persian API docs right-to-left Zareian 2026-09-23 01:45:37 +03:30
  • ae0375c26c make the API docs page answer a consumer's first questions, and fix a missing endpoint Zareian 2026-09-23 01:28:32 +03:30
  • 5492788bf8 make the README an entry point and move procedures into docs/ Zareian 2026-09-23 01:12:04 +03:30
  • 5aa10eb7b7 give every developer a way into the API that does not depend on one person Zareian 2026-09-23 00:52:57 +03:30
  • 8fce3b9548 give the leaderboard and notifications a real producer Zareian 2026-09-22 13:30:57 +03:30
  • 66364e0e92 fix the campaigns concurrency test by fixing what it was catching Zareian 2026-09-22 04:43:44 +03:30
  • 6a6d0200d2 complete the quiz path for grades 8 through 12, and close three gaps in the API contract Zareian 2026-09-22 03:49:32 +03:30
  • 82edd0ecb0 bring حسابان 11 and 12 into the game path Zareian 2026-09-22 03:35:26 +03:30
  • 3026df0397 carry today's 312 new questions to the server Zareian 2026-09-20 12:50:30 +03:30
  • acce78bb03 write down the extraction method so another team can reuse it Zareian 2026-09-20 12:36:45 +03:30
  • 3156bcbbf3 stop counting the frontend developer's port numbers Zareian 2026-09-20 12:36:45 +03:30