feat(people): expose employment history HTTP read - #155
seonghobae wants to merge 47 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review 현재 exact head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== checked-out commit =='
git rev-parse HEAD
git status --short
echo '== candidate route and test files =='
rg -n -i -C 3 '_looks_like_employment_history_route|employment-history|employment_history' . \
-g '!node_modules/**' -g '!dist/**' -g '!build/**' | head -n 500
echo '== Python outlines =='
fd -e py . | xargs -r ast-grep outline --lang python --items all --match 'employment|route|scope' 2>/dev/null | head -n 500Length of output: 81826 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== employment-history HTTP implementation =='
sed -n '1,460p' services/people-api/src/orgmetra_people_api/employment_history_http.py
echo '== boundary-hardening tests =='
cat -n services/people-api/tests/test_employment_history_http_boundary_hardening.py
echo '== HTTP route tests =='
cat -n services/people-api/tests/test_employment_history_http.py
echo '== current repair commits and diffs =='
git show --no-ext-diff --format=fuller --stat 8a367eb8885807dc21581c55e6a21b10e2ca5799
git diff --no-ext-diff 8a367eb8885807dc21581c55e6a21b10e2ca5799 99c3ec578a57c31f039cab70b6e3a90a4b85623a -- \
services/people-api/src/orgmetra_people_api/employment_history_http.py \
services/people-api/tests/test_employment_history_http_boundary_hardening.py \
services/people-api/tests/test_employment_history_http.pyLength of output: 43057
정적 소스와 회귀 테스트를 검토했습니다. 저장소 코드는 실행하지 않았습니다. 이 확인 범위에서는 새로운 문제를 찾지 못했습니다. PR은 Draft 상태를 유지해야 하며, 보호된
|
Buyer-visible scope
Adds the read-only customer HTTP boundary
GET /v1/tenants/{tenant_record_id}/people/{person_record_id}/employment-history. Tenant/Person scope stays explicit,known_atremains exact UTC, purpose/field authorization stays in #149, and the route does not mutate Employment or make an employment decision.Current stack authority
Current direct base: #149
69b5e8796245ef82bcc05a316bc0aa8b4f171b8dCurrent exact head:
4b8fa8e1bd29d941f5889f346014133aaa1c02e9Protected truth beneath the stack:
develop@eb9757f8649aaad026a9865508d9aad50c1a7a4fThe current exact head ordinary-forward adopts #341 through #149/#55. Only canonical parent-owned
hire_http.pyand the focused dependency-binding regression were adopted; the Employment HTTP/OpenAPI/test/docs delta remains intact. Earlier #333–#337 transport/read hardening is preserved. No mutable owner source was copied. ADR 0155 remains Proposed.Oversized path data still fails before tokenization; synchronous
read_employment_history(...)remains isolated throughasyncio.to_thread(...); support references remain correlated; Employment-local path/query contracts stay intact. Shared People transport/authentication/read-model authority comes through the canonical owner stack rather than leaf reimplementation. The offload is availability isolation, not p95≤20ms acceptance; #257 remains the buyer-path measurement owner.This stacked exact head does not inherit parent acceptance evidence. After #55/#65/#149 reach protected
develop, #155 must ordinary-forward onto protected truth, retarget todevelop, and reacquire Foundation/Security/SAST/CodeQL/model review, qualifying independent approval, and applicable latency evidence.Keep Draft. No self/model approval, routine bypass, gate weakening, mutable-owner source copy, no-op retrigger, predecessor-evidence transfer, force-push/destructive rebase, synthetic status, or simple Close is authorized.