50 lines
4 KiB
Markdown
50 lines
4 KiB
Markdown
# Gate worker assignment
|
|
|
|
You are an implementation worker, model openai/gpt-5.6-terra. Read architecture-decision.md.
|
|
Implement, do not merely advise. Work only in your owned files in /home/alex/sots-re:
|
|
tools/gate.sh, tools/gate.py, tools/evidence.py, tools/standalone_report.py, verify/tooling/.
|
|
Keep campaign/rollout/gate-worker-state.md updated every 20 tool calls/15min and before stopping.
|
|
No commits, stage, push, deployment, other agents, architecture changes, or shared dashboard edits.
|
|
Use apply_patch for edits. Scope changes/surprises go into checkpoint and back to the Astra lead.
|
|
|
|
## Contract from Astra
|
|
|
|
Replace the old remote overlay gate with a local, reproducible stdlib Python gate and tiny shell
|
|
entrypoint. CLI: --engine PATH --corpus PATH --out NEW_DIR --profile host|full (default host),
|
|
--data PATH optional, --jobs N, --shim optional (full requires shim and assets). Run locally only;
|
|
documentation will tell operators to run same command on a leased lab host. Every build is fresh
|
|
from a source snapshot (git tracked + nonignored untracked files; exclude .git/build outputs,
|
|
never accidentally hash/copy build dirs). Manifest source relative paths + SHA256, git HEAD/dirty,
|
|
tools versions, corpus hashes, input asset hashes when used, binary hash, all commands and complete
|
|
logs. Detect source/input mutation across run. Out must be new, never delete/reuse existing output.
|
|
Capture an explicit expected test list checked into verify/tooling/host-tests.json (59 currently;
|
|
engine worker may add tests so coordinate mismatch to lead). Compare discovered CTest json list
|
|
exactly to this inventory. Execute CTest once with output junit and parse all test statuses; skips
|
|
must be visible (engine worker is adding properties). host profile allows explicit skip list for
|
|
asset/trace dependent tests (currently seven); corpus tests must run. full profile requires all
|
|
tests not skipped; users supply needed SOTS_* dependencies, record/hash their paths too. Require
|
|
nonzero save corpus and nonzero execution for corpus tests (parse their positive summaries).
|
|
Run engine clean_room_check.sh + check_shim_configs.py, host build, optional shim build; preserve
|
|
return codes. Emit out/manifest.json with schema sots-gate/1, status passed|failed, profile,
|
|
source (engine identity and RE identity), inputs, binary {path,sha256}, tests {expected,passed,
|
|
skipped,failed}, checks and limitations. Failed checks produce failed manifest and exit nonzero.
|
|
Avoid self-referential source hashes if out lies inside RE: exclude output runtime area explicitly
|
|
or require out outside source trees. No network required. Include focused unittest tests for
|
|
missing input, stale output, source hash mutation, zero tests, skip classification, wrong inventory.
|
|
|
|
Rewrite standalone_report.py if simpler, no backward compatibility necessary. Require --binary,
|
|
--provenance (gate manifest), --out NEW_DIR, --pair INPUT ORACLE (repeatable), --engine-arg repeated,
|
|
--accept flag. Measurement permits divergences but returns nonzero on any invalid inputs,
|
|
coverage failure, execution failure. --accept requires every selected pair to match exactly.
|
|
Verify binary hash + passed gate manifest before running, explicit source binding via gate.
|
|
Never choose another reference on failure. Record input/output hashes, full stdout/stderr,
|
|
all named differences, source identity and gate hash; no overwritten canonical results.
|
|
Fields fileByteMatch, inflatedByteMatch, stateDigestMatch. Coverage required on all saves.
|
|
state_checksum may prove inflated rather than compressed roundtrip: label precisely.
|
|
Avoid old byteMatch aliases or hardcoded stale RNG claims. Manifest schema sots-standalone/2,
|
|
status measured|accepted|failed, pairs[], provenance. No leaf percentage for completeness.
|
|
Add negative-path tests with fixture/fake runner as needed, and run real canonical pair using
|
|
the lead's eventual gate build if available (otherwise defer that integration check).
|
|
|
|
At completion write checkpoint with modified files, exact tests/results, API shape and blockers.
|
|
Do not claim full acceptance from host checks. Main agent will inspect and integrate.
|