교수자 카드 간격 배포 증거를 기록
This commit is contained in:
parent
5bf89ff4ee
commit
ac9b702688
4 changed files with 70 additions and 0 deletions
|
|
@ -698,6 +698,7 @@
|
|||
<p class="dg-note">216차 REQ-001 로그인 단순화(2026-08-29): 실제로 같은 <code>startOAuth</code>를 호출하던 학교용·다른 계정용 중복 버튼을 단일 <b>Google 계정으로 로그인</b> CTA로 통합했다. 보조문구는 <b>모든 Google 계정</b>이며 Google authorize의 <code>prompt=select_account</code>는 남겨 공유 기기에서도 계정을 고를 수 있게 하고 특정 Workspace 도메인을 강제하는 <code>hd</code>는 보내지 않는다. Google이 검증한 이메일은 도메인·사전등록 제약 없이 즉시 승인되는 기존 서버 계약을 유지한다. <b>검증</b>: auth API <b>41 passed</b>, 직접 영향 desktop/mobile <b>32 passed</b>, 인증 시각·경계폭 <b>2 passed</b>, 7폭 전체 레이아웃 <b>15 passed</b>, 세션 무회귀 <b>8 passed</b>, typecheck·lint·build 통과. 이 단일 CTA 번들은 아직 공개 미배포라 현재 공개 Pages의 기존 2버튼 DOM을 새 증거로 대체하지 않는다.</p>
|
||||
<p class="dg-note">218차 Google 계정 데이터 복구·API 승격(2026-08-29): Gmail 로그인이 새 learner로 갈라져 정식 관리자 데이터가 사라져 보인 원인은 Google subject별 <code>app_user</code>가 둘로 생성된 것이었다. 이메일 자동병합 대신 owner-managed <code>auth_identity_alias</code>를 추가해 canonical 관리자에 Google subject 2개를 명시적으로 연결하고, 세션에는 실제 로그인 이메일을 별도 기록한다. 원본 백업 SHA <code>c4725500…f2e9</code>를 <code>pg_restore --list</code>로 확인한 뒤 복제 DB에서 복구 트랜잭션을 먼저 통과시켰다. Gmail 중복 계정의 상담 데이터는 0건이지만 설정 1행이 있어 첫 시도는 가드가 전부 rollback했고, 전체 FK 스캔 뒤 겹치는 설정값이 동일함을 확인해 source-only 알림 키만 canonical에 합치고 원본 설정 행은 보존했다. 활성 DB 결과는 canonical <b>21회기·64턴·평가 6건</b>, 별칭 2·옛 Gmail 세션 0·감사로그 1·고아 0이며 사용자 1175·회기 469·평가 65를 유지한다. API+gateway <b>1111 passed/1 skipped</b>, release agent <b>31 passed</b>. detached-clean <code>dba9b75a…</code>·tree <code>14cd4607…</code>에서 API/cloudflared fresh provenance를 발행하고 public health·DB·engine·voice·OpenAPI 129·auth 401을 확인했으며 boot/watchdog을 같은 핀으로 재등록해 <code>LastTaskResult=0</code>·failcount 0이다. 브라우저의 옛 Gmail 세션은 reload 후 <code>/login</code>으로 철회됐고, 실제 Gmail callback은 사용자 계정 선택 후 최종 확인한다.</p>
|
||||
<p class="dg-note">219차 단일 Google 로그인 Pages 승격(2026-08-29): detached-clean <code>dba9b75a…</code>에서 typecheck·lint·cosmetic safety와 2회 byte-identical production build를 통과하고 최근 production 5개의 lazy asset 115개를 보존해 714파일을 Pages production <code>ef48c0ae-374e-41fc-b6fd-03f69b26e946</code>로 승격했다. custom domain은 새 entry <code>index-B1rSWL_W.js</code> SHA <code>f8411694…b5bf</code>, login chunk <code>Login-DNNQ624T.js</code> SHA <code>f010f764…9c1d</code>가 clean build와 일치하며, 단일 <b>Google 계정으로 로그인</b> CTA 1개·구 계정 선택 버튼 0·dev login 0·console warning/error 0이다. 격리 Playwright의 공개 OAuth 시작 계약도 <b>1 passed</b>이고 이전 entry는 JavaScript MIME 200으로 보존된다. 배포별 preview origin은 같은 정적 자산을 받지만 서버 연결 진단을 표시하므로 runtime GREEN으로 기록하지 않는다. <b>REQ-001은 실제 Gmail callback과 복구 계정의 관리자·21회기·64턴·평가 6건 확인 전까지 검토</b>다.</p>
|
||||
<p class="dg-note">221차 교수자 콘솔 표면 간격 교정·공개 승격(2026-08-29): <code>/teach</code>의 검토 큐와 교수자 요약이 독립 Surface인데 부모 <code>.pf-signal-strip</code>의 <code>gap:0</code> 때문에 테두리·그림자가 맞붙던 원인을 <code>--sp-3</code>=12px로 교정했다. 수정 전 0px를 다시 주입해 새 회귀 검사가 RED가 되는 것을 확인하고 복원 뒤 focused <b>1 passed</b>, 390~1440 7폭 교수자 gate <b>1 passed</b>, 전체 layout visual <b>15 passed</b>, session 무회귀 <b>8 passed</b>, typecheck·design SSOT·lint·build를 통과했다. tracked-clean <code>5bf89ff4…</code>·tree <code>29f76aeb…</code>에서 599파일 build 2회 byte-identical, 이전 자산 172개 보존 후 Pages production <code>0c60261e-cb37-482d-ba42-d91586194c48</code>로 승격했다. 실서비스 1425×1272 DOM은 computed/실측 간격 12px·overflow 0·console warning/error 0이고 custom/preview의 <code>Professor-BfR874KA.css</code> SHA <code>63dbe2c7…7fff</code>가 clean build와 일치한다. 증거는 <code>docs/ops/evidence/professor-summary-gap-deploy-2026-08-29.json</code>이다.</p>
|
||||
<div class="dg-principles" aria-label="디자인 생성 가드레일">
|
||||
<div><b>래스터만 사용</b><span>이미지 생성 도구 산출물은 PNG 기반 시안이다. SVG·벡터·와이어프레임·로고 시트로 해석하지 않는다.</span></div>
|
||||
<div><b>기능 우선</b><span>메인 라우트의 실제 액션과 정보 구조를 먼저 반영한다. 장식은 기능을 가리지 않는 수준에서만 쓴다.</span></div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue