4d93e5a1aa
fix(ratio): ppm² потолок asking→sold в конфиг, default 1.2M (Refs #767 )
...
asking_to_sold_ratio фильтровал сделки по хардкоду price_per_m2 BETWEEN
30000 AND 600000 (4 CTE) → премиум ЕКБ >600k выпадал → ratio из global-fallback
→ bias выкупной цены премиума. Все 4 хардкода → BETWEEN :ppm2_min AND :ppm2_max
(bind-params, не f-string). settings.asking_ratio_ppm2_max default 1_200_000
(env ASKING_RATIO_PPM2_MAX), _PPM2_MIN=30_000. Docstring обновлён.
NB: точный потолок верифицировать QA против SELECT max(price_per_m2) FROM deals
WHERE source='rosreestr' (worker без live-DB; 1.2M — запас, env-override без
деплоя). pytest -k asking 21 pass, ruff clean.
2026-05-30 19:51:18 +03:00
ec84637abf
fix(estimator): expected_sold guard listings_clean → median_price>0 (Refs #773 ) ( #784 )
...
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 25s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-backend (push) Successful in 39s
Deploy Trade-In / deploy (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:39:08 +00:00
30ae4841a4
fix(scrapers): yandex area из embedded-state JSON (Refs #775 ) ( #783 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:38:12 +00:00
fdbd6ed70d
fix(tradein): MapPicker через portal в document.body — z-index конфликт с SourcesProgress ( #771 ) ( #782 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Has been cancelled
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 16:37:03 +00:00
238f14a0d7
fix(tradein): account-бренд приоритетен над ?brand= — cross-brand leak ( #765 ) ( #780 )
...
Deploy Trade-In / changes (push) Successful in 6s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m31s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 16:29:11 +00:00
489666c735
fix(tradein): avito content-block (HTTP-200) не маскируется под end-of-pagination (Refs #754 ) ( #779 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:28:23 +00:00
bcd035034a
fix(tradein): SSRF host-allowlist на admin scrape + удалён dead ADMIN_TOKEN (Refs #756 ) ( #778 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Successful in 23s
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:27:19 +00:00
9954f4962f
fix(tradein): /sales-vs-listings street_only не house_linked (Refs #757 ) ( #777 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:26:08 +00:00
652e0df10f
fix(tradein): cron-scrape.sh log to writable path + graceful tee (Refs #758 ) ( #776 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / test (push) Successful in 25s
Deploy Trade-In / build-frontend (push) Successful in 24s
Deploy Trade-In / build-backend (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:25:19 +00:00
79a79004cf
fix(scrapers): stable dedup_hash — drop price_rub + strip URL query (Refs #753 ) ( #761 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 25s
Deploy Trade-In / build-backend (push) Successful in 40s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:10:27 +00:00
2226b16cd3
fix(scheduler): atomic _claim_run via advisory xact lock (Refs #750 ) ( #752 )
...
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 25s
Deploy Trade-In / build-backend (push) Successful in 42s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 16:04:33 +00:00
93f85154a5
fix(tradein): gate «0,00 млн ₽» в не-headline секциях при insufficient_data ( #748 ) ( #751 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m34s
Deploy Trade-In / deploy (push) Successful in 1m7s
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 15:58:19 +00:00
a74591d7cc
fix(tradein): atomic conditional quota increment — close TOCTOU ( #747 ) ( #749 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Successful in 40s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 15:52:34 +00:00
1b8e3b1f25
fix(tradein): confidence «средняя» → amber + FIXME для compsTier ( #742 ) ( #746 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Successful in 1m32s
Deploy Trade-In / deploy (push) Successful in 36s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 15:44:37 +00:00
6762a532eb
feat(scrapers): wire N1.ru city sweep — pipeline + scheduler + admin endpoint ( #575 ) ( #745 )
...
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Has been cancelled
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 15:43:38 +00:00
2390c49d12
fix(tradein): guard деления на median=0 в ListingsCard/DealsCard ( #741 ) ( #744 )
...
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m33s
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 15:40:01 +00:00
798fb12b4c
feat(tradein): HeroSummary empty-state при insufficient_data ( #740 ) ( #743 )
...
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Successful in 1m34s
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 15:37:13 +00:00
34a13d71c3
fix(tradein): sync n_analogs to anchor count when anchor drives headline ( #695 ) ( #739 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 40s
Deploy Trade-In / deploy (push) Successful in 33s
Deploy Trade-In / test (push) Successful in 24s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 15:25:35 +00:00
2b3eb0b23d
fix(tradein): confidence_explanation no longer contradicts counters ( #695 ) ( #738 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 42s
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / deploy (push) Successful in 33s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 15:10:31 +00:00
83f3d70859
docs(tradein): clarify n_analogs vs analogs[] top-10 cap ( #698 ) ( #737 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Successful in 41s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 15:00:48 +00:00
14541d4951
Merge pull request 'chore(agents): auto-resolver human-proxy persona для needs-human' ( #735 ) from feat/auto-resolver-persona into main
...
Reviewed-on: #735
2026-05-30 14:42:17 +00:00
lekss361
bc3ecf80cc
chore(agents): add auto-resolver human-proxy persona for needs-human queue
...
Новое окно auto-resolver — снимает блокеры issues с label needs-human,
используя capabilities, которых нет у headless-ботов (dev-IP не зафайрволлен,
сохранённые куки, Playwright, прямой postgres-tradein/gendesign MCP, SSH на прод).
- .claude/agents/auto-resolver.md — persona (full-auto на машине пользователя;
классификация блокера A/B/C/D; кат B genuine-decision → AskUserQuestion).
- .claude/commands/work-as-resolver.md — skill /work-as-resolver → /loop 15m.
- auto-analyst.md + _autonomous_pickup.md FSM — лейбл-контракт needs-human:
вешать может analyst/worker/qa, СНИМАТЬ только auto-resolver (anti-race #726/#727).
2026-05-30 17:40:36 +03:00
ef7b5f8c54
feat(tradein): insufficient_data flag on AggregatedEstimate ( #697 ) ( #734 )
...
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 39s
Deploy Trade-In / test (push) Successful in 25s
Deploy Trade-In / deploy (push) Successful in 33s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 14:40:04 +00:00
066fab11d3
fix(tradein): sanitize ДКП deal outliers (floor / ppm²) ( #699 ) ( #733 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / deploy (push) Successful in 40s
Deploy Trade-In / build-backend (push) Successful in 40s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 14:31:44 +00:00
e94929159b
fix(scrapers): avito listing_date from sortTimeStamp JSON ( #726 ) ( #729 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Successful in 39s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 14:13:38 +00:00
1f3008d59e
feat(tradein): street_only disclaimer in StreetDealsCard ( #722 ) ( #725 )
...
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m34s
Deploy Trade-In / deploy (push) Successful in 33s
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
2026-05-30 13:44:30 +00:00
575d9abbf7
feat(tradein): add data_quality flag to /sales-vs-listings ( #721 ) ( #723 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Successful in 39s
Deploy Trade-In / deploy (push) Successful in 33s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 13:21:08 +00:00
a79cf7d5e0
fix(tradein): coarse-geo downgrade no longer shielded by Tier C anchor ( #693 ) ( #720 )
...
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / deploy (push) Successful in 33s
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 42s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 12:34:11 +00:00
406ea8365a
feat(health): expose app version in GET /health ( #717 ) ( #719 )
...
Deploy / changes (push) Successful in 5s
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 1m25s
Deploy / build-worker (push) Successful in 2m46s
Deploy / deploy (push) Successful in 1m5s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 12:15:06 +00:00
0e2bba78b7
fix(tradein): coarse-geo downgrade works without DaData on prod ( #693 ) ( #718 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Successful in 41s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 12:08:56 +00:00
f148007792
docs(main): add module docstring to backend/app/main.py ( #716 )
...
Deploy / changes (push) Successful in 4s
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 1m21s
Deploy / build-worker (push) Successful in 2m32s
Deploy / deploy (push) Successful in 1m5s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 11:43:20 +00:00
bc9d277309
Merge pull request 'docs(bots): label IDs table (goern add_issue_labels требует id)' ( #715 ) from docs/label-ids into main
...
Reviewed-on: #715
2026-05-30 11:36:52 +00:00
lekss361
049966ed6d
docs(bots): label IDs table + goern add_issue_labels требует id не имя
2026-05-30 14:36:30 +03:00
db6137edf8
Merge pull request 'feat(qa): tester заводит bug-issue на новые баги' ( #713 ) from fix/qa-creates-bug-tasks into main
...
Reviewed-on: #713
2026-05-30 11:23:57 +00:00
lekss361
fe27ad9dce
feat(qa): tester заводит bug-issue на НОВЫЕ баги (не тестируемый issue)
...
Раньше qa по правилу НЕ создавал issues (только reopen тестируемого + needs-fix,
либо prod_down spike). Побочный/новый баг, замеченный при smoke, терялся.
Теперь (симметрично reviewer minor→follow-up): НОВЫЙ баг (не тестируемый issue) →
mcp__forgejo__create_issue: scope/X + status/ready + priority/pN + bug, body = work-prompt
(Задача/repro/Files/DoD) + screenshot/console → попадёт воркеру в очередь. Проверка
дубликатов. По ТЕСТИРУЕМОМУ issue — по-прежнему reopen+needs-fix (не дубль).
auto-qa-tester.md (verdict + hard rule) + work-as-qa.md (+ починил stale "(10m)"→"(5m)").
2026-05-30 14:21:11 +03:00
3e3112f2c3
Merge pull request 'fix(bots): qa-close bug (Closes→Refs) + minor-verdict → follow-up task' ( #712 ) from fix/worker-pr-refs-not-closes into main
...
Reviewed-on: #712
2026-05-30 11:15:34 +00:00
lekss361
627189a3e3
fix(bots): qa-close bug (Closes→Refs) + minor-verdict creates follow-up task
...
Найдено живым тестом (reviewer смержил #710 → linked issue #696 закрылся ДО qa).
1. Closes→Refs: worker PR-body писал `Closes #N` → merge авто-закрывал issue →
qa-pickup (status/qa & state=open) закрытый не видел → smoke не запускался.
FSM: issue закрывает QA на status/done, не merge. Фикс: worker пишет `Refs #N`.
- auto-backend.md PR-template + git-pr.md note.
2. MINOR → follow-up task (по запросу): reviewer на 🟡 MINOR теперь, кроме merge,
заводит ОДИН consolidated follow-up issue для actionable-minor'ов
(scope/X status/ready priority/p3 tech-debt; body = work-prompt + "Follow-up из PR #N").
Косметику (whitespace/naming) не заводит — не флудить очередь.
- auto-code-reviewer.md ACT+severity + work-as-reviewer.md.
- Заведены labels priority/p3 (id63) + tech-debt.
2026-05-30 14:11:05 +03:00
466774dbd8
fix(tradein): rehydrate POST-only fields on GET /estimate/{id} ( #696 ) ( #710 )
...
Deploy Trade-In / build-backend (push) Successful in 40s
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Successful in 24s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 11:05:52 +00:00
6e8c19ebe2
Merge pull request 'fix(claude): quote agent descriptions — YAML frontmatter parse break' ( #711 ) from fix/agent-frontmatter-yaml into main
...
Reviewed-on: #711
2026-05-30 10:59:05 +00:00
lekss361
9b268e6950
fix(claude): quote agent descriptions — battle YAML frontmatter parse break
...
Баг: у code-reviewer/qa-tester/tech-analyst `description:` без кавычек содержал
`: ` (двоеточие-пробел, напр. "verdict: ✅ ", "Проверяет: HTTP", "план: что") →
YAML парсил это как вложенный mapping → frontmatter невалиден → агент молча НЕ
регистрировался как subagent. Reviewer-окно падало: "Agent type 'code-reviewer'
not found"; qa-окно так же не нашло бы qa-tester.
Фикс: обернул description в кавычки (code-reviewer/qa-tester → "...",
tech-analyst → '...' из-за внутренних "). Проверено pyyaml — теперь парсится.
Плюс: добавил postgres-gendesign в .claude/mcp/qa.json — qa-tester ссылается на
его tools, без сервера в strict-конфиге qa-окна агент не зарегистрируется.
(backend-engineer/deep-code-reviewer не были задеты — у них в description нет ": ".)
2026-05-30 13:56:55 +03:00
cffc91a1d8
test(tradein): fix /houses test broken by IDOR guard — unblock deploy ( #690 ) ( #709 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / deploy (push) Successful in 33s
Deploy Trade-In / test (push) Successful in 24s
Deploy Trade-In / build-backend (push) Successful in 40s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 09:34:31 +00:00
961a3caf2b
fix(tradein): surface same-building comps as analogs when anchor fires ( #694 ) ( #708 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Failing after 24s
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / deploy (push) Has been skipped
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 09:21:20 +00:00
9d94beae4f
fix(tradein): flag coarse-geo estimates as low-confidence ( #693 ) ( #707 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Failing after 23s
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / deploy (push) Has been skipped
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 08:58:23 +00:00
737599e690
fix(tradein): scope GET /estimate/{id} + /pdf to owner, close IDOR ( #690 ) ( #702 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / test (push) Failing after 24s
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / deploy (push) Has been skipped
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 08:56:51 +00:00
96de6d8e58
fix(tradein-ui): eliminate mobile horizontal overflow on estimate result ( #692 ) ( #705 )
...
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / build-frontend (push) Successful in 1m34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 08:46:29 +00:00
690d423c5a
Merge pull request 'chore(bots): тугие /loop каденции под подписку (убрать cost-backoff)' ( #706 ) from chore/loop-cadence-subscription into main
...
Reviewed-on: #706
2026-05-30 08:43:20 +00:00
lekss361
261bbc40ec
chore(bots): тугие /loop каденции под подписку (убрать cost-backoff)
...
Проблема: idle-backoff в /loop был ради экономии API-стоимости («Opus expensive →
5m + рост до 30-60m»). На подписке поллинг не тарифицируется → backoff лишь тормозил
хэндофы (ready→wip→review→qa) до 30-60m, пайплайн становился медленным на ровном месте.
Фикс — тугие фиксированные интервалы, без прогрессивного backoff:
- reviewer: /loop 5m+backoff→30m → /loop 2m (bottleneck, latency-критичен)
- qa: /loop 10m, idle→20m → /loop 5m
- backend/frontend: idle sleep 20m → ≤5m (dynamic, без backoff)
- analyst: /loop 30m, idle→60m → /loop 15m (сканер inbox, не latency-критичен)
- _autonomous_pickup self-throttle: убран min(current*1.5, 60m); тугие интервалы роли,
оставлена 24h-эскалация.
Реальный потолок теперь — usage-лимиты подписки (Max 5h/weekly), НЕ деньги-за-тик:
упёрся → удлинить латентные окна или pause-bots. Задокументировано.
Эффект: PR подхватывается за ~1-2 мин вместо до-30m; цепочка issue→done схлопывается
с часов ожидания до минут.
2026-05-30 11:42:28 +03:00
f04728297b
fix(tradein): run same-building anchor without radius analogs ( #691 ) ( #704 )
...
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 42s
Deploy Trade-In / test (push) Successful in 22s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 08:34:24 +00:00
10626c21ae
fix(tradein): dedupe last_scraped_at — fix frontend build/deploy ( #703 )
...
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m33s
Deploy Trade-In / deploy (push) Successful in 34s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
2026-05-30 08:32:04 +00:00
88a3ce1875
Merge pull request 'chore(analyst): issue = исполняемый work-prompt без разночтений' ( #701 ) from chore/analyst-prompt-quality into main
...
Reviewed-on: #701
2026-05-30 08:17:17 +00:00