Conversation
|
@greptileai review |
Greptile SummaryThe PR updates external-miner documentation for live Confidence Score: 5/5Safe to merge. No new issues require action. The previous archive-content finding is fully fixed: the guide now states that Reviews (3): Last reviewed commit: "docs(proof): honest tbench artefacts zip..." | Re-trigger Greptile |
| honest id is enough when you did not train (a harness name such as | ||
| `my-harness-v0` is fine). An **empty** manifest — no | ||
| `train_dataset_ids` and no `train_content_hashes` — is not a clean | ||
| contamination check: on `tbench` it is a persisted **`rejected`** row with | ||
| `contamination_evidence_missing` and **no rent**. `ctx` refuses to build |
There was a problem hiding this comment.
Document server rejection format
The guide says an empty contamination manifest produces contamination_evidence_missing, but that is only the local ctx validation label. A direct submission is persisted as a rejected row whose verdict.failed value is {"evidence_missing":{"field":"contamination_evidence"}}; the submit response has no stable rejection-code field. This is a non-blocking documentation concern, but it can send miners troubleshooting a server-side rejection toward an identifier that the returned row does not contain.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Artifacts
- Runs the ctx and proof HTTP focused tests, then serializes the server gate with workspace dependencies; it is the executed validation source.
- Constructs the exact `EvidenceMissing { field: "contamination_evidence" }` server gate and prints its JSON serialization, showing the public persisted token differs from the guide.
- Captured `cargo test -p ctx empty_manifest_is_contamination_evidence_missing`; the passing test confirms ctx refuses an empty manifest before a submit request is constructed.
- Captured proof HTTP execution shows the direct signed empty-evidence path passes its rejected/no-rent test and prints the actual persisted `verdict.failed` JSON, demonstrating the API token mismatch.
- Records execution of the uploaded validation script from `/home/user/repo` with exit code 0, confirming the evidence captures were generated by a completed run.
There was a problem hiding this comment.
Fixed on 5f27c6c3. ctx still names contamination_evidence_missing; the stored row is documented as verdict.failed = {"evidence_missing":{"field":"contamination_evidence"}}.
| "tbench", | ||
| "deferred_topics", | ||
| "queued", | ||
| "scorable_topics", |
There was a problem hiding this comment.
The documentation guard accepts the bare scorable_topics substring even when it appears only in historical text. A deferred-only version of the guide, stating that submissions queue and are not evaluated, still passes while retaining historical scorable_topics wording. This is a non-blocking regression-coverage concern, but it leaves the check unable to catch miner-facing status changes that could lead to incorrect submission or spending decisions.
Artifacts
- Archives tracked source to an isolated temporary workspace, rewrites only the copied tbench status guidance to deferred, and executes the real docs guard before and after; it demonstrates the guard can accept deferred-only guidance.
- Captured execution of the real docs guard against the unmodified archived checkout, including command, isolated working directory, exit code 0, and success output; it establishes the baseline passes.
- Captured execution of the real docs guard after the copied tbench guide was rewritten to say scoring is deferred and submissions queue without evaluation, including exit code 0; it proves the semantic regression passes.
There was a problem hiding this comment.
Fixed on 5f27c6c3. The docs gate now also pins the substring scorable_topics` contains `tbench so a deferred-only rewrite that only mentions the field historically fails external-docs-check.
Rewrite the tbench miner guide for live scoring (can_score true, scorable_topics=[tbench], deferred_topics empty). Keep a historical note that defer_scoring may return. Add the artefact attach-surface contract (uncompressed tar, PROOF_ARTIFACT_DIR vs pack, Harbor agent layout), experiment-VM BYOK egress vs sister network-none, artefacts zip, and honest --train-dataset labels. Pin the new gates in external-docs-check. Co-authored-by: Mathis <echobt@users.noreply.github.com>
c686566 to
cb7d918
Compare
|
@greptileai review Rebased onto |
| - runner logs (`logs/`) — whatever the adaptor wrote under | ||
| `PROOF_WORK_DIR` / `PROOF_OUTPUT_DIR`, plus harness stdout the guest kept |
There was a problem hiding this comment.
The guide says files written under PROOF_WORK_DIR and PROOF_OUTPUT_DIR are added beneath logs/ in the result archive. A scored guest run returns only the redacted stdout/stderr tail as runner.log; it does not collect either directory. Miners who rely on this guidance can lose diagnostic files they expected to retrieve from the archive.
Artifacts
- The authored focused Rust test writes unique sentinels under both guest work and output directories, then checks that only the returned runner log is exposed, showing the intended reproduction setup.
- The focused guest evaluation test completed successfully and printed that both sentinels remained on disk while the returned log list was only runner.log, showing those files are not returned for archiving.
- The focused scored submission-to-promotion archive test completed successfully, showing the current scorer archive integration executed successfully.
There was a problem hiding this comment.
Fixed on 5f27c6c3. The zip list is now honest: logs/runner.log is the redacted stdout/stderr tail the guest returns. Extra files under PROOF_WORK_DIR / PROOF_OUTPUT_DIR die with the VM and are not archived. report.json / checklist.json still ship as named zip entries.
The guest only returns logs/runner.log (redacted stdout/stderr tail); PROOF_WORK_DIR / PROOF_OUTPUT_DIR files die with the VM. Name the server evidence_missing field next to the ctx contamination label, and pin that scorable_topics contains tbench so a deferred-only rewrite fails the docs gate. Co-authored-by: Mathis <echobt@users.noreply.github.com>
|
@greptileai review |
Summary
Miner guide for live
tbenchstill said scoring was deferred (defer_scoring=true, 201 queued only,can_scorefalse). Live prod (2026-09-10) scores the topic. Seiran/Max were blocked on that messaging and on a missing attach-surface.docs/external-miner/proof-tbench.mdStatus right now to scoring ON (can_score=true,scorable_topics=[tbench],deferred_topics=[],custom_ready/registered_customincludetbench). Keep a historical note thatdefer_scoringmay return; miners must readctx proof status.tar -cf recipe.tar recipe/+ sha256 of that file; unpack toPROOF_ARTIFACT_DIR; pack isPROOF_PACK_DIR(miners do not patch it). Harbor-ais a built-in name ormodule.path:ClassName, not a filesystem path; adaptor resolves$PROOF_ARTIFACT_DIR/agentthen…/recipe/agent;recipe/run.shalone fails closed (neverterminus-2). Off-limits:same_seed,no_tb4_hardcoding,no_eval_short_circuit, no embeddedsk-or-keys.tbenchusesbaseline_runner=rlm_fc_in_guest_harbor.--train-dataset: honest harness id is enough when there is no training; empty manifest → persistedrejected(verdict.failed.evidence_missing.field=contamination_evidence;ctxnames itcontamination_evidence_missing).report.json+checklist.json+baseline_ref.json+logs/runner.log(redacted stdout/stderr tail). Extra files underPROOF_WORK_DIR/PROOF_OUTPUT_DIRdie with the VM and are not in the zip.custom_value=0.5inbaselines.jsonuntil a measured n=15 is sealed. No invented digests.proof.mdno longer implytbenchis deferred-only.external-docs-checkpins scoring-on + attach-surface strings (scorable_topicscontainstbench,PROOF_ARTIFACT_DIR,recipe/agent,rlm_fc_in_guest_harbor).Rebased onto
mainafter #266. Greptile P1/P2 on the rebase head addressed in5f27c6c3.Greptile
Every PR is reviewed by Greptile before merge. Config:
.greptile/.@greptileai reviewTest plan
cargo run -p xtask -- external-docs-check(after rebase and after Greptile fixes)GET /challenge/proof/v1/statusstill matches the status section (can_score,scorable_topics,deferred_topics)the_topic_page_keeps_the_topic_gates,gate_passes_on_this_workspace)cb7d9180(5 checks)5f27c6c3(fmt · clippy · test · deny · xtask, Analyze, CodeQL, Greptile Review)Risk
Miner-facing copy only. Does not change scoring, emission, or CVM measurement. If
defer_scoringis re-set, miners who skipctx proof statuscould still assume scoring is on — the page tells them to read live fields.Naming
I did not rename
BASE_*environment variables, deployed host paths(
/opt/base,/run/base, …), GHCRbaseintelligence/basepackage names, orbase-*-v1cryptographic domain tags, unless this PR’s purpose is a coordinatedcutover documented in
docs/NAMING.md.