Lantunnel
Lantunnel P2P 저지연·암호화·릴레이 폴백으로 포트포워딩 없이 LAN 원격 접근
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A deletion workflow says a customer is gone. This tool checks whether that is actually true.
For each of the 518 deletion requests it reads the request, works out every identifier the person ever
had, reads all 94 evidence files (database dumps, logs, JSON exports, a handover note, PDFs, screenshots)
and the activity stream, applies the company's deletion rules to every record it finds, and writes a
verdict with an ordered list of findings, fixes and checks to output.csv.
Everything that decides a case is ordinary, repeatable code. A vision model is used only to read the 11 screenshots; each one is read once and cached by file hash.
| Requests audited | 518: 153 COMPLETE, 355 INCOMPLETE, 10 NOT_APPLICABLE (not a deletion request) |
| Verdict accuracy on the 32 public samples | 32 / 32 |
| Exact step-list match | 23 / 24 development samples, 5 / 8 held-out samples |
| State and evidence citation on every matched step | 1.000 / 1.000 |
| Final run | one cold run, 83 s, 11 model calls, 54,033 tokens, $0.21; a warm re-run takes 2 s and makes no calls |
| Determinism | two runs of the same code produce byte-identical output |
Details, the held-out analysis, the custom test cases and the list of failures we found and fixed are in
code/evaluation/evaluation_report.md. The token and cost ledger of the final run is in
code/evaluation/usage_report.md.
Requirements: Python 3.11 or newer; Windows, macOS or Linux. The challenge data is not in this
repository: copy the official dataset/ folder from
https://github.com/interviewstreet/hackerrank-orchestrate-october26 into the project root so that
dataset/deletion_requests.csv exists.
Windows (PowerShell):
python -m venv .venv; .\.venv\Scripts\Activate.ps1; pip install -r code/requirements.txt; Copy-Item .env.example .env
macOS / Linux:
python3 -m venv .venv && source .venv/bin/activate && pip install -r code/requirements.txt && cp .env.example .env
Put your key in .env (ANTHROPIC_API_KEY=sk-ant-...), then run everything:
python code/main.py
That reads dataset/, writes output.csv in the project root and prints the verdict counts, model
calls and cost. Without a key the run still completes; only the 11 screenshots are skipped and the run
says so.
Other commands:
| Command | What it does |
|---|---|
python code/main.py --clear-cache | cold run: wipe .cache/, re-read every file, re-call the model |
python code/main.py --offline | never call the model (cached screenshot readings only) |
python code/main.py --cases sample | the 32 public samples, written to .cache/runs/sample_output.csv |
python code/main.py --cases dev / --cases holdout | the 24 development samples / the 8 held back |
python code/evaluation/main.py --predictions .cache/runs/sample_output.csv --truth dataset/sample_output.csv | score a run against the public answers |
python code/evaluation/main.py --validate output.csv --requests dataset/deletion_requests.csv | contract check: 518 rows, order, allowed operations, evidence rules |
python code/evaluation/custom_cases.py | our nine extra test cases |
python code/tools/inspect_case.py case_26 | everything the engine can see for one case |
python -m pytest code/tests -q | 120 unit tests |
dataset/ ──► loaders ──► identity (who is this person, under every name they ever used)
├──► intent (is this really a deletion request?)
├──► evidence (94 files → normalized "observations") ← vision model for screenshots only
└──► activity (sync / restore / block events as claims, never as proof)
│
▼
state (what is true for each record at audit_at) ──► policy (what the rules require)
│
▼
planner (findings → remediation → verification, fixed order) ──► writer ──► output.csv
| Path | Purpose |
|---|---|
code/main.py | entry point and pipeline |
code/ghost/ | the engine: identity, intent, activity, evidence/, state, policy, planner, writer |
code/ghost/llm.py | the only place that talks to the model: cache + usage ledger |
code/prompts/ | the three prompts (request intent, screenshot extraction, PDF extraction) |
code/config.json | model names, prices, batch size, held-out list (no secrets) |
code/evaluation/ | scorer, custom cases, evaluation_report.md, usage_report.md, notes |
code/tools/ | packaging, viewer, demo recorder, case inspector |
.cache/ | model answers and the usage ledger (git-ignored, not in the submission) |
audit_at
(manifest time; a later bundle never counts, even if it holds an older snapshot).audit_at still comes from eligible files only.reported_status and activity results are ignored as proof. A copy that
survives in a replica means the record is still present.user_id and lose direct identifiers.user_03) imply their account (account_003); one named function holds that
pattern and the account's state still comes from evidence.python code/tools/package.py
This writes code.zip with README.md, code/ and the two reports at the top level
(evaluation/evaluation_report.md, evaluation/usage_report.md), and checks that no dataset files,
secrets, caches or nested archives slipped in. Upload code.zip, output.csv and log.txt at
https://www.hackerrank.com/contests/hackerrank-orchestrate-october26/challenges/ghost-data-still-exists
Live results viewer: https://audit-agent-xi.vercel.app/
The viewer (viewer/index.html, deployed at the link above) is a single self-contained page built from
output.csv alone (no dataset data inside): counts per verdict, a filterable list of the 518 cases, and
for each case its findings, the remediation plan in safe order, and the checks that must pass afterwards.
demo/demo.mp4 is the same walkthrough as a video.
Rebuild both after a run (pip install -r code/requirements-dev.txt, plus ffmpeg on PATH):
python code/tools/build_viewer.py
python code/tools/record_demo.py
To host the viewer, deploy the viewer/ folder to any static host, for example vercel deploy viewer --prod.