a13n
AI 에이전트를 만들고 클라우드에서 실행합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Converts FUEL Google Forms response exports (.xlsx or .csv) into the 35-column MASTERLIST import format of
FUEL (MGM-AD ADMIN).xlsx, with a full audit report. It works only on local files: no Google or Microsoft account,
API, credentials or network access is needed. Input files are never modified, and the live MASTERLIST is never written
to. You append the import file yourself.
Design and decision register: docs/DESIGN.md (v0.7).
Requires Python 3.11 or newer.
python -m venv .venv
.venv/bin/pip install -e ".[ui,dev]"
On Windows, use .venv\Scripts\pip and .venv\Scripts\fuel-parser instead of .venv/bin/....
output/ (git-ignored)..venv/bin/fuel-parser preview --source "FUEL RESP (CSP-AD MARF) v3.3.xlsx"
output/):
.venv/bin/fuel-parser run --source "FUEL RESP (CSP-AD MARF) v3.3.xlsx" --dry-run
output/FUEL_IMPORT_AUDIT_….xlsx: Summary (reconciliation), MappingStatus, Review (each held
record with its reason and the action to take), RowLog (every source row).With the shipped config/teams.yaml, every SALES LEADER is UNRESOLVED, so 0 records are exported and all
responses are listed in Review with SLOT_UNRESOLVED. This is the intended starting state.
Or use the local UI: .venv/bin/streamlit run app/streamlit_app.py (opens on localhost only).
Edit config/teams.yaml and change one entry:
# Verified by evidence (a MASTERLIST export or written confirmation from the form owner):
- {label_prefix: "TEAM LESLIE (AAD:", slot: 1, status: VERIFIED, evidence_type: masterlist_export,
evidence_ref: "MASTERLIST export 2026-11-01, sha256 <hash>"}
# Or your explicit operating assumption (exported with a warning, never reported as verified):
- {label_prefix: "TEAM LESLIE (AAD:", slot: 1, status: OWNER_APPROVED_UNVERIFIED, evidence_type: business_rule,
approved_by: "<your name>", approved_on: "2026-11-01"}
fuel-parser preflight-masterlist --masterlist <export.xlsx> counts SALES LEADER × seller slot in a MASTERLIST export
to support a VERIFIED entry. It never changes the configuration.
.venv/bin/fuel-parser run --source <export.xlsx> [--source <another export.xlsx> ...] --last-id <last Id in the live MASTERLIST>
--leads-log also writes the optional 17-column Leads Log.--team "TEAM X" limits the export to some teams. The others are counted as excluded.output/import_history.sqlite (hashes and row numbers only), so re-running the
same or a newer export never re-exports a record.fuel-parser void-batch <batch id> (list with fuel-parser batches)..venv/bin/fuel-parser draft-directory --source <export.xlsx> --out config/sellers.csv
Review the CSV and set status to APPROVED or REJECTED per row. Fill reviewer_email to override an address.
Only APPROVED rows are used; otherwise the submitter e-mail is used and logged. config/sellers.csv contains
personal data and is git-ignored.
| Situation | Option |
|---|---|
| Several exports at once (bulk import) | Repeat --source; one combined import file is produced and duplicates across files are held |
| Output must follow a specific MASTERLIST format | --template <file.xlsx>: the import file then uses that template's columns, order, sheet name and header style (columns it lacks are not exported; unknown columns stay blank). Without it the built-in 35-column layout is used |
| Which sheet is read | Only the response sheet: MARF RAW, or the one sheet with the response headers. All other sheets (team logs etc.) are ignored and listed in the audit |
| Several sheets look like response sheets | --sheet "<name>" to choose one |
| Compare with the workbook's team sheets (reference only) | --team-sheet-check |
| CSV with ambiguous dates | --timestamp-format "%m/%d/%Y %H:%M:%S" |
| Renamed headers flagged as suggestions | check them, then --accept-suggestions (saved per header layout in profiles/) |
| Unknown non-empty columns | check them, then --ignore-unmapped (saved) |
.venv/bin/pytest
Synthetic fixtures only. To also run the golden checks against the real export, point to local copies:
FUEL_GOLDEN_SOURCE="/path/FUEL RESP (CSP-AD MARF) v3.3.xlsx" FUEL_GOLDEN_TEMPLATE="/path/FUEL (MGM-AD ADMIN) (2).xlsx" .venv/bin/pytest
Open the Vercel site (e.g. https://fuelparser.vercel.app). It runs the same parser inside your browser: files are read on your computer and never uploaded.
The import history is stored in that browser only. Use the same browser for every export so records are never exported twice.
To run the browser app locally instead: python scripts/serve_web.py, then open http://localhost:8000.
Real workbooks, outputs, the ledger, the seller directory and saved profiles are git-ignored. Never commit them. The audit and review files contain client data: keep them on your computer.