Skip to content

chore: pre-submission cleanup — honesty, secrets, hygiene#92

Merged
ComBba merged 1 commit into
mainfrom
chore/pre-submission-cleanup
Jun 6, 2026
Merged

chore: pre-submission cleanup — honesty, secrets, hygiene#92
ComBba merged 1 commit into
mainfrom
chore/pre-submission-cleanup

Conversation

@ComBba

@ComBba ComBba commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Follow-ups from the 5-agent pre-submission audit (honesty/compliance/security/presentation/live).

Honesty (grep-exposable overclaims): README L25 + Devpost L41/L88 the audit changes who wins → honest recalibration board (golden-set Δ=0, no fake flip; the deck already disavowed it). README sample 9.0 → 7.847.6 (matches brief + deck SSE).

Accuracy: README min-instances=01 (matches deploy.sh). Test-count standardized.

Security (pre-public): redact GCP billing account id + owner email from 6 tracked files. .gitignore hardening (*.log *.pem *-key.json …).

Hygiene: drop (Panelyst) from .env.example. Untrack the 87 MB raw Devpost scrape (gemini3_dataset.json+projects.json, gitignored, no code imports them; golden set winners.json+submissions.json stays for hit@13 reproducibility).

Presentation: README badges (CI/license/demo) + 3D self-correction screenshot + video placeholder + security callout; fill Devpost repo link.

Verified: reasoningEngines/7480… is the only serving Agent Engine (docs correct). GitHub Pages landmine handled separately (gh-pages → redirect).

Summary by CodeRabbit

릴리스 노트

  • Documentation

    • 라이브 데모 정보 및 CI 배지 업데이트
    • 보안 설정 및 구성 옵션에 대한 설명 강화
    • 데이터셋 구조 및 사용 방법 명확화
  • Chores

    • 민감한 결제 정보 및 이메일 주소 마스킹으로 보안 강화
    • 보안 관련 파일 및 스크래핑 데이터를 버전 관리에서 제외
    • 라이브 배포 구성 최적화 (최소 인스턴스 변경)

Follow-ups from a 5-agent pre-submission audit.

Honesty (grep-exposable overclaims removed):
- README + Devpost text: the "the audit changes who wins" rank-flip claim ->
  honest "recalibration board" framing (on the golden set the audit recalibrated
  without reordering the top-13, delta=0; it does not fake a flip). The deck
  already disavowed this; README/Devpost now match.
- README sample correction 9.0 -> 7.84 corrected to 9.0 -> 7.6 (matches
  brief.json _facts_verified and the deck's on-screen SSE value).

Accuracy:
- README min-instances=0 -> min-instances=1 (matches infra/deploy.sh; one warm
  instance for the first judge click).
- README test-count standardized to "323 Python + 74 web".

Security (pre-public):
- Redact the GCP billing account id + owner email from HANDOFF.md,
  docs/gcp-setup.md, three claudedocs session handoffs, and the onboarding HTML.
- .gitignore hardening: *.log, *.pem, *.p12, *.pfx, *-key.json,
  *-credentials.json, *service-account*.json.

Repo hygiene:
- Drop "(Panelyst)" from the .env.example header.
- Stop tracking the 45 MB gemini3_dataset.json + 42 MB projects.json raw Devpost
  scrape (now gitignored; nothing in the codebase imports them, verified by grep).
  The hit@13 golden set (winners.json + submissions.json) stays tracked for
  reproducibility; data/devpost-gemini3/README.md documents the provenance.

Presentation:
- README: CI + license + live-demo badges, a 3D self-correction screenshot, a
  demo-video placeholder, and a security-posture callout near the top.
- Devpost text: fill the public repo link.

Verified out-of-band: reasoningEngines/7480191458771730432 is the only serving
Agent Engine resource (docs are correct). The GitHub Pages stale-onboarding
landmine is handled separately by replacing the gh-pages content with a redirect
to the live demo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown

Review Change Stack

워크스루

이 PR은 GCP 결제 계정 ID 및 이메일 주소를 여러 문서에서 마스킹하고, 배포 구성과 보안 범위를 명확히 하며, 재캘리브레이션 보드 용어를 정확하게 갱신합니다. Phoenix MCP V2 배포 및 검증 현황을 세션 핸드오프에 반영합니다.

변경 사항

문서 보안 및 정확성 업데이트

계층 / 파일 요약
민감 정보 마스킹
HANDOFF.md, claudedocs/2026-05-14-session-handoff.md, claudedocs/2026-05-15-glasshat-onboarding-report.html, claudedocs/2026-05-21-session-handoff.md, claudedocs/2026-05-22-session-handoff.md, docs/gcp-setup.md
HANDOFF.md와 다섯 개의 claudedocs 파일, gcp-setup.md에서 GCP 결제 계정 ID와 이메일 주소를 [REDACTED-BILLING-ID] 및 [REDACTED-EMAIL] 토큰으로 일관되게 치환합니다.
.gitignore 및 환경 설정 보안화
.env.example, .gitignore
.gitignore에 로그, 암호화 키, 인증서, 서비스 계정 JSON 등 시크릿/자격증명 파일 패턴과 Devpost 원시 스크레이핑 데이터 파일을 추가하며, .env.example 헤더에서 Panelyst 명시를 제거합니다.
README 배포 구성 및 보안 범위 갱신
README.md
CI 배지, 라이브 모델 정보(gemini-3.1-flash-lite), Cloud Run min-instances=1 구성을 추가하고, 공개 데모의 보안 범위(SCORING_MODE=legacy, JUDGE_API_TOKEN 미설정)와 옵트인 hardened 경로를 문서화하며, 자기교정 예시 수치와 Mock stack 테스트 카운트를 갱신합니다.
Devpost 및 데이터 문서 갱신
claudedocs/2026-06-02-devpost-text.md, data/devpost-gemini3/README.md
Devpost 텍스트에서 "rank-flip" 보드 용어를 "recalibration" 보드로 변경하고 전체 코호트 재평가·골든 세트 Δ=0(가짜 플립 아님)을 명시하며, devpost-gemini3 README에서 hit@13 golden set 파일(submissions.json, winners.json)을 명확히 하고 gitignored 파일의 코드 미import를 강조합니다.
세션 핸드오프 V2 갱신
claudedocs/2026-06-06-session-handoff.md
Phoenix MCP의 GCP 실배포(Cloud Run + Cloud SQL), 보정 루프 검증, 버그 수정(percentile 고정, MCP 인자명 변경), 정직성 덱 보정(재캘리브레이션, 가짜 플립 아님), ffmpeg 조립 절차를 반영하고, HEAD(aa60bf9), 라이브 엔드포인트, Arize AX 실험(hit@13 0.6154), 테스트 통과 수(Python/web 분류)를 갱신하며, 다음 세션 자율 항목과 인간 승인 필요 작업(영상 업로드·Devpost·자격·프로드 보안)을 재정렬합니다.

추정 코드 리뷰 난이도

🎯 2 (단순) | ⏱️ ~12분

관련 PR

  • Two-Weeks-Team/glasshat#76: 두 PR 모두 채점/보안 관련 "정직한 범위" 문서화를 다루며(예: SCORING_MODE=legacy, JUDGE_API_TOKEN 옵트인/hardened 메시징), README 변경이 같은 영역의 감시 수정과 일치합니다.

🐰 민감한 비밀 걷어내고,
배포 설정 밝게 드러내고,
재캘리브레이션 진실 담아,
V2 영상 완성하네.
신뢰의 추적, 시작 되었다! 🎬

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: pre-submission cleanup — honesty, secrets, hygiene' accurately summarizes the main changes across the changeset, covering security redactions, .gitignore hardening, documentation corrections, and cleanup tasks.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/pre-submission-cleanup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request primarily redacts sensitive information (emails and billing IDs) across several documentation and handoff files, updates the .gitignore to exclude large scraped datasets and credentials, and updates project documentation to reflect the live Phoenix-MCP deployment, warm instance configurations, and realistic recalibration behaviors. Feedback on the changes includes correcting a typo in the onboarding report where /handon should be changed to /handoff.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.


<p style="color:var(--text-muted);font-size:.85rem;text-align:center;margin-top:48px">
질문이 있으면 사용자(app.2weeks@gmail.com)에게 직접 또는 새 세션에서 <code>cd ~/Documents/GitHub/glasshat && /handon</code>으로 이어가세요.
질문이 있으면 사용자([REDACTED-EMAIL])에게 직접 또는 새 세션에서 <code>cd ~/Documents/GitHub/glasshat && /handon</code>으로 이어가세요.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The command /handon appears to be a typo for /handoff, which is the standard Claude Code command used to hand off the session. Consider correcting it to /handoff.

Suggested change
질문이 있으면 사용자([REDACTED-EMAIL])에게 직접 또는 새 세션에서 <code>cd ~/Documents/GitHub/glasshat && /handon</code>으로 이어가세요.
질문이 있으면 사용자([REDACTED-EMAIL])에게 직접 또는 새 세션에서 <code>cd ~/Documents/GitHub/glasshat && /handoff</code>으로 이어가세요.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@claudedocs/2026-06-06-session-handoff.md`:
- Line 35: The document still uses the old term (e.g., "rank-flip") in the
session handoff line; replace all occurrences of previous terminology with the
canonical term "recalibration" across this file (2026-06-06-session-handoff.md)
and the referenced "101-101" doc so the messaging is consistent—search for
strings like "rank-flip" (and any other legacy variants) and update them to
"recalibration" while preserving surrounding context (timestamps, voice/cover
notes, and bracketed details).
- Line 131: The 253 untriaged gitleaks findings must be classified before
merging: run gitleaks and triage each hit into one of false positive / accepted
risk / remediated, record each finding's final status and any remediation notes
into the existing memory/record named "glasshat-spikes-secret-findings", and
produce a static report file (e.g., gitleaks-report.json/html) saved to a
tracked location; then update the session handoff entry for OQ6 to include the
report path and a summary of counts per classification and ensure the PR merge
gate requires this classification step to be completed.

In `@data/devpost-gemini3/README.md`:
- Around line 29-34: Update the README's "Files" table to indicate that
gemini3_dataset.json and projects.json are gitignored/local-only by adding a
status column or annotating their entries as "optional (local-only, gitignored)"
so it matches the earlier paragraph that states the raw scrape is gitignored;
specifically edit the Files table rows referencing "gemini3_dataset.json" and
"projects.json" to include that status and ensure the phrasing mirrors the
sentence "The raw scrape is gitignored" to avoid confusion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cefde728-5568-4f27-9e14-aba387bada83

📥 Commits

Reviewing files that changed from the base of the PR and between aa60bf9 and 6089d6d.

📒 Files selected for processing (14)
  • .env.example
  • .gitignore
  • HANDOFF.md
  • README.md
  • claudedocs/2026-05-14-session-handoff.md
  • claudedocs/2026-05-15-glasshat-onboarding-report.html
  • claudedocs/2026-05-21-session-handoff.md
  • claudedocs/2026-05-22-session-handoff.md
  • claudedocs/2026-06-02-devpost-text.md
  • claudedocs/2026-06-06-session-handoff.md
  • data/devpost-gemini3/README.md
  • data/devpost-gemini3/gemini3_dataset.json
  • data/devpost-gemini3/projects.json
  • docs/gcp-setup.md

**E4. 덱 재타이밍 + 정직 F10 (#89–#91)** — 덱을 녹음 내러티브 비트에 맞춤(#89). **F10을 "recalibration, not a fake flip"으로 정직화**: 내레이션(#90) + 덱 슬라이드(#91) 모두 — 라이브 `/judge` footage가 "no rank change · ±0 pts · Δ=0"이라 "audit changes who wins" 과대주장을 제거하고 실제 코호트(Glasshat 54.3→52.8 등, 순위 유지)로 교체.

**E5. 시연 영상 조립 (ffmpeg) — 산출물 = `glasshat-final-v2.mp4`**
- 내레이션 11비트(MiniMax, voice KimSejun, Speed 1.2; **F10=정직 27초**, cover=F4 재사용→V2에서 교체) + 화면녹화 3개(라이브 감사 / Arize 트레이스 / `/judge` rank-flip) + 덱 영상(Playwright 자동캡처, 2:12).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

세션 문서 내 용어를 recalibration으로 완전히 통일해 주세요.

이번 코호트 목표가 rank-flip 제거/정정인데, 해당 구간에 이전 용어가 남아 있어 전달 메시지가 흔들립니다.

Also applies to: 101-101

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@claudedocs/2026-06-06-session-handoff.md` at line 35, The document still uses
the old term (e.g., "rank-flip") in the session handoff line; replace all
occurrences of previous terminology with the canonical term "recalibration"
across this file (2026-06-06-session-handoff.md) and the referenced "101-101"
doc so the messaging is consistent—search for strings like "rank-flip" (and any
other legacy variants) and update them to "recalibration" while preserving
surrounding context (timestamps, voice/cover notes, and bracketed details).

- **OQ3 — 프로드 데모 보안:** 라이브 Cloud Run = `SCORING_MODE=legacy`(주입가능) + judge 엔드포인트 오픈(`JUDGE_API_TOKEN` 미설정). 하드닝 ship됨, 프로드 플립 유저-게이트. README 정직 공개.
- **OQ4 — Agent Engine vs Cloud Run:** 라이브 Cloud Run = python parity 경로 + 라이브 Phoenix-MCP 보정. genuine ADK 2.0 Workflow deep-trace = 별도 Agent Engine(`7480…`). README가 명확화.
- **OQ5 — gcloud 풋건:** active project `ss-v2-prod`. `--project` 누락시 프로드(8080 social-seeding) 위험.
- **OQ6 — 90MB scraped corpus + spikes/ gitleaks ~253 hits** 공개 전 triage 미완(메모리 `glasshat-spikes-secret-findings`).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

공개 전 gitleaks 미분류 253건은 머지 게이트로 처리해야 합니다.

이 상태로는 민감정보 노출 리스크를 배제할 수 없습니다. 최소한 false positive/accepted risk/remediated로 분류 완료하고, 결과 위치(리포트 경로)를 이 문서에 고정해 추적 가능하게 해주세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@claudedocs/2026-06-06-session-handoff.md` at line 131, The 253 untriaged
gitleaks findings must be classified before merging: run gitleaks and triage
each hit into one of false positive / accepted risk / remediated, record each
finding's final status and any remediation notes into the existing memory/record
named "glasshat-spikes-secret-findings", and produce a static report file (e.g.,
gitleaks-report.json/html) saved to a tracked location; then update the session
handoff entry for OQ6 to include the report path and a summary of counts per
classification and ensure the PR merge gate requires this classification step to
be completed.

Comment on lines +29 to +34
> **The raw scrape is gitignored.** `gemini3_dataset.json` (45 MB) and `projects.json`
> (42 MB) are the full Devpost-gallery scrape. They are **gitignored** (see `.gitignore`)
> to respect Devpost's terms on redistributing scraped submissions and to keep the repo
> lean — nothing in the codebase imports them (verified by `grep`). They were derived from
> the public gallery at the URLs above; **re-fetch from those pages** if you need the raw
> dump. The experiment and tests do **not** need them — they run on the tracked golden set.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

gitignored 안내와 파일 목록 표의 상태 표기를 맞춰주세요.

여기서는 raw scrape 파일이 gitignored/비추적이라고 명시했는데, 아래 Files 표에서는 일반 추적 파일처럼 읽힐 수 있습니다. optional (local-only) 같은 상태를 함께 표기해 혼선을 줄이는 게 좋겠습니다.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@data/devpost-gemini3/README.md` around lines 29 - 34, Update the README's
"Files" table to indicate that gemini3_dataset.json and projects.json are
gitignored/local-only by adding a status column or annotating their entries as
"optional (local-only, gitignored)" so it matches the earlier paragraph that
states the raw scrape is gitignored; specifically edit the Files table rows
referencing "gemini3_dataset.json" and "projects.json" to include that status
and ensure the phrasing mirrors the sentence "The raw scrape is gitignored" to
avoid confusion.

@ComBba
ComBba merged commit 1e47479 into main Jun 6, 2026
5 checks passed
@ComBba
ComBba deleted the chore/pre-submission-cleanup branch June 6, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant