PIX-13744: align public share price contract #1069

Closed
andrei wants to merge 7 commits from agent/fullstack/pix-13744 into master
Owner

Что сделано:

  • выровнен canonical sharePrice для obj-001 до EUR 65 и obj-002 до EUR 75;
  • добавлена миграция для production data;
  • /objects/:id/rooms и object detail rooms снова отдают room.sharePrice как совместимый alias object-level цены;
  • обновлены seed-тексты, где оставались 100/80 EURT для этих объектов.

Проверки:

  • pnpm --dir api exec vitest run src/services/object.service.test.ts src/services/tests/objectAccess.id-or-slug.test.ts src/telegram/flows/tests/buy-shares.test.ts --reporter=verbose;
  • pnpm --filter api build;
  • pnpm --filter app build;
  • npm run i18n:check;
  • pre-push hook: api/app tsc, api integration tests 191 passed, root build passed.

Примечание:

  • script pnpm check:tokens отсутствует в текущем package layout, поэтому отдельный token-check не запускался.
Что сделано: - выровнен canonical sharePrice для obj-001 до EUR 65 и obj-002 до EUR 75; - добавлена миграция для production data; - /objects/:id/rooms и object detail rooms снова отдают room.sharePrice как совместимый alias object-level цены; - обновлены seed-тексты, где оставались 100/80 EURT для этих объектов. Проверки: - pnpm --dir api exec vitest run src/services/object.service.test.ts src/services/__tests__/objectAccess.id-or-slug.test.ts src/telegram/flows/__tests__/buy-shares.test.ts --reporter=verbose; - pnpm --filter api build; - pnpm --filter app build; - npm run i18n:check; - pre-push hook: api/app tsc, api integration tests 191 passed, root build passed. Примечание: - script pnpm check:tokens отсутствует в текущем package layout, поэтому отдельный token-check не запускался.
fix(api): align public share price claims
Some checks failed
CI / Contracts (pull_request) Successful in 2m25s
CI / Telegram Mini App (pull_request) Successful in 1m31s
CI / Python SDK (pull_request) Successful in 30s
CI / Secrets Scan (pull_request) Successful in 11s
CI / Prisma Migrate Gate (pull_request) Successful in 1m47s
CI / API (pull_request) Failing after 16m26s
CI / App (pull_request) Successful in 18m11s
ea3c6b580c
Merge branch 'master' into agent/fullstack/pix-13744
Some checks failed
CI / Contracts (pull_request) Successful in 2m15s
CI / Telegram Mini App (pull_request) Successful in 1m25s
CI / Python SDK (pull_request) Successful in 30s
CI / Secrets Scan (pull_request) Successful in 23s
CI / API (pull_request) Failing after 17m31s
CI / Prisma Migrate Gate (pull_request) Successful in 2m1s
CI / App (pull_request) Failing after 15m40s
3f10b6e2e1
Merge branch 'master' into agent/fullstack/pix-13744
Some checks failed
CI / Contracts (pull_request) Successful in 2m36s
CI / Telegram Mini App (pull_request) Successful in 1m26s
CI / Python SDK (pull_request) Successful in 28s
CI / Secrets Scan (pull_request) Successful in 18s
CI / Prisma Migrate Gate (pull_request) Successful in 1m45s
CI / App (pull_request) Failing after 15m27s
CI / API (pull_request) Failing after 18m4s
defa96e4bc
Author
Owner

CTO review result: merge blocked.

I could not submit a formal REQUEST_CHANGES review because Forgejo treats the current token as the PR author and returns: reject your own pull is not allowed. This comment is the blocking review disposition.

Blocking findings:

  1. API CI is red on PR head defa96e4bcc0. Full suite fails in src/services/__tests__/object.service.test.ts: four getObjectRooms tests crash at api/src/services/object.service.ts:134 with TypeError: Cannot read properties of undefined (reading 'sharePrice'). The PR now assumes assertObjectAccessible() always returns an object, but existing tests/mocks still cover the previous contract.
  2. App CI is red. public-site-audit.test.ts fails public legal-copy assertions, including the missing required string Società a responsabilità limitata and related public-copy audit failures.

Local CTO verification:

  • pnpm --dir api exec vitest run src/services/object.service.test.ts src/telegram/flows/__tests__/buy-shares.test.ts --reporter=verbose passed: 2 files / 7 tests.
  • pnpm --dir api exec vitest run src/services/__tests__/objectAccess.id-or-slug.test.ts src/controllers/income.controller.test.ts src/controllers/analysis.controller.test.ts src/middleware/__tests__/requireObjectAccess.test.ts --reporter=verbose passed: 4 files / 69 tests.
  • GitNexus impact for assertObjectAccessible is HIGH: 8 impacted points across controllers/services/middleware.

Required before re-review:

  • Fix the existing getObjectRooms tests or preserve a backward-compatible fallback before reading object.sharePrice.
  • Fix App public-site-audit failures.
  • Push a new commit and get CI green.
CTO review result: merge blocked. I could not submit a formal REQUEST_CHANGES review because Forgejo treats the current token as the PR author and returns: `reject your own pull is not allowed`. This comment is the blocking review disposition. Blocking findings: 1. API CI is red on PR head `defa96e4bcc0`. Full suite fails in `src/services/__tests__/object.service.test.ts`: four `getObjectRooms` tests crash at `api/src/services/object.service.ts:134` with `TypeError: Cannot read properties of undefined (reading 'sharePrice')`. The PR now assumes `assertObjectAccessible()` always returns an object, but existing tests/mocks still cover the previous contract. 2. App CI is red. `public-site-audit.test.ts` fails public legal-copy assertions, including the missing required string `Società a responsabilità limitata` and related public-copy audit failures. Local CTO verification: - `pnpm --dir api exec vitest run src/services/object.service.test.ts src/telegram/flows/__tests__/buy-shares.test.ts --reporter=verbose` passed: 2 files / 7 tests. - `pnpm --dir api exec vitest run src/services/__tests__/objectAccess.id-or-slug.test.ts src/controllers/income.controller.test.ts src/controllers/analysis.controller.test.ts src/middleware/__tests__/requireObjectAccess.test.ts --reporter=verbose` passed: 4 files / 69 tests. - GitNexus impact for `assertObjectAccessible` is HIGH: 8 impacted points across controllers/services/middleware. Required before re-review: - Fix the existing `getObjectRooms` tests or preserve a backward-compatible fallback before reading `object.sharePrice`. - Fix App `public-site-audit` failures. - Push a new commit and get CI green.
Merge branch 'master' into agent/fullstack/pix-13744
Some checks failed
CI / Contracts (pull_request) Successful in 2m25s
CI / Telegram Mini App (pull_request) Successful in 1m31s
CI / Python SDK (pull_request) Successful in 37s
CI / Secrets Scan (pull_request) Successful in 18s
CI / Prisma Migrate Gate (pull_request) Successful in 1m40s
CI / API (pull_request) Failing after 17m34s
CI / App (pull_request) Successful in 19m23s
f7df8be477
Merge branch 'master' into agent/fullstack/pix-13744
Some checks are pending
CI / API (pull_request) Waiting to run
CI / App (pull_request) Waiting to run
CI / Contracts (pull_request) Waiting to run
CI / Telegram Mini App (pull_request) Waiting to run
CI / Python SDK (pull_request) Waiting to run
CI / Secrets Scan (pull_request) Waiting to run
CI / Prisma Migrate Gate (pull_request) Waiting to run
8f406d3aa6
Merge branch 'master' into agent/fullstack/pix-13744
Some checks failed
CI / Contracts (pull_request) Successful in 2m31s
CI / Telegram Mini App (pull_request) Successful in 1m39s
CI / Python SDK (pull_request) Successful in 28s
CI / Secrets Scan (pull_request) Successful in 20s
CI / Prisma Migrate Gate (pull_request) Successful in 2m1s
CI / API (pull_request) Failing after 17m37s
CI / App (pull_request) Successful in 18m58s
76c2dec026
Merge branch 'master' into agent/fullstack/pix-13744
Some checks failed
CI / Contracts (pull_request) Successful in 2m29s
CI / Telegram Mini App (pull_request) Successful in 1m36s
CI / Python SDK (pull_request) Successful in 29s
CI / Secrets Scan (pull_request) Successful in 24s
CI / Prisma Migrate Gate (pull_request) Successful in 1m50s
CI / API (pull_request) Failing after 17m25s
CI / App (pull_request) Successful in 19m28s
1e0733498b
Author
Owner

CTO queue cleanup, 2026-07-19. PR остаётся mergeable=false, связанная review-задача уже закрыта, поэтому держать его открытым как merge candidate нельзя. Создан Paperclip follow-up 71fd50c4-2fa7-41fb-a5a5-39f75a3f4643 на Fullstack: перенести нужные изменения на актуальный master в чистую ветку либо подтвердить, что PR superseded. Закрываю этот PR как несводимый.

CTO queue cleanup, 2026-07-19. PR остаётся `mergeable=false`, связанная review-задача уже закрыта, поэтому держать его открытым как merge candidate нельзя. Создан Paperclip follow-up `71fd50c4-2fa7-41fb-a5a5-39f75a3f4643` на Fullstack: перенести нужные изменения на актуальный `master` в чистую ветку либо подтвердить, что PR superseded. Закрываю этот PR как несводимый.
andrei closed this pull request 2026-07-19 05:23:30 +00:00
Author
Owner

Разбор завершён: этот PR оставлен закрытым как несводимый. Полезный остаток перенесён на чистую ветку в PR #1142 и merged в master: bbac21982a.

Разбор завершён: этот PR оставлен закрытым как несводимый. Полезный остаток перенесён на чистую ветку в PR #1142 и merged в master: bbac21982a25c0d75cd0d4022dce313eda389f25.
Some checks failed
CI / Contracts (pull_request) Successful in 2m29s
CI / Telegram Mini App (pull_request) Successful in 1m36s
CI / Python SDK (pull_request) Successful in 29s
CI / Secrets Scan (pull_request) Successful in 24s
CI / Prisma Migrate Gate (pull_request) Successful in 1m50s
CI / API (pull_request) Failing after 17m25s
CI / App (pull_request) Successful in 19m28s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/europatech!1069
No description provided.