실제 세션
승인한 Codex, Claude Code, Hermes, OpenCode, Kimi Code, Gemini CLI 세션입니다.
→MISSION / RL DATA FROM REAL USERS
한 번 끝난 작업이 다음 모델을 가르칩니다.
실제 에이전트 세션을 보관하고, 사용자가 승인한 task를 여러 모델로 다시 실행합니다. 검증을 통과한 trajectory는 private model과 E2E 자동 연구를 위한 학습 자료가 됩니다.
현재 바로 사용할 수 있는 기능부터 시작합니다. 설치 프롬프트 하나를 에이전트에게 전달하면, Mac에서 새로 생성되는 세션을 암호화하여 사용자가 관리하는 GCS에 자동으로 동기화합니다.
데이터가 쌓일수록 정교해지는 과정
하나의 세션에서 여러 ROLLOUT으로
세션 로그만으로는 학습 데이터가 완성되지 않습니다. Datafooding은 원본 source를 보존하고, 범위가 정해진 task를 여러 모델로 다시 실행한 뒤, 실행 과정을 추적하고 결과를 검증할 수 있는 경우에만 trajectory를 남깁니다.
승인한 Codex, Claude Code, Hermes, OpenCode, Kimi Code, Gemini CLI 세션입니다.
→동일한 prospective task를 고정된 environment와 verifier에서 실행합니다.
→Instruction, action, outcome, grade, provenance, rights와 model receipt를 하나의 기록으로 묶습니다.
→이 기록은 private eval, post-training 연구와 권리가 확인된 lab brief에 사용할 수 있습니다.
60초 설치 시작
사용자가 bucket 설정 화면을 채우거나 명령어를 조합할 필요가 없습니다. 코딩 에이전트가 고정된 릴리스를 설치하고, 사용자 전용 비공개 GCS bucket을 생성하거나 확인한 뒤 자동 동기화가 정상적으로 작동하는지 검증합니다.
에이전트는 세션을 읽기 전에 설치 계획부터 보여줍니다.
이 Mac에 Datafooding을 설치하고, 내가 고른 AI 에이전트의 다음 세션부터 전용 GCS로 자동 백업되게 끝까지 설정해줘.
The outcome I want
- Local session files remain the source of truth and are never deleted.
- Eligible bytes are encrypted on this Mac before upload.
- Only ciphertext is stored in a dedicated bucket in my Google Cloud project.
- Existing history is excluded. Only files created or changed after the new-only baseline may be captured.
- A macOS LaunchAgent keeps capture and sync running every 15 minutes.
Exact release contract
- Version: 0.2.1
- Wheel: https://datafooding.ai/releases/datafooding_agent_vault-0.2.1-py3-none-any.whl
- SHA-256: ba21b23f23a25850adc649a3e48d78c0a8a346193546c8cfbaf63c35dae6247b
- PEP 508 target: datafooding-agent-vault @ https://datafooding.ai/releases/datafooding_agent_vault-0.2.1-py3-none-any.whl#sha256=ba21b23f23a25850adc649a3e48d78c0a8a346193546c8cfbaf63c35dae6247b
Run this workflow
1. Preflight this Mac without reading session content.
- Confirm the OS is macOS.
- Detect only the existence and filesystem metadata of supported stores: Codex, archived Codex, Claude Code, Hermes, Kimi Code, OpenCode, and Gemini CLI.
- Do not open or print prompts, messages, tool results, credentials, tokens, request dumps, hidden reasoning, or session payloads.
2. Install only missing prerequisites from their official distribution.
- Homebrew is the package manager. If it is missing, use the official brew.sh installer and no third-party mirror.
- Install uv with Homebrew when missing.
- Install Google Cloud CLI with the current Homebrew cask: `brew install --cask gcloud-cli`.
- Resolve gcloud with `command -v gcloud`; if the cask is installed but PATH has not refreshed, use `$(brew --prefix)/share/google-cloud-sdk/bin/gcloud` after checking that it is executable.
- Never use a service account, create broad IAM grants, write credentials to the repository, or put secrets in command arguments or chat.
3. Establish the Google Cloud identity interactively.
- Check the active account and project without printing tokens. If login is required, use `gcloud auth login`.
- Never guess a project. If none is active, ask me for the exact project ID.
- Resolve its numeric project number with `gcloud projects describe PROJECT_ID --format='value(projectNumber)'`.
- Propose the dedicated bucket `datafooding-PROJECT_NUMBER`.
4. Ask for one compact approval before creating cloud resources or enabling capture.
Show one block containing:
- the detected agent names, with nothing selected by default;
- the exact account and project ID, redacted where appropriate;
- the proposed bucket;
- for a new bucket, the GCS location I must choose because it is immutable;
- for an existing bucket, its current location and any protection change needed;
- every local prerequisite you installed.
Ask me to reply with the exact sources and `APPROVE`. Treat that answer as consent only for those sources, that project, that bucket, and that location.
5. Create or verify the dedicated bucket, fail closed, and never delete it.
- First run describe. Only an explicit not-found result permits creation. A permission error, timeout, disabled API, billing problem, or ambiguous result must stop with a concrete remediation.
- Create a missing bucket with this exact protection shape:
`gcloud storage buckets create gs://BUCKET --project=PROJECT_ID --location=LOCATION --uniform-bucket-level-access --public-access-prevention --soft-delete-duration=7d --quiet`
- Never set or lock an irreversible retention policy.
- Reuse an existing bucket only when describe proves that its project number matches the selected project and its location matches the approved plan.
- Before continuing, re-describe and verify: exact name, project number, location, uniform bucket-level access enabled, public access prevention enforced, and soft-delete retention greater than zero. If an existing bucket needs a protection update, the approval block must name it before running any update.
6. Install the exact hash-pinned Datafooding release.
Run:
`uv tool install --force 'datafooding-agent-vault @ https://datafooding.ai/releases/datafooding_agent_vault-0.2.1-py3-none-any.whl#sha256=ba21b23f23a25850adc649a3e48d78c0a8a346193546c8cfbaf63c35dae6247b'`
Then require `datafooding --version` to report 0.2.1.
7. Bind only the approved sources from now.
- Run `datafooding quickstart --plan --bucket gs://BUCKET --source SOURCE ...`.
- Verify the content-free plan exactly matches the approved bucket and source list, says `capture_policy: new-only`, `existing_sessions_included: false`, and enables automatic capture.
- Never use `--include-existing`, `archive-home`, or a history migration in this workflow.
- If the plan matches, run the same quickstart command with `--yes`.
8. Trigger and verify local-to-remote sync.
- Run `datafooding sync --capture-enabled`, then `datafooding doctor` and `datafooding status`.
- If the active setup session changes after the baseline, it may become eligible. Let the daemon retry a file that is still changing; do not weaken the stability checks.
- Open `datafooding admin --language ko` in a separate terminal because the local admin intentionally stays in the foreground.
9. Call setup complete only when all of these are true.
- Doctor passes.
- Every approved source is enabled with the new-only policy.
- The LaunchAgent is installed, loaded, and bound to the current CLI.
- GCS access and recoverability checks pass.
- Queued ciphertext is zero.
If no post-baseline file has changed yet, report `READY — waiting for the first new session`; do not claim that a session was uploaded.
Failure and rollback rules
- Stop on any identity, project, billing, ownership, location, policy, hash, or health ambiguity. Never retry with wider permissions.
- If quickstart fails after enabling a source that was off before this workflow, disable only that newly enabled source and stop the LaunchAgent started by this workflow. Preserve any pre-existing enabled source and daemon.
- Keep the local vault, Keychain entry, and protected bucket as resumable state. Do not delete source files, vault data, recovery material, or cloud objects.
- Return a short content-free receipt: version, selected source names, bucket protection status, capture policy, LaunchAgent state, queue count, and the exact next remediation if anything is incomplete.이 프롬프트는 버전이 고정된 로컬 도구의 설치만 허용합니다. 사용자가 정확한 new-only 계획을 승인한 뒤에만 세션 캡처를 시작하며, 기존 기록은 포함하지 않습니다.
세 가지 제품 / 하나의 DATA FLYWHEEL
동일한 실사용자 evidence도 사용자 유형에 따라 쓰임이 달라집니다. 각 제품에는 지금 사용할 수 있는 기능과 production 단계까지 남은 조건을 함께 표시합니다.
Codex, Claude Code, Hermes, OpenCode, Kimi Code, Gemini CLI와 검토된 custom store를 보관합니다. Datafooding에 plaintext archive를 넘길 필요는 없습니다.
권리가 확인된 사내 작업을 추출하고, 반복 업무를 task와 grader로 바꿉니다. 여러 모델을 비교하여 held-out work의 성과를 개선하는 가장 작은 학습 시스템부터 구축합니다.
향후에는 Lab이 목표 benchmark task를 의뢰하고, 권리가 확인된 실제 사용자의 작업에서 자사 모델과 다른 모델을 동일한 조건으로 비교할 수 있습니다.
제안된 CONTRIBUTOR PILOT / 아직 미운영
기여 프로그램은 이해하기 쉬운 방식으로 시작하려 합니다. 권리를 검토한 session pack을 기여하거나, 승인된 task를 다른 모델로 다시 실행하여 rollout pack을 만들 수 있습니다. Pack이 심사를 통과하면 AI 도구 이용권에 해당하는 가치를 제공하는 방식입니다.
이 내용은 향후 pilot을 위한 제안이며, 현재 현금 지급이나 매입을 보장하는 조건이 아닙니다. 100GB는 제출 단위일 뿐 품질 점수가 아닙니다. Pack은 rights, privacy, provenance, task usefulness, integrity와 verifier 심사를 모두 통과해야 합니다. 현재 hosted 서비스의 accepted 상태는 내부 심사 결과이며 현금이나 이용권으로 바꿀 수 없습니다.
PRIVATE MODEL을 위한 STACK
세션은 출발점일 뿐입니다. Environment, outcome, verifier, provenance와 rights가 모든 검증 단계를 통과해야 학습 데이터로 사용할 수 있습니다.
승인한 에이전트 세션을 로컬에서 캡처하고, 업로드 전에 암호화해 내 GCS에 보관합니다.
하나의 prospective task를 고정된 harness에서 여러 model target으로 실행합니다. 이 기능은 과거에 사용한 product stack을 완전히 재현하지는 않습니다.
Instruction, environment, 관찰 가능한 trajectory, outcome, grader, provenance와 rights를 심사할 수 있는 하나의 단위로 묶습니다.
Held-out work를 기준으로 retrieval, harness, adapter와 post-training을 비교합니다. 사람의 개입을 실제로 줄인 개선만 채택합니다.
실패 사례에서 다음 task를 만들고 model matrix를 실행합니다. 결과를 검증한 뒤 다시 학습 과정에 반영합니다.
먼저 SOURCE부터
세션이 있는 Mac에서 이미 쓰고 있는 코딩 에이전트에게 설치 프롬프트 하나를 넘깁니다.
사용할 agent store와 GCS의 범위를 정확하게 선택합니다. 기본 상태에서는 어떤 source도 선택되지 않으며 기존 기록도 포함되지 않습니다.
암호화, storage 보호, new-only 정책, daemon identity와 비어 있는 queue를 모두 확인해야 설치가 끝납니다.
Raw archive는 계속 private 상태로 보관합니다. 사용자가 명시적으로 승인한 세션만 replay, task, review와 향후 학습에 사용합니다.
양보하지 않는 경계
보관된 archive는 자동으로 학습 데이터가 되지 않습니다. Datafooding은 세션이 Mac을 떠나기 전에 암호화하고 사용자가 관리하는 bucket에는 ciphertext만 저장합니다. Storage, replay, annotation, training, derivative use와 sale에는 각각 별도의 권리가 필요합니다. 데이터의 가치는 단순한 용량이 아니라, 사용자가 활용에 동의했고 environment, intervention, verifier와 outcome을 신뢰할 수 있는 trajectory에서 나옵니다.